From 1d95eee694553feb30f415a1b3eee94caad53fb0 Mon Sep 17 00:00:00 2001 From: Val Doroshchuk Date: Mon, 8 Jan 2018 16:23:21 +0100 Subject: DirectShow: Add warning when not supported playback rate applied IMediaSeeking::SetRate() may return an error when not supported rate is being applied. Added a warning to inform user about incorrect rate value also fixed a bug when the rate has been always fell back to 1.0 instead of previous value. Task-number: QTBUG-55354 Change-Id: I85fb5572cba6920b461a023aef1bc09a981ab033 Reviewed-by: Christian Stromme --- src/plugins/directshow/player/directshowplayerservice.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/plugins/directshow/player') diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp index 8ee5d67a1..63f738bbe 100644 --- a/src/plugins/directshow/player/directshowplayerservice.cpp +++ b/src/plugins/directshow/player/directshowplayerservice.cpp @@ -1071,8 +1071,11 @@ void DirectShowPlayerService::doSetRate(QMutexLocker *locker) locker->relock(); if (!SUCCEEDED(hr)) { + qWarning("%s: Audio device or filter does not support rate: %.2f. " \ + "Falling back to previous value.", __FUNCTION__, m_rate); + double rate = 0.0; - m_rate = seeking->GetRate(&rate) + m_rate = SUCCEEDED(seeking->GetRate(&rate)) ? rate : 1.0; } -- cgit v1.2.3