Skip to content

Commit 5e2749d

Browse files
author
Alain Volmat
committed
samples: video: tcpserversink: check video_enqueue/dequeue return values
Add proper check of the return value of video_enqueue / video_dequeue. Signed-off-by: Alain Volmat <[email protected]>
1 parent b3cce3e commit 5e2749d

File tree

1 file changed

+26
-6
lines changed
  • samples/drivers/video/tcpserversink/src

1 file changed

+26
-6
lines changed

samples/drivers/video/tcpserversink/src/main.c

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,10 @@ int configure_encoder(void)
131131
}
132132

133133
buffer->type = VIDEO_BUF_TYPE_OUTPUT;
134-
video_enqueue(encoder_dev, buffer);
134+
if (video_enqueue(encoder_dev, buffer)) {
135+
LOG_ERR("Unable to enqueue encoder output buf");
136+
return -1;
137+
}
135138

136139
/* Set input format */
137140
if (strcmp(CONFIG_VIDEO_PIXEL_FORMAT, "")) {
@@ -165,12 +168,16 @@ int encode_frame(struct video_buffer *in, struct video_buffer **out)
165168
int ret;
166169

167170
in->type = VIDEO_BUF_TYPE_INPUT;
168-
video_enqueue(encoder_dev, in);
171+
ret = video_enqueue(encoder_dev, in);
172+
if (ret) {
173+
LOG_ERR("Unable to enqueue encoder input buf");
174+
return ret;
175+
}
169176

170177
(*out)->type = VIDEO_BUF_TYPE_OUTPUT;
171178
ret = video_dequeue(encoder_dev, out, K_FOREVER);
172179
if (ret) {
173-
LOG_ERR("Unable to dequeue encoder buf");
180+
LOG_ERR("Unable to dequeue encoder output buf");
174181
return ret;
175182
}
176183

@@ -422,7 +429,11 @@ int main(void)
422429

423430
/* Enqueue Buffers */
424431
for (i = 0; i < ARRAY_SIZE(buffers); i++) {
425-
video_enqueue(video_dev, buffers[i]);
432+
ret = video_enqueue(video_dev, buffers[i]);
433+
if (ret) {
434+
LOG_ERR("Unable to enqueue video buf");
435+
return 0;
436+
}
426437
}
427438

428439
/* Start video capture */
@@ -452,7 +463,12 @@ int main(void)
452463
ret = sendall(client, vbuf_out->buffer, vbuf_out->bytesused);
453464

454465
vbuf_out->type = VIDEO_BUF_TYPE_OUTPUT;
455-
video_enqueue(encoder_dev, vbuf_out);
466+
ret = video_enqueue(encoder_dev, vbuf_out);
467+
if (ret) {
468+
LOG_ERR("Unable to enqueue encoder output buf");
469+
return 0;
470+
}
471+
456472
#else
457473
LOG_INF("Sending frame %d", i++);
458474
/* Send video buffer to TCP client */
@@ -465,7 +481,11 @@ int main(void)
465481
}
466482

467483
vbuf->type = VIDEO_BUF_TYPE_INPUT;
468-
(void)video_enqueue(video_dev, vbuf);
484+
ret = video_enqueue(video_dev, vbuf);
485+
if (ret) {
486+
LOG_ERR("Unable to enqueue video buf");
487+
return 0;
488+
}
469489
} while (!ret);
470490

471491
/* stop capture */

0 commit comments

Comments
 (0)