Clarify router cleanup as a native audio teardown prerequisite
This commit is contained in:
1 parent
bc6ca78ce8
commit
99ab91d2f5
2 files changed
+4
-3
No files matched your search
@@ -126,7 +126,8 @@ class CallAudioEngine {
|
||||
System.nanoTime() / 1000 - sample.atUs in 0..500_000) sample.latency else CallOutputLatency()
|
||||
}
|
||||
|
||||
/** Позднее создание Telecom Connection: сначала снимаем собственную заявку на audio mode. */
|
||||
/** Поздняя Telecom Connection: снять собственные mode/глобальный маршрут, затем передать владение.
|
||||
* Отказ передаётся через onFailure; stop сохраняет неподтверждённые ресурсы для повторной очистки. */
|
||||
fun bindTelecom(connection: UtunConnection) {
|
||||
if (!active || router.telecom === connection) return
|
||||
try {
|
||||
@@ -323,7 +324,7 @@ class CallAudioEngine {
|
||||
|
||||
/** Main: отменить работу, разблокировать read и подтвердить join/release каждой независимой части.
|
||||
* Join ограничен 250 мс на worker; живые потоки и устройства остаются до следующей попытки.
|
||||
* При неполной очистке бросает ошибку владельцу; native останавливается лишь после устройств. */
|
||||
* При неполной очистке бросает ошибку владельцу; native ждёт устройства, router, listener и mode. */
|
||||
fun stop() {
|
||||
check(Looper.myLooper() == Looper.getMainLooper()) {
|
||||
LogManager.addLog("ERROR", "CallAudio", "stop outside main id=$callId")
|
||||
|
||||
@@ -418,7 +418,7 @@ Audio stop снимает active и callbacks, пытается разблоки
|
||||
worker до 250 мс за попытку; playback также ждёт свой reporter. Живые потоки сохраняются,
|
||||
устройства освобождаются после завершения обоих workers. Ошибки release оставляют
|
||||
AudioRecord/CallAudioOutput у движка, включая частичный запуск и отказ после эффекта.
|
||||
Удаление communication listener и восстановление собственного AudioManager mode/speaker
|
||||
Остановка router, удаление communication listener и восстановление собственного AudioManager mode/speaker
|
||||
повторяются независимо; после передачи режима в Telecom fallback его не восстанавливает.
|
||||
Незавершённая очистка бросает ошибку сервису и запрещает новый start. Native audio stop
|
||||
вызывается после подтверждения этих операций, его отказ также допускает повтор.
|
||||
|
||||
Reference in new issue
Block a user