Specify jitter reserve at startup and expose delay diagnostics

This commit is contained in:
evgeny committed 2026-10-15 13:19:39 +02:00
1 parent aaff1a5494
commit c1cc3c459b
2 files changed
+10 -3

No files matched your search

+5 -2
View File
@@ -123,7 +123,7 @@ int main() {
decoder d;
auto* j = call_jitter_create(decode, &d, 1000);
CHECK(j);
push(j, 0); // 20мс достаточно для допуска в decoder, но SoundTouch ещё накапливает PCM.
push(j, 0); // Сохраняем запас 20мс после первого блока, а не расходуем его при старте.
CHECK(call_jitter_pull(j, pcm, 480) == 0);
push(j, 1);
CHECK(call_jitter_pull(j, pcm, 480) > 0);
@@ -159,7 +159,10 @@ 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();
// После опустошения один кадр дополняет остаток SoundTouch и возобновляет PCM при запасе 20мс.
// После опустошения ждём полный блок сверх сетевого запаса; скрытого накопления DSP больше нет.
push(j, next++);
CHECK(call_jitter_pull(j, pcm, 480) == 0);
CHECK(d.seen.size() == before);
push(j, next++);
int refill = call_jitter_pull(j, pcm, 480);
if (refill != 480) {