diff options
| author | Chris Burgener <christhecoolist@gmail.com> | 2016-06-28 11:52:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-28 11:52:40 -0400 |
| commit | 41335752e57fbf18ec2339a84ce5080b2c5fe654 (patch) | |
| tree | 094b9f96af0abcdf67fcf929b6292e2b49d09c63 /Source/Core/AudioCommon/Mixer.cpp | |
| parent | 28a3691e70ba2a1b37dbb58b22dfd35336c99a80 (diff) | |
| parent | ca2eaac704ba223c5d38bd0e2511e892d7db302a (diff) | |
Merge pull request #3891 from RisingFog/split_audio_dump_sample_rate
Split Audio Dumps on Sample Rate Changes
Diffstat (limited to 'Source/Core/AudioCommon/Mixer.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/Mixer.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Source/Core/AudioCommon/Mixer.cpp b/Source/Core/AudioCommon/Mixer.cpp index 66a47b2141..1246cfb489 100644 --- a/Source/Core/AudioCommon/Mixer.cpp +++ b/Source/Core/AudioCommon/Mixer.cpp @@ -158,15 +158,17 @@ void CMixer::MixerFifo::PushSamples(const short* samples, unsigned int num_sampl void CMixer::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); + m_wave_writer_dsp.AddStereoSamplesBE(samples, num_samples, sample_rate); } void CMixer::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); + m_wave_writer_dtk.AddStereoSamplesBE(samples, num_samples, sample_rate); } void CMixer::PushWiimoteSpeakerSamples(const short* samples, unsigned int num_samples, @@ -213,7 +215,7 @@ void CMixer::StartLogDTKAudio(const std::string& filename) if (!m_log_dtk_audio) { m_log_dtk_audio = true; - m_wave_writer_dtk.Start(filename, 48000); + m_wave_writer_dtk.Start(filename, m_streaming_mixer.GetInputSampleRate()); m_wave_writer_dtk.SetSkipSilence(false); NOTICE_LOG(AUDIO, "Starting DTK Audio logging"); } @@ -242,7 +244,7 @@ void CMixer::StartLogDSPAudio(const std::string& filename) if (!m_log_dsp_audio) { m_log_dsp_audio = true; - m_wave_writer_dsp.Start(filename, 32000); + m_wave_writer_dsp.Start(filename, m_dma_mixer.GetInputSampleRate()); m_wave_writer_dsp.SetSkipSilence(false); NOTICE_LOG(AUDIO, "Starting DSP Audio logging"); } @@ -271,6 +273,11 @@ void CMixer::MixerFifo::SetInputSampleRate(unsigned int rate) m_input_sample_rate = rate; } +unsigned int CMixer::MixerFifo::GetInputSampleRate() const +{ + return m_input_sample_rate; +} + void CMixer::MixerFifo::SetVolume(unsigned int lvolume, unsigned int rvolume) { m_LVolume.store(lvolume + (lvolume >> 7)); |
