X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/40f48834fcfb7f308394a6b3221785b7c8ba45cc..eea4d01c65f9b29baa1193db762b4c6b8144af24:/src/msw/mediactrl_am.cpp diff --git a/src/msw/mediactrl_am.cpp b/src/msw/mediactrl_am.cpp index 97541c9105..edcb971d6a 100644 --- a/src/msw/mediactrl_am.cpp +++ b/src/msw/mediactrl_am.cpp @@ -1823,8 +1823,8 @@ void wxAMMediaBackend::FinishLoad() bool wxAMMediaBackend::ShowPlayerControls(wxMediaCtrlPlayerControls flags) { // Note that IMediaPlayer doesn't have a statusbar by - // default but IActiveMovie does - so lets try to keep - // the interface consistant + // default but IActiveMovie does - so let's try to keep + // the interface consistent. if(!flags) { GetAM()->put_Enabled(VARIANT_FALSE); @@ -2020,7 +2020,15 @@ wxLongLong wxAMMediaBackend::GetDuration() case S_OK: // outDuration is in seconds, we need milliseconds - return outDuration * 1000; +#ifdef wxLongLong_t + return static_cast(outDuration * 1000); +#else + // In principle it's possible to have video of duration greater + // than ~1193 hours which corresponds LONG_MAX in milliseconds so + // cast to wxLongLong first and multiply by 1000 only then to avoid + // the overflow (resulting in maximal duration of ~136 years). + return wxLongLong(static_cast(outDuration)) * 1000; +#endif } }