|
|
|
@ -854,6 +854,11 @@ Android: |
|
|
|
Состояния ожидания KEY и decoder разделены; логи показывают inputs/decoded/shown, рабочие slots, inflight и decoderLeadUs. |
|
|
|
Состояния ожидания KEY и decoder разделены; логи показывают inputs/decoded/shown, рабочие slots, inflight и decoderLeadUs. |
|
|
|
Короткие audio gaps заполняются Opus PLC, большой разрыв сбрасывает timeline. |
|
|
|
Короткие audio gaps заполняются Opus PLC, большой разрыв сбрасывает timeline. |
|
|
|
Локальный preview получает прямой Camera2 output в TextureView одновременно с encoder Surface. |
|
|
|
Локальный preview получает прямой Camera2 output в TextureView одновременно с encoder Surface. |
|
|
|
|
|
|
|
Удалённый Android viewer открыт во весь экран: TextureView вписан по aspect без обрезки и изменения пропорций. |
|
|
|
|
|
|
|
После первого KEY ориентация окна следует aspect с учётом rotation источника (sensor landscape/portrait). |
|
|
|
|
|
|
|
Имя канала/источника, статус и крестик расположены поверх видео; при live скрываются через 3s, касание переключает видимость. |
|
|
|
|
|
|
|
Во время подключения/ошибки управление видно. Смена видимости не меняет геометрию TextureView и не пересоздаёт reader. |
|
|
|
|
|
|
|
Выход восстанавливает прежнюю requestedOrientation и видимость системных панелей; ON_STOP освобождает viewer. |
|
|
|
Собственный источник не открывает viewer/cursor, decoder, AudioTrack и playback controller. |
|
|
|
Собственный источник не открывает viewer/cursor, decoder, AudioTrack и playback controller. |
|
|
|
Preview ориентируется по сенсору камеры и текущему положению экрана; ручной поворот трансляции его не вращает. |
|
|
|
Preview ориентируется по сенсору камеры и текущему положению экрана; ручной поворот трансляции его не вращает. |
|
|
|
TextureView уже применяет ориентацию сенсора. UI Matrix компенсирует только -displayDegrees, |
|
|
|
TextureView уже применяет ориентацию сенсора. UI Matrix компенсирует только -displayDegrees, |
|
|
|
|