From 2c1610017ded2893e4d2f96849531ffa6028f3e5 Mon Sep 17 00:00:00 2001 From: jpark37 Date: Sat, 30 Jan 2021 00:10:38 -0800 Subject: [PATCH] linux-v4l2: Fix ignored return value --- plugins/linux-v4l2/v4l2-output.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/linux-v4l2/v4l2-output.c b/plugins/linux-v4l2/v4l2-output.c index 3620ee4b7..899d05f48 100644 --- a/plugins/linux-v4l2/v4l2-output.c +++ b/plugins/linux-v4l2/v4l2-output.c @@ -177,7 +177,14 @@ static void virtualcam_stop(void *data, uint64_t ts) static void virtual_video(void *param, struct video_data *frame) { struct virtualcam_data *vcam = (struct virtualcam_data *)param; - write(vcam->device, frame->data[0], vcam->frame_size); + uint32_t frame_size = vcam->frame_size; + while (frame_size > 0) { + ssize_t written = + write(vcam->device, frame->data[0], vcam->frame_size); + if (written == -1) + break; + frame_size -= written; + } } struct obs_output_info virtualcam_info = {