mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 17:01:18 +02:00
these didn't commit for some reason
This commit is contained in:
parent
145b7f8a0e
commit
ed9bfdc503
2 changed files with 13 additions and 4 deletions
|
@ -58,6 +58,7 @@ public:
|
||||||
virtual void startDrumSound(float volume, float frequency, float duration, float decay);
|
virtual void startDrumSound(float volume, float frequency, float duration, float decay);
|
||||||
|
|
||||||
void overrideDesiredJitterBufferFramesTo(int desired) { _receivedAudioStream.overrideDesiredJitterBufferFramesTo(desired); }
|
void overrideDesiredJitterBufferFramesTo(int desired) { _receivedAudioStream.overrideDesiredJitterBufferFramesTo(desired); }
|
||||||
|
void unoverrideDesiredJitterBufferFrames() { _receivedAudioStream.unoverrideDesiredJitterBufferFrames(); }
|
||||||
int getDesiredJitterBufferFrames() const { return _receivedAudioStream.getDesiredJitterBufferFrames(); }
|
int getDesiredJitterBufferFrames() const { return _receivedAudioStream.getDesiredJitterBufferFrames(); }
|
||||||
|
|
||||||
float getCollisionSoundMagnitude() { return _collisionSoundMagnitude; }
|
float getCollisionSoundMagnitude() { return _collisionSoundMagnitude; }
|
||||||
|
|
|
@ -17,6 +17,7 @@ InboundAudioStream::InboundAudioStream(int numFrameSamples, int numFramesCapacit
|
||||||
_lastPopSucceeded(false),
|
_lastPopSucceeded(false),
|
||||||
_lastPopOutput(),
|
_lastPopOutput(),
|
||||||
_dynamicJitterBuffers(dynamicJitterBuffers),
|
_dynamicJitterBuffers(dynamicJitterBuffers),
|
||||||
|
_dynamicJitterBuffersOverride(false),
|
||||||
_useStDevForJitterCalc(useStDevForJitterCalc),
|
_useStDevForJitterCalc(useStDevForJitterCalc),
|
||||||
_calculatedJitterBufferFramesUsingMaxGap(0),
|
_calculatedJitterBufferFramesUsingMaxGap(0),
|
||||||
_calculatedJitterBufferFramesUsingStDev(0),
|
_calculatedJitterBufferFramesUsingStDev(0),
|
||||||
|
@ -147,10 +148,17 @@ void InboundAudioStream::starved() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void InboundAudioStream::overrideDesiredJitterBufferFramesTo(int desired) {
|
void InboundAudioStream::overrideDesiredJitterBufferFramesTo(int desired) {
|
||||||
_dynamicJitterBuffers = false;
|
_dynamicJitterBuffersOverride = true;
|
||||||
_desiredJitterBufferFrames = desired;
|
_desiredJitterBufferFrames = desired;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void InboundAudioStream::unoverrideDesiredJitterBufferFrames() {
|
||||||
|
_dynamicJitterBuffersOverride = false;
|
||||||
|
if (!_dynamicJitterBuffers) {
|
||||||
|
_desiredJitterBufferFrames = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int InboundAudioStream::clampDesiredJitterBufferFramesValue(int desired) const {
|
int InboundAudioStream::clampDesiredJitterBufferFramesValue(int desired) const {
|
||||||
const int MIN_FRAMES_DESIRED = 0;
|
const int MIN_FRAMES_DESIRED = 0;
|
||||||
const int MAX_FRAMES_DESIRED = _ringBuffer.getFrameCapacity();
|
const int MAX_FRAMES_DESIRED = _ringBuffer.getFrameCapacity();
|
||||||
|
@ -177,7 +185,7 @@ SequenceNumberStats::ArrivalInfo InboundAudioStream::frameReceivedUpdateNetworkS
|
||||||
_calculatedJitterBufferFramesUsingMaxGap = ceilf((float)_interframeTimeGapStatsForJitterCalc.getWindowMax() / USECS_PER_FRAME);
|
_calculatedJitterBufferFramesUsingMaxGap = ceilf((float)_interframeTimeGapStatsForJitterCalc.getWindowMax() / USECS_PER_FRAME);
|
||||||
_interframeTimeGapStatsForJitterCalc.clearNewStatsAvailableFlag();
|
_interframeTimeGapStatsForJitterCalc.clearNewStatsAvailableFlag();
|
||||||
|
|
||||||
if (_dynamicJitterBuffers && !_useStDevForJitterCalc) {
|
if (_dynamicJitterBuffers && !_dynamicJitterBuffersOverride && !_useStDevForJitterCalc) {
|
||||||
_desiredJitterBufferFrames = clampDesiredJitterBufferFramesValue(_calculatedJitterBufferFramesUsingMaxGap);
|
_desiredJitterBufferFrames = clampDesiredJitterBufferFramesValue(_calculatedJitterBufferFramesUsingMaxGap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -187,10 +195,10 @@ SequenceNumberStats::ArrivalInfo InboundAudioStream::frameReceivedUpdateNetworkS
|
||||||
const int STANDARD_DEVIATION_SAMPLE_COUNT = 500;
|
const int STANDARD_DEVIATION_SAMPLE_COUNT = 500;
|
||||||
if (_stdev.getSamples() > STANDARD_DEVIATION_SAMPLE_COUNT) {
|
if (_stdev.getSamples() > STANDARD_DEVIATION_SAMPLE_COUNT) {
|
||||||
const float NUM_STANDARD_DEVIATIONS = 3.0f;
|
const float NUM_STANDARD_DEVIATIONS = 3.0f;
|
||||||
_calculatedJitterBufferFramesUsingStDev = (int)ceilf(2 * (NUM_STANDARD_DEVIATIONS * _stdev.getStDev()) / USECS_PER_FRAME) + 1;
|
_calculatedJitterBufferFramesUsingStDev = (int)ceilf(NUM_STANDARD_DEVIATIONS * _stdev.getStDev() / USECS_PER_FRAME) + 1;
|
||||||
_stdev.reset();
|
_stdev.reset();
|
||||||
|
|
||||||
if (_dynamicJitterBuffers && _useStDevForJitterCalc) {
|
if (_dynamicJitterBuffers && !_dynamicJitterBuffersOverride && _useStDevForJitterCalc) {
|
||||||
_desiredJitterBufferFrames = clampDesiredJitterBufferFramesValue(_calculatedJitterBufferFramesUsingStDev);
|
_desiredJitterBufferFrames = clampDesiredJitterBufferFramesValue(_calculatedJitterBufferFramesUsingStDev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue