Swap the buffers after copying the most recent camera frame, but only upon success

This commit is contained in:
Jesse Talavera 2024-12-15 21:39:48 -05:00
parent 024fd873ec
commit 33b574198c
1 changed files with 3 additions and 2 deletions

View File

@ -419,8 +419,6 @@ static void ffmpeg_camera_poll_thread(void *data)
}
slock_lock(ffmpeg->target_buffer_lock);
ffmpeg->active_buffer = ffmpeg->active_buffer == ffmpeg->target_buffers[0] ? ffmpeg->target_buffers[1] : ffmpeg->target_buffers[0];
// TODO: When should I swap the buffers?
result = av_image_copy_to_buffer(
ffmpeg->active_buffer,
ffmpeg->target_buffer_length,
@ -431,6 +429,9 @@ static void ffmpeg_camera_poll_thread(void *data)
ffmpeg->target_frame->height,
1
);
if (result >= 0) {
ffmpeg->active_buffer = ffmpeg->active_buffer == ffmpeg->target_buffers[0] ? ffmpeg->target_buffers[1] : ffmpeg->target_buffers[0];
}
slock_unlock(ffmpeg->target_buffer_lock);
if (result < 0)
{