summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/Mixer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/AudioCommon/Mixer.cpp')
-rw-r--r--Source/Core/AudioCommon/Mixer.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/Source/Core/AudioCommon/Mixer.cpp b/Source/Core/AudioCommon/Mixer.cpp
index f6bebb60cc..e0b7f28768 100644
--- a/Source/Core/AudioCommon/Mixer.cpp
+++ b/Source/Core/AudioCommon/Mixer.cpp
@@ -256,17 +256,25 @@ void Mixer::MixerFifo::PushSamples(const short* samples, unsigned int num_sample
void Mixer::PushSamples(const short* samples, unsigned int num_samples)
{
m_dma_mixer.PushSamples(samples, num_samples);
- int sample_rate = m_dma_mixer.GetInputSampleRate();
if (m_log_dsp_audio)
- m_wave_writer_dsp.AddStereoSamplesBE(samples, num_samples, sample_rate);
+ {
+ int sample_rate = m_dma_mixer.GetInputSampleRate();
+ auto volume = m_dma_mixer.GetVolume();
+ m_wave_writer_dsp.AddStereoSamplesBE(samples, num_samples, sample_rate, volume.first,
+ volume.second);
+ }
}
void Mixer::PushStreamingSamples(const short* samples, unsigned int num_samples)
{
m_streaming_mixer.PushSamples(samples, num_samples);
- int sample_rate = m_streaming_mixer.GetInputSampleRate();
if (m_log_dtk_audio)
- m_wave_writer_dtk.AddStereoSamplesBE(samples, num_samples, sample_rate);
+ {
+ int sample_rate = m_streaming_mixer.GetInputSampleRate();
+ auto volume = m_streaming_mixer.GetVolume();
+ m_wave_writer_dtk.AddStereoSamplesBE(samples, num_samples, sample_rate, volume.first,
+ volume.second);
+ }
}
void Mixer::PushWiimoteSpeakerSamples(const short* samples, unsigned int num_samples,
@@ -427,6 +435,11 @@ void Mixer::MixerFifo::SetVolume(unsigned int lvolume, unsigned int rvolume)
m_RVolume.store(rvolume + (rvolume >> 7));
}
+std::pair<s32, s32> Mixer::MixerFifo::GetVolume() const
+{
+ return std::make_pair(m_LVolume.load(), m_RVolume.load());
+}
+
unsigned int Mixer::MixerFifo::AvailableSamples() const
{
unsigned int samples_in_fifo = ((m_indexW.load() - m_indexR.load()) & INDEX_MASK) / 2;