[FFmpeg-devel] [PATCH] check if bsf returns an error in ffmpeg.c

Baptiste Coudurier baptiste.coudurier
Fri Jan 18 12:45:22 CET 2008


Hi Benoit, Michael,

Michael Niedermayer wrote:
> Hi
> 
> On Fri, Jan 18, 2008 at 12:31:15PM +0100, Benoit Fouet wrote:
>> Michael Niedermayer wrote:
>>> On Fri, Jan 18, 2008 at 12:05:48PM +0100, Benoit Fouet wrote:
>>>   
>>>> Michael Niedermayer wrote:
>>>>     
>>>>> On Tue, Jan 15, 2008 at 05:49:21PM +0100, Benoit Fouet wrote:
>>>>>   
>>>>>       
>>>>>> Hi,
>>>>>>
>>>>>> attached is a patch to $subj
>>>>>>     
>>>>>>         
>>>>> silently muxing broken data is not good
>>>>>
>>>>>   
>>>>>       
>>>> do you mean this should be done (muxing) with a message or not done at all ?
>>>> if the bitstream filter returns an error, it shouldn't have touched the
>>>> data IMHO, so we would mux input data unchanged
>>>> (I'll have to have a look at current bitstream filters to know what they
>>>> do, though)
>>>>     
>>> I think mux with error message ...
>>>
>>>   
>> something like the attached patch then ?
>> (i was wondering whether we should output the message only once or not...)
> 
> id say always print
> 
> [...]
>> Index: ffmpeg.c
>> ===================================================================
>> --- ffmpeg.c	(revision 11551)
>> +++ ffmpeg.c	(working copy)
>> @@ -415,10 +415,12 @@
>>                                            &new_pkt.data, &new_pkt.size,
>>                                            pkt->data, pkt->size,
>>                                            pkt->flags & PKT_FLAG_KEY);
>> -        if(a){
>> +        if(a>0){
>>              av_free_packet(pkt);
>>              new_pkt.destruct= av_destruct_packet;
>>          }
>> +        else if(a<0)
>> +            print_error("av_bitstream_filter_filter()", ret);
> 
> this has a problem, it doesnt print which stream caused the error nor
> which bitstream filter, both could be quite usefull
> 

I wonder if we should not exit like when writing frame fails. If FFmpeg
cannot do what it is being requested to do, it would be more honest to
fail instead of creating broken/non compliant files (Im thinking of the
use of mp4_to_annex_b h264 bistream filter for example).

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-devel mailing list