[FFmpeg-devel] libavformat: deprecated AVStream member suggests usage of private field

Tom M. tom.mbrt at googlemail.com
Sat Jun 3 22:15:01 EEST 2017


This is pretty confusing. Those "All fields below this line are not part of
the public API." comments are completely ignored by doxygen. And this is
where most people look at, I doubt they parse the raw header files
themselves. Wouldnt it be possible to move these private fields into the
internal struct? That way we would get rid of those misleading comments.

There are downstream libraries even using the fields *skip_samples,
start_skip_samples, first_discard_sample, last_discard_sample*, etc. Are
they also meant to be private? Though their comments do not suggest this,
imo.


2017-06-03 20:20 GMT+02:00 Hendrik Leppkes <h.leppkes at gmail.com>:

> On Sat, Jun 3, 2017 at 6:51 PM, Tom M. <tom.mbrt at googlemail.com> wrote:
> > I noticed that
> >
> > AVCodecContext *codec;
> >
> > within AVStream
> > <https://ffmpeg.org/doxygen/3.2/avformat_8h_source.html#l00889> has been
> > marked deprecated and suggests the usage of
> >
> > AVCodecParameters *codecpar;
> >
> > However, due to avformat.h:1001
> > <https://ffmpeg.org/doxygen/3.2/avformat_8h_source.html#l01001>
> *codecpar*
> > is not part of the public API. I assume that this is a mistake since
> *codec*
> > has been part of public API before?
> >
> > Introduced in commit c1c7e0abb0c513a5f35b29126175b99fc9ca0254.
>
> codecpar is part of the public API, of course.
>
> There was a bit of a snafu with positioning the codecpar member, and
> we've updated the comments to reflect that in 3.3. Rest assured that
> the position (and therefor the ABI) of codecpar is not going to change
> without a major bump.
>
> - Hendrik
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list