From cd33a17ea5ac787786e5289ec914a96adeaf6346 Mon Sep 17 00:00:00 2001 From: Naoko Tanibata Date: Thu, 7 Mar 2019 13:25:01 +0900 Subject: transmitter: Fix the alignment issue This patch enables waltham-transmitter to use the stride value given by compositor. For this enabling, the below patch needs to be applied to weston. - 0020-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch Bug-AGL: SPEC-2417 Change-Id: Ic12a9a46b0761c9c6521b190d33a746736dbd4c7 Signed-off-by: Naoko Tanibata Signed-off-by: Veeresh Kadasani --- waltham-transmitter/transmitter-plugin/output.c | 2 +- waltham-transmitter/transmitter-plugin/transmitter_api.h | 1 + waltham-transmitter/waltham-renderer/waltham-renderer.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/waltham-transmitter/transmitter-plugin/output.c b/waltham-transmitter/transmitter-plugin/output.c index ef6e972..6768eee 100644 --- a/waltham-transmitter/transmitter-plugin/output.c +++ b/waltham-transmitter/transmitter-plugin/output.c @@ -192,7 +192,7 @@ transmitter_output_repaint(struct weston_output *base, (view->surface, remote, NULL); output->renderer->dmafd = - api->get_dma_fd_from_view(&output->base, view); + api->get_dma_fd_from_view(&output->base, view, &output->renderer->buf_stride); if(output->renderer->dmafd < 0) { weston_log("Failed to get dmafd\n"); goto out; diff --git a/waltham-transmitter/transmitter-plugin/transmitter_api.h b/waltham-transmitter/transmitter-plugin/transmitter_api.h index 9b3e5fe..9f382bf 100644 --- a/waltham-transmitter/transmitter-plugin/transmitter_api.h +++ b/waltham-transmitter/transmitter-plugin/transmitter_api.h @@ -270,6 +270,7 @@ struct renderer { void (*repaint_output)(struct weston_output *base); struct GstAppContext *ctx; int32_t dmafd; /* dmafd received from compositor-drm */ + int buf_stride; int surface_width; int surface_height; bool recorder_enabled; diff --git a/waltham-transmitter/waltham-renderer/waltham-renderer.c b/waltham-transmitter/waltham-renderer/waltham-renderer.c index d274e3b..76e045c 100644 --- a/waltham-transmitter/waltham-renderer/waltham-renderer.c +++ b/waltham-transmitter/waltham-renderer/waltham-renderer.c @@ -223,7 +223,7 @@ static void waltham_renderer_repaint_output(struct weston_transmitter_output *ou GstBuffer *gstbuffer; GstMemory *mem; GstAllocator *allocator; - int stride = output->renderer->surface_width * 4; + int stride = output->renderer->buf_stride; gsize offset = 0; if(!output->renderer->recorder_enabled) -- cgit 1.2.3-korg