[SCM] libav/experimental: only store command line parameters in contexts with matching codec_type

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:57:26 UTC 2013


The following commit has been merged in the experimental branch:
commit 2d0aefd62608e1cc9a804bbd4eee68e0f10c5626
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Wed Mar 7 08:34:52 2007 +0000

    only store command line parameters in contexts with matching codec_type
    
    Originally committed as revision 8282 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/ffmpeg.c b/ffmpeg.c
index 25604d7..db3f432 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3507,9 +3507,14 @@ static void show_version(void)
 
 static int opt_default(const char *opt, const char *arg){
     int type;
-    const AVOption *o;
-    for(type=0; type<CODEC_TYPE_NB; type++)
-        o = av_set_string(avctx_opts[type], opt, arg);
+    const AVOption *o= NULL;
+    int opt_types[]={AV_OPT_FLAG_VIDEO_PARAM, AV_OPT_FLAG_AUDIO_PARAM, 0, AV_OPT_FLAG_SUBTITLE_PARAM, 0};
+
+    for(type=0; type<CODEC_TYPE_NB; type++){
+        const AVOption *o2 = av_find_opt(avctx_opts[0], opt, NULL, opt_types[type], opt_types[type]);
+        if(o2)
+            o = av_set_string(avctx_opts[type], opt, arg);
+    }
     if(!o)
         o = av_set_string(avformat_opts, opt, arg);
     if(!o){

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list