Signed-off-by: Zebediah Figura z.figura12@gmail.com --- Note that the base renderer still sends quality messages in some circumstances; this will be addressed in a follow-up patch.
dlls/quartz/dsoundrender.c | 18 +----------------- dlls/quartz/tests/dsoundrender.c | 8 ++++++++ 2 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c index 225c1e07b96..fba206ecb60 100644 --- a/dlls/quartz/dsoundrender.c +++ b/dlls/quartz/dsoundrender.c @@ -360,23 +360,7 @@ static HRESULT WINAPI DSoundRender_DoRenderSample(struct strmbase_renderer *ifac cbSrcStream = IMediaSample_GetActualDataLength(pSample); TRACE("Sample data ptr = %p, size = %d\n", pbSrcStream, cbSrcStream);
- hr = DSoundRender_SendSampleData(This, tStart, tStop, pbSrcStream, cbSrcStream); - if (This->renderer.filter.state == State_Running && This->renderer.filter.clock && tStart >= 0) { - REFERENCE_TIME jitter, now = 0; - Quality q; - IReferenceClock_GetTime(This->renderer.filter.clock, &now); - jitter = now - This->renderer.stream_start - tStart; - if (jitter <= -DSoundRenderer_Max_Fill) - jitter += DSoundRenderer_Max_Fill; - else if (jitter < 0) - jitter = 0; - q.Type = (jitter > 0 ? Famine : Flood); - q.Proportion = 1000; - q.Late = jitter; - q.TimeStamp = tStart; - IQualityControl_Notify((IQualityControl *)This->renderer.qcimpl, &This->renderer.filter.IBaseFilter_iface, q); - } - return hr; + return DSoundRender_SendSampleData(This, tStart, tStop, pbSrcStream, cbSrcStream); }
static HRESULT WINAPI DSoundRender_CheckMediaType(struct strmbase_renderer *iface, const AM_MEDIA_TYPE * pmt) diff --git a/dlls/quartz/tests/dsoundrender.c b/dlls/quartz/tests/dsoundrender.c index 35f935bcad5..0e7fed4c259 100644 --- a/dlls/quartz/tests/dsoundrender.c +++ b/dlls/quartz/tests/dsoundrender.c @@ -613,6 +613,13 @@ static const struct strmbase_filter_ops testfilter_ops = .filter_destroy = testfilter_destroy, };
+static HRESULT testsource_query_interface(struct strmbase_pin *iface, REFIID iid, void **out) +{ + todo_wine_if (IsEqualGUID(iid, &IID_IQualityControl)) + ok(!IsEqualGUID(iid, &IID_IQualityControl), "Unexpected query for IQualityControl.\n"); + return E_NOINTERFACE; +} + static HRESULT WINAPI testsource_DecideAllocator(struct strmbase_source *iface, IMemInputPin *peer, IMemAllocator **allocator) { @@ -621,6 +628,7 @@ static HRESULT WINAPI testsource_DecideAllocator(struct strmbase_source *iface,
static const struct strmbase_source_ops testsource_ops = { + .base.pin_query_interface = testsource_query_interface, .pfnAttemptConnection = BaseOutputPinImpl_AttemptConnection, .pfnDecideAllocator = testsource_DecideAllocator, };