summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSejun Park <sejun79.park@samsung.com>2017-12-18 19:41:45 +0900
committerSejun Park <sejun79.park@samsung.com>2017-12-19 08:58:51 +0900
commit15cc8252e7950b09636be5d795834d15e0d29883 (patch)
tree971d38c8ea376463c2e8ff87e9da5c4d839bd40e
parent0e2c8f33133cddc10e10a5aeeebaa64802d855c0 (diff)
downloadlibmm-player-15cc8252e7950b09636be5d795834d15e0d29883.tar.gz
libmm-player-15cc8252e7950b09636be5d795834d15e0d29883.tar.bz2
libmm-player-15cc8252e7950b09636be5d795834d15e0d29883.zip
fixed converting issue when decoding with s/w codecsubmit/tizen_4.0/20171219.043609accepted/tizen/4.0/unified/20171220.064254
Change-Id: I4aef71e251b2c583934d79437d94534fe6b1c0f2
-rwxr-xr-xsrc/include/mm_player_internal.h1
-rwxr-xr-xsrc/mm_player_capture.c27
2 files changed, 17 insertions, 11 deletions
diff --git a/src/include/mm_player_internal.h b/src/include/mm_player_internal.h
index 8504d97..d0c33f2 100755
--- a/src/include/mm_player_internal.h
+++ b/src/include/mm_player_internal.h
@@ -100,6 +100,7 @@ typedef enum {
MM_PLAYER_COLORSPACE_RGB888, /**< RGB888 pixel format */
MM_PLAYER_COLORSPACE_NV12_TILED, /**< Customized color format */
MM_PLAYER_COLORSPACE_NV12,
+ MM_PLAYER_COLORSPACE_BGRx, /**< BGRx pixel format */
MM_PLAYER_COLORSPACE_MAX = 0x7FFFFFFF
} MMPlayerVideoColorspace;
diff --git a/src/mm_player_capture.c b/src/mm_player_capture.c
index 7f1e5df..10aabf5 100755
--- a/src/mm_player_capture.c
+++ b/src/mm_player_capture.c
@@ -569,19 +569,24 @@ __mmplayer_get_video_frame_from_buffer(mm_player_t* player, GstPad *pad, GstBuff
if (gst_structure_has_name(structure, "video/x-raw")) {
/* NV12T */
const gchar *gst_format = gst_structure_get_string(structure, "format");
- if (!g_strcmp0(gst_format, "ST12") || !g_strcmp0(gst_format, "SN12") || !g_strcmp0(gst_format, "S420")) {
- guint n;
- LOGI("captured format is %s\n", gst_format);
+ if (!g_strcmp0(gst_format, "ST12"))
+ player->video_cs = MM_PLAYER_COLORSPACE_NV12_TILED;
+ else if (!g_strcmp0(gst_format, "S420"))
+ player->video_cs = MM_PLAYER_COLORSPACE_I420;
+ else if (!g_strcmp0(gst_format, "SN12"))
+ player->video_cs = MM_PLAYER_COLORSPACE_NV12;
+ else if (!g_strcmp0(gst_format, "BGRx"))
+ player->video_cs = MM_PLAYER_COLORSPACE_BGRx;
+ else
+ player->video_cs = MM_PLAYER_COLORSPACE_MAX;
+
+ LOGI("captured format is %s\n", gst_format);
+
+ if (!g_strcmp0(gst_format, "ST12") || !g_strcmp0(gst_format, "SN12")
+ || !g_strcmp0(gst_format, "S420")) {
+ guint n;
MMVideoBuffer *proved = NULL;
- if (!g_strcmp0(gst_format, "ST12"))
- player->video_cs = MM_PLAYER_COLORSPACE_NV12_TILED;
- else if (!g_strcmp0(gst_format, "S420"))
- player->video_cs = MM_PLAYER_COLORSPACE_I420;
- else if (!g_strcmp0(gst_format, "SN12"))
- player->video_cs = MM_PLAYER_COLORSPACE_NV12;
- else
- player->video_cs = MM_PLAYER_COLORSPACE_MAX;
/* get video frame info from proved buffer */
n = gst_buffer_n_memory(buffer);