[FFmpeg-devel] [PATCH 1/2] avformat/avformat: Move new field to the end of AVFrame

Michael Niedermayer michael at niedermayer.cc
Thu Jun 30 14:19:42 CEST 2016


On Thu, Jun 30, 2016 at 02:07:53PM +0200, Hendrik Leppkes wrote:
> On Thu, Jun 30, 2016 at 2:02 PM, Michael Niedermayer
> <michael at niedermayer.cc> wrote:
> > This fixes part of Ticket5676
> > This fixes kodi, mpv, chromium and ffplay build against 3.0 and linked to 3.1
> >
> > This is a similar ABI fix to 1eb43af1a0e542ad83dcbf327197785d815fc42d
> >
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >  libavformat/avformat.h |   22 +++++++++++-----------
> >  1 file changed, 11 insertions(+), 11 deletions(-)
> >
> > diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> > index 876f1e3..818184e 100644
> > --- a/libavformat/avformat.h
> > +++ b/libavformat/avformat.h
> > @@ -985,17 +985,6 @@ typedef struct AVStream {
> >      int event_flags;
> >  #define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001 ///< The call resulted in updated metadata.
> >
> > -    /*
> > -     * Codec parameters associated with this stream. Allocated and freed by
> > -     * libavformat in avformat_new_stream() and avformat_free_context()
> > -     * respectively.
> > -     *
> > -     * - demuxing: filled by libavformat on stream creation or in
> > -     *             avformat_find_stream_info()
> > -     * - muxing: filled by the caller before avformat_write_header()
> > -     */
> > -    AVCodecParameters *codecpar;
> > -
> >      /*****************************************************************
> >       * All fields below this line are not part of the public API. They
> >       * may not be used outside of libavformat and can be changed and
> > @@ -1217,6 +1206,17 @@ typedef struct AVStream {
> >       * Must not be accessed in any way by callers.
> >       */
> >      AVStreamInternal *internal;
> > +
> > +    /*
> > +     * Codec parameters associated with this stream. Allocated and freed by
> > +     * libavformat in avformat_new_stream() and avformat_free_context()
> > +     * respectively.
> > +     *
> > +     * - demuxing: filled by libavformat on stream creation or in
> > +     *             avformat_find_stream_info()
> > +     * - muxing: filled by the caller before avformat_write_header()
> > +     */
> > +    AVCodecParameters *codecpar;
> >  } AVStream;
> >
> 
> I'm against this, this is a public field and should not be moved below
> the private marker. It'll make people get confused about adoption of
> the new API.
> All fields below the private marker seem generally not very useful for
> external code, which fields are being accessed by mpv, kodi, etc?
> 
> Is this patch actually required for them to work, or just the AVFrame one?

please ask the reporter of Ticket5676, he has also tested the
combination of these 2 patches.
I have no easy way to test this

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

No snowflake in an avalanche ever feels responsible. -- Voltaire
-------------- 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/20160630/7535ae34/attachment.sig>


More information about the ffmpeg-devel mailing list