[FFmpeg-devel] BUG in use of extradata and extradata_size with dvb subtitles and teletext

Reimar Döffinger Reimar.Doeffinger at gmx.de
Thu Jan 9 14:40:44 CET 2014

On 08.01.2014, at 23:01, Michael Niedermayer <michaelni at gmx.at> wrote:

> On Wed, Jan 08, 2014 at 05:33:59PM +0100, Michael Niedermayer wrote:
>> On Wed, Jan 08, 2014 at 06:15:19PM +0200, Andriy Lysnevych wrote:
>>> Any way we must fix this bug at some point. Having two DVB subtitle formats
>>> in FFmpeg already caused a lot of related issues.
>>> Applying only libavcodec change will break DVB subtitle encoder -> MPEG-TS
>>> muxer chain and as the result output MPEG-TS stream will contain malformed
>>> DVB subtitle payload.
>>> To keep compatibility we can check version of libavformat in DVB subtitle
>>> encoder and add beginning 0x00 and trailing 0xFF bytes for older versions
>>> as it was before. To do so we must increase version of libavformat with
>>> this patch.
>>> Questions are:
>>> 1) How to detect libavformat version from libavcodec? Is calling
>>> avformat_version() ok?
>> no
>> libavcodec has no way to detect the libavformat its used with or even
>> if its used with any libavformat or different code.
>> I think there are only 2 (reasonable) solutions
>> A. what ubitux suggested, that a option is added and the default stays
>>   the old format and the application would have to set it to have
>>   the new format used
>> B. just accept that the format was buggy&broken and that this is a bug
>>   fix
>> Did any application use / depend on this specific "buggy" format ?
>> I think ubitux and any application developers affected by this are
>> the best to decide of B. is acceptable
> and if noone replies then you can probably assume its ok and noone
> knows of any code that depends on this format 

If only the format the encoder creates is changed that probably is fine, I am not aware of any application using the encoder.
However for the decoder compatibility is important, since to my knowledge several players use it with their won demuxers instead of libavformat.
Am I correct that the patch only changes encoder and muxer?

More information about the ffmpeg-devel mailing list