diff options
author | fritsch <Peter.Fruehberger@gmail.com> | 2017-08-08 21:12:34 +0200 |
---|---|---|
committer | fritsch <Peter.Fruehberger@gmail.com> | 2017-08-20 21:58:32 +0200 |
commit | eca7d9f09822dae0d05ed63426c9436896dc9b18 (patch) | |
tree | 7fd497d8e9efcb478acbdb1061b7404b99469a83 | |
parent | ca9bd0fadc0f95bc7593e2da6ac1f7ab4e037757 (diff) |
AESinkALSA: Check layout for sanity
-rw-r--r-- | xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp index d66993a095..4d87afa2c9 100644 --- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp @@ -618,6 +618,11 @@ bool CAESinkALSA::Initialize(AEAudioFormat &format, std::string &device) } // adjust format to the configuration we got format.m_channelLayout = GetChannelLayout(format, outconfig.channels); + // we might end up with an unusable channel layout that contains only UNKNOWN + // channels, let's do a sanity check. + if (!format.m_channelLayout.IsLayoutValid()) + return false; + format.m_sampleRate = outconfig.sampleRate; format.m_frames = outconfig.periodSize; format.m_frameSize = outconfig.frameSize; |