makes the filename member of the URLContext a pointer, so that the
authorRonald S. Bultje <rsbultje@gmail.com>
Sun, 14 Jan 2007 22:07:19 +0000 (22:07 +0000)
committerGuillaume Poirier <gpoirier@mplayerhq.hu>
Sun, 14 Jan 2007 22:07:19 +0000 (22:07 +0000)
structure can be extended in the future without breaking ABI.
patch by Ronald S. Bultje % rbultje A ronald P bitfreak P net %
Original thread:
Date: Jan 1, 2007 6:01 PM
Subject: [Ffmpeg-devel] make URLContext->filename a pointer

Originally committed as revision 7506 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/avio.c
libavformat/avio.h

index dc40384..44bc3af 100644 (file)
@@ -70,11 +70,14 @@ int url_open(URLContext **puc, const char *filename, int flags)
     err = -ENOENT;
     goto fail;
  found:
-    uc = av_malloc(sizeof(URLContext) + strlen(filename));
+    uc = av_malloc(sizeof(URLContext) + strlen(filename) + 1);
     if (!uc) {
         err = -ENOMEM;
         goto fail;
     }
+#if LIBAVFORMAT_VERSION_INT >= (52<<16)
+    uc->filename = (char *) &uc[1];
+#endif
     strcpy(uc->filename, filename);
     uc->prot = up;
     uc->flags = flags;
index 3f733f0..f44d526 100644 (file)
@@ -33,7 +33,11 @@ struct URLContext {
     int is_streamed;  /* true if streamed (no seek possible), default = false */
     int max_packet_size;  /* if non zero, the stream is packetized with this max packet size */
     void *priv_data;
+#if LIBAVFORMAT_VERSION_INT >= (52<<16)
+    char *filename; /* specified filename */
+#else
     char filename[1]; /* specified filename */
+#endif
 };
 
 typedef struct URLContext URLContext;