On 27.12.2015 20:10, Hendrik Leppkes wrote: > Invalid timebases have a zero numerator, not denominator.
A timebase with zero numerator is probably invalid, but a timebase with zero denominator is not even well defined. So this comment doesn't seem quite right. > Fixes a integer divison by zero. > --- > libavcodec/utils.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavcodec/utils.c b/libavcodec/utils.c > index 19f3f0a..33295ed 100644 > --- a/libavcodec/utils.c > +++ b/libavcodec/utils.c > @@ -2435,7 +2435,7 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, > AVSubtitle *sub, > } else { > avctx->internal->pkt = &pkt_recoded; > > - if (avctx->pkt_timebase.den && avpkt->pts != AV_NOPTS_VALUE) > + if (avctx->pkt_timebase.num && avpkt->pts != AV_NOPTS_VALUE) > sub->pts = av_rescale_q(avpkt->pts, > avctx->pkt_timebase, AV_TIME_BASE_Q); > ret = avctx->codec->decode(avctx, sub, got_sub_ptr, > &pkt_recoded); > If avctx->pkt_timebase.den is 0, calling av_rescale_q here will trigger the av_assert2(c > 0) in av_rescale_rnd, so removing this check isn't good. Why not check for both num and den? Best regards, Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel