From 49ecb1bdc027e2e15b7af96b845ef17b0da1b0f5 Mon Sep 17 00:00:00 2001 From: oioitff Date: Fri, 7 Jun 2013 17:14:26 +0800 Subject: [PATCH] Add support for mono CG audios. --- Core/HW/MediaEngine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Core/HW/MediaEngine.cpp b/Core/HW/MediaEngine.cpp index 335a65e243..244feb3f23 100644 --- a/Core/HW/MediaEngine.cpp +++ b/Core/HW/MediaEngine.cpp @@ -561,6 +561,16 @@ int MediaEngine::getAudioSamples(u8* buffer) { u8* frame = audioStream + m_audioPos; int outbytes = 0; Atrac3plus_Decoder::Decode(m_audioContext, frame, frameSize - 8, &outbytes, buffer); + if (headerCode1 == 0x24) { + // it a mono atrac3plus, convert it to stereo + s16 *outbuf = (s16*)buffer; + s16 *inbuf = (s16*)buffer; + for (int i = 0x800 - 1; i >= 0; i--) { + s16 sample = inbuf[i]; + outbuf[i * 2] = sample; + outbuf[i * 2 + 1] = sample; + } + } if (nextHeader >= 0) { m_audioPos = nextHeader; } else