Revert "weston: Fix gst-record uses MONOTONIC time for IVI-Cluster system"
[AGL/meta-agl-demo.git] / recipes-graphics / wayland / weston / 0004-gst-record-Specify-bytesused-and-length-of-VSP-input.patch
1 From 28a72656562930d27ef8117a489f8299537bdfb8 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] gst-record: Specify bytesused and length of VSP input buffer
5
6 The bytesused=0 setting has been deprecated in newer kernels.
7
8 ---
9  src/gst-recorder.c | 8 ++++++--
10  1 file changed, 6 insertions(+), 2 deletions(-)
11
12 diff --git a/src/gst-recorder.c b/src/gst-recorder.c
13 index f6d12f8..de74250 100644
14 --- a/src/gst-recorder.c
15 +++ b/src/gst-recorder.c
16 @@ -487,7 +487,7 @@ vsp_request_buffers(vsp_data_t *vsp, vsp_port_n port, unsigned int num)
17  
18  /* ...enqueue dmafd buffer */
19  static int
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)
22  {
23         vsp_media_pad_t    *pad = &vsp->input;
24         struct v4l2_buffer  buf;
25 @@ -502,6 +502,8 @@ vsp_input_buffer_queue_dmafd(vsp_data_t *vsp, int i, int dmafd)
26         buf.m.planes = planes;
27         buf.length = 1;
28         buf.m.planes[0].m.fd = dmafd;
29 +       buf.m.planes[0].bytesused = bytesused;
30 +       buf.m.planes[0].length = bytesused;
31  
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)
35         GstMapInfo info;
36         int ysize;
37         int csize;
38 +       int rgbsize;
39  
40          /* get GST buffer */
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)
43  #else
44         csize = ysize / 2;
45  #endif
46 +       rgbsize = stride * r->set->height;
47  
48         pthread_mutex_lock(&r->vsp->mutex);
49         /* setup vsp */
50 @@ -1139,7 +1143,7 @@ gst_recorder_process_dmafd(struct gst_recorder *r, int fd, int stride)
51         }
52  
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");
57                 goto err_vsp;
58         }
59 -- 
60 1.9.1
61