diff options
| author | shuffle2 <godisgovernment@gmail.com> | 2017-06-05 20:09:18 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-05 20:09:18 -0700 |
| commit | 0b00477c8ae297e166d9e778810cecf67d3d760f (patch) | |
| tree | ee4bc1f0ff27b3249fc48eb1a75572757f82ad0e /Source/Core/AudioCommon/CubebStream.cpp | |
| parent | 98eb192226e91c4121a120371ea38b827c19f3ce (diff) | |
| parent | 14c3d4716fa4abfa7cc70f056676f935ba302c8a (diff) | |
Merge pull request #5311 from ligfx/mixerdpl2
AudioCommon: Move DPL2 decoding into Mixer
Diffstat (limited to 'Source/Core/AudioCommon/CubebStream.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/CubebStream.cpp | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/Source/Core/AudioCommon/CubebStream.cpp b/Source/Core/AudioCommon/CubebStream.cpp index c9052e29c9..272060cd74 100644 --- a/Source/Core/AudioCommon/CubebStream.cpp +++ b/Source/Core/AudioCommon/CubebStream.cpp @@ -21,29 +21,9 @@ long CubebStream::DataCallback(cubeb_stream* stream, void* user_data, const void auto* self = static_cast<CubebStream*>(user_data); if (self->m_stereo) - { self->m_mixer->Mix(static_cast<short*>(output_buffer), num_frames); - } else - { - size_t required_capacity = num_frames * 2; - if (required_capacity > self->m_short_buffer.capacity() || - required_capacity > self->m_floatstereo_buffer.capacity()) - { - INFO_LOG(AUDIO, "Expanding conversion buffers size: %li frames", num_frames); - self->m_short_buffer.reserve(required_capacity); - self->m_floatstereo_buffer.reserve(required_capacity); - } - - self->m_mixer->Mix(self->m_short_buffer.data(), num_frames); - - // s16 to float - for (size_t i = 0; i < static_cast<size_t>(num_frames) * 2; ++i) - self->m_floatstereo_buffer[i] = self->m_short_buffer[i] / static_cast<float>(1 << 15); - - // DPL2Decode output: LEFTFRONT, RIGHTFRONT, CENTREFRONT, (sub), LEFTREAR, RIGHTREAR - DPL2Decode(self->m_floatstereo_buffer.data(), num_frames, static_cast<float*>(output_buffer)); - } + self->m_mixer->MixSurround(static_cast<float*>(output_buffer), num_frames); return num_frames; } |
