Le septidi 17 brumaire, an CCXXVI, Karthick J a écrit : > --- > libavformat/avio_internal.h | 8 ++++++++ > libavformat/aviobuf.c | 8 ++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h > index c01835d..04c1ad5 100644 > --- a/libavformat/avio_internal.h > +++ b/libavformat/avio_internal.h > @@ -133,6 +133,14 @@ int ffio_open_dyn_packet_buf(AVIOContext **s, int > max_packet_size); > int ffio_fdopen(AVIOContext **s, URLContext *h); > > /** > + * Return the URLContext associated with the AVIOContext > + * > + * @param s IO context > + * @return pointer to URLContext or NULL. > + */ > +URLContext *ffio_geturlcontext(AVIOContext *s); > + > +/** > * Open a write-only fake memory stream. The written data is not stored > * anywhere - this is only used for measuring the amount of data > * written. > diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c > index 3b4c843..1353c80 100644 > --- a/libavformat/aviobuf.c > +++ b/libavformat/aviobuf.c > @@ -980,6 +980,14 @@ fail: > return AVERROR(ENOMEM); > } > > +URLContext* ffio_geturlcontext(AVIOContext *s) { > + AVIOInternal *internal = s->opaque;
> + if (internal) > + return internal->h; This is rather fragile. Some kind of check that is is actually a real URLContext would be a very good idea. > + else > + return NULL; > +} > + > int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size) > { > uint8_t *buffer; Regards, -- Nicolas George _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel