X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/40f48834fcfb7f308394a6b3221785b7c8ba45cc..43f4e852a1b2ac37c3db6a2b87315192ac549191:/src/msw/mediactrl_am.cpp?ds=inline diff --git a/src/msw/mediactrl_am.cpp b/src/msw/mediactrl_am.cpp index 97541c9105..227df16d5d 100644 --- a/src/msw/mediactrl_am.cpp +++ b/src/msw/mediactrl_am.cpp @@ -1540,14 +1540,14 @@ wxString wxAMMediaBackend::GetErrorString(HRESULT hrdsv) { return wxString::Format(wxT("DirectShow error \"%s\" \n") wxT("(numeric %X)\n") - wxT("occured"), + wxT("occurred"), szError, (int)hrdsv); } else { return wxString::Format(wxT("Unknown error \n") wxT("(numeric %X)\n") - wxT("occured"), + wxT("occurred"), (int)hrdsv); } } @@ -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 } }