[FFmpeg-devel] [PATCH 1/5] avformat: Adding accessors for externally used AVStream fields which are after the public field list
Michael Niedermayer
michael at niedermayer.cc
Wed Jun 29 22:18:38 CEST 2016
On Wed, Jun 29, 2016 at 09:41:50PM +0200, Clément Bœsch wrote:
> On Wed, Jun 29, 2016 at 09:36:39PM +0200, Michael Niedermayer wrote:
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> > libavformat/avformat.h | 4 ++++
> > libavformat/utils.c | 21 +++++++++++++++++++++
> > 2 files changed, 25 insertions(+)
> >
> > diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> > index 876f1e3..89f014b 100644
> > --- a/libavformat/avformat.h
> > +++ b/libavformat/avformat.h
> > @@ -1224,6 +1224,10 @@ void av_stream_set_r_frame_rate(AVStream *s, AVRational r);
> > struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
> > char* av_stream_get_recommended_encoder_configuration(const AVStream *s);
> > void av_stream_set_recommended_encoder_configuration(AVStream *s, char *configuration);
> > +int64_t av_stream_get_cur_dts(AVStream *s);
> > +int64_t av_stream_get_first_dts(AVStream *s);
> > +int av_stream_get_pts_wrap_bits(AVStream *s);
> > +int64_t av_stream_get_codec_info_nb_frames(AVStream *s);
> >
> > /**
> > * Returns the pts of the last muxed packet + its duration
> > diff --git a/libavformat/utils.c b/libavformat/utils.c
> > index 6f343f2..5168816 100644
> > --- a/libavformat/utils.c
> > +++ b/libavformat/utils.c
> > @@ -132,6 +132,27 @@ struct AVCodecParserContext *av_stream_get_parser(const AVStream *st)
> > return st->parser;
> > }
> >
> > +int64_t av_stream_get_cur_dts(AVStream *s)
> > +{
> > + return s->cur_dts;
> > +}
> > +
> > +int64_t av_stream_get_first_dts(AVStream *s)
> > +{
> > + return s->first_dts;
> > +}
> > +
> > +int av_stream_get_pts_wrap_bits(AVStream *s)
> > +{
> > + return s->pts_wrap_bits;
> > +}
> > +
> > +int64_t av_stream_get_codec_info_nb_frames(AVStream *s)
> > +{
> > + return s->codec_info_nb_frames;
> > +}
> > +
> > +
>
> erm. how about we move them in the public fields instead?
The 3.0 release has these fields in one location, the 3.1 release
has them in a different location because codecpar was added in the
middle. The fields are marked as private
To fix this we can either as in this patchset add accessors and
use
them in all applications (probably not just ours)
OR
we could move codecpar to the end of AVStream
OR
we could bump major abi version
what do people prefer ?
moving them into the pblic fields will not make them match where
they where in 3.0, which is the problem we have
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160629/8aadc27f/attachment.sig>
More information about the ffmpeg-devel
mailing list