Document local video playback and metadata release contracts

This commit is contained in:
evgeny committed 2026-10-29 13:34:25 +01:00
1 parent e18ecda41e
commit 89cf180984
1 file changed
+11
+11
View File
@@ -244,6 +244,17 @@ 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`.
Локальный `VideoPlayerScreen` сохраняет пассивный VideoFilePlayer до start. UI отражает
результаты MediaPlayer start/pause/seek, ошибка команды завершает playback и оставляет
доступным закрытие экрана. Пользовательская пауза сохраняется при пересоздании Surface.
TextureView и player держат отдельные leases output; неудавшийся release MediaPlayer
сохраняет его ссылки до SDK ACK с retry 250 мс..30 с. Поздний destroy прежнего texture
не отключает новый output, callbacks после dispose не запускают playback/навигацию.
Metadata читаются в IO через отдельный владелец retriever; ошибка release сохраняет
его для повтора и не подменяет исходную ошибку read. Поворот и панели окна возвращаются
к прежним значениям при выходе. VideoFilePlayerTest/VideoFileMetadataTest проверяют
эти контракты на управляемых SDK-границах; аппаратное декодирование в JVM не выполняется.
TelecomCallManager на main регистрирует self-managed account и connections по call ID; lookup разрешён workers.
Поздний/дублирующий Connection не заменяет живого владельца и не возвращается framework как новый активный вызов.
Ошибки markDisconnected не прерывают destroy. Неудавшийся destroy сохраняет отдельного retiring owner