Record live camera FPS diagnosis and guard ownership
This commit is contained in:
1 parent
f84b24806e
commit
4447f25e37
2 files changed
+13
-1
No files matched your search
+10
-1
@@ -564,7 +564,8 @@ Desktop: первый RX кадр открывает отдельное изме
|
|||||||
Видео сохраняет пропорции, своя миниатюра — в углу окна видео. F11/двойной щелчок переключают
|
Видео сохраняет пропорции, своя миниатюра — в углу окна видео. F11/двойной щелчок переключают
|
||||||
fullscreen только для видео, Esc возвращает его обычную геометрию. Закрытие видеоокна
|
fullscreen только для видео, Esc возвращает его обычную геометрию. Закрытие видеоокна
|
||||||
не завершает звонок; «Показать видео» открывает его повторно. Новые кадры сами не отменяют закрытие.
|
не завершает звонок; «Показать видео» открывает его повторно. Новые кадры сами не отменяют закрытие.
|
||||||
Preview берётся из того же QVideoFrame (до 10 fps). Только при отсутствии RX своя миниатюра
|
Preview берётся из того же QVideoFrame при появлении нового кадра, без прежнего ограничения 10 fps.
|
||||||
|
Только при отсутствии RX своя миниатюра
|
||||||
показывается в окне звонка; без кадров пустого видеоблока нет. После 5с без показанных кадров RX скрывается:
|
показывается в окне звонка; без кадров пустого видеоблока нет. После 5с без показанных кадров RX скрывается:
|
||||||
отдельного VIDEO_OFF в протоколе пока нет.
|
отдельного VIDEO_OFF в протоколе пока нет.
|
||||||
Desktop UI smoke: отдельные окна, сохранение геометрии/настроек звонка, resize видео,
|
Desktop UI smoke: отдельные окна, сохранение геометрии/настроек звонка, resize видео,
|
||||||
@@ -589,6 +590,14 @@ Samsung pulled/decoded/rendered около 30 fps, late=0. Исчезновен
|
|||||||
Теперь период KEY отсчитывается от успешной подачи нашего запроса, а не от выходного IDR;
|
Теперь период KEY отсчитывается от успешной подачи нашего запроса, а не от выходного IDR;
|
||||||
смена bitrate остаётся на границе KEY. Логи: /tmp/call-fps-sm-after.log, /tmp/call-fps-desktop-later.log.
|
смена bitrate остаётся на границе KEY. Логи: /tmp/call-fps-sm-after.log, /tmp/call-fps-desktop-later.log.
|
||||||
|
|
||||||
|
Следующий живой звонок: RX desktop сохраняется несколько минут, около 30 fps. Остаточные 16–17 fps
|
||||||
|
desktop -> SM уже возникали в самой USB-камере: V4L2 interval=1/30, Exposure Dynamic Framerate=1.
|
||||||
|
Отключение этого флага во время звонка сразу дало capture/encode/accepted=30 fps, paced=0, audio_busy=0
|
||||||
|
(/tmp/call-video-fixed-camera-rate.log). На Linux звонок теперь отключает этот флаг после активации
|
||||||
|
QCamera и восстанавливает его после остановки; автоэкспозиция не меняется. Неподдерживаемый control
|
||||||
|
не мешает работе камеры. Лог video local preview отдельно показывает частоту и время обновления миниатюры.
|
||||||
|
Общий check.sh: 154/154, proxy 9/9, burst/load PASS; Qt codec/clock и Android 81 unit PASS.
|
||||||
|
|
||||||
Подтверждённая причина фризов раз в 1–2с: коррекция capture timestamp меняла audio source_epoch,
|
Подтверждённая причина фризов раз в 1–2с: коррекция capture timestamp меняла audio source_epoch,
|
||||||
а обе платформы сбрасывали video decoder и ждали KEY. Теперь source_epoch обновляет
|
а обе платформы сбрасывали video decoder и ждали KEY. Теперь source_epoch обновляет
|
||||||
аудиопривязку без потери video references, готовых кадров и последнего показанного PTS.
|
аудиопривязку без потери video references, готовых кадров и последнего показанного PTS.
|
||||||
|
|||||||
@@ -17,6 +17,9 @@ class CallCameraRate {
|
|||||||
int fd = -1;
|
int fd = -1;
|
||||||
#endif
|
#endif
|
||||||
public:
|
public:
|
||||||
|
CallCameraRate() = default;
|
||||||
|
CallCameraRate(const CallCameraRate&) = delete;
|
||||||
|
CallCameraRate& operator=(const CallCameraRate&) = delete;
|
||||||
~CallCameraRate() { restore(); }
|
~CallCameraRate() { restore(); }
|
||||||
void restore() {
|
void restore() {
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
|
|||||||
Reference in new issue
Block a user