[v0.6.4] support RGB format 63/92563/1 accepted/tizen/common/20161018.175419 accepted/tizen/ivi/20161019.093222 accepted/tizen/mobile/20161019.093143 accepted/tizen/tv/20161019.093201 accepted/tizen/wearable/20161019.093209 submit/tizen/20161018.110515
authorNAMJEONGYOON <just.nam@samsung.com>
Mon, 17 Oct 2016 10:52:23 +0000 (19:52 +0900)
committerNAMJEONGYOON <just.nam@samsung.com>
Mon, 17 Oct 2016 10:52:45 +0000 (19:52 +0900)
Change-Id: I54419f3ba9acd4163aff7c03ce1278c3d679cfe4

packaging/libmm-player.spec
src/mm_player_priv.c

index 07d3d24..b5ab6de 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.3
+Version:    0.6.4
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 3277205..ec4a648 100644 (file)
@@ -5043,6 +5043,7 @@ __mmplayer_video_stream_get_bo(mm_player_t* player, int size)
                continue;
        }
 }
+
 static void
 __mmplayer_video_stream_decoded_preroll_cb(GstElement* object, GstBuffer *buffer, GstPad *pad, gpointer data)
 {
@@ -5159,13 +5160,15 @@ __mmplayer_video_stream_decoded_render_cb(GstElement* object, GstBuffer *buffer,
                if (stream.format == MM_PIXEL_FORMAT_I420) {
                        stream.stride[1] = stream.stride[2] = GST_ROUND_UP_4(GST_ROUND_UP_2(stream.width) / 2);
                        stream.elevation[1] = stream.elevation[2] = stream.height / 2;
+                       size = stream.stride[0] * stream.elevation[0] + stream.stride[1] * stream.elevation[1] + stream.stride[2] * stream.elevation[2];
+               } else if (stream.format == MM_PIXEL_FORMAT_RGBA) {
+                       stream.stride[0] = stream.width * 4;
+                       size = stream.stride[0] * stream.height;
                } else {
                        LOGE("Not support format %d", stream.format);
                        gst_memory_unmap(dataBlock, &mapinfo);
                        return;
                }
-
-               size = stream.stride[0] * stream.elevation[0] + stream.stride[1] * stream.elevation[1] + stream.stride[2] * stream.elevation[2];
                stream.bo[0] = __mmplayer_video_stream_get_bo(player, size);
                if (!stream.bo[0]) {
                        LOGE("Fail to tbm_bo_alloc!!");