diff options
author | Anssi Hannula <anssi.hannula@iki.fi> | 2011-01-02 16:00:47 +0000 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at> | 2011-01-02 16:00:47 +0000 |
commit | ef2b2243dc1e258e77dac6d702d3c1ec1b2bcc6f (patch) | |
tree | f869e6ea83add24ff4fd7ed1fd93592a13fe579b /cmdutils.c | |
parent | 815495f0405d929b522ff948584ecd1de3662487 (diff) | |
download | ffmpeg-ef2b2243dc1e258e77dac6d702d3c1ec1b2bcc6f.tar.gz |
Use AVOption for muxers in ffmpeg.
Patch by Anssi Hannula, anssi d hannula d iki d fi
Originally committed as revision 26199 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'cmdutils.c')
-rw-r--r-- | cmdutils.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/cmdutils.c b/cmdutils.c index 5e4b716891..a48d0c35c9 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -241,12 +241,20 @@ int opt_default(const char *opt, const char *arg){ } if (!o) { AVCodec *p = NULL; + AVOutputFormat *oformat = NULL; while ((p=av_codec_next(p))){ AVClass *c= p->priv_class; if(c && av_find_opt(&c, opt, NULL, 0, 0)) break; } - if(!p){ + if (!p) { + while ((oformat = av_oformat_next(oformat))) { + const AVClass *c = oformat->priv_class; + if (c && av_find_opt(&c, opt, NULL, 0, 0)) + break; + } + } + if(!p && !oformat){ fprintf(stderr, "Unrecognized option '%s'\n", opt); exit(1); } @@ -322,7 +330,13 @@ void set_context_opts(void *ctx, void *opts_ctx, int flags, AVCodec *codec) if(codec && codec->priv_class && avctx->priv_data){ priv_ctx= avctx->priv_data; } + } else if (!strcmp("AVFormatContext", (*(AVClass**)ctx)->class_name)) { + AVFormatContext *avctx = ctx; + if (avctx->oformat && avctx->oformat->priv_class) { + priv_ctx = avctx->priv_data; + } } + for(i=0; i<opt_name_count; i++){ char buf[256]; const AVOption *opt; |