Check audio source rate at the actual PCM span boundary
This commit is contained in:
1 parent
b7ae7ef700
commit
0f22be6885
2 files changed
+3
-2
No files matched your search
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user