mirror of
https://github.com/lubosz/overte.git
synced 2025-04-23 13:33:38 +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);
|
||||
|
||||
void overrideDesiredJitterBufferFramesTo(int desired) { _receivedAudioStream.overrideDesiredJitterBufferFramesTo(desired); }
|
||||
void unoverrideDesiredJitterBufferFrames() { _receivedAudioStream.unoverrideDesiredJitterBufferFrames(); }
|
||||
int getDesiredJitterBufferFrames() const { return _receivedAudioStream.getDesiredJitterBufferFrames(); }
|
||||
|
||||
float getCollisionSoundMagnitude() { return _collisionSoundMagnitude; }
|
||||
|
|
|
@ -17,6 +17,7 @@ InboundAudioStream::InboundAudioStream(int numFrameSamples, int numFramesCapacit
|
|||
_lastPopSucceeded(false),
|
||||
_lastPopOutput(),
|
||||
_dynamicJitterBuffers(dynamicJitterBuffers),
|
||||
_dynamicJitterBuffersOverride(false),
|
||||
_useStDevForJitterCalc(useStDevForJitterCalc),
|
||||
_calculatedJitterBufferFramesUsingMaxGap(0),
|
||||
_calculatedJitterBufferFramesUsingStDev(0),
|
||||
|
@ -147,10 +148,17 @@ void InboundAudioStream::starved() {
|
|||
}
|
||||
|
||||
void InboundAudioStream::overrideDesiredJitterBufferFramesTo(int desired) {
|
||||
_dynamicJitterBuffers = false;
|
||||
_dynamicJitterBuffersOverride = true;
|
||||
_desiredJitterBufferFrames = desired;
|
||||
}
|
||||
|
||||
void InboundAudioStream::unoverrideDesiredJitterBufferFrames() {
|
||||
_dynamicJitterBuffersOverride = false;
|
||||
if (!_dynamicJitterBuffers) {
|
||||
_desiredJitterBufferFrames = 1;
|
||||
}
|
||||
}
|
||||
|
||||
int InboundAudioStream::clampDesiredJitterBufferFramesValue(int desired) const {
|
||||
const int MIN_FRAMES_DESIRED = 0;
|
||||
const int MAX_FRAMES_DESIRED = _ringBuffer.getFrameCapacity();
|
||||
|
@ -177,7 +185,7 @@ SequenceNumberStats::ArrivalInfo InboundAudioStream::frameReceivedUpdateNetworkS
|
|||
_calculatedJitterBufferFramesUsingMaxGap = ceilf((float)_interframeTimeGapStatsForJitterCalc.getWindowMax() / USECS_PER_FRAME);
|
||||
_interframeTimeGapStatsForJitterCalc.clearNewStatsAvailableFlag();
|
||||
|
||||
if (_dynamicJitterBuffers && !_useStDevForJitterCalc) {
|
||||
if (_dynamicJitterBuffers && !_dynamicJitterBuffersOverride && !_useStDevForJitterCalc) {
|
||||
_desiredJitterBufferFrames = clampDesiredJitterBufferFramesValue(_calculatedJitterBufferFramesUsingMaxGap);
|
||||
}
|
||||
}
|
||||
|
@ -187,10 +195,10 @@ SequenceNumberStats::ArrivalInfo InboundAudioStream::frameReceivedUpdateNetworkS
|
|||
const int STANDARD_DEVIATION_SAMPLE_COUNT = 500;
|
||||
if (_stdev.getSamples() > STANDARD_DEVIATION_SAMPLE_COUNT) {
|
||||
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();
|
||||
|
||||
if (_dynamicJitterBuffers && _useStDevForJitterCalc) {
|
||||
if (_dynamicJitterBuffers && !_dynamicJitterBuffersOverride && _useStDevForJitterCalc) {
|
||||
_desiredJitterBufferFrames = clampDesiredJitterBufferFramesValue(_calculatedJitterBufferFramesUsingStDev);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue