mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 13:09:52 +02:00
Prevent overflows; still not working
This commit is contained in:
parent
daeedc6ef1
commit
53226e7924
2 changed files with 8 additions and 3 deletions
|
@ -77,7 +77,7 @@ private:
|
||||||
CComPtr<ISpObjectToken> m_voiceToken;
|
CComPtr<ISpObjectToken> m_voiceToken;
|
||||||
|
|
||||||
QByteArray _lastSoundByteArray;
|
QByteArray _lastSoundByteArray;
|
||||||
AudioInjectorPointer _lastSoundByteArray;
|
AudioInjectorPointer _lastSoundAudioInjector;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // hifi_SpeechScriptingInterface_h
|
#endif // hifi_SpeechScriptingInterface_h
|
||||||
|
|
|
@ -1167,7 +1167,7 @@ void AudioClient::processAudioAndAddToRingBuffer(QByteArray& inputByteArray, con
|
||||||
numNetworkSamples, channelCount, _desiredInputFormat.channelCount());
|
numNetworkSamples, channelCount, _desiredInputFormat.channelCount());
|
||||||
}
|
}
|
||||||
int bytesInInputRingBuffer = _inputRingBuffer.samplesAvailable() * AudioConstants::SAMPLE_SIZE;
|
int bytesInInputRingBuffer = _inputRingBuffer.samplesAvailable() * AudioConstants::SAMPLE_SIZE;
|
||||||
float msecsInInputRingBuffer = bytesInInputRingBuffer / (float)(_inputFormat.bytesForDuration(USECS_PER_MSEC));
|
float msecsInInputRingBuffer = bytesInInputRingBuffer / (float)(bytesForDuration);
|
||||||
_stats.updateInputMsUnplayed(msecsInInputRingBuffer);
|
_stats.updateInputMsUnplayed(msecsInInputRingBuffer);
|
||||||
|
|
||||||
QByteArray audioBuffer(reinterpret_cast<char*>(networkAudioSamples), numNetworkBytes);
|
QByteArray audioBuffer(reinterpret_cast<char*>(networkAudioSamples), numNetworkBytes);
|
||||||
|
@ -1204,7 +1204,12 @@ void AudioClient::handleRecordedAudioInput(const QByteArray& audio) {
|
||||||
|
|
||||||
void AudioClient::handleTTSAudioInput(const QByteArray& audio) {
|
void AudioClient::handleTTSAudioInput(const QByteArray& audio) {
|
||||||
QByteArray audioBuffer(audio);
|
QByteArray audioBuffer(audio);
|
||||||
processAudioAndAddToRingBuffer(audioBuffer, 1, 48);
|
while (audioBuffer.size() > 0) {
|
||||||
|
QByteArray part;
|
||||||
|
part.append(audioBuffer.data(), AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL);
|
||||||
|
audioBuffer.remove(0, AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL);
|
||||||
|
processAudioAndAddToRingBuffer(part, 1, 48);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioClient::prepareLocalAudioInjectors(std::unique_ptr<Lock> localAudioLock) {
|
void AudioClient::prepareLocalAudioInjectors(std::unique_ptr<Lock> localAudioLock) {
|
||||||
|
|
Loading…
Reference in a new issue