Check audio source rate at the actual PCM span boundary

This commit is contained in:
evgeny committed 2026-10-19 17:42:49 +02:00
1 parent b7ae7ef700
commit 0f22be6885
2 files changed
+3 -2

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
/* Кодер видеотрека звонка; только video worker, без камеры, транспорта и таймеров.
* Смена bitrate ожидает ближайший IDR (период <= 1с по capture PTS). Новый encoder
* заменяет старый только после полного первого IDR. По умолчанию выбирается GPU;
* получает поток после полного drain старого; completion выдаётся после проверки нового IDR. Выбирается GPU;
* явный backend позволяет отдельно проверять software в тестах. Completion передаётся в uasync
* независимо от admission видео. PTS, generation и frame_id принадлежат владельцу.
* open получает согласованный call_video_format; соответствие level/размера/FPS
+2 -1
View File
@@ -20,13 +20,14 @@ static void test_boundaries() {
map.progress(1, 960, 20000, 20000, true);
auto clock = map.clock(20000);
CHECK(clock.valid && clock.pts_us == 1010000 && clock.written_samples == 1920);
CHECK(clock.rate_ppm == 1000000);
CHECK(clock.rate_ppm == 0); // На границе уже начинается участок локальной тишины.
map.progress(1, 1200, 25000, 25000, true);
CHECK(map.clock(25000).pts_us == 1010000); // Локальная тишина.
CHECK(map.clock(25000).rate_ppm == 0);
map.progress(1, 1920, 40000, 30000, true);
clock = map.clock(35000);
CHECK(clock.valid && clock.pts_us == 1015000 && clock.played_samples == 1680);
CHECK(clock.rate_ppm == 1000000);
CHECK(map.clock(40000).pts_us == 1020000);
CHECK(!map.clock(300001).valid);
map.reset(2);