From 531a3ed09a85f646aff5dfb5754f0a2147842518 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 14 Jan 2016 00:58:01 -0500 Subject: [PATCH] Mixer: Devirtualize Nothing in the codebase inherits from this class --- Source/Core/AudioCommon/Mixer.cpp | 4 ++++ Source/Core/AudioCommon/Mixer.h | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Source/Core/AudioCommon/Mixer.cpp b/Source/Core/AudioCommon/Mixer.cpp index 5d1207bbe3..eff1dbe584 100644 --- a/Source/Core/AudioCommon/Mixer.cpp +++ b/Source/Core/AudioCommon/Mixer.cpp @@ -31,6 +31,10 @@ CMixer::CMixer(unsigned int BackendSampleRate) INFO_LOG(AUDIO_INTERFACE, "Mixer is initialized"); } +CMixer::~CMixer() +{ +} + // Executed from sound stream thread unsigned int CMixer::MixerFifo::Mix(short* samples, unsigned int numSamples, bool consider_framelimit) { diff --git a/Source/Core/AudioCommon/Mixer.h b/Source/Core/AudioCommon/Mixer.h index 4ced71f360..75e47d9aef 100644 --- a/Source/Core/AudioCommon/Mixer.h +++ b/Source/Core/AudioCommon/Mixer.h @@ -18,19 +18,19 @@ #define CONTROL_FACTOR 0.2f // in freq_shift per fifo size offset #define CONTROL_AVG 32 -class CMixer +class CMixer final { public: - CMixer(unsigned int BackendSampleRate); - virtual ~CMixer() {} + explicit CMixer(unsigned int BackendSampleRate); + ~CMixer(); // Called from audio threads - virtual unsigned int Mix(short* samples, unsigned int numSamples, bool consider_framelimit = true); + unsigned int Mix(short* samples, unsigned int numSamples, bool consider_framelimit = true); // Called from main thread - virtual void PushSamples(const short* samples, unsigned int num_samples); - virtual void PushStreamingSamples(const short* samples, unsigned int num_samples); - virtual void PushWiimoteSpeakerSamples(const short* samples, unsigned int num_samples, unsigned int sample_rate); + void PushSamples(const short* samples, unsigned int num_samples); + void PushStreamingSamples(const short* samples, unsigned int num_samples); + void PushWiimoteSpeakerSamples(const short* samples, unsigned int num_samples, unsigned int sample_rate); unsigned int GetSampleRate() const { return m_sampleRate; } void SetDMAInputSampleRate(unsigned int rate); @@ -47,8 +47,9 @@ public: float GetCurrentSpeed() const { return m_speed.load(); } void UpdateSpeed(float val) { m_speed.store(val); } -protected: - class MixerFifo { +private: + class MixerFifo final + { public: MixerFifo(CMixer *mixer, unsigned sample_rate) : m_mixer(mixer)