// Author: Ryan Norton <wxprojects@comcast.net>
// Modified by:
// Created: 01/29/05
-// RCS-ID: $Id$
// Copyright: (c) Ryan Norton
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
{
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);
}
}
case S_OK:
// outDuration is in seconds, we need milliseconds
- return outDuration * 1000;
+#ifdef wxLongLong_t
+ return static_cast<wxLongLong_t>(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<long>(outDuration)) * 1000;
+#endif
}
}