diff options
author | Sejun Park <sejun79.park@samsung.com> | 2017-12-18 19:41:45 +0900 |
---|---|---|
committer | Sejun Park <sejun79.park@samsung.com> | 2017-12-19 08:58:51 +0900 |
commit | 15cc8252e7950b09636be5d795834d15e0d29883 (patch) | |
tree | 971d38c8ea376463c2e8ff87e9da5c4d839bd40e | |
parent | 0e2c8f33133cddc10e10a5aeeebaa64802d855c0 (diff) | |
download | libmm-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-x | src/include/mm_player_internal.h | 1 | ||||
-rwxr-xr-x | src/mm_player_capture.c | 27 |
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); |