knobs confirmed working

This commit is contained in:
wangyix 2014-08-07 17:05:23 -07:00
parent 1153a76ab1
commit fd3425dfd1
3 changed files with 15 additions and 6 deletions

View file

@ -430,7 +430,7 @@ void AudioMixer::run() {
qDebug() << "Dynamic jitter buffers disabled."; qDebug() << "Dynamic jitter buffers disabled.";
} }
const QString DESIRED_JITTER_BUFFER_FRAMES_KEY = "B-desired-jitter-buffer-frames"; const QString DESIRED_JITTER_BUFFER_FRAMES_KEY = "B-static-desired-jitter-buffer-frames";
_streamSettings._staticDesiredJitterBufferFrames = audioGroupObject[DESIRED_JITTER_BUFFER_FRAMES_KEY].toString().toInt(&ok); _streamSettings._staticDesiredJitterBufferFrames = audioGroupObject[DESIRED_JITTER_BUFFER_FRAMES_KEY].toString().toInt(&ok);
if (!ok) { if (!ok) {
_streamSettings._staticDesiredJitterBufferFrames = DEFAULT_STATIC_DESIRED_JITTER_BUFFER_FRAMES; _streamSettings._staticDesiredJitterBufferFrames = DEFAULT_STATIC_DESIRED_JITTER_BUFFER_FRAMES;

View file

@ -7,10 +7,10 @@
"type": "checkbox", "type": "checkbox",
"label": "Dynamic Jitter Buffers", "label": "Dynamic Jitter Buffers",
"help": "Dynamically buffer client audio based on perceived jitter in packet receipt timing", "help": "Dynamically buffer client audio based on perceived jitter in packet receipt timing",
"default": false "default": true
}, },
"B-desired-jitter-buffer-frames": { "B-static-desired-jitter-buffer-frames": {
"label": "Desired Jitter Buffer Frames", "label": "Static Desired Jitter Buffer Frames",
"help": "If dynamic jitter buffers is disabled, this determines the target number of frames maintained by the AudioMixer's jitter buffers", "help": "If dynamic jitter buffers is disabled, this determines the target number of frames maintained by the AudioMixer's jitter buffers",
"placeholder": "1", "placeholder": "1",
"default": "1" "default": "1"
@ -21,12 +21,12 @@
"placeholder": "10", "placeholder": "10",
"default": "10" "default": "10"
}, },
"D-use-stdev": { "D-use-stdev-for-desired-calc": {
"type": "checkbox", "type": "checkbox",
"label": "Use Stdev for Desired Jitter Frames Calc:", "label": "Use Stdev for Desired Jitter Frames Calc:",
"help": "If checked, Philip's method (stdev of timegaps) is used to calculate desired jitter frames. Otherwise, Fred's method (max timegap) is used", "help": "If checked, Philip's method (stdev of timegaps) is used to calculate desired jitter frames. Otherwise, Fred's method (max timegap) is used",
"default": false "default": false
} },
"E-window-starve-threshold": { "E-window-starve-threshold": {
"label": "Window Starve Threshold", "label": "Window Starve Threshold",
"help": "If this many starves occur in an N-second window (N is the number in the next field), then the desired jitter frames will be re-evaluated using Window A.", "help": "If this many starves occur in an N-second window (N is the number in the next field), then the desired jitter frames will be re-evaluated using Window A.",

View file

@ -246,6 +246,15 @@ void InboundAudioStream::setSettings(const Settings& settings) {
setWindowStarveThreshold(settings._windowStarveThreshold); setWindowStarveThreshold(settings._windowStarveThreshold);
setWindowSecondsForDesiredCalcOnTooManyStarves(settings._windowSecondsForDesiredCalcOnTooManyStarves); setWindowSecondsForDesiredCalcOnTooManyStarves(settings._windowSecondsForDesiredCalcOnTooManyStarves);
setWindowSecondsForDesiredReduction(settings._windowSecondsForDesiredReduction); setWindowSecondsForDesiredReduction(settings._windowSecondsForDesiredReduction);
printf("\n\nmax frames over desired: %d\n", settings._maxFramesOverDesired);
printf("dynamic jitter buffers: %d\n", settings._dynamicJitterBuffers);
printf("static desired jbuffer frames: %d\n", settings._staticDesiredJitterBufferFrames);
printf("use stdev: %d\n", settings._useStDevForJitterCalc);
printf("starve threshold: %d\n", settings._windowStarveThreshold);
printf("window A seconds: %d\n", settings._windowSecondsForDesiredCalcOnTooManyStarves);
printf("window B seconds: %d\n", settings._windowSecondsForDesiredReduction);
} }
void InboundAudioStream::setDynamicJitterBuffers(bool dynamicJitterBuffers) { void InboundAudioStream::setDynamicJitterBuffers(bool dynamicJitterBuffers) {