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
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel