https://bugs.winehq.org/show_bug.cgi?id=47905
Bradley Grainger bgrainger@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bgrainger@gmail.com
--- Comment #48 from Bradley Grainger bgrainger@gmail.com --- Libronix.DigitalLibrary.Media.MediaPlaybackSpeed.get_ActualSpeed is throwing an InvalidOperationException because an internal state variable, "AllowedSpeed" is false.
The Logos Media Player has a hard-coded list of speeds: 0.75, 1.0, 1.4, 2.0. For each speed, it queries if the underlying system media player supports it.
For MediaFoundation on Windows, this is implemented by IMFRateSupport::IsRateSupported (https://docs.microsoft.com/en-us/windows/win32/api/mfidl/nf-mfidl-imfratesup...). The IMFRateSupport service is retrieved from MFGetService (https://docs.microsoft.com/en-us/windows/win32/api/mfidl/nf-mfidl-mfgetservi...).
In the log, I see:
010c:fixme:mfplat:session_rate_support_IsRateSupported 000000004636C830, 1, 0.750000, 000000000041DEF0. 010c:fixme:mfplat:session_rate_support_IsRateSupported 000000004636C830, 1, 1.000000, 000000000041DEF0. 010c:fixme:mfplat:session_rate_support_IsRateSupported 000000004636C830, 1, 1.400000, 000000000041DEF0. 010c:fixme:mfplat:session_rate_support_IsRateSupported 000000004636C830, 1, 2.000000, 000000000041DEF0.
This is an unimplemented feature in Wine that Logos 9 requires: https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/mf/session.c#l3560