From 76a413d961f793e9c9cec482b06df615a0dc694d Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Fri, 20 Dec 2019 19:26:00 +0100 Subject: avformat/smoothstreaming: Don't write trailer of subcontext 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 --- 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) { -- cgit v1.2.3