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

Michael Niedermayer michaelni
Mon Jan 21 13:59:47 CET 2008


On Mon, Jan 21, 2008 at 01:35:33PM +0100, Benoit Fouet wrote:
> Hello,
> 
> 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
> >
> >   
> 
> how is this one ?

please also print the AVCodecContext.codec.name
its a lot easier than stream_index=3 to interpret for a user

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080121/1e1c0dc7/attachment.pgp>



More information about the ffmpeg-devel mailing list