[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