chore: do not restart video streaming if the format is the same

This commit is contained in:
Siyuan 2025-10-17 14:53:44 +00:00
parent 4515f41e57
commit 946981c222
1 changed files with 7 additions and 1 deletions

View File

@ -793,13 +793,19 @@ void *run_detect_format(void *arg)
(dv_timings.bt.width + dv_timings.bt.hfrontporch + dv_timings.bt.hsync + (dv_timings.bt.width + dv_timings.bt.hfrontporch + dv_timings.bt.hsync +
dv_timings.bt.hbackporch)); dv_timings.bt.hbackporch));
log_info("Frames per second: %.2f fps", frames_per_second); log_info("Frames per second: %.2f fps", frames_per_second);
bool should_restart = dv_timings.bt.width != detected_width || dv_timings.bt.height != detected_height || !detected_signal;
detected_width = dv_timings.bt.width; detected_width = dv_timings.bt.width;
detected_height = dv_timings.bt.height; detected_height = dv_timings.bt.height;
detected_signal = true; detected_signal = true;
video_report_format(true, NULL, detected_width, detected_height, frames_per_second); video_report_format(true, NULL, detected_width, detected_height, frames_per_second);
if (should_restart) {
log_info("restarting video streaming due to format change");
video_restart_streaming(); video_restart_streaming();
} }
}
memset(&ev, 0, sizeof(ev)); memset(&ev, 0, sizeof(ev));
if (ioctl(sub_dev_fd, VIDIOC_DQEVENT, &ev) != 0) if (ioctl(sub_dev_fd, VIDIOC_DQEVENT, &ev) != 0)