|
|
|
@ -412,7 +412,52 @@ PTS, профиль и level проверены на всех участках; |
|
|
|
/tmp/call-envelope-full-check-final.log. ChatGUI и Android assembleDebug собраны: |
|
|
|
/tmp/call-envelope-full-check-final.log. ChatGUI и Android assembleDebug собраны: |
|
|
|
/tmp/call-envelope-gui-build-verified.log, /tmp/call-envelope-android-build-final.log. |
|
|
|
/tmp/call-envelope-gui-build-verified.log, /tmp/call-envelope-android-build-final.log. |
|
|
|
|
|
|
|
|
|
|
|
Текущая граница готовности: согласование и desktop codec готовы как компоненты. |
|
|
|
Интеграция платформ и аппаратная проверка, 14.10.2026 |
|
|
|
Далее нужны платформенные пробы CAPS, capture/worker/bridge, decoder/render по audio |
|
|
|
Добавлен общий call_video_port: один TX mailbox, RX до восьми кадров/4MiB, |
|
|
|
clock, Android MediaCodec и управление камерой/разрешением/кодеком в окне звонка. |
|
|
|
команды формата/bitrate с ID звонка, отменяемый post, безопасный detach ядра. |
|
|
|
Реальные звонки между платформами и аппаратные codecs ещё не проверены. |
|
|
|
Сетевой test_call проверяет обе стороны port, владение RX, backpressure TX, |
|
|
|
|
|
|
|
изменение диапазона и отмену ожидающего post: 2/2 PASS; /tmp/call-video-port-network.log. |
|
|
|
|
|
|
|
ChatGUI: отдельные TX/RX workers, Qt camera, FFmpeg decoder с проверкой выхода, |
|
|
|
|
|
|
|
очередь показа по call_audio_get_clock. Окно содержит камеру, разрешение, codec, |
|
|
|
|
|
|
|
диапазон bitrate и видео. Сборка успешна; production decoder проверен на прежних |
|
|
|
|
|
|
|
360 кадрах каждого codec с переходами bitrate, 5/5 QtTest cases PASS: |
|
|
|
|
|
|
|
/tmp/call-video-desktop-integration-build.log, /tmp/call-video-decoder-test.log. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Android: JNI к общему port, Camera2/ImageReader YUV, смена MediaCodec на IDR без |
|
|
|
|
|
|
|
перезапуска камеры при смене bitrate, RX Surface decoder по аудиочасам с drain |
|
|
|
|
|
|
|
старого generation. CallService владеет видео и camera foreground; CallScreen |
|
|
|
|
|
|
|
содержит управление/разрешение камеры/Surface. AssembleDebug успешен, установлено |
|
|
|
|
|
|
|
на D2AR10P3600820 и RZ8R72MG64B. Полный видеозвонок ещё НЕ принят и не проверен. |
|
|
|
|
|
|
|
Фактический VBV аппаратного encoder также пока не подтверждён: MediaCodec не даёт |
|
|
|
|
|
|
|
универсального управления CPB, принятие configure не доказывает этот предел. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Аппаратный блокер подтверждён явной debug instrumentation CallVideoProbe: |
|
|
|
|
|
|
|
adb -s SERIAL shell am instrument -w com.utun.chat/com.utun.chat.data.CallVideoProbe |
|
|
|
|
|
|
|
Samsung RZ8R72MG64B: c2.qti.avc.encoder проходит реальный encode/decode при явном |
|
|
|
|
|
|
|
AVCProfileConstrainedBaseline. c2.qti.hevc.encoder/OMX.qcom.video.encoder.hevc: |
|
|
|
|
|
|
|
SPS profile=1, tier=1, level=93 при запросе Main tier (первые байты 42 01 01 21). |
|
|
|
|
|
|
|
D2AR10P3600820: c2.unisoc.avc.encoder/OMX.sprd.h264.encoder возвращают SPS |
|
|
|
|
|
|
|
profile=66, constraints=128, level=31, а не Constrained Baseline; явный запрос |
|
|
|
|
|
|
|
AVCProfileConstrainedBaseline этого не меняет. HEVC Main/Main tier/level=93 |
|
|
|
|
|
|
|
имеет sps_max_dec_pic_buffering_minus1=2 (три decoded pictures), reorder=0. |
|
|
|
|
|
|
|
Текущий Android validator требует DPB<=2; это более жёсткое требование, чем |
|
|
|
|
|
|
|
reference=1: размер DPB нельзя автоматически приравнивать числу активных references. |
|
|
|
|
|
|
|
Логи: /tmp/call-video-probe2-D2AR10P3600820.log, |
|
|
|
|
|
|
|
/tmp/call-video-probe2-RZ8R72MG64B.log. Первый телефон не объявляет ни одного codec, |
|
|
|
|
|
|
|
Samsung объявляет только AVC. Нельзя считать такое состояние готовыми видеозвонками. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дополнительно нужно разделить probe encode/decode: сейчас Android и desktop |
|
|
|
|
|
|
|
консервативно объявляют decoder только после успешного собственного encoder. |
|
|
|
|
|
|
|
Это лишает совместимого приёма устройства с неподходящим передатчиком. |
|
|
|
|
|
|
|
Приёмный decoder следует проверять независимо эталонными потоками и общими limits. |
|
|
|
|
|
|
|
Нужно проверить нормализацию HEVC tier по стандарту: High tier для level 3.1 |
|
|
|
|
|
|
|
нельзя просто разрешить как ещё один корректный режим. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рекомендуемая доработка: H.264 Baseline (включая Constrained Baseline), HEVC Main, |
|
|
|
|
|
|
|
отдельные проверенные encode/decode, DPB по уровню и фактическим SPS при reorder=0. |
|
|
|
|
|
|
|
Сохранить проверку реального потока, ограниченные очереди и передачу bitrate на IDR; |
|
|
|
|
|
|
|
не исправлять маркировку SPS без доказательства соответствия. Другой вариант — |
|
|
|
|
|
|
|
поставлять на Android свои software codecs, сохранив прежний строгий контракт. |
|
|
|
|
|
|
|
Дальнейшая реализация остановлена по правилу AGENTS.md о выявленной нестыковке. |
|
|
|
|
|
|
|
После решения нужны проверки CPB/bitrate, камеры/смены Surface/lifecycle, полный |
|
|
|
|
|
|
|
check.sh, Kotlin unit-тесты и реальные звонки Android↔Android↔ChatGUI. |
|
|
|
|