From: Conor McCarthy cmccarthy@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)