|
|
|
|
@ -3,7 +3,8 @@
|
|
|
|
|
Контракт |
|
|
|
|
Каждая сторона независимо включает видео. Автовыбор H.265 Main 8-bit, затем |
|
|
|
|
H.264 Constrained Baseline: пересечение encoder отправителя и decoder получателя. |
|
|
|
|
Камера, разрешение, кодек и верхняя граница битрейта меняются во время звонка. |
|
|
|
|
Камера, разрешение, кодек и диапазон битрейта меняются во время звонка. |
|
|
|
|
Автоматический диапазон по умолчанию 300–4000 кбит/с (десятичные единицы). |
|
|
|
|
|
|
|
|
|
Время |
|
|
|
|
Общая монотонная шкала захвата аудио и видео на каждом отправителе. PTS первого |
|
|
|
|
@ -198,3 +199,26 @@ rate-control, но эта ветка не меняет ret=0. Успешный r
|
|
|
|
|
понижением/повышением битрейта и отказом настройки. Непригодный H.265 backend |
|
|
|
|
не объявляется доступным; в auto используется H.264. |
|
|
|
|
Подключение платформенных codecs остановлено на этой границе согласно AGENTS.md. |
|
|
|
|
|
|
|
|
|
Настройка диапазона, 14.10.2026 |
|
|
|
|
ChatGUI: Настройки -> аудио, поля минимального/максимального битрейта видеозвонка. |
|
|
|
|
Android: Настройки -> аудио, ползунок диапазона. По умолчанию 300–4000 кбит/с; |
|
|
|
|
пользователь может сузить диапазон внутри этих границ, включая фиксированный bitrate. |
|
|
|
|
Одна атомарная настройка call_video_bitrate_range_kbps=300:4000 хранится в конфиге |
|
|
|
|
desktop / DataStore Android и передаётся в общий chat_setting. min > max отвергается |
|
|
|
|
без частичного изменения. Android включает настройку в конфиг при каждом запуске. |
|
|
|
|
Во время звонка transport читает диапазон каждые 50мс, не сбрасывая pending-команду. |
|
|
|
|
Верхняя граница ограничена проверенным codec cap текущего generation. Если новый |
|
|
|
|
минимум выше codec cap, admission приостановлен до совместимой настройки/режима; |
|
|
|
|
это событие логируется. Смена диапазона сама по себе не расширяет возможности codec. |
|
|
|
|
При сети слабее 300 кбит/с target не уходит ниже нижней границы; bounded admission |
|
|
|
|
не позволяет очереди бесконечно расти. Аудиоканал продолжает работать отдельно. |
|
|
|
|
Порог 5% при снижении не мешает достигнуть точной нижней границы диапазона. |
|
|
|
|
|
|
|
|
|
Проверено: модель полосы 150 кбит/с -> 6 Мбит/с достигает target 300 кбит/с, |
|
|
|
|
затем 4 Мбит/с, очередь остаётся ограниченной. Сетевой test_call меняет диапазон |
|
|
|
|
при pending-команде, принимает прежний ACK и затем получает target нового диапазона; |
|
|
|
|
также проверяет отказ несовместимого codec cap. Логи /tmp/call-range-rate-test.log |
|
|
|
|
и /tmp/call-range-integration-test.log. ChatGUI собран; Android assembleDebug и |
|
|
|
|
81 unit-тест прошли, /tmp/call-range-android-ui-final.log. |
|
|
|
|
Настройки и регулятор готовы; подключение камеры/codec/render остаётся отдельным этапом. |
|
|
|
|
|