summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-12-11 10:01:46 +0100
committerAnton Khirnov <anton@khirnov.net>2011-12-12 20:21:47 +0100
commit3a7f7678eb3be1f9a28414c9908ed8d34b1b9846 (patch)
tree4f74061acc8f586c6273ceea7bdaab77cd9c6e2a
parent59826cab8ad9f64bf5fd752f52c6acc16815dbb0 (diff)
lavf: deprecate av_close_input_stream().
And remove all its uses.
-rw-r--r--avserver.c4
-rw-r--r--libavformat/anm.c11
-rw-r--r--libavformat/avformat.h4
-rw-r--r--libavformat/mpegts.c2
-rw-r--r--libavformat/rtsp.c2
-rw-r--r--libavformat/utils.c7
6 files changed, 19 insertions, 11 deletions
diff --git a/avserver.c b/avserver.c
index e4d353b559..89e0e6da1d 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 00a36abebe..7ceb2d8918 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 faef47483d..548bc186fb 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 37ffae9f66..0d25e3f254 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 b63f9f68cf..52821545ff 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 8b749ad7fc..8a76cb815e 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);
}