Andreas Rheinhardt: > Nothing written in avformat_write_trailer() for the submuxers will be > output anyway because the AVIOContexts used for actual output have been > closed before the call. Writing the trailer of the subcontext has probably > only been done in order to free the memory allocated by the submuxer. > And this job has been taken over by the deinit functions. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> > --- > Resending because 82bf41f3abce4a13e7c6ad1606eb708f371de87f created a > little merge conflict. > > libavformat/smoothstreamingenc.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/libavformat/smoothstreamingenc.c > b/libavformat/smoothstreamingenc.c > index eefc61d08b..6599687681 100644 > --- a/libavformat/smoothstreamingenc.c > +++ b/libavformat/smoothstreamingenc.c > @@ -49,7 +49,6 @@ typedef struct Fragment { > > typedef struct OutputStream { > AVFormatContext *ctx; > - int ctx_inited; > char dirname[1024]; > uint8_t iobuf[32768]; > URLContext *out; // Current output stream where all output is written > @@ -173,8 +172,6 @@ static void ism_free(AVFormatContext *s) > ffurl_closep(&os->out); > ffurl_closep(&os->out2); > ffurl_closep(&os->tail_out); > - if (os->ctx && os->ctx_inited) > - av_write_trailer(os->ctx); > if (os->ctx && os->ctx->pb) > avio_context_free(&os->ctx->pb); > avformat_free_context(os->ctx); > @@ -357,7 +354,6 @@ static int ism_write_header(AVFormatContext *s) > if (ret < 0) { > goto fail; > } > - os->ctx_inited = 1; > avio_flush(ctx->pb); > s->streams[i]->time_base = st->time_base; > if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { > Will apply tomorrow unless there are objections.
- Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".