[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:27:03 CEST 2016


On Wed, Jun 29, 2016 at 05:07:52PM -0300, James Almer wrote:
> On 6/29/2016 4:36 PM, 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;
> > +}
> > +
> > +
> >  void av_format_inject_global_side_data(AVFormatContext *s)
> >  {
> >      int i;
> 
> No more accessors, please. If these fields truly need to be used outside of
> libavformat then move them above the private fields mark (alongside minor
> bump and preferably some minimal doxy).

can you explain how this fixes the ABI breakage between 3.0 and 3.1?


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates
-------------- 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/02c27d8a/attachment.sig>


More information about the ffmpeg-devel mailing list