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