[FFmpeg-devel] [PATCH v2] avformat/smoothstreaming: Don't write trailer of subcontext
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Fri Jun 26 14:54:09 EEST 2020
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.rheinhardt at 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
More information about the ffmpeg-devel
mailing list