Zebediah Figura : qasf/dmowrapper: Call IMediaObject::Flush() when cleaning up the stream.
Module: wine Branch: master Commit: 0fddb3f02748da4e2b22cdeafc33ec21b50e1461 URL: https://source.winehq.org/git/wine.git/?a=commit;h=0fddb3f02748da4e2b22cdeaf... Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Tue Feb 18 23:19:11 2020 -0600 qasf/dmowrapper: Call IMediaObject::Flush() when cleaning up the stream. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/qasf/dmowrapper.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dlls/qasf/dmowrapper.c b/dlls/qasf/dmowrapper.c index 7a18d0ba07..9480d3b95b 100644 --- a/dlls/qasf/dmowrapper.c +++ b/dlls/qasf/dmowrapper.c @@ -358,11 +358,25 @@ static HRESULT dmo_wrapper_query_interface(struct strmbase_filter *iface, REFIID return E_NOINTERFACE; } +static HRESULT dmo_wrapper_cleanup_stream(struct strmbase_filter *iface) +{ + struct dmo_wrapper *filter = impl_from_strmbase_filter(iface); + IMediaObject *dmo; + + IUnknown_QueryInterface(filter->dmo, &IID_IMediaObject, (void **)&dmo); + + IMediaObject_Flush(dmo); + + IMediaObject_Release(dmo); + return S_OK; +} + static struct strmbase_filter_ops filter_ops = { .filter_get_pin = dmo_wrapper_get_pin, .filter_destroy = dmo_wrapper_destroy, .filter_query_interface = dmo_wrapper_query_interface, + .filter_cleanup_stream = dmo_wrapper_cleanup_stream, }; HRESULT dmo_wrapper_create(IUnknown *outer, IUnknown **out)
participants (1)
-
Alexandre Julliard