From: Conor McCarthy <cmccarthy(a)codeweavers.com> --- dlls/mf/clock.c | 2 +- dlls/mf/mf_private.h | 1 + dlls/mf/samplegrabber.c | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/mf/clock.c b/dlls/mf/clock.c index 1fd6b3028a0..e8b04b0d90b 100644 --- a/dlls/mf/clock.c +++ b/dlls/mf/clock.c @@ -1054,7 +1054,7 @@ static ULONG WINAPI present_clock_sink_callback_Release(IMFAsyncCallback *iface) return IMFPresentationClock_Release(&clock->IMFPresentationClock_iface); } -static DWORD mf_get_sink_queue_id(void) +DWORD mf_get_sink_queue_id(void) { static SRWLOCK mf_sink_queue_srw = SRWLOCK_INIT; static DWORD mf_sink_queue_id; diff --git a/dlls/mf/mf_private.h b/dlls/mf/mf_private.h index 1f2ef17a8c9..875c0cb4c66 100644 --- a/dlls/mf/mf_private.h +++ b/dlls/mf/mf_private.h @@ -118,6 +118,7 @@ extern HRESULT urlmon_scheme_handler_construct(REFIID riid, void **obj); extern BOOL mf_is_sample_copier_transform(IMFTransform *transform); extern BOOL mf_is_sar_sink(IMFMediaSink *sink); +extern DWORD mf_get_sink_queue_id(void); extern HRESULT create_topology(TOPOID id, IMFTopology **topology); extern HRESULT topology_node_get_object(IMFTopologyNode *node, REFIID riid, void **obj); extern HRESULT topology_node_get_type_handler(IMFTopologyNode *node, DWORD stream, BOOL output, IMFMediaTypeHandler **handler); diff --git a/dlls/mf/samplegrabber.c b/dlls/mf/samplegrabber.c index de599139736..468dd47fe39 100644 --- a/dlls/mf/samplegrabber.c +++ b/dlls/mf/samplegrabber.c @@ -744,7 +744,9 @@ static ULONG WINAPI sample_grabber_stream_timer_callback_Release(IMFAsyncCallbac static HRESULT WINAPI sample_grabber_stream_timer_callback_GetParameters(IMFAsyncCallback *iface, DWORD *flags, DWORD *queue) { - return E_NOTIMPL; + *flags = 0; + *queue = mf_get_sink_queue_id(); + return S_OK; } static HRESULT WINAPI sample_grabber_stream_timer_callback_Invoke(IMFAsyncCallback *iface, IMFAsyncResult *result) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7696