diff --git a/dlls/qedit/samplegrabber.c b/dlls/qedit/samplegrabber.c index cd357405956..c5b18db8939 100644 --- a/dlls/qedit/samplegrabber.c +++ b/dlls/qedit/samplegrabber.c @@ -296,8 +296,6 @@ static HRESULT WINAPI SampleGrabber_QueryInterface(IUnknown *iface, REFIID riid, *ppv = &This->filter.IBaseFilter_iface; else if (IsEqualIID(riid, &IID_ISampleGrabber)) *ppv = &This->ISampleGrabber_iface; - else if (IsEqualIID(riid, &IID_IMediaPosition)) - return IUnknown_QueryInterface(This->seekthru_unk, riid, ppv); else if (IsEqualIID(riid, &IID_IMediaSeeking)) return IUnknown_QueryInterface(This->seekthru_unk, riid, ppv); else @@ -832,7 +830,7 @@ SampleGrabber_IPin_QueryInterface(IPin *iface, REFIID riid, void **ppv) else if (IsEqualIID(riid, &IID_IMediaSeeking)) return IUnknown_QueryInterface(&This->sg->IUnknown_inner, riid, ppv); else if (IsEqualIID(riid, &IID_IMediaPosition)) - return IUnknown_QueryInterface(&This->sg->IUnknown_inner, riid, ppv); + return IUnknown_QueryInterface(This->sg->seekthru_unk, riid, ppv); else { WARN("(%p, %s,%p): not found\n", This, debugstr_guid(riid), ppv); return E_NOINTERFACE; diff --git a/dlls/qedit/tests/samplegrabber.c b/dlls/qedit/tests/samplegrabber.c index d6fa4051d52..ee1950c537f 100644 --- a/dlls/qedit/tests/samplegrabber.c +++ b/dlls/qedit/tests/samplegrabber.c @@ -62,7 +62,7 @@ static void test_interfaces(void) check_interface(filter, &IID_IBasicAudio, FALSE); check_interface(filter, &IID_IBasicVideo, FALSE); check_interface(filter, &IID_IKsPropertySet, FALSE); - todo_wine check_interface(filter, &IID_IMediaPosition, FALSE); + check_interface(filter, &IID_IMediaPosition, FALSE); todo_wine check_interface(filter, &IID_IMediaSeeking, FALSE); check_interface(filter, &IID_IMemInputPin, FALSE); check_interface(filter, &IID_IPersistPropertyBag, FALSE);