# HG changeset patch # User gpoirier # Date 1168812439 0 # Node ID 90987914ad57334b79aa58b80474668653529a53 # Parent 0a990429e524bfb4488db8a9be8615ed93e01e5a 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 diff -r 0a990429e524 -r 90987914ad57 avio.c --- a/avio.c Sun Jan 14 22:02:38 2007 +0000 +++ b/avio.c Sun Jan 14 22:07:19 2007 +0000 @@ -70,11 +70,14 @@ 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 -r 0a990429e524 -r 90987914ad57 avio.h --- a/avio.h Sun Jan 14 22:02:38 2007 +0000 +++ b/avio.h Sun Jan 14 22:07:19 2007 +0000 @@ -33,7 +33,11 @@ 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;