Skip to content

Polish personal video calls and incoming video UX - #18

Draft
AbdulKus wants to merge 5 commits into
mainfrom
agent/video-call-preview-controls
Draft

Polish personal video calls and incoming video UX#18
AbdulKus wants to merge 5 commits into
mainfrom
agent/video-call-preview-controls

Conversation

@AbdulKus

@AbdulKus AbdulKus commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Что изменено

Экран видеозвонка

  • локальное видео остаётся компактным (108×162 dp), не перекрывает интерфейс и перетаскивается по экрану со снэпом к ближайшему краю;
  • пока камера собеседника выключена, фоном остаётся его фото профиля;
  • вращение иконки смены камеры заменено коротким pulse-эффектом;
  • системный PiP использует портретную пропорцию видео 9:16 и SCALE_ASPECT_FIT.

Входящий видеозвонок

  • на экране и в уведомлении явно указано «Входящий видеозвонок»;
  • кнопка с камерой отвечает с видео, кнопка с телефоном — только с микрофоном; видимых подписей под кнопками нет;
  • те же варианты доступны из уведомления;
  • при отказе в разрешении камеры звонок принимается без видео, а камеру можно включить позже.

Стабильность прямого видеозвонка

  • direct-video сессия снова создаётся с неактивным video capture source — это необходимо, чтобы tgcalls построил видеограф при первоначальном согласовании;
  • камера остаётся неактивной во время создания native media graph;
  • захват запускается только после установки Java/EGL video sinks;
  • для direct-video уже подключённый capture source не передаётся в setVideoCapture() повторно при активации;
  • этот порядок сохраняет рабочий сценарий audio→video и устраняет регрессию, при которой прямой видеозвонок падал у звонящего и принимающего;
  • native initialization failure явно обрабатывается вместо продолжения с нулевым указателем.

Ограничение Telegram/TDLib

До принятия личного звонка TDLib не предоставляет входящий видеопоток: acceptCall передаёт только ID звонка и поддерживаемый протокол. Поэтому до ответа показывается фото профиля вызывающего, а не live-превью камеры.

Проверка

  • все изменённые Java-файлы успешно разобраны синтаксическим парсером;
  • EN/RU XML-ресурсы успешно разобраны;
  • git diff --no-index --check — без whitespace-ошибок;
  • C++ direct-video строки возвращены из ранее успешно собранного пути, но без преждевременной активации capture;
  • полную ARM64/native-сборку выполняет GitHub Actions.

@AbdulKus AbdulKus changed the title Fix movable video preview and compact PiP Polish personal video calls and incoming video UX Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant