Specify jitter reserve at startup and expose delay diagnostics
This commit is contained in:
1 parent
aaff1a5494
commit
c1cc3c459b
2 files changed
+10
-3
No files matched your search
@@ -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) {
|
||||
|
||||
Reference in new issue
Block a user