[FFmpeg-devel] [PATCH 1/3] lavc/encode: make sure frame timebase matches encoder, when set

Anton Khirnov anton at khirnov.net
Tue Oct 4 12:36:49 EEST 2022


Quoting Marton Balint (2022-09-28 21:54:11)
> 
> 
> On Wed, 28 Sep 2022, Anton Khirnov wrote:
> 
> > AVFrame.time_base has been added recently, but is currently not used for
> > anything. Prepare for its use in encoders by rejecting frames where
> > time_base is set, but differs from the AVCodecContext one.
> 
> How is that not an API break? Users can encode AVFrames with anything in 
> the AVFrame->time_base right now, if you change that behaviour, that will 
> surely break some code. That is why it was explicitly documented that 
> it will be ignored by encoders by default.

Why would there be anything in that field? No code we have currently
sets that field or does anything with it. There is no valid reason for
the users to be setting it on the frames they send to lavc.

As for "it would have worked before', there are many precedents where
some nonsensical parameter combination would "work", but then we'd add a
check and it would start returning errors. Callers should not be setting
random fields to random values and expect things to work.

Would applying this patch after a major bump alleviate your concerns? We
wanted to have one for a few months already.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list