1*4882a593SmuzhiyunFrom 435b81d9a824e535268728d8042ffeae0ca239ec Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com>
3*4882a593SmuzhiyunDate: Fri, 15 Jul 2022 12:14:44 +0800
4*4882a593SmuzhiyunSubject: [PATCH 35/41] waylandsink: Fix buffer size error when video cropped
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunPrefer video meta's size instead of the cropped size from caps.
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunTested with:
9*4882a593Smuzhiyungst-launch-1.0 videotestsrc ! videocrop left=100 ! waylandsink
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
12*4882a593Smuzhiyun---
13*4882a593Smuzhiyun ext/wayland/gstwaylandsink.c | 4 ++++
14*4882a593Smuzhiyun 1 file changed, 4 insertions(+)
15*4882a593Smuzhiyun
16*4882a593Smuzhiyundiff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
17*4882a593Smuzhiyunindex 183529a..a962c61 100644
18*4882a593Smuzhiyun--- a/ext/wayland/gstwaylandsink.c
19*4882a593Smuzhiyun+++ b/ext/wayland/gstwaylandsink.c
20*4882a593Smuzhiyun@@ -1040,6 +1040,10 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer)
21*4882a593Smuzhiyun   if (vmeta) {
22*4882a593Smuzhiyun     gint i;
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun+    /* prefer the padded width/height from vmeta */
25*4882a593Smuzhiyun+    self->video_info.width = vmeta->width;
26*4882a593Smuzhiyun+    self->video_info.height = vmeta->height;
27*4882a593Smuzhiyun+
28*4882a593Smuzhiyun     for (i = 0; i < vmeta->n_planes; i++) {
29*4882a593Smuzhiyun       self->video_info.offset[i] = vmeta->offset[i];
30*4882a593Smuzhiyun       self->video_info.stride[i] = vmeta->stride[i];
31*4882a593Smuzhiyun--
32*4882a593Smuzhiyun2.20.1
33*4882a593Smuzhiyun
34