diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index 1832c29d1e..03bb32cd53 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -340,12 +340,12 @@ bool AudioMixer::prepareMixForListeningNode(Node* node) { }); // use the per listner AudioLimiter to render the mixed data... - listenerNodeData->clampAudioSamples(_mixedSamples, _clampedSamples, AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL); + listenerNodeData->audioLimiter.render(_mixedSamples, _clampedSamples, AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL); // check for silent audio after the peak limitor has converted the samples bool hasAudio = false; for (int i = 0; i < AudioConstants::NETWORK_FRAME_SAMPLES_STEREO; ++i) { - if (_clampedSamples[i] != 0.0f) { + if (_clampedSamples[i] != 0) { hasAudio = true; break; } diff --git a/assignment-client/src/audio/AudioMixerClientData.cpp b/assignment-client/src/audio/AudioMixerClientData.cpp index 6a25027310..d9fa7efe64 100644 --- a/assignment-client/src/audio/AudioMixerClientData.cpp +++ b/assignment-client/src/audio/AudioMixerClientData.cpp @@ -17,8 +17,6 @@ #include #include -#include ; - #include "InjectedAudioStream.h" #include "AudioMixer.h" @@ -29,7 +27,7 @@ AudioMixerClientData::AudioMixerClientData(const QUuid& nodeID) : NodeData(nodeID), _outgoingMixedAudioSequenceNumber(0), _downstreamAudioStreamStats(), - _audioLimiter(new AudioLimiter(AudioConstants::SAMPLE_RATE, AudioConstants::STEREO)) + audioLimiter(AudioConstants::SAMPLE_RATE, AudioConstants::STEREO) { // of the ~94 blocks in a second of audio sent from the AudioMixer, pick a random one to send out a stats packet on // this ensures we send out stats to this client around every second @@ -41,10 +39,6 @@ AudioMixerClientData::AudioMixerClientData(const QUuid& nodeID) : _frameToSendStats = distribution(numberGenerator); } -void AudioMixerClientData::clampAudioSamples(float* input, int16_t* output, int numFrames) { - _audioLimiter->render(input, output, numFrames); -} - AvatarAudioStream* AudioMixerClientData::getAvatarAudioStream() { QReadLocker readLocker { &_streamsLock }; diff --git a/assignment-client/src/audio/AudioMixerClientData.h b/assignment-client/src/audio/AudioMixerClientData.h index e543c51b0c..17274a1519 100644 --- a/assignment-client/src/audio/AudioMixerClientData.h +++ b/assignment-client/src/audio/AudioMixerClientData.h @@ -16,12 +16,12 @@ #include #include +#include #include #include "PositionalAudioStream.h" #include "AvatarAudioStream.h" -class AudioLimiter; class AudioMixerClientData : public NodeData { Q_OBJECT @@ -63,7 +63,7 @@ public: // uses randomization to have the AudioMixer send a stats packet to this node around every second bool shouldSendStats(int frameNumber); - void clampAudioSamples(float* input, int16_t* output, int numFrames); + AudioLimiter audioLimiter; signals: void injectorStreamFinished(const QUuid& streamIdentifier); @@ -81,8 +81,6 @@ private: AudioStreamStats _downstreamAudioStreamStats; int _frameToSendStats { 0 }; - - std::unique_ptr _audioLimiter; }; #endif // hifi_AudioMixerClientData_h