[FFmpeg-devel] [PATCH] Adding support for OSX bundles to ffmpeg command line
Stefano Sabatini
stefano.sabatini-lala
Sat Mar 21 01:47:51 CET 2009
On date Friday 2009-03-20 14:24:30 -0700, Chris Marrin encoded:
> On Mar 20, 2009, at 7:40 AM, Benoit Fouet wrote:
> > On 03/20/2009 03:36 PM, Chris Marrin wrote:
[...]
> >> Index: ffmpeg.c
> >> ===================================================================
> >> --- ffmpeg.c (revision 18075)
> >> +++ ffmpeg.c (working copy)
> >> @@ -88,6 +88,8 @@
> >>
> >> static const OptionDef options[];
> >>
> >> +static char* executable_path;
> >> +
> >> #define MAX_FILES 20
> >>
> >> static AVFormatContext *input_files[MAX_FILES];
> >> @@ -3736,17 +3738,30 @@
> >> FFMPEG_DATADIR,
> >> };
> >>
> >> - for(i=!base[0]; i<2 && !f; i++){
> >> - snprintf(filename, sizeof(filename), "%s%s/%s.ffpreset",
> >> base[i], i ? "" : "/.ffmpeg", arg);
> >> + // first check for path relative to executable (so presets can
> >> be
> >> in an OSX package)
> >> + snprintf(filename, sizeof(filename), "%s/../ffpresets/
> >> %s.ffpreset",
> >> executable_path, arg);
> >> + f= fopen(filename, "r");
> >> + if(!f){
> >> + char *codec_name= *opt == 'v' ? video_codec_name :
> >> + *opt == 'a' ? audio_codec_name :
> >> + subtitle_codec_name;
> >> + snprintf(filename, sizeof(filename),
> >> "%s/../ffpresets/%s-%s.ffpreset", executable_path, codec_name, arg);
> >> f= fopen(filename, "r");
> >> - if(!f){
> >> - char *codec_name= *opt == 'v' ? video_codec_name :
> >> - *opt == 'a' ? audio_codec_name :
> >> - subtitle_codec_name;
> >> - snprintf(filename, sizeof(filename), "%s%s/%s-
> >> %s.ffpreset",
> >> base[i], i ? "" : "/.ffmpeg", codec_name, arg);
> >> - f= fopen(filename, "r");
> >> - }
> >> }
> >> +
> >> + if (!f) {
> >> + for(i=!base[0]; i<2 && !f; i++){
> >> + snprintf(filename, sizeof(filename), "%s%s/%s.ffpreset",
> >> base[i], i ? "" : "/.ffmpeg", arg);
> >> + f= fopen(filename, "r");
> >> + if(!f){
> >> + char *codec_name= *opt == 'v' ? video_codec_name :
> >> + *opt == 'a' ? audio_codec_name :
> >> + subtitle_codec_name;
> >> + snprintf(filename, sizeof(filename),
> >> "%s%s/%s-%s.ffpreset", base[i], i ? "" : "/.ffmpeg", codec_name,
> >> arg);
> >> + f= fopen(filename, "r");
> >> + }
> >> + }
> >> + }
> >>
> >
> > this is mixing functionnal and cosmetical changes
>
> Could you be more specific? I believe all I have done is added a check
> to see if the preset is at a path relative to the executable_path.
> Then (after a check for a successful open) I go into the existing
> codepath.
Reindenting should be done in a separate patch, so each patch is
minimal and more readable.
You can use git/quilt/whatever to create stack of patches.
[...]
Regards.
--
FFmpeg = Fast & Fiendish Mere Purposeless Energized Guide
More information about the ffmpeg-devel
mailing list