Module: wine Branch: master Commit: b91a701c529bcc1f4ca885e9ff4104189899c33c URL: https://source.winehq.org/git/wine.git/?a=commit;h=b91a701c529bcc1f4ca885e9f...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Fri Oct 4 14:42:43 2019 +0300
mf: Add async command for session pause.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mf/session.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index 169ba7403b..6b993b1d60 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -38,6 +38,7 @@ enum session_command SESSION_CMD_CLOSE, SESSION_CMD_SET_TOPOLOGY, SESSION_CMD_START, + SESSION_CMD_PAUSE, };
struct session_op @@ -718,9 +719,19 @@ static HRESULT WINAPI mfsession_Start(IMFMediaSession *iface, const GUID *format
static HRESULT WINAPI mfsession_Pause(IMFMediaSession *iface) { - FIXME("(%p)\n", iface); + struct media_session *session = impl_from_IMFMediaSession(iface); + struct session_op *op; + HRESULT hr;
- return E_NOTIMPL; + TRACE("%p.\n", iface); + + if (FAILED(hr = create_session_op(SESSION_CMD_PAUSE, &op))) + return hr; + + hr = session_submit_command(session, op); + IUnknown_Release(&op->IUnknown_iface); + + return hr; }
static HRESULT WINAPI mfsession_Stop(IMFMediaSession *iface) @@ -1010,6 +1021,8 @@ static HRESULT WINAPI session_commands_callback_Invoke(IMFAsyncCallback *iface, session_start(session, &op->u.start.time_format, &op->u.start.start_position); break; } + case SESSION_CMD_PAUSE: + break; case SESSION_CMD_CLOSE: EnterCriticalSection(&session->cs); if (session->state != SESSION_STATE_CLOSED)