Document retained router resources and shared session close acknowledgments
This commit is contained in:
1 parent
774dc10d84
commit
bc6ca78ce8
2 files changed
+27
-2
No files matched your search
@@ -515,10 +515,18 @@ wake lock, токенов, foreground/stopSelf. Video подтверждает R
|
||||
Отказ поста или join оставляет stop повторяемым. Отмена Deferred не снимает владельцев.
|
||||
Audio stop ждёт каждый worker до 250 мс за попытку; playback включает join reporter.
|
||||
Живые workers и устройства с отказавшим release остаются у движка, native audio stop
|
||||
откладывается до завершения потоков, освобождения устройств, communication listener
|
||||
и восстановления собственного аудиорежима. Незавершённая очистка бросает ошибку сервису;
|
||||
откладывается до завершения потоков, освобождения устройств, communication listener,
|
||||
router и восстановления собственного аудиорежима. Незавершённая очистка бросает ошибку сервису;
|
||||
новый start сначала обязан завершить прежний stop. Проверка состояния/настройка нового
|
||||
AudioRecord/AudioTrack выполняется после сохранения владельца для rollback.
|
||||
Router сохраняет callback/proxy до успешного unregister/close, собственные глобальные
|
||||
заявки communication device/SCO — до подтверждённого снятия. Отказ одной операции не
|
||||
прерывает другие. Process-ссылка и main Handler повторяют очистку через 250 мс..30 с;
|
||||
отказ post сохраняет владельца для явного stop/start. Поздние Bluetooth proxy после stop
|
||||
получают тот же контракт освобождения, не меняя новый активный маршрут. До доставки
|
||||
callback принятый getProfileProxy не даёт router объект, который можно закрыть.
|
||||
Общая MediaAudioSession при close блокирует новых потребителей и оставляет executor
|
||||
до подтверждённой очистки hardware/router; отказ допускает повторный close.
|
||||
Перед `NativeLib.stop/restart/destroy` проверяется подтверждение очистки сервиса и
|
||||
окончание подготовки чужого media; ошибка блокирует native stop. Новый звонок
|
||||
нового ядра разрешается после `SERVICE_STARTED`.
|
||||
|
||||
@@ -235,6 +235,23 @@ feed/pull workers и маршрутом Android Telecom; DSP и сетевой
|
||||
Вызовы lifecycle DSP выполняются после остановки его внешних feed/pull callers.
|
||||
Контракты PCM/PTS: `src/call/call_audio.h`, `src/radio/radio_audio.h`, `jni_bridge/android_jni_bridge.h`.
|
||||
|
||||
`CallAudioRouter` сохраняет device callback и каждый полученный Bluetooth proxy до
|
||||
успешного unregister/close. stop инвалидирует callbacks и снимки устройств сразу,
|
||||
очищает независимые ресурсы и бросает ошибку при неподтверждённом результате.
|
||||
Собственные communication device/SCO-заявки отмечаются до API и снимаются отдельно;
|
||||
перед передачей в Telecom глобальный маршрут должен быть освобождён. Повтор start
|
||||
сначала завершает прежнюю очистку, сохраняя заранее настроенную Telecom Connection.
|
||||
Отказы удерживаются process-ссылкой; Handler повторяет очистку через 250 мс..30 с.
|
||||
При отказе Handler владелец сохраняется для явного stop/start. Принятый запрос
|
||||
getProfileProxy ожидает callback; поздний proxy после stop также получает владельца
|
||||
и повтор close при ошибке. При активном новом маршруте очищаются лишь старые proxy.
|
||||
Дубликат callback освобождённого/заменённого proxy не делает его текущим снова.
|
||||
|
||||
`MediaAudioSession.close` требует отсутствия потребителей и сразу запрещает новые
|
||||
подписки, outputs и refresh. Hardware и router очищаются независимо; ошибка оставляет
|
||||
close повторяемым и сохраняет executor до подтверждения обеих частей. Пока close
|
||||
не завершён, awaitIdle также отвергает передачу ресурсов звонку.
|
||||
|
||||
`RadioCallController` на main управляет адресным приглашением участника в обычную
|
||||
рацию канала. Это отдельный сигналинг `src/radio/radio_call.h`, без отдельного
|
||||
аудиозвонка. START резервирует busy до первого события ядра: быстрое повторное
|
||||
|
||||
Reference in new issue
Block a user