1 From 5113afc62375fad1548005452399db38df5e82a0 Mon Sep 17 00:00:00 2001
2 From: Damian Hobson-Garcia <dhobsong@igel.co.jp>
3 Date: Tue, 9 May 2017 18:07:52 +0900
4 Subject: [PATCH 4/4] gst-record: Specify bytesused and length of VSP input
7 The bytesused=0 setting has been deprecated in newer kernels.
9 libweston/gst-recorder.c | 8 ++++++--
10 1 file changed, 6 insertions(+), 2 deletions(-)
12 diff --git a/libweston/gst-recorder.c b/libweston/gst-recorder.c
13 index d2cf8dc..7dafd95 100644
14 --- a/libweston/gst-recorder.c
15 +++ b/libweston/gst-recorder.c
16 @@ -484,7 +484,7 @@ vsp_request_buffers(vsp_data_t *vsp, vsp_port_n port, unsigned int num)
18 /* ...enqueue dmafd buffer */
20 -vsp_input_buffer_queue_dmafd(vsp_data_t *vsp, int i, int dmafd)
21 +vsp_input_buffer_queue_dmafd(vsp_data_t *vsp, int i, int dmafd, int bytesused)
23 vsp_media_pad_t *pad = &vsp->input;
24 struct v4l2_buffer buf;
25 @@ -499,6 +499,8 @@ vsp_input_buffer_queue_dmafd(vsp_data_t *vsp, int i, int dmafd)
26 buf.m.planes = planes;
28 buf.m.planes[0].m.fd = dmafd;
29 + buf.m.planes[0].bytesused = bytesused;
30 + buf.m.planes[0].length = bytesused;
32 /* ...submit buffer */
33 if (ioctl(pad->fd, VIDIOC_QBUF, &buf) < 0) {
34 @@ -1098,6 +1100,7 @@ gst_recorder_process_dmafd(struct gst_recorder *r, int fd, int stride)
41 if (gst_recorder_omx_buffer_acquire(r, &buf, &info) < 0) {
42 @@ -1111,6 +1114,7 @@ gst_recorder_process_dmafd(struct gst_recorder *r, int fd, int stride)
46 + rgbsize = stride * r->set->height;
48 pthread_mutex_lock(&r->vsp->mutex);
50 @@ -1139,7 +1143,7 @@ gst_recorder_process_dmafd(struct gst_recorder *r, int fd, int stride)
53 /* queue input vsp buffer */
54 - if (vsp_input_buffer_queue_dmafd(r->vsp, 0, fd) < 0) {
55 + if (vsp_input_buffer_queue_dmafd(r->vsp, 0, fd, rgbsize) < 0) {
56 weston_log("VSP: failed to queue input buffer\n");