Hello,
Is there anyone help me to explain what does the Macro below do? This macro is in ffmpeg_opt.c #define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)\ {\ int i, ret;\ for (i = 0; i < o->nb_ ## name; i++) {\ char *spec = o->name[i].specifier;\ if ((ret = check_stream_specifier(fmtctx, st, spec)) > 0)\ outvar = o->name[i].u.type;\ else if (ret < 0)\ exit_program(1);\ }\ } below is my explanation but it can't cover all its functionality MATCH_PER_STREAM_OPT(OptionsContext *o, char *outvar, AVFormatContext *fmtctx, AVStream *st){ int i, ret; for (i = 0; i < o->nb_stream_maps; i++) { char *spec = o->codec_names[i].specifier; if ((ret = check_stream_specifier(fmtctx, st, spec)) > 0) outvar = (char*)o->codec_names[i].u.str; else if (ret < 0) exit_program(1); } } Thanks. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel