1*4882a593SmuzhiyunFrom 94c32fccde6eb7de6858624e23bb1f567c6e3d35 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Tue, 20 Nov 2018 17:33:22 +0800 4*4882a593SmuzhiyunSubject: [PATCH 04/41] kmssink: Support render rectangle for plane 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 7*4882a593Smuzhiyun--- 8*4882a593Smuzhiyun sys/kms/gstkmssink.c | 12 +++++++++++- 9*4882a593Smuzhiyun 1 file changed, 11 insertions(+), 1 deletion(-) 10*4882a593Smuzhiyun 11*4882a593Smuzhiyundiff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c 12*4882a593Smuzhiyunindex 16d4afb..797f57c 100644 13*4882a593Smuzhiyun--- a/sys/kms/gstkmssink.c 14*4882a593Smuzhiyun+++ b/sys/kms/gstkmssink.c 15*4882a593Smuzhiyun@@ -776,6 +776,9 @@ configure_mode_setting (GstKMSSink * self, GstVideoInfo * vinfo) 16*4882a593Smuzhiyun if (err) 17*4882a593Smuzhiyun goto modesetting_failed; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun+ self->hdisplay = mode->hdisplay; 20*4882a593Smuzhiyun+ self->vdisplay = mode->vdisplay; 21*4882a593Smuzhiyun+ 22*4882a593Smuzhiyun g_clear_pointer (&self->tmp_kmsmem, gst_memory_unref); 23*4882a593Smuzhiyun self->tmp_kmsmem = (GstMemory *) kmsmem; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun@@ -1921,7 +1924,14 @@ gst_kms_sink_show_frame (GstVideoSink * vsink, GstBuffer * buf) 26*4882a593Smuzhiyun GST_OBJECT_LOCK (self); 27*4882a593Smuzhiyun if (self->modesetting_enabled) { 28*4882a593Smuzhiyun self->buffer_id = fb_id; 29*4882a593Smuzhiyun- goto sync_frame; 30*4882a593Smuzhiyun+ 31*4882a593Smuzhiyun+ if (!self->render_rect.w || !self->render_rect.h) 32*4882a593Smuzhiyun+ goto sync_frame; 33*4882a593Smuzhiyun+ 34*4882a593Smuzhiyun+ if (!self->render_rect.x && !self->render_rect.y && 35*4882a593Smuzhiyun+ self->render_rect.w == self->hdisplay && 36*4882a593Smuzhiyun+ self->render_rect.h == self->vdisplay) 37*4882a593Smuzhiyun+ goto sync_frame; 38*4882a593Smuzhiyun } 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun if ((crop = gst_buffer_get_video_crop_meta (buffer))) { 41*4882a593Smuzhiyun-- 42*4882a593Smuzhiyun2.20.1 43*4882a593Smuzhiyun 44