diff options
author | davilla <davilla@4pi.com> | 2012-02-03 17:56:32 -0500 |
---|---|---|
committer | davilla <davilla@4pi.com> | 2012-02-03 17:56:32 -0500 |
commit | f8837fa75ddce34433ad6e6dc6df4b45e98235c7 (patch) | |
tree | 7a5511644baf860a317a277e09e0e96ba2ddfc72 | |
parent | efcc04ad290388225643d028382290fee0b87d92 (diff) |
fixed assert condition, fixes #12551, stream->time_base.num can be large enough to overflow the calc as int so do it as int64_t so we do not assert inside ffmpeg
-rw-r--r-- | xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp index fbe68710c6..a27f052aa0 100644 --- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -772,7 +772,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() if(duration > stream->duration) { stream->duration = duration; - duration = m_dllAvUtil.av_rescale_rnd(stream->duration, stream->time_base.num * AV_TIME_BASE, stream->time_base.den, AV_ROUND_NEAR_INF); + duration = m_dllAvUtil.av_rescale_rnd(stream->duration, (int64_t)stream->time_base.num * AV_TIME_BASE, stream->time_base.den, AV_ROUND_NEAR_INF); if ((m_pFormatContext->duration == (int64_t)AV_NOPTS_VALUE && m_pFormatContext->file_size > 0) || (m_pFormatContext->duration != (int64_t)AV_NOPTS_VALUE && duration > m_pFormatContext->duration)) m_pFormatContext->duration = duration; |