[FFmpeg-devel] [PATCH] ffmpeg: explicitly write headers for files with no streams

Hendrik Leppkes h.leppkes at gmail.com
Fri Oct 7 16:52:51 EEST 2016


On Fri, Oct 7, 2016 at 3:46 PM, Hendrik Leppkes <h.leppkes at gmail.com> wrote:
> Recent changes to ffmpeg.c tied output file init to stream init, which broke
> stream-less files, specifically ffmetadata output.
> ---
>  ffmpeg.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/ffmpeg.c b/ffmpeg.c
> index 454e193..b3e23ef 100644
> --- a/ffmpeg.c
> +++ b/ffmpeg.c
> @@ -3460,6 +3460,16 @@ static int transcode_init(void)
>          }
>      }
>
> +    /* write headers for files with no streams */
> +    for (i = 0; i < nb_output_files; i++) {
> +        oc = output_files[i]->ctx;
> +        if (oc->oformat->flags & AVFMT_NOSTREAMS) {

Locally added a check here that nb_streams is actually 0, because
AVFMT_NOSTREAMS doesn't forbid having streams, just allows zero.
Once it has a single stream, its initialized with the stream.

> +            ret = check_init_output_file(output_files[i], i);
> +            if (ret < 0)
> +                goto dump_format;
> +        }
> +    }
> +
>   dump_format:
>      /* dump the stream mapping */
>      av_log(NULL, AV_LOG_INFO, "Stream mapping:\n");
> --
> 2.10.0.windows.1
>


More information about the ffmpeg-devel mailing list