[FFmpeg-devel] [PATCH] avformat/matroskaenc: Allow changing the time stamp precision via option

Michael Fabian 'Xaymar' Dirks michael.dirks at xaymar.com
Thu May 20 21:55:42 EEST 2021


On 2021-05-20 20:23, James Almer wrote:
> On 5/20/2021 2:59 PM, Nicolas George wrote:
>> Michael Fabian 'Xaymar' Dirks (12021-05-20):
>>> The issue can't be fixed
>>
>> Then you should not be hiding the warning. It means something.
>
> It means that the container does not support values bigger than INT16_MAX for block timestamps (relative to the absolute timestamp of the start of the cluster), and it warns as such when it can't write one and needs to instead start a new cluster to write the current packet.
> With a big timescale value like 1µs or 1ns, the muxer can't write the requested amount of blocks per cluster (5 seconds or 5mb by default), resulting in extreme cases like one block per cluster.
I'm not sure if it's necessary as a warning, or should just be considered verbose messaging. I'm leaning to the latter, as it's more of an informational thing than "hey this is going to end up badly 99% of the time" kind of thing. At least in my testing with VLC, MPC-HC, Firefox, and an LG sound system from 2014, none of them actually had any issue playing it back.
>
> The default value for timescale should not trigger this code and warning when in combination with the default cluster size/duration values.
> Making 1ns or 1µs the default timescale is definitely not a good idea in the current state of the Matroska spec.
>
>>
>> I have yet to see a convincing explanation of a case where 1µs would not
>> be enough, by the way. AFAICS, the issue is mostly people handling
>> rounding incorrectly; changing the time base would not fix the code that
>> does improper rounding, it will just let the rounding errors accumulate
>> slower. Fix the code, and there will be no more rounding errors.
>>
>> Please don't quote mailing-list footers.
>>
>> Regards,


-- 
Sincerely | Mit freundlichen Grüßen

Michael Fabian 'Xaymar' Dirks
Software Designer & Engineer




More information about the ffmpeg-devel mailing list