From 621810045cc0b5174e0243796026eb622b985a6c Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Sun, 14 Jan 2007 22:07:19 +0000 Subject: [PATCH] makes the filename member of the URLContext a pointer, so that the 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 | 5 ++++- libavformat/avio.h | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libavformat/avio.c b/libavformat/avio.c index dc40384fc5..44bc3afeaf 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -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; diff --git a/libavformat/avio.h b/libavformat/avio.h index 3f733f0a71..f44d52694f 100644 --- a/libavformat/avio.h +++ b/libavformat/avio.h @@ -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;