diff --git a/tools/chatgui/tests/test_call_jitter.cpp b/tools/chatgui/tests/test_call_jitter.cpp index ed72a323..8469d3fc 100644 --- a/tools/chatgui/tests/test_call_jitter.cpp +++ b/tools/chatgui/tests/test_call_jitter.cpp @@ -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);