From 160656d68855bc09a44c19d1b0656668c0fa4046 Mon Sep 17 00:00:00 2001 From: Marius Wachtler Date: Mon, 25 Nov 2013 15:22:56 +0100 Subject: Fix WMF Video not playing if no soundcard is available Do not add the AudioEndpoint to the topology if no Audio output device is available. Fixes video not playing if you deactivate your soundcard or have no headphones/speakers plugged in. Change-Id: I9fc2486198a299b3e75af648f69475270968c6f7 Reviewed-by: Yoann Lopes --- src/plugins/wmf/player/mfaudioendpointcontrol.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/plugins/wmf') diff --git a/src/plugins/wmf/player/mfaudioendpointcontrol.cpp b/src/plugins/wmf/player/mfaudioendpointcontrol.cpp index 39fc41c5f..c04e47f72 100644 --- a/src/plugins/wmf/player/mfaudioendpointcontrol.cpp +++ b/src/plugins/wmf/player/mfaudioendpointcontrol.cpp @@ -60,6 +60,8 @@ void MFAudioEndpointControl::clear() foreach (LPWSTR wstrID, m_devices) CoTaskMemFree(wstrID); + m_devices.clear(); + if (m_currentActivate) m_currentActivate->Release(); m_currentActivate = NULL; @@ -130,6 +132,11 @@ IMFActivate* MFAudioEndpointControl::createActivate() clear(); updateEndpoints(); + + // Check if an endpoint is available ("Default" is always inserted) + if (m_devices.count() <= 1) + return NULL; + setActiveOutput(m_defaultEndpoint); return m_currentActivate; -- cgit v1.2.3