mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-26 01:02:33 +00:00
ffmpeg: tell reset_options() if it is used on input or output files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
d2084402e6
commit
6f8b1fcd4b
12
ffmpeg.c
12
ffmpeg.c
@ -356,9 +356,10 @@ typedef struct OptionsContext {
|
|||||||
uint64_t limit_filesize;
|
uint64_t limit_filesize;
|
||||||
} OptionsContext;
|
} OptionsContext;
|
||||||
|
|
||||||
static void reset_options(OptionsContext *o)
|
static void reset_options(OptionsContext *o, int is_input)
|
||||||
{
|
{
|
||||||
const OptionDef *po = options;
|
const OptionDef *po = options;
|
||||||
|
OptionsContext bak= *o;
|
||||||
|
|
||||||
/* all OPT_SPEC and OPT_STRING can be freed in generic way */
|
/* all OPT_SPEC and OPT_STRING can be freed in generic way */
|
||||||
while (po->name) {
|
while (po->name) {
|
||||||
@ -383,8 +384,9 @@ static void reset_options(OptionsContext *o)
|
|||||||
|
|
||||||
memset(o, 0, sizeof(*o));
|
memset(o, 0, sizeof(*o));
|
||||||
|
|
||||||
o->recording_time = INT64_MAX;
|
|
||||||
o->limit_filesize = UINT64_MAX;
|
o->limit_filesize = UINT64_MAX;
|
||||||
|
if(is_input) o->recording_time = bak.recording_time;
|
||||||
|
else o->recording_time = INT64_MAX;
|
||||||
|
|
||||||
uninit_opts();
|
uninit_opts();
|
||||||
init_opts();
|
init_opts();
|
||||||
@ -3297,7 +3299,7 @@ static int opt_input_file(OptionsContext *o, const char *opt, const char *filena
|
|||||||
av_freep(&opts);
|
av_freep(&opts);
|
||||||
av_dict_free(&codec_names);
|
av_dict_free(&codec_names);
|
||||||
|
|
||||||
reset_options(o);
|
reset_options(o, 1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3920,7 +3922,7 @@ static void opt_output_file(void *optctx, const char *filename)
|
|||||||
av_dict_free(&codec_names);
|
av_dict_free(&codec_names);
|
||||||
|
|
||||||
av_freep(&forced_key_frames);
|
av_freep(&forced_key_frames);
|
||||||
reset_options(o);
|
reset_options(o, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* same option as mencoder */
|
/* same option as mencoder */
|
||||||
@ -4456,7 +4458,7 @@ int main(int argc, char **argv)
|
|||||||
OptionsContext o = { 0 };
|
OptionsContext o = { 0 };
|
||||||
int64_t ti;
|
int64_t ti;
|
||||||
|
|
||||||
reset_options(&o);
|
reset_options(&o, 0);
|
||||||
|
|
||||||
av_log_set_flags(AV_LOG_SKIP_REPEATED);
|
av_log_set_flags(AV_LOG_SKIP_REPEATED);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user