Nikolay Sivov : mf: Add async command for session pause.
Alexandre Julliard
julliard at winehq.org
Fri Oct 4 16:34:04 CDT 2019
Module: wine
Branch: master
Commit: b91a701c529bcc1f4ca885e9ff4104189899c33c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b91a701c529bcc1f4ca885e9ff4104189899c33c
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Fri Oct 4 14:42:43 2019 +0300
mf: Add async command for session pause.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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)
More information about the wine-cvs
mailing list