[FFmpeg-devel] [PATCH 1/2] avcodec, avformat: deprecate anything related to side data merging

Hendrik Leppkes h.leppkes at gmail.com
Fri Mar 17 14:59:40 EET 2017


On Fri, Mar 17, 2017 at 12:32 AM, Michael Niedermayer
<michael at niedermayer.cc> wrote:
> On Thu, Mar 16, 2017 at 09:20:55PM +0100, Nicolas George wrote:
>> Le sextidi 26 ventôse, an CCXXV, Michael Niedermayer a écrit :
>> > Applications which depend on the current default would need
>>
>> ... to implement a correct structure to carry the data from their
>> demuxer to the lavc decoders.
>
> Is this possible for every application using every framework ?
>

If you are using a multimedia framework, then putting non-media data
into the media buffers is even worse then doing it internally in
avformat->avcodec only.
There could be all sorts of other components in play in such a
framework which have no idea what this sidedata is, and as someone
actually working with such a framework daily (DirectShow), it can and
has broken playback when non-avcodec decoders were used and such data
was in the packets.

So in short, the "merge" solution has never solved anything for me
using a media framework, luckily it was only used very sparingly
(until recently when every packet out of the mpegts demuxer suddenly
had pointless sidedata and broke all the things).
If you use a multimedia framework that does in no way allow you to
attach side data to the packets, then the person working with the
framework should decide what to do about that, because only they know
how their framework may work - merging it into the data has potential
for way more breakage.

- Hendrik


More information about the ffmpeg-devel mailing list