Nikolay Sivov : mf: Query for optional event generator for sinks.
Module: wine Branch: master Commit: c61219625c64d03e5ff05a279e379e8bcda4ac74 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c61219625c64d03e5ff05a279... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Fri Feb 28 15:00:58 2020 +0300 mf: Query for optional event generator for sinks. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/mf/session.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dlls/mf/session.c b/dlls/mf/session.c index 288ea60e6f..0bbf0bac56 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -107,6 +107,7 @@ struct media_sink { struct list entry; IMFMediaSink *sink; + IMFMediaEventGenerator *event_generator; }; struct output_node @@ -573,13 +574,14 @@ static void session_clear_presentation(struct media_session *session) heap_free(src_node); } - LIST_FOR_EACH_ENTRY_SAFE(sink, sink2, &session->presentation.sinks, struct media_sink, entry) { list_remove(&sink->entry); if (sink->sink) IMFMediaSink_Release(sink->sink); + if (sink->event_generator) + IMFMediaEventGenerator_Release(sink->event_generator); heap_free(sink); } } @@ -812,6 +814,8 @@ static HRESULT session_add_media_sink(struct media_session *session, IMFTopology media_sink->sink = sink; IMFMediaSink_AddRef(media_sink->sink); + IMFMediaSink_QueryInterface(media_sink->sink, &IID_IMFMediaEventGenerator, (void **)&media_sink->event_generator); + list_add_tail(&session->presentation.sinks, &media_sink->entry); return S_OK;
participants (1)
-
Alexandre Julliard