[FFmpeg-devel] [PATCH][RFC - DO NOT MERGE] Revert "mov: Discard invalid CTTS."

Derek Buitenhuis derek.buitenhuis at gmail.com
Wed Mar 10 19:49:45 EET 2021


On 10/03/2021 17:24, Michael Niedermayer wrote:
> what does the muxer exactly do ?

I provided an explanation of what is happening during the broken muxing 
in my original email, as well as a sample, and a text dump of the boxes.
Please see those.

Can you please actually fully read my emails and samples before going on
long tangents about theortical things or what could be?

> Let me give an example (totally made up but to explain my point)
> if each ctts value for example has its file position added to it
> that can be reverted and the original ctts fully recovered.
> (also a user app cannot do this, only the demuxer could as the user app
>  has no knowledge of the atoms file position)
> 
> Does it store uninintialized memory then it would not be revertable but
> it did not sound like thats whats happening.

This example is neither useful nor relevant to the case at hand. I described
what is happening, and provided a sample: mid-way through the CTTS box, the entry
durations start incrementing, i.e. growing, rather than matching the reordering.
Please see the sample I provided, and also the dump of the boxes as text I provided.

These theortical and vague replies are not actionable. They're bordering on philosophical
musings.

> about never modifying data, for that a system similar to workaround_bugs
> we have on the decoder side could be added. But its not really the users
> job to do this. The demuxer should already return as much recoverable
> data as possible.

But it's not. It's returning NO data rather than what is in the file. It
is completely dropping all timestamps and making them up, based on nothing.
There is *not* better. It's not fixing or salvaging anything. It's just making
it broken in a different way. And it is not even doing it consistently. It is
doing it only when an arbitrary number is reached, so as an API user, I can't
even consistently handle these.

I gave *exact* options to choose from in my original mail, as a well as a sample
and a description of the problem - I am asking which should be chosen, or to
suggest a different one in clear, actionable terms.

- Derek


More information about the ffmpeg-devel mailing list