Fix issue with bad frames changing the frame type of previous frames
Some checks failed
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux32 flags:32 name:Linux GCC 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linux64 flags:64 name:Linux GCC x64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm32 flags:arm32 name:Linux GCC ARM 32 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:linuxarm64 flags:arm64 name:Linux GCC ARM 64 os:ubuntu-latest]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:macos name:macOS Apple Silicon os:macos-14]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win32 flags:-A Win32 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 Win32 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:win64 flags:-A x64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 x64 os:windows-2022]) (push) Has been cancelled
CD / ${{ matrix.platform.name }} ${{ matrix.config.name }} (map[flags:-DBUILD_SHARED_LIBS=FALSE name:Static], map[artifact_name:winarm64 flags:-A ARM64 -DCMAKE_PARALLEL_MSVC=TRUE name:Windows VS2022 ARM os:windows-2022]) (push) Has been cancelled
CD / Create Pi Mono Setup (push) Has been cancelled
CD / Publishing (push) Has been cancelled

This commit is contained in:
Lorenzooone
2026-02-08 21:43:23 +01:00
parent 4bfc14dc1c
commit c570f68e6d
4 changed files with 25 additions and 20 deletions

View File

@@ -1079,7 +1079,7 @@ bool should_do_output(FrontendData* frontend_data) {
#endif
}
void update_output(FrontendData* frontend_data, double frame_time, VideoOutputData *out_buf, InputVideoDataType video_data_type) {
void update_output(FrontendData* frontend_data, double frame_time, VideoOutputData *out_buf, InputVideoDataType video_data_type, bool update_rendered_buffer) {
if(frontend_data->reload) {
frontend_data->top_screen->reload();
frontend_data->bot_screen->reload();
@@ -1088,17 +1088,17 @@ void update_output(FrontendData* frontend_data, double frame_time, VideoOutputDa
}
// Make sure the window is closed before showing split/non-split
if(!frontend_data->joint_screen->m_info.window_enabled)
frontend_data->joint_screen->draw(frame_time, out_buf, video_data_type);
frontend_data->joint_screen->draw(frame_time, out_buf, video_data_type, update_rendered_buffer);
if(!frontend_data->top_screen->m_info.window_enabled)
frontend_data->top_screen->draw(frame_time, out_buf, video_data_type);
frontend_data->top_screen->draw(frame_time, out_buf, video_data_type, update_rendered_buffer);
if(!frontend_data->bot_screen->m_info.window_enabled)
frontend_data->bot_screen->draw(frame_time, out_buf, video_data_type);
frontend_data->bot_screen->draw(frame_time, out_buf, video_data_type, update_rendered_buffer);
if(frontend_data->joint_screen->m_info.window_enabled)
frontend_data->joint_screen->draw(frame_time, out_buf, video_data_type);
frontend_data->joint_screen->draw(frame_time, out_buf, video_data_type, update_rendered_buffer);
if(frontend_data->top_screen->m_info.window_enabled)
frontend_data->top_screen->draw(frame_time, out_buf, video_data_type);
frontend_data->top_screen->draw(frame_time, out_buf, video_data_type, update_rendered_buffer);
if(frontend_data->bot_screen->m_info.window_enabled)
frontend_data->bot_screen->draw(frame_time, out_buf, video_data_type);
frontend_data->bot_screen->draw(frame_time, out_buf, video_data_type, update_rendered_buffer);
}
static bool are_cc_device_screens_same(const CaptureDevice &old_cc_device, const CaptureDevice &new_cc_device) {