Check refill below the 60 ms reserve including SoundTouch
This commit is contained in:
1 parent
fbf50b093d
commit
fe1d29f007
1 file changed
+6
-2
@@ -52,6 +52,7 @@ int main() {
|
||||
CHECK(arrival.reserve == 60);
|
||||
}
|
||||
debug_set_level(DEBUG_LEVEL_WARN);
|
||||
debug_enable_console(1);
|
||||
int16_t pcm[480];
|
||||
int depth, tempo;
|
||||
uint32_t dropped, under;
|
||||
@@ -63,7 +64,10 @@ int main() {
|
||||
CHECK(call_jitter_pull(j, pcm, 480) == 0);
|
||||
push(j, 2);
|
||||
CHECK(call_jitter_pull(j, pcm, 480) > 0);
|
||||
call_jitter_range range;
|
||||
for (int i = 3; i < 503; i++) push(j, i, 10060); // 10с сетевой задержки, затем пачка
|
||||
call_jitter_get_stats(j, nullptr, nullptr, nullptr, nullptr, &range);
|
||||
CHECK(range.reserve_ms == 1000);
|
||||
int next = 503, highest = 100;
|
||||
for (int tick = 0; tick < 6000; tick++) {
|
||||
if (tick % 2 == 0) push(j, next++, 10060 + tick * 10); // непрерывный live
|
||||
@@ -71,7 +75,6 @@ int main() {
|
||||
call_jitter_get_stats(j, &depth, &tempo, &dropped, &under, nullptr);
|
||||
if (tempo > highest) highest = tempo;
|
||||
}
|
||||
call_jitter_range range;
|
||||
call_jitter_get_stats(j, nullptr, nullptr, nullptr, nullptr, &range);
|
||||
CHECK(range.reserve_ms == 60 && range.max_ms >= 10000);
|
||||
CHECK(range.min_ms <= range.max_ms);
|
||||
@@ -82,7 +85,8 @@ int main() {
|
||||
for (size_t i = 0; i < d.seen.size(); i++) CHECK(d.seen[i] == (int)i);
|
||||
for (int i = 0; i < 100; i++) call_jitter_pull(j, pcm, 480);
|
||||
size_t before = d.seen.size();
|
||||
push(j, next++); push(j, next++);
|
||||
// Один кадр плюс остаток SoundTouch ниже 60мс; два кадра уже могут заполнить запас.
|
||||
push(j, next++);
|
||||
int refill = call_jitter_pull(j, pcm, 480);
|
||||
if (refill) {
|
||||
call_jitter_get_stats(j, &depth, nullptr, nullptr, nullptr, &range);
|
||||
|
||||
Reference in new issue
Block a user