avcodec/setts_bsf: fix setting output timebase

Set a valid max value for the option, and also check numerator before
assuming the value is useful.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2022-03-16 23:41:55 -03:00
parent ccb81acc3d
commit c834083861
1 changed files with 2 additions and 2 deletions

View File

@ -145,7 +145,7 @@ static int setts_init(AVBSFContext *ctx)
}
}
if (s->time_base.den)
if (s->time_base.num > 0 && s->time_base.den > 0)
ctx->time_base_out = s->time_base;
s->frame_number= 0;
@ -259,7 +259,7 @@ static const AVOption options[] = {
{ "pts", "set expression for packet PTS", OFFSET(pts_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS },
{ "dts", "set expression for packet DTS", OFFSET(dts_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS },
{ "duration", "set expression for packet duration", OFFSET(duration_str), AV_OPT_TYPE_STRING, {.str="DURATION"}, 0, 0, FLAGS },
{ "time_base", "set output timebase", OFFSET(time_base), AV_OPT_TYPE_RATIONAL, {.dbl=0}, 0, 0, FLAGS },
{ "time_base", "set output timebase", OFFSET(time_base), AV_OPT_TYPE_RATIONAL, {.dbl=0}, 0, INT_MAX, FLAGS },
{ NULL },
};