[FFmpeg-devel] [PATCH] lavf/segment: pass the top level chanined muxer format context to segment_end()
Stefano Sabatini
stefasab at gmail.com
Fri Jun 29 14:56:09 CEST 2012
Consistent with segment_start() and less confusing.
---
libavformat/segment.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/libavformat/segment.c b/libavformat/segment.c
index 19d8855..deac49d 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -89,15 +89,17 @@ fail:
return err;
}
-static int segment_end(AVFormatContext *oc)
+static int segment_end(AVFormatContext *s)
{
+ SegmentContext *seg = s->priv_data;
+ AVFormatContext *oc = seg->avf;
int ret = 0;
if (oc->oformat->write_trailer)
ret = oc->oformat->write_trailer(oc);
if (ret < 0)
- av_log(oc, AV_LOG_ERROR, "Failure occurred when ending segment '%s'\n",
+ av_log(s, AV_LOG_ERROR, "Failure occurred when ending segment '%s'\n",
oc->filename);
avio_close(oc->pb);
@@ -204,7 +206,7 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt)
av_log(s, AV_LOG_DEBUG, "Next segment starts at %d %"PRId64"\n",
pkt->stream_index, pkt->pts);
- ret = segment_end(oc);
+ ret = segment_end(s);
if (!ret)
ret = segment_start(s);
@@ -242,7 +244,7 @@ static int seg_write_trailer(struct AVFormatContext *s)
{
SegmentContext *seg = s->priv_data;
AVFormatContext *oc = seg->avf;
- int ret = segment_end(oc);
+ int ret = segment_end(s);
if (seg->list)
avio_close(seg->pb);
oc->streams = NULL;
--
1.7.5.4
More information about the ffmpeg-devel
mailing list