[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