Browse Source

lavc: make avcodec_open2() fail when the timebase is not set for encoding

Many encoders use it. There is also a divide by the timebase lower in
this function, which would crash when it is not set.
tags/n3.1
Anton Khirnov 9 years ago
parent
commit
e62ff72fc1
1 changed files with 7 additions and 0 deletions
  1. +7
    -0
      libavcodec/utils.c

+ 7
- 0
libavcodec/utils.c View File

@@ -994,6 +994,13 @@ FF_DISABLE_DEPRECATION_WARNINGS
}
FF_ENABLE_DEPRECATION_WARNINGS
#endif

if (avctx->time_base.num <= 0 || avctx->time_base.den <= 0) {
av_log(avctx, AV_LOG_ERROR, "The encoder timebase is not set.\n");
ret = AVERROR(EINVAL);
goto free_and_end;
}

if (avctx->codec->sample_fmts) {
for (i = 0; avctx->codec->sample_fmts[i] != AV_SAMPLE_FMT_NONE; i++) {
if (avctx->sample_fmt == avctx->codec->sample_fmts[i])


Loading…
Cancel
Save