Browse Source

lavf/segment: pass the top level chained muxer format context to segment_end()

Consistent with segment_start() and less confusing.
tags/n1.0
Stefano Sabatini 14 years ago
parent
commit
3bee286ad2
1 changed files with 6 additions and 4 deletions
  1. +6
    -4
      libavformat/segment.c

+ 6
- 4
libavformat/segment.c View File

@@ -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;


Loading…
Cancel
Save