[FFmpeg-devel] [PATCH] avformat/mux: skip parameter and pts checks for data muxer

Gyan ffmpeg at gyani.pro
Mon May 6 07:28:55 EEST 2019



On 04-05-2019 06:42 PM, Nicolas George wrote:
> Gyan (12019-05-02):
>> The flow is
>>
>> avformat_write_header -> avformat_init_output -> init_muxer
>>
>> And in the last function, lines 293-385 (as of 7eba26451) carry out the
>> checks, and which my patch skips.
> I missed this. My bad.
>
>> The problem is that there is no clean set of flags which isolate the
>> parameter-agnostic muxers - not surprising as this is a library for making
>> valid media files. A new flag could be invented, if the present patch is too
>> idiosyncratic. On a related note, as I mentioned elsewhere in this thread,
>> an existing flag AVFMT_NOTIMESTAMPS, which in theory I could use, is of no
>> help here, as it has been set for muxers which do handle timestamps in some
>> way.
> Yet, the name test is wrong: there are other muxers that absolutely do
> not care about timestamps, or any other kind of parameters. The null
> muxer, for starter.
>
> I see a few options to make this work properly:
>
> - Add an option "-noout" for ffmpeg to let it run without output, until
>    the end of inputs. This would be useful for other situations,
>    including cases when the log from filters is what the user is
>    interested in. It would replace "-f null -" that we always use.
>
> - Add an option "-mux_params_check 0" for ffmpeg output streams, tu
>    allow skipping these tests explicitly. Your use case is specific
>    enough that an additional option is acceptable.
>
> - Create the required flags to mark muxers that do not require these
>    tests.
I think what I would prefer is a combination of 2 and 3. Mark muxers 
which don't need checks but add an option to actually disable checks. 2 
alone can produce invalid files if used with a regular muxer. At 
minimum, a warning should be issued. 3 alone has no flexibility.

If acceptable, I'll revise the patch that way.

Thanks,
Gyan


More information about the ffmpeg-devel mailing list