Change FOURCC_ARGB to BGRA. 75/216375/5
authorHyunsoo Park <hance.park@samsung.com>
Thu, 24 Oct 2019 06:32:47 +0000 (15:32 +0900)
committerHyunsoo Park <hance.park@samsung.com>
Thu, 31 Oct 2019 00:23:34 +0000 (09:23 +0900)
Actually wayland server sends weird stream to waylandsrc in case of ARGB setting.
So i changed it to BRGA.

Change-Id: I6e5bb6d6dca442e39c526144d4e4af1a3175385a
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
packaging/gst-plugins-tizen.spec
waylandsrc/src/gstwaylandsrc.c

index dd2914b..1b1233c 100644 (file)
@@ -5,7 +5,7 @@
 Name:       gst-plugins-tizen
 Version:    1.0.0
 Summary:    GStreamer tizen plugins (common)
-Release:    85
+Release:    86
 Group:      Multimedia/Framework
 Url:        http://gstreamer.freedesktop.org/
 License:    LGPL-2.1+
index 465ecd3..b97de03 100644 (file)
@@ -56,20 +56,18 @@ GST_DEBUG_CATEGORY_STATIC (waylandsrc_debug);
 #define WAYLANDSRC_DUMP_FILE   "/tmp/waylandsrc.dump"
 
 #define C(b,m)              (char)(((b) >> (m)) & 0xFF)
-#define B(c,s)              ((((unsigned int)(c)) & 0xff) << (s))
-#define FOURCC(a,b,c,d)     (B(d,24) | B(c,16) | B(b,8) | B(a,0))
 #define FOURCC_STR(id)      C(id,0), C(id,8), C(id,16), C(id,24)
-#define FOURCC_ARGB         FOURCC('A','R','G','B')
-#define FOURCC_RGB32        FOURCC('R','G','B','4')
-#define FOURCC_I420         FOURCC('I','4','2','0')
-#define FOURCC_NV12         FOURCC('N','V','1','2')
-#define FOURCC_SN12         FOURCC('S','N','1','2')
-#define FOURCC_ST12         FOURCC('S','T','1','2')
+#define FOURCC_BGRA         GST_MAKE_FOURCC('B','G','R','A')
+#define FOURCC_RGB32        GST_MAKE_FOURCC('R','G','B','4')
+#define FOURCC_I420         GST_MAKE_FOURCC('I','4','2','0')
+#define FOURCC_NV12         GST_MAKE_FOURCC('N','V','1','2')
+#define FOURCC_SN12         GST_MAKE_FOURCC('S','N','1','2')
+#define FOURCC_ST12         GST_MAKE_FOURCC('S','T','1','2')
 
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("ARGB") ";"
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("BGRA") ";"
         GST_VIDEO_CAPS_MAKE ("NV12") ";" GST_VIDEO_CAPS_MAKE ("SN12"))
     );
 
@@ -846,7 +844,7 @@ gst_wayland_src_init (GstWaylandSrc * src)
   g_cond_init (&src->queue_cond);
 
   src->tbm_client = NULL;
-  src->format = FOURCC_ARGB;
+  src->format = FOURCC_BGRA;
   src->width = DEFAULT_WIDTH;
   src->height = DEFAULT_HEIGHT;
 
@@ -1114,7 +1112,7 @@ gst_wayland_src_set_caps (GstBaseSrc * psrc, GstCaps * caps)
         GST_WARNING_OBJECT (src,
             "waylandsrc format not specified in caps.. Using default ARGB");
       } else {
-        src->format = FOURCC (sformat[0], sformat[1], sformat[2], sformat[3]);
+        src->format = GST_MAKE_FOURCC (sformat[0], sformat[1], sformat[2], sformat[3]);
         if (src->format == FOURCC_SN12)
           src->format = FOURCC_NV12;
       }
@@ -1135,7 +1133,7 @@ gst_wayland_src_set_caps (GstBaseSrc * psrc, GstCaps * caps)
 
   }
 
-  if (src->use_tbm && src->format == FOURCC_ARGB)
+  if (src->use_tbm && src->format == FOURCC_BGRA)
     src->format = TBM_FORMAT_ARGB8888;
 
   /* get GstVideoInfo */
@@ -1145,7 +1143,7 @@ gst_wayland_src_set_caps (GstBaseSrc * psrc, GstCaps * caps)
   }
 
   /* Create tbm_surface_info */
-  t_surface = tbm_surface_create(src->width, src->height, TBM_FORMAT_NV12);
+  t_surface = tbm_surface_create(src->width, src->height, TBM_FORMAT_ARGB8888);
   if (!t_surface) {
     GST_ERROR_OBJECT(src, "tbm surface create failed");
     return FALSE;