diff --git a/src/call/call_audio.h b/src/call/call_audio.h index 0540a1b2..fa59c1d4 100644 --- a/src/call/call_audio.h +++ b/src/call/call_audio.h @@ -33,7 +33,7 @@ extern "C" { /* Зарегистрировать общий для процесса аудио-движок в call.c; повтор с тем же inst идемпотентен. * init/destroy сериализованы lifecycle ядра; producers остановлены перед освобождением inst/ua. - * Лимит8 TX-задач относится к текущей привязке. Старые задачи не отправляют медиа и не меняют + * Лимит8 TX-задач относится к текущей привязке. Задачи прежних привязок не отправляют медиа и не меняют * её счётчик/позднюю статистику; uasync освобождает их после callback либо при destroy. 0 = успех, -1 = нет inst. */ int call_audio_init(struct UTUN_INSTANCE* inst); /* Снять регистрацию и инвалидировать TX-привязку; codec/jitter освобождаются отдельно через stop/release. */ diff --git a/tools/chatgui/tests/test_call_audio_tx.cpp b/tools/chatgui/tests/test_call_audio_tx.cpp index eafe5a85..3c58b7b0 100644 --- a/tools/chatgui/tests/test_call_audio_tx.cpp +++ b/tools/chatgui/tests/test_call_audio_tx.cpp @@ -153,7 +153,6 @@ int main(int argc, char** argv) { begin(inst, new_id); initial_new = feed(new_id, 0); retire_old.set_value(); worker.join(); /* Старый loop исполняет tasks после новой привязки. */ - REQUIRE(contains("owner=0")); } else if (!strcmp(mode, "current_expiry")) { begin(inst, new_id); REQUIRE(feed(new_id, 0) == 8); @@ -181,7 +180,9 @@ int main(int argc, char** argv) { REQUIRE(call_audio_init(&inst) == 0); /* Encoder и call generation пока не меняются. */ if (round) test_time += 2001; drain(ua); - REQUIRE(sent_old == 0 && contains("owner=0")); + DEBUG_INFO(DEBUG_CATEGORY_CALL, "call-audio-tx: detached encoder round=%u sent_old=%u", round, sent_old); + REQUIRE(sent_old == 0); + REQUIRE(contains("owner=0")); stats(old_id); REQUIRE(!contains("TX timing") && !contains("TX dropped=")); }