Quoting Marton Balint (2023-01-24 01:06:46)
> On Tue, 24 Jan 2023, Michael Niedermayer wrote:
> > On Tue, Jan 24, 2023 at 12:22:52AM +0100, Marton Balint wrote:
> >> On Mon, 23 Jan 2023, Anton Khirnov wrote:
> >>> Quoting Marton Balint (2023-01-23 23:41:11)
> >>>> On Mon, 23 Jan 2023, Anton Khirnov wrote:
> >>>>> Not breaking callers seems like a very solid benefit to me.
> >>>>
> >>>> I am not sure if I see your point, during unstable, you can break 
> >>>> callers,
> >>>> and I planned to do the change during unstable.
> >>>
> >>> My understanding of this instability period is that it's mainly for ABI
> >>> changes like reordering struct fields and such, you're still not allowed
> >>> to arbitrarily break random APIs. The entire point of having deprecation
> >>> periods is that callers can prepare in advance and never actually be
> >>> broken.
> >>
> >> If some fields or API is deprecated, then yes, it makes sense. But if no
> >> deprecation / replacement API is provided, then how will anybody prepare?
> >> For type changes, fields are usually not deprecated. Ifdefs are only used 
> >> to
> >> prepare the changes for the next API bump. For example, buffer_size_t was 
> >> in
> >> the codebase for 2 months only.
> >>
> >> It is not that big of a deal to make a patch if #ifdefs, I just really 
> >> don't
> >> see the benefit.
> >>
> >> An actual problem however, is that printf() like functions expect type
> >> specifiers, and unlike buffer sizes, there is a good chance the users
> >> sometimes print AVCodecContext->frame_number or 
> >> AVFrame->xxx_picture_number,
> >> which will become undefined behaviour. And yes, the compiler will usually
> >> warn, but still, type changes can cause silent breakage. But using #define
> >> API guards will not fix this, whenever you change the type, code will get
> >> broken, I am not sure if anything can be done about it.
> > if you want to avoid this then, new type, new identifer
> Sure, but do we want AVFrame->coded_picture_number64, 
> AVFrame->display_picture_number64

Are these even useful for anything? The don't seem like they belong in
AVFrame.

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to