aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Frühberger <Peter.Fruehberger@gmail.com>2018-10-14 10:17:32 +0200
committerGitHub <noreply@github.com>2018-10-14 10:17:32 +0200
commita44e6afd971a78ef1cf485bd0ad2ef3576ba6edd (patch)
tree6f9b258b622f8f680325647edd25771c16af7ddb
parentfacef3b5364855e817d688c43c618d4dac9fcbe3 (diff)
parent022c3713d136893ed5f213f0e6a2d790d2980d32 (diff)
Merge pull request #14600 from fritsch/floatmulti
AESinkAUDIOTRACK: Only enable multi channel float for Android 7 or later
-rw-r--r--xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp
index db3d5b47ca..8362851119 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp
@@ -1005,7 +1005,10 @@ void CAESinkAUDIOTRACK::UpdateAvailablePCMCapabilities()
int encoding = CJNIAudioFormat::ENCODING_PCM_16BIT;
m_sinkSupportsFloat = VerifySinkConfiguration(native_sampleRate, CJNIAudioFormat::CHANNEL_OUT_STEREO, CJNIAudioFormat::ENCODING_PCM_FLOAT);
- m_sinkSupportsMultiChannelFloat = VerifySinkConfiguration(native_sampleRate, CJNIAudioFormat::CHANNEL_OUT_7POINT1_SURROUND, CJNIAudioFormat::ENCODING_PCM_FLOAT);
+ // Only try for Android 7 or later - there are a lot of old devices that open successfully
+ // but won't work correctly under the hood (famouse example: old FireTV)
+ if (CJNIAudioManager::GetSDKVersion() > 23)
+ m_sinkSupportsMultiChannelFloat = VerifySinkConfiguration(native_sampleRate, CJNIAudioFormat::CHANNEL_OUT_7POINT1_SURROUND, CJNIAudioFormat::ENCODING_PCM_FLOAT);
if (m_sinkSupportsFloat)
{