Describe preview lease transfer, callback cancellation and physical cleanup retries
This commit is contained in:
1 parent
0a777baabb
commit
92ce2d84e9
2 files changed
+17
No files matched your search
@@ -531,6 +531,11 @@ Router сохраняет callback/proxy до успешного unregister/clos
|
||||
отказ post сохраняет владельца для явного stop/start. Поздние Bluetooth proxy после stop
|
||||
получают тот же контракт освобождения, не меняя новый активный маршрут. До доставки
|
||||
callback принятый getProfileProxy не даёт router объект, который можно закрыть.
|
||||
Прямое превью использует отдельные идемпотентные ссылки UI/команды/camera session
|
||||
на один Surface/texture. Последний release передаёт физическую очистку process-владельцу;
|
||||
ошибки Surface и texture повторяются независимо без пропуска другой операции.
|
||||
Предложенная listener ссылка отменяется при исключении, queued receiver игнорирует
|
||||
released target. Закрытие preview не допускает последующей активации через update.
|
||||
Общая MediaAudioSession при close блокирует новых потребителей и оставляет executor
|
||||
до подтверждённой очистки hardware/router; отказ допускает повторный close.
|
||||
Перед `NativeLib.stop/restart/destroy` проверяется подтверждение очистки сервиса и
|
||||
|
||||
@@ -235,6 +235,15 @@ 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`.
|
||||
|
||||
Прямое превью Camera2 передаёт UI, ожидающей команде и каждой camera session отдельный
|
||||
`StreamPreviewTarget` на общий Surface/SurfaceTexture. retain создаёт новую ссылку,
|
||||
release одной ссылки идемпотентен; идентичность источника проверяется через sameSource.
|
||||
Ошибка listener отменяет предложенную ссылку, queued receiver пропускает released
|
||||
target. Detach/close продолжают освобождение независимо от ошибки доставки команды;
|
||||
поздний update не активирует закрытое превью. Последняя ссылка передаёт физическую
|
||||
очистку process-владельцу: Surface и texture подтверждаются независимо, retry идёт
|
||||
через 250 мс..30 с. При отказе Handler повторный release завершает её явно.
|
||||
|
||||
`CallAudioRouter` сохраняет device callback и каждый полученный Bluetooth proxy до
|
||||
успешного unregister/close. stop инвалидирует callbacks и снимки устройств сразу,
|
||||
очищает независимые ресурсы и бросает ошибку при неподтверждённом результате.
|
||||
@@ -660,6 +669,9 @@ Android hardware и DSP моделируются; AAudio/OEM поведение
|
||||
configure/start/stop/release, Surface callback, playout destroy, join и retry Handler.
|
||||
Проверяются независимое освобождение, запрет release Surface до codec, старый detach,
|
||||
ACK показа/PTS и EOS drain без смены Surface. OEM/реальное декодирование остаются вне модели.
|
||||
StreamPreviewLifecycleTest проверяет реальные preview/leases: потерю/частичный эффект
|
||||
callback, отменённые команды, независимые и конкурентные владельцы, физические
|
||||
отказы release до/после эффекта, retry Handler, detach/visibility и поздние update.
|
||||
RadioCallLifecycleTest использует настоящие RadioCallController, IncomingCallManager,
|
||||
CoreActivity и гудки. Управляемые Android/JNI/repository-границы проверяют все
|
||||
команды сигналинга, pending START, валидацию событий/полной identity, активацию,
|
||||
|
||||
Reference in new issue
Block a user