[FFmpeg-cvslog] lavf: deprecate av_close_input_stream().
Anton Khirnov
git at videolan.org
Tue Dec 13 00:59:46 CET 2011
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sun Dec 11 10:01:46 2011 +0100| [3a7f7678eb3be1f9a28414c9908ed8d34b1b9846] | committer: Anton Khirnov
lavf: deprecate av_close_input_stream().
And remove all its uses.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3a7f7678eb3be1f9a28414c9908ed8d34b1b9846
---
avserver.c | 4 ++--
libavformat/anm.c | 11 +++++------
libavformat/avformat.h | 4 ++++
libavformat/mpegts.c | 2 +-
libavformat/rtsp.c | 2 +-
libavformat/utils.c | 7 ++++++-
6 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/avserver.c b/avserver.c
index e4d353b..89e0e6d 100644
--- a/avserver.c
+++ b/avserver.c
@@ -2736,7 +2736,7 @@ static int http_receive_data(HTTPContext *c)
/* Now we have the actual streams */
if (s->nb_streams != feed->nb_streams) {
- av_close_input_stream(s);
+ av_close_input_file(s);
av_free(pb);
http_log("Feed '%s' stream number does not match registered feed\n",
c->stream->feed_filename);
@@ -2749,7 +2749,7 @@ static int http_receive_data(HTTPContext *c)
avcodec_copy_context(fst->codec, st->codec);
}
- av_close_input_stream(s);
+ av_close_input_file(s);
av_free(pb);
}
c->buffer_ptr = c->buffer;
diff --git a/libavformat/anm.c b/libavformat/anm.c
index 00a36ab..7ceb2d8 100644
--- a/libavformat/anm.c
+++ b/libavformat/anm.c
@@ -137,16 +137,16 @@ static int read_header(AVFormatContext *s,
st->codec->extradata = av_mallocz(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
if (!st->codec->extradata) {
ret = AVERROR(ENOMEM);
- goto close_and_return;
+ goto fail;
}
ret = avio_read(pb, st->codec->extradata, st->codec->extradata_size);
if (ret < 0)
- goto close_and_return;
+ goto fail;
/* read page table */
ret = avio_seek(pb, anm->page_table_offset, SEEK_SET);
if (ret < 0)
- goto close_and_return;
+ goto fail;
for (i = 0; i < MAX_PAGES; i++) {
Page *p = &anm->pt[i];
@@ -159,7 +159,7 @@ static int read_header(AVFormatContext *s,
anm->page = find_record(anm, 0);
if (anm->page < 0) {
ret = anm->page;
- goto close_and_return;
+ goto fail;
}
anm->record = -1;
@@ -169,8 +169,7 @@ invalid:
av_log_ask_for_sample(s, NULL);
ret = AVERROR_INVALIDDATA;
-close_and_return:
- av_close_input_stream(s);
+fail:
return ret;
}
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index faef474..548bc18 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1560,11 +1560,15 @@ int av_read_play(AVFormatContext *s);
*/
int av_read_pause(AVFormatContext *s);
+#if FF_API_FORMAT_PARAMETERS
/**
* Free a AVFormatContext allocated by av_open_input_stream.
* @param s context to free
+ * @deprecated use av_close_input_file()
*/
+attribute_deprecated
void av_close_input_stream(AVFormatContext *s);
+#endif
/**
* Close a media file (but not its codecs).
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 37ffae9..0d25e3f 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -368,7 +368,7 @@ static void mpegts_close_filter(MpegTSContext *ts, MpegTSFilter *filter)
PESContext *pes = filter->u.pes_filter.opaque;
av_freep(&pes->buffer);
/* referenced private data will be freed later in
- * av_close_input_stream */
+ * av_close_input_file */
if (!((PESContext *)filter->u.pes_filter.opaque)->st) {
av_freep(&filter->u.pes_filter.opaque);
}
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index b63f9f6..5282154 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -580,7 +580,7 @@ void ff_rtsp_close_streams(AVFormatContext *s)
}
av_free(rt->rtsp_streams);
if (rt->asf_ctx) {
- av_close_input_stream (rt->asf_ctx);
+ av_close_input_file(rt->asf_ctx);
rt->asf_ctx = NULL;
}
av_free(rt->p);
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 8b749ad..8a76cb8 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2632,6 +2632,7 @@ int av_read_pause(AVFormatContext *s)
return AVERROR(ENOSYS);
}
+#if FF_API_FORMAT_PARAMETERS
void av_close_input_stream(AVFormatContext *s)
{
flush_packet_queue(s);
@@ -2639,6 +2640,7 @@ void av_close_input_stream(AVFormatContext *s)
s->iformat->read_close(s);
avformat_free_context(s);
}
+#endif
void avformat_free_context(AVFormatContext *s)
{
@@ -2686,7 +2688,10 @@ void av_close_input_file(AVFormatContext *s)
{
AVIOContext *pb = (s->iformat->flags & AVFMT_NOFILE) || (s->flags & AVFMT_FLAG_CUSTOM_IO) ?
NULL : s->pb;
- av_close_input_stream(s);
+ flush_packet_queue(s);
+ if (s->iformat->read_close)
+ s->iformat->read_close(s);
+ avformat_free_context(s);
if (pb)
avio_close(pb);
}
More information about the ffmpeg-cvslog
mailing list