[FFmpeg-devel] [PATCH] avcodec: Add AVClass to AVCodecParameters

Michael Niedermayer michael at niedermayer.cc
Tue May 10 13:43:08 CEST 2016


On Tue, May 10, 2016 at 11:17:12AM +0100, Derek Buitenhuis wrote:
> On 5/10/2016 7:24 AM, Hendrik Leppkes wrote:
> > I don't like this, the struct is pretty cleanly defined and unlikely
> > to be extended much over time.
> > Most other structs have AVOptions so the CLI can interact with it, but
> > this struct is not meant to be modified by users, its just a direct
> > line of communication between demuxer->decoder or encoder->muxer.
> 
> To me this mostly still feels like trying to make a demuxing library
> something it isn't. It demuxes and muxes.
> 
> You can argue that it should be easier than decoding a frame to get this
> info (which I don't personally think is much trouble at all). However,
> jamming it into libavformat for reasons like "we've always done this" and
> "there's no better place" is not good design IMO.
> 
> It sounds like what you really want is a higher level "easy" API. Don't
> jam it in to existing decoupled APIs because it is convenient, IMO. That's
> how horrible things like having ffmpeg.c functionality in libavformat came
> to exist, and a decade of misery followed.

This patch adds an AVClass field to AVCodecParameters like we use in
other public structures.
i fail to see how this patch is related to your reply

What the patch does, is it makes the API more consistent and easy to
use. Users call the AVOption functions to set fields in the main
public structures, if they do that for AVCodecParameters it would
crash.
Even an empty AVClass that doesnt list options would reduce that
misery by at least not crashing but giving a clear error message.

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Dictatorship: All citizens are under surveillance, all their steps and
actions recorded, for the politicians to enforce control.
Democracy: All politicians are under surveillance, all their steps and
actions recorded, for the citizens to enforce control.
-------------- 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/20160510/0fbb1392/attachment.sig>


More information about the ffmpeg-devel mailing list