[FFmpeg-devel] [PATCH 1/6] lavfi/buffersink: add accessors for the stream properties.

James Almer jamrial at gmail.com
Sun Dec 18 20:17:56 EET 2016


On 12/18/2016 9:22 AM, Nicolas George wrote:
> av_buffersink_get_frame_rate() did already exist; its argument becomes const.
> 
> TODO minor version bump

What's the purpose of adding these accessors? The only reason we have
done this before was because of the now dropped libav ABI compatibility,
since we had to add our own new fields below theirs which meant there was
no guarantee of a fixed offset. That's the reason the accessor for
frame_rate exists here, as far as i can see.
Is this to make AVFilterLink a fully internal struct? What's the reason
to do that in that case, instead of simply making its private fields
actually internal and private?

The idea for next bump was to clean all this mess for once and for all by
deprecating all accessors, removing all the "no direct access" notes and
moving all the private fields in public structs (Marked with a big "not
part of the public API" warning like in the case of with AVFilterLink)
into actual internal structs. That way public structs would finally
become fully public and user friendly again.

This change adds more abstraction and more symbols for what gain?



More information about the ffmpeg-devel mailing list