transmitter: Fix the alignment issue 21/18721/8 sandbox/zheng_wenlong/als2019 7.99.1 7.99.2 halibut/7.99.1 halibut/7.99.2 halibut_7.99.1 halibut_7.99.2
authorNaoko Tanibata <tnaoko@jp.adit-jv.com>
Thu, 7 Mar 2019 04:25:01 +0000 (13:25 +0900)
committerNaoko Tanibata <tnaoko@jp.adit-jv.com>
Fri, 17 May 2019 13:52:56 +0000 (22:52 +0900)
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 <tnaoko@jp.adit-jv.com>
Signed-off-by: Veeresh Kadasani <external.vkadasani@jp.adit-jv.com>
waltham-transmitter/transmitter-plugin/output.c
waltham-transmitter/transmitter-plugin/transmitter_api.h
waltham-transmitter/waltham-renderer/waltham-renderer.c

index ef6e972..6768eee 100644 (file)
@@ -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;
index 9b3e5fe..9f382bf 100644 (file)
@@ -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;
index d274e3b..76e045c 100644 (file)
@@ -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)