Module: wine Branch: master Commit: 14003b00f53efc6e36e1f9de8247c4067ede196e URL: https://source.winehq.org/git/wine.git/?a=commit;h=14003b00f53efc6e36e1f9de8... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Wed Oct 21 09:46:33 2020 +0300 evr/mixer: Maintain streaming state flag. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/evr/mixer.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dlls/evr/mixer.c b/dlls/evr/mixer.c index 5ea1b9aa22b..55acf179bdc 100644 --- a/dlls/evr/mixer.c +++ b/dlls/evr/mixer.c @@ -89,6 +89,7 @@ struct video_mixer IMFAttributes *attributes; IMFAttributes *internal_attributes; unsigned int mixing_flags; + unsigned int is_streaming; COLORREF bkgnd_color; LONGLONG lower_bound; LONGLONG upper_bound; @@ -984,6 +985,17 @@ static HRESULT WINAPI video_mixer_transform_ProcessMessage(IMFTransform *iface, break; + case MFT_MESSAGE_NOTIFY_BEGIN_STREAMING: + case MFT_MESSAGE_NOTIFY_END_STREAMING: + + EnterCriticalSection(&mixer->cs); + + mixer->is_streaming = message == MFT_MESSAGE_NOTIFY_BEGIN_STREAMING; + + LeaveCriticalSection(&mixer->cs); + + break; + case MFT_MESSAGE_COMMAND_DRAIN: break; @@ -1016,6 +1028,7 @@ static HRESULT WINAPI video_mixer_transform_ProcessInput(IMFTransform *iface, DW hr = MF_E_NOTACCEPTING; else { + mixer->is_streaming = 1; input->sample = sample; IMFSample_AddRef(input->sample); }