fixed some more vs clang reformatting

This commit is contained in:
amer cerkic 2019-09-18 14:39:55 -07:00
parent d4dc06d2e7
commit ecca898db8
2 changed files with 61 additions and 60 deletions

View file

@ -81,7 +81,7 @@ static const int STARVE_DETECTION_THRESHOLD = 3;
static const int STARVE_DETECTION_PERIOD = 10 * 1000; // 10 Seconds static const int STARVE_DETECTION_PERIOD = 10 * 1000; // 10 Seconds
Setting::Handle<bool> dynamicJitterBufferEnabled("dynamicJitterBuffersEnabled", Setting::Handle<bool> dynamicJitterBufferEnabled("dynamicJitterBuffersEnabled",
InboundAudioStream::DEFAULT_DYNAMIC_JITTER_BUFFER_ENABLED); InboundAudioStream::DEFAULT_DYNAMIC_JITTER_BUFFER_ENABLED);
Setting::Handle<int> staticJitterBufferFrames("staticJitterBufferFrames", Setting::Handle<int> staticJitterBufferFrames("staticJitterBufferFrames",
InboundAudioStream::DEFAULT_STATIC_JITTER_FRAMES); InboundAudioStream::DEFAULT_STATIC_JITTER_FRAMES);
@ -90,6 +90,7 @@ using Mutex = std::mutex;
using Lock = std::unique_lock<Mutex>; using Lock = std::unique_lock<Mutex>;
Mutex _deviceMutex; Mutex _deviceMutex;
Mutex _recordMutex; Mutex _recordMutex;
HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode); HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode);
// thread-safe // thread-safe
@ -199,7 +200,7 @@ static void channelUpmix(int16_t* source, int16_t* dest, int numSamples, int num
} }
static void channelDownmix(int16_t* source, int16_t* dest, int numSamples) { static void channelDownmix(int16_t* source, int16_t* dest, int numSamples) {
for (int i = 0; i < numSamples / 2; i++) { for (int i = 0; i < numSamples/2; i++) {
// read 2 samples // read 2 samples
int16_t left = *source++; int16_t left = *source++;
@ -212,8 +213,8 @@ static void channelDownmix(int16_t* source, int16_t* dest, int numSamples) {
static bool detectClipping(int16_t* samples, int numSamples, int numChannels) { static bool detectClipping(int16_t* samples, int numSamples, int numChannels) {
const int32_t CLIPPING_THRESHOLD = 32392; // -0.1 dBFS const int32_t CLIPPING_THRESHOLD = 32392; // -0.1 dBFS
const int CLIPPING_DETECTION = 3; // consecutive samples over threshold const int CLIPPING_DETECTION = 3; // consecutive samples over threshold
bool isClipping = false; bool isClipping = false;
@ -298,46 +299,46 @@ static inline float convertToFloat(int16_t sample) {
} }
AudioClient::AudioClient() : AudioClient::AudioClient() :
AbstractAudioInterface(), AbstractAudioInterface(),
_gate(this), _gate(this),
_audioInput(NULL), _audioInput(NULL),
_dummyAudioInput(NULL), _dummyAudioInput(NULL),
_desiredInputFormat(), _desiredInputFormat(),
_inputFormat(), _inputFormat(),
_numInputCallbackBytes(0), _numInputCallbackBytes(0),
_audioOutput(NULL), _audioOutput(NULL),
_desiredOutputFormat(), _desiredOutputFormat(),
_outputFormat(), _outputFormat(),
_outputFrameSize(0), _outputFrameSize(0),
_numOutputCallbackBytes(0), _numOutputCallbackBytes(0),
_loopbackAudioOutput(NULL), _loopbackAudioOutput(NULL),
_loopbackOutputDevice(NULL), _loopbackOutputDevice(NULL),
_inputRingBuffer(0), _inputRingBuffer(0),
_localInjectorsStream(0, 1), _localInjectorsStream(0, 1),
_receivedAudioStream(RECEIVED_AUDIO_STREAM_CAPACITY_FRAMES), _receivedAudioStream(RECEIVED_AUDIO_STREAM_CAPACITY_FRAMES),
_isStereoInput(false), _isStereoInput(false),
_outputStarveDetectionStartTimeMsec(0), _outputStarveDetectionStartTimeMsec(0),
_outputStarveDetectionCount(0), _outputStarveDetectionCount(0),
_outputBufferSizeFrames("audioOutputBufferFrames", DEFAULT_BUFFER_FRAMES), _outputBufferSizeFrames("audioOutputBufferFrames", DEFAULT_BUFFER_FRAMES),
_sessionOutputBufferSizeFrames(_outputBufferSizeFrames.get()), _sessionOutputBufferSizeFrames(_outputBufferSizeFrames.get()),
_outputStarveDetectionEnabled("audioOutputStarveDetectionEnabled", DEFAULT_STARVE_DETECTION_ENABLED), _outputStarveDetectionEnabled("audioOutputStarveDetectionEnabled", DEFAULT_STARVE_DETECTION_ENABLED),
_lastRawInputLoudness(0.0f), _lastRawInputLoudness(0.0f),
_lastSmoothedRawInputLoudness(0.0f), _lastSmoothedRawInputLoudness(0.0f),
_lastInputLoudness(0.0f), _lastInputLoudness(0.0f),
_timeSinceLastClip(-1.0f), _timeSinceLastClip(-1.0f),
_muted(false), _muted(false),
_shouldEchoLocally(false), _shouldEchoLocally(false),
_shouldEchoToServer(false), _shouldEchoToServer(false),
_isNoiseGateEnabled(true), _isNoiseGateEnabled(true),
_isAECEnabled(true), _isAECEnabled(true),
_reverb(false), _reverb(false),
_reverbOptions(&_scriptReverbOptions), _reverbOptions(&_scriptReverbOptions),
_inputToNetworkResampler(NULL), _inputToNetworkResampler(NULL),
_networkToOutputResampler(NULL), _networkToOutputResampler(NULL),
_localToOutputResampler(NULL), _localToOutputResampler(NULL),
_loopbackResampler(NULL), _loopbackResampler(NULL),
_audioLimiter(AudioConstants::SAMPLE_RATE, OUTPUT_CHANNEL_COUNT), _audioLimiter(AudioConstants::SAMPLE_RATE, OUTPUT_CHANNEL_COUNT),
_outgoingAvatarAudioSequenceNumber(0), _outgoingAvatarAudioSequenceNumber(0),
_audioOutputIODevice(_localInjectorsStream, _receivedAudioStream, this), _audioOutputIODevice(_localInjectorsStream, _receivedAudioStream, this),
_stats(&_receivedAudioStream), _stats(&_receivedAudioStream),
_positionGetter(DEFAULT_POSITION_GETTER), _positionGetter(DEFAULT_POSITION_GETTER),
@ -360,8 +361,8 @@ AudioClient::AudioClient() :
Setting::Handle<bool>::Deprecated("repetitionWithFade", InboundAudioStream::REPETITION_WITH_FADE); Setting::Handle<bool>::Deprecated("repetitionWithFade", InboundAudioStream::REPETITION_WITH_FADE);
} }
connect(&_receivedAudioStream, &MixedProcessedAudioStream::processSamples, connect(&_receivedAudioStream, &MixedProcessedAudioStream::processSamples,
this, &AudioClient::processReceivedSamples, Qt::DirectConnection); this, &AudioClient::processReceivedSamples, Qt::DirectConnection);
connect(this, &AudioClient::changeDevice, this, [=](const HifiAudioDeviceInfo& outputDeviceInfo) { connect(this, &AudioClient::changeDevice, this, [=](const HifiAudioDeviceInfo& outputDeviceInfo) {
qCDebug(audioclient)<< "got AudioClient::changeDevice signal, about to call switchOutputToAudioDevice() outputDeviceInfo: ["<< outputDeviceInfo.deviceName() << "]"; qCDebug(audioclient)<< "got AudioClient::changeDevice signal, about to call switchOutputToAudioDevice() outputDeviceInfo: ["<< outputDeviceInfo.deviceName() << "]";
switchOutputToAudioDevice(outputDeviceInfo); switchOutputToAudioDevice(outputDeviceInfo);
@ -400,7 +401,7 @@ AudioClient::AudioClient() :
// start a thread to detect peak value changes // start a thread to detect peak value changes
_checkPeakValuesTimer = new QTimer(this); _checkPeakValuesTimer = new QTimer(this);
connect(_checkPeakValuesTimer, &QTimer::timeout, this, [this] { connect(_checkPeakValuesTimer, &QTimer::timeout, this, [this] {
QtConcurrent::run(QThreadPool::globalInstance(), [this] { checkPeakValues(); }); QtConcurrent::run(QThreadPool::globalInstance(), [this] { checkPeakValues(); });
}); });
const unsigned long PEAK_VALUES_CHECK_INTERVAL_MSECS = 50; const unsigned long PEAK_VALUES_CHECK_INTERVAL_MSECS = 50;
@ -424,8 +425,8 @@ AudioClient::AudioClient() :
auto& domainHandler = nodeList->getDomainHandler(); auto& domainHandler = nodeList->getDomainHandler();
connect(&domainHandler, &DomainHandler::disconnectedFromDomain, this, [this] { connect(&domainHandler, &DomainHandler::disconnectedFromDomain, this, [this] {
_solo.reset(); _solo.reset();
}); });
connect(nodeList.data(), &NodeList::nodeActivated, this, [this](SharedNodePointer node) { connect(nodeList.data(), &NodeList::nodeActivated, this, [this](SharedNodePointer node) {
if (node->getType() == NodeType::AudioMixer) { if (node->getType() == NodeType::AudioMixer) {
_solo.resend(); _solo.resend();
@ -581,7 +582,7 @@ HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) {
if (!getPropertyError && propertySize) { if (!getPropertyError && propertySize) {
// find a device in the list that matches the name we have and return it // find a device in the list that matches the name we have and return it
foreach (HifiAudioDeviceInfo audioDevice, getAvailableDevices(mode)) { foreach(HifiAudioDeviceInfo audioDevice, getAvailableDevices(mode)) {
if (audioDevice.deviceName() == CFStringGetCStringPtr(deviceName, kCFStringEncodingMacRoman)) { if (audioDevice.deviceName() == CFStringGetCStringPtr(deviceName, kCFStringEncodingMacRoman)) {
return audioDevice; return audioDevice;
} }
@ -593,7 +594,7 @@ HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) {
#ifdef WIN32 #ifdef WIN32
QString deviceName; QString deviceName;
//Check for Windows Vista or higher, IMMDeviceEnumerator doesn't work below that. //Check for Windows Vista or higher, IMMDeviceEnumerator doesn't work below that.
if (!IsWindowsVistaOrGreater()) { // lower then vista if (!IsWindowsVistaOrGreater()) { // lower then vista
if (mode == QAudio::AudioInput) { if (mode == QAudio::AudioInput) {
WAVEINCAPS wic; WAVEINCAPS wic;
// first use WAVE_MAPPER to get the default devices manufacturer ID // first use WAVE_MAPPER to get the default devices manufacturer ID
@ -632,12 +633,12 @@ HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) {
} }
qCDebug(audioclient) << "defaultAudioDeviceForMode mode: " << (mode == QAudio::AudioOutput ? "Output" : "Input") qCDebug(audioclient) << "defaultAudioDeviceForMode mode: " << (mode == QAudio::AudioOutput ? "Output" : "Input")
<< " [" << deviceName << "] [" << getNamedAudioDeviceForMode(mode, deviceName).deviceName() << "]"; << " [" << deviceName << "] [" << getNamedAudioDeviceForMode(mode, deviceName).deviceName() << "]";
return getNamedAudioDeviceForMode(mode, deviceName); return getNamedAudioDeviceForMode(mode, deviceName);
#endif #endif
#if defined(Q_OS_ANDROID) #if defined (Q_OS_ANDROID)
if (mode == QAudio::AudioInput) { if (mode == QAudio::AudioInput) {
Setting::Handle<bool> enableAEC(SETTING_AEC_KEY, DEFAULT_AEC_ENABLED); Setting::Handle<bool> enableAEC(SETTING_AEC_KEY, DEFAULT_AEC_ENABLED);
bool aecEnabled = enableAEC.get(); bool aecEnabled = enableAEC.get();
@ -646,7 +647,7 @@ HifiAudioDeviceInfo defaultAudioDeviceForMode(QAudio::Mode mode) {
auto inputDevices = QAudioDeviceInfo::availableDevices(QAudio::AudioInput); auto inputDevices = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
for (auto inputDevice : inputDevices) { for (auto inputDevice : inputDevices) {
if (((headsetOn || !aecEnabled) && inputDevice.deviceName() == VOICE_RECOGNITION) || if (((headsetOn || !aecEnabled) && inputDevice.deviceName() == VOICE_RECOGNITION) ||
((!headsetOn && aecEnabled) && inputDevice.deviceName() == VOICE_COMMUNICATION)) { ((!headsetOn && aecEnabled) && inputDevice.deviceName() == VOICE_COMMUNICATION)) {
return HifiAudioDeviceInfo(inputDevice,false,QAudio::AudioInput); return HifiAudioDeviceInfo(inputDevice,false,QAudio::AudioInput);
} }
} }
@ -742,7 +743,7 @@ bool adjustedFormatForAudioDevice(const QAudioDeviceInfo& audioDevice,
} }
} }
return false; // a supported format could not be found return false; // a supported format could not be found
} }
bool sampleChannelConversion(const int16_t* sourceSamples, int16_t* destinationSamples, int numSourceSamples, bool sampleChannelConversion(const int16_t* sourceSamples, int16_t* destinationSamples, int numSourceSamples,
@ -1045,12 +1046,12 @@ bool AudioClient::switchAudioDevice(QAudio::Mode mode, const HifiAudioDeviceInfo
auto device = deviceInfo; auto device = deviceInfo;
if (device.getDevice().isNull()) { if (device.getDevice().isNull()) {
device=defaultAudioDeviceForMode(mode); device = defaultAudioDeviceForMode(mode);
} }
if (mode == QAudio::AudioInput) { if (mode == QAudio::AudioInput) {
return switchInputToAudioDevice(device); return switchInputToAudioDevice(device);
} else { // if (mode == QAudio::AudioOutput) } else {
return switchOutputToAudioDevice(device); return switchOutputToAudioDevice(device);
} }
} }
@ -1092,7 +1093,7 @@ void AudioClient::configureReverb() {
p.sampleRate = _outputFormat.sampleRate(); p.sampleRate = _outputFormat.sampleRate();
p.wetDryMix = 100.0f; p.wetDryMix = 100.0f;
p.preDelay = 0.0f; p.preDelay = 0.0f;
p.earlyGain = -96.0f; // disable ER p.earlyGain = -96.0f; // disable ER
p.lateGain += _reverbOptions->getWetDryMix() * (24.0f / 100.0f) - 24.0f; // -0dB to -24dB, based on wetDryMix p.lateGain += _reverbOptions->getWetDryMix() * (24.0f / 100.0f) - 24.0f; // -0dB to -24dB, based on wetDryMix
p.lateMixLeft = 0.0f; p.lateMixLeft = 0.0f;
p.lateMixRight = 0.0f; p.lateMixRight = 0.0f;
@ -1173,8 +1174,8 @@ static void deinterleaveToFloat(const int16_t* src, float* const* dst, int numFr
for (int i = 0; i < numFrames; i++) { for (int i = 0; i < numFrames; i++) {
for (int ch = 0; ch < numChannels; ch++) { for (int ch = 0; ch < numChannels; ch++) {
float f = *src++; float f = *src++;
f *= (1 / 32768.0f); // scale f *= (1/32768.0f); // scale
dst[ch][i] = f; // deinterleave dst[ch][i] = f; // deinterleave
} }
} }
} }
@ -1183,10 +1184,10 @@ static void interleaveToInt16(const float* const* src, int16_t* dst, int numFram
for (int i = 0; i < numFrames; i++) { for (int i = 0; i < numFrames; i++) {
for (int ch = 0; ch < numChannels; ch++) { for (int ch = 0; ch < numChannels; ch++) {
float f = src[ch][i]; float f = src[ch][i];
f *= 32768.0f; // scale f *= 32768.0f; // scale
f += (f < 0.0f) ? -0.5f : 0.5f; // round f += (f < 0.0f) ? -0.5f : 0.5f; // round
f = std::max(std::min(f, 32767.0f), -32768.0f); // saturate f = std::max(std::min(f, 32767.0f), -32768.0f); // saturate
*dst++ = (int16_t)f; // interleave *dst++ = (int16_t)f; // interleave
} }
} }
} }
@ -1290,7 +1291,7 @@ void AudioClient::processWebrtcNearEnd(int16_t* samples, int numFrames, int numC
} }
} }
#endif // WEBRTC_ENABLED #endif // WEBRTC_ENABLED
void AudioClient::handleLocalEchoAndReverb(QByteArray& inputByteArray) { void AudioClient::handleLocalEchoAndReverb(QByteArray& inputByteArray) {
// If there is server echo, reverb will be applied to the recieved audio stream so no need to have it here. // If there is server echo, reverb will be applied to the recieved audio stream so no need to have it here.
@ -1343,7 +1344,7 @@ void AudioClient::handleLocalEchoAndReverb(QByteArray& inputByteArray) {
// apply stereo reverb at the source, to the loopback audio // apply stereo reverb at the source, to the loopback audio
if (!_shouldEchoLocally && hasReverb) { if (!_shouldEchoLocally && hasReverb) {
updateReverbOptions(); updateReverbOptions();
_sourceReverb.render(loopbackSamples, loopbackSamples, numLoopbackSamples / 2); _sourceReverb.render(loopbackSamples, loopbackSamples, numLoopbackSamples/2);
} }
// if required, upmix or downmix to deviceChannelCount // if required, upmix or downmix to deviceChannelCount
@ -1549,7 +1550,7 @@ void AudioClient::prepareLocalAudioInjectors(std::unique_ptr<Lock> localAudioLoc
if (_localToOutputResampler) { if (_localToOutputResampler) {
maxOutputSamples = maxOutputSamples =
_localToOutputResampler->getMaxOutput(AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL) * _localToOutputResampler->getMaxOutput(AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL) *
AudioConstants::STEREO; AudioConstants::STEREO;
} }
samplesNeeded = bufferCapacity - _localSamplesAvailable.load(std::memory_order_relaxed); samplesNeeded = bufferCapacity - _localSamplesAvailable.load(std::memory_order_relaxed);
@ -1572,7 +1573,7 @@ void AudioClient::prepareLocalAudioInjectors(std::unique_ptr<Lock> localAudioLoc
if (_localToOutputResampler) { if (_localToOutputResampler) {
// resample to output sample rate // resample to output sample rate
int frames = _localToOutputResampler->render(_localMixBuffer, _localOutputMixBuffer, int frames = _localToOutputResampler->render(_localMixBuffer, _localOutputMixBuffer,
AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL); AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL);
// write to local injectors' ring buffer // write to local injectors' ring buffer
samples = frames * AudioConstants::STEREO; samples = frames * AudioConstants::STEREO;
@ -1857,7 +1858,7 @@ int AudioClient::getNumLocalInjectors() {
void AudioClient::outputFormatChanged() { void AudioClient::outputFormatChanged() {
_outputFrameSize = (AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL * OUTPUT_CHANNEL_COUNT * _outputFormat.sampleRate()) / _outputFrameSize = (AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL * OUTPUT_CHANNEL_COUNT * _outputFormat.sampleRate()) /
_desiredOutputFormat.sampleRate(); _desiredOutputFormat.sampleRate();
_receivedAudioStream.outputFormatChanged(_outputFormat.sampleRate(), OUTPUT_CHANNEL_COUNT); _receivedAudioStream.outputFormatChanged(_outputFormat.sampleRate(), OUTPUT_CHANNEL_COUNT);
} }
@ -2323,7 +2324,7 @@ float AudioClient::gainForSource(float distance, float volume) {
return gain; return gain;
} }
qint64 AudioClient::AudioOutputIODevice::readData(char* data, qint64 maxSize) { qint64 AudioClient::AudioOutputIODevice::readData(char * data, qint64 maxSize) {
// lock-free wait for initialization to avoid races // lock-free wait for initialization to avoid races
if (!_audio->_audioOutputInitialized.load(std::memory_order_acquire)) { if (!_audio->_audioOutputInitialized.load(std::memory_order_acquire)) {

View file

@ -65,7 +65,7 @@
#pragma warning( pop ) #pragma warning( pop )
#endif #endif
#if defined(Q_OS_ANDROID) #if defined (Q_OS_ANDROID)
#define VOICE_RECOGNITION "voicerecognition" #define VOICE_RECOGNITION "voicerecognition"
#define VOICE_COMMUNICATION "voicecommunication" #define VOICE_COMMUNICATION "voicecommunication"
@ -98,7 +98,7 @@ public:
class AudioOutputIODevice : public QIODevice { class AudioOutputIODevice : public QIODevice {
public: public:
AudioOutputIODevice(LocalInjectorsStream& localInjectorsStream, MixedProcessedAudioStream& receivedAudioStream, AudioOutputIODevice(LocalInjectorsStream& localInjectorsStream, MixedProcessedAudioStream& receivedAudioStream,
AudioClient* audio) : AudioClient* audio) :
_localInjectorsStream(localInjectorsStream), _receivedAudioStream(receivedAudioStream), _localInjectorsStream(localInjectorsStream), _receivedAudioStream(receivedAudioStream),
_audio(audio), _unfulfilledReads(0) {} _audio(audio), _unfulfilledReads(0) {}
@ -374,9 +374,9 @@ private:
StDev _stdev; StDev _stdev;
QElapsedTimer _timeSinceLastReceived; QElapsedTimer _timeSinceLastReceived;
float _lastRawInputLoudness; // before mute/gate float _lastRawInputLoudness; // before mute/gate
float _lastSmoothedRawInputLoudness; float _lastSmoothedRawInputLoudness;
float _lastInputLoudness; // after mute/gate float _lastInputLoudness; // after mute/gate
float _timeSinceLastClip; float _timeSinceLastClip;
int _totalInputAudioSamples; int _totalInputAudioSamples;
@ -433,7 +433,7 @@ private:
webrtc::AudioProcessing* _apm { nullptr }; webrtc::AudioProcessing* _apm { nullptr };
int16_t _fifoFarEnd[WEBRTC_CHANNELS_MAX * WEBRTC_FRAMES_MAX] {}; int16_t _fifoFarEnd[WEBRTC_CHANNELS_MAX * WEBRTC_FRAMES_MAX] {};
int _numFifoFarEnd = 0; // numFrames saved in fifo int _numFifoFarEnd = 0; // numFrames saved in fifo
void configureWebrtc(); void configureWebrtc();
void processWebrtcFarEnd(const int16_t* samples, int numFrames, int numChannels, int sampleRate); void processWebrtcFarEnd(const int16_t* samples, int numFrames, int numChannels, int sampleRate);
@ -504,4 +504,4 @@ private:
}; };
#endif // hifi_AudioClient_h #endif // hifi_AudioClient_h