[FFmpeg-devel] Match per stream option macro
Chau Pham
chaupv79 at hotmail.com
Mon Feb 22 10:12:10 CET 2016
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.
More information about the ffmpeg-devel
mailing list