[FFmpeg-devel] [PATCH] fix issue434
Anssi Hannula
anssi.hannula
Wed Apr 30 11:40:48 CEST 2008
M?ns Rullg?rd wrote:
> Anssi Hannula <anssi.hannula at gmail.com> writes:
>
>> M?ns Rullg?rd wrote:
>>>>>> Michael Niedermayer <michaelni at gmx.at> writes:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> The patch below fixes issue434, i will commit it in 24h unless
>>>>>>> mans objects
>>>>>>>
>>>>>>> Index: libavformat/mpeg.c
>>>>>>> ===================================================================
>>>>>>> --- libavformat/mpeg.c (revision 12867)
>>>>>>> +++ libavformat/mpeg.c (working copy)
>>>>>>> @@ -341,12 +341,13 @@
>>>>>>> if (flags & 0x01) { /* PES extension */
>>>>>>> pes_ext = get_byte(s->pb);
>>>>>>> header_len--;
>>>>>>> - if (pes_ext & 0x40) { /* pack header - should be zero in PS */
>>>>>>> - goto error_redo;
>>>>>>> - }
>>>>>>> /* Skip PES private data, program packet sequence counter and P-STD buffer */
>>>>>>> skip = (pes_ext >> 4) & 0xb;
>>>>>>> skip += skip & 0x9;
>>>>>>> + if (pes_ext & 0x40 || skip > header_len){
>>>>>>> + av_log(s, AV_LOG_WARNING, "pes_ext %X is invalid\n", pes_ext);
>>>>>>> + pes_ext=skip=0;
>>>>>>> + }
>>>>>>> url_fskip(s->pb, skip);
>>>>>>> header_len -= skip;
>> [...]
>>> You may apply this if you give me the head of a vdr author on a silver
>>> plate first. There is no excuse for knowingly creating invalid files.
>> If I am interpreting this correctly, i.e. the issue was PES extension
>> flag being wrongly set for every packet, then this was a bug in a 3rd
>> party vdr subtitling patch that was fixed in October last year.
>>
>> The invalid files were thus not created knowingly.
>
> Sloppy patch review then.
The patch was never applied, but it was very popular (subtitles support
was merged in a very different way later).
> Besides, vdr has a long track record of
> creating invalid files in a number of ways.
I'd like to hear more. If it is still creating invalid files, maybe it
can be fixed.
--
Anssi Hannula
More information about the ffmpeg-devel
mailing list