aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavilla <davilla@4pi.com>2012-02-03 17:56:32 -0500
committerdavilla <davilla@4pi.com>2012-02-03 17:56:32 -0500
commitf8837fa75ddce34433ad6e6dc6df4b45e98235c7 (patch)
tree7a5511644baf860a317a277e09e0e96ba2ddfc72
parentefcc04ad290388225643d028382290fee0b87d92 (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.cpp2
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;