[FFmpeg-devel] [PATCH 04/14] lavf/mux: run AVCodec::deinit if write_header fails

Marton Balint cus at passwd.hu
Sun Jun 12 23:24:30 CEST 2016


On Sun, 12 Jun 2016, Rodger Combs wrote:

> ---
> libavformat/mux.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/mux.c b/libavformat/mux.c
> index dd3de24..071eac1 100644
> --- a/libavformat/mux.c
> +++ b/libavformat/mux.c
> @@ -484,8 +484,11 @@ int avformat_write_header(AVFormatContext *s, AVDictionary **options)
>         ret = s->oformat->write_header(s);
>         if (ret >= 0 && s->pb && s->pb->error < 0)
>             ret = s->pb->error;
> -        if (ret < 0)
> +        if (ret < 0) {
> +            if (s->oformat->deinit)
> +                s->oformat->deinit(s);
>             return ret;
> +        }
>         if (s->flush_packets && s->pb && s->pb->error >= 0 && s->flags & AVFMT_FLAG_FLUSH_PACKETS)
>             avio_flush(s->pb);
>         s->internal->header_written = 1;
> --

I already have a patch for this, and also a few other mux fixes, I'd 
like apply those first if that is OK.

Thanks,
Marton


More information about the ffmpeg-devel mailing list