|
21 | 21 | "measure raising video jitterBufferTarget to 250");
|
22 | 22 | async_promise_test(t => applyJitterBufferTarget(t, "audio", 250),
|
23 | 23 | "measure raising audio jitterBufferTarget to 250");
|
24 |
| -async_promise_test(t => applyJitterBufferTarget(t, "video", 500), |
25 |
| - "measure raising video jitterBufferTarget to 500"); |
26 |
| -async_promise_test(t => applyJitterBufferTarget(t, "audio", 500), |
27 |
| - "measure raising audio jitterBufferTarget to 500"); |
28 | 24 | async_promise_test(t => applyJitterBufferTarget(t, "video", 250, 150),
|
29 | 25 | "measure lowering video jitterBufferTarget to 150");
|
30 | 26 | async_promise_test(t => applyJitterBufferTarget(t, "audio", 250, 150),
|
31 | 27 | "measure lowering audio jitterBufferTarget to 150");
|
32 |
| -async_promise_test(t => applyJitterBufferTarget(t, "video", 400, 250), |
33 |
| - "measure lowering video jitterBufferTarget to 300"); |
34 |
| -async_promise_test(t => applyJitterBufferTarget(t, "audio", 400, 250), |
35 |
| - "measure lowering audio jitterBufferTarget to 300"); |
36 | 28 |
|
37 | 29 | async function applyJitterBufferTarget(t, kind, target, targetToLower) {
|
38 | 30 | const caller = new RTCPeerConnection();
|
|
67 | 59 | async function measureDelayFromStats(t, receiver, callee, target, kind) {
|
68 | 60 | const lowerBound = target * 0.7;
|
69 | 61 | const upperBound = target * 1.3;
|
70 |
| - let delay, oldInboundStats, prevDelay, rateOfChange; |
| 62 | + let delay, oldInboundStats, prevDelay, avgChange; |
| 63 | + let rateOfChange = 0; |
71 | 64 | let numDelayMeasurements = 1;
|
72 | 65 |
|
73 | 66 | for (let statChecks = 0; statChecks < 40; statChecks++) {
|
|
79 | 72 | delay = ((inboundStats.jitterBufferDelay - oldInboundStats.jitterBufferDelay) /
|
80 | 73 | (inboundStats.jitterBufferEmittedCount - oldInboundStats.jitterBufferEmittedCount) * 1000);
|
81 | 74 | if (prevDelay) {
|
82 |
| - rateOfChange = (delay - prevDelay) / numDelayMeasurements; |
| 75 | + rateOfChange += (delay - prevDelay); |
| 76 | + avgChange = rateOfChange / numDelayMeasurements; |
83 | 77 | numDelayMeasurements++;
|
84 | 78 | }
|
85 | 79 | prevDelay = delay;
|
|
90 | 84 | oldInboundStats = inboundStats;
|
91 | 85 | }
|
92 | 86 | t.step(() => assert_between_inclusive(delay , lowerBound, upperBound,
|
93 |
| - `${kind} delay is within bounds rateOfChange ${rateOfChange} over ${numDelayMeasurements} measurements`)); |
| 87 | + `${kind} delay is within bounds avgChange ${avgChange} over ${numDelayMeasurements} measurements`)); |
94 | 88 | return delay;
|
95 | 89 | }
|
96 | 90 | </script>
|
|
0 commit comments