[FFmpeg-devel] [PATCH] Fix printf usage in vhook

Stefano Sabatini stefano.sabatini-lala
Fri Sep 5 11:04:11 CEST 2008


On date Friday 2008-09-05 09:46:20 +0200, Benoit Fouet encoded:
> Hi,
> 
> Stefano Sabatini wrote:
> > On date Friday 2008-09-05 09:14:41 +0800, JonY encoded:
> >
> > [...]
> >
> >   
> >> Index: libavutil/internal.h
> >> ===================================================================
> >> --- libavutil/internal.h	(revision 15214)
> >> +++ libavutil/internal.h	(working copy)
> >> @@ -242,7 +242,7 @@
> >>  #define strcat strcat_is_forbidden_due_to_security_issues_use_av_strlcat
> >>  #undef  exit
> >>  #define exit exit_is_forbidden
> >> -#if !(defined(LIBAVFORMAT_BUILD) || defined(FFMPEG_FRAMEHOOK_H))
> >> +#if !(defined(LIBAVFORMAT_BUILD) || defined(AVFORMAT_FRAMEHOOK_H))
> >>  #undef  printf
> >>  #define printf please_use_av_log
> >>  #undef  fprintf
> >>     
> >
> > That looks like an hack to quickly fix it, the correct solution seems
> > to me to *not use* f?printf but av_log as in your previous patch (and
> > #undef it when it is necessary to write to file), then maybe we can
> > remove that ifdeffery.
> >
> >   
> 
> anyway, if FFMPEG_FRAMEHOOK_H has been renamed to AVFORMAT_FRAMEHOOK_H
> in the new multiple inclusions guard naming scheme, this should be
> reflected in internal.h

Well we have two possible choices:
1) fix the header inclusion guard name in internal.h
2) #undef fprintf in those files which use it to print to file (rather
than to log something, which was wrong and has already been fixed) and
remove that condition from the directive in internal.h

I have a *very* slightly preference for the second solution, but feel
free to apply the first one as proposed by JonY if you prefer that.

There is also a third solution:
3) finish libavfilter and drop the whole VHOOK thing

but it is rather overkill ;-).

Regards.
-- 
FFmpeg = Faboulous Faboulous Monstrous Prodigious Excellent Guide




More information about the ffmpeg-devel mailing list