ffmpeg_opt: fix recording time in->out carryover.

This should fix valgrind complaints.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-12-20 17:37:08 +01:00
parent c7a1239bf9
commit 103410d67e
1 changed files with 11 additions and 9 deletions

View File

@ -95,6 +95,8 @@ static int intra_dc_precision = 8;
static int do_psnr = 0; static int do_psnr = 0;
static int input_sync; static int input_sync;
static int64_t recording_time = INT64_MAX;
static void uninit_options(OptionsContext *o, int is_input) static void uninit_options(OptionsContext *o, int is_input)
{ {
const OptionDef *po = options; const OptionDef *po = options;
@ -125,18 +127,18 @@ static void uninit_options(OptionsContext *o, int is_input)
av_freep(&o->audio_channel_maps); av_freep(&o->audio_channel_maps);
av_freep(&o->streamid_map); av_freep(&o->streamid_map);
if (!is_input) if (is_input)
o->recording_time = INT64_MAX; recording_time = o->recording_time;
else
recording_time = INT64_MAX;
} }
static void init_options(OptionsContext *o, int is_input) static void init_options(OptionsContext *o, int is_input)
{ {
OptionsContext bak= *o;
memset(o, 0, sizeof(*o)); memset(o, 0, sizeof(*o));
if (!is_input) { if (!is_input && recording_time != INT64_MAX) {
o->recording_time = bak.recording_time; o->recording_time = recording_time;
if (o->recording_time != INT64_MAX)
av_log(NULL, AV_LOG_WARNING, av_log(NULL, AV_LOG_WARNING,
"-t is not an input option, keeping it for the next output;" "-t is not an input option, keeping it for the next output;"
" consider fixing your command line.\n"); " consider fixing your command line.\n");