Keep call audio regressions explicit about untimed sources
This commit is contained in:
1 parent
2f3eb66c4c
commit
0195732b4e
2 files changed
+8
-8
No files matched your search
@@ -268,13 +268,13 @@ int main(int argc, char** argv) {
|
||||
uasync_poll(instance.ua, 0);
|
||||
REQUIRE(call_audio_start(99) == 0);
|
||||
int16_t silence[960]{};
|
||||
for (int i = 0; i < 100; ++i) call_audio_feed_pcm(99, silence, 960);
|
||||
for (int i = 0; i < 100; ++i) call_audio_feed_pcm(99, silence, 960, INT64_MIN);
|
||||
int pending = 0;
|
||||
for (auto* task = instance.ua->posted_tasks_head; task; task = task->next) ++pending;
|
||||
REQUIRE(pending == 8);
|
||||
call_audio_stop();
|
||||
REQUIRE(call_audio_start(100) == 0);
|
||||
for (int i = 0; i < 100; ++i) call_audio_feed_pcm(100, silence, 960);
|
||||
for (int i = 0; i < 100; ++i) call_audio_feed_pcm(100, silence, 960, INT64_MIN);
|
||||
pending = 0;
|
||||
for (auto* task = instance.ua->posted_tasks_head; task; task = task->next) ++pending;
|
||||
REQUIRE(pending == 8); // Новый звонок также учитывает ещё не освобождённые задачи старого.
|
||||
|
||||
@@ -26,7 +26,7 @@ static int decode_bad(void* arg, const uint8_t*, int, int16_t*, int) {
|
||||
return -1;
|
||||
}
|
||||
static void push(call_jitter* j, int id, int64_t received_ms = -1) {
|
||||
call_jitter_push(j, (const uint8_t*)&id, sizeof(id), (uint32_t)(id * 20), received_ms < 0 ? id * 20 : received_ms);
|
||||
call_jitter_push(j, (const uint8_t*)&id, sizeof(id), (uint32_t)(id * 20), received_ms < 0 ? id * 20 : received_ms, nullptr);
|
||||
}
|
||||
int main() {
|
||||
{
|
||||
@@ -180,10 +180,10 @@ int main() {
|
||||
for (auto value : pcm) CHECK(value == 0);
|
||||
}
|
||||
// Первый пакет ещё не заполнил запас PCM: продолжается тихое ожидание.
|
||||
call_audio_on_media(nullptr, id, 0, 0, encoded, len);
|
||||
call_audio_on_media(nullptr, id, 0, 0, encoded, len, nullptr);
|
||||
CHECK(call_audio_pull_pcm(id, pcm, 480) == 480);
|
||||
for (auto value : pcm) CHECK(value == 0);
|
||||
for (int i = 1; i < 6; i++) call_audio_on_media(nullptr, id, i, 0, encoded, len);
|
||||
for (int i = 1; i < 6; i++) call_audio_on_media(nullptr, id, i, 0, encoded, len, nullptr);
|
||||
CHECK(call_audio_pull_pcm(id, pcm, 480) == 480);
|
||||
bool audible = false;
|
||||
for (auto value : pcm) if (value) audible = true;
|
||||
@@ -196,14 +196,14 @@ int main() {
|
||||
}
|
||||
CHECK(audible);
|
||||
// Малого запаса недостаточно для восстановления: сигнал продолжает звучать.
|
||||
call_audio_on_media(nullptr, id, 6, 0, encoded, len);
|
||||
call_audio_on_media(nullptr, id, 6, 0, encoded, len, nullptr);
|
||||
audible = false;
|
||||
for (int tick = 0; tick < 100; tick++) {
|
||||
CHECK(call_audio_pull_pcm(id, pcm, 480) == 480);
|
||||
for (auto value : pcm) if (std::abs((int)value) > 1000) audible = true;
|
||||
}
|
||||
CHECK(audible);
|
||||
for (int i = 7; i < 30; i++) call_audio_on_media(nullptr, id, i, 0, encoded, len);
|
||||
for (int i = 7; i < 30; i++) call_audio_on_media(nullptr, id, i, 0, encoded, len, nullptr);
|
||||
CHECK(call_audio_pull_pcm(id, pcm, 480) == 480);
|
||||
call_audio_begin_end(id); // явное завершение прекращает догон и включает финальный тон
|
||||
CHECK(call_audio_pull_pcm(id, pcm, 480) > 0);
|
||||
@@ -219,7 +219,7 @@ int main() {
|
||||
uint8_t encoded[512];
|
||||
int len = opus_codec_encode(encoder, silence, 960, encoded, sizeof(encoded));
|
||||
CHECK(len > 0);
|
||||
for (int i = 0; i < 6; i++) call_audio_on_media(nullptr, 124, i, 0, encoded, len);
|
||||
for (int i = 0; i < 6; i++) call_audio_on_media(nullptr, 124, i, 0, encoded, len, nullptr);
|
||||
std::vector<int16_t> output(777);
|
||||
under = 0;
|
||||
for (int tick = 0; tick < 30 && !under; tick++) {
|
||||
|
||||
Reference in new issue
Block a user