X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3d55f45e94a243fef267d466f249fbb18835ecdc..96c9640205933ad0673d5af2c96af0816c50160c:/src/msw/mediactrl_am.cpp?ds=sidebyside diff --git a/src/msw/mediactrl_am.cpp b/src/msw/mediactrl_am.cpp index 95341cbdff..edcb971d6a 100644 --- a/src/msw/mediactrl_am.cpp +++ b/src/msw/mediactrl_am.cpp @@ -2020,7 +2020,15 @@ wxLongLong wxAMMediaBackend::GetDuration() case S_OK: // outDuration is in seconds, we need milliseconds - return static_cast(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 } }