summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2018-09-10 17:05:14 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2018-09-10 19:29:40 +0900
commit2ce9503d527bf0e619cf35f981e63d7d862e7740 (patch)
tree7265da3b87d3e0430a046d6012545c93332697a3
parent9586339c11df0cc2f5bf16e2ccf9bd720956bc4a (diff)
downloadlibmm-camcorder-2ce9503d527bf0e619cf35f981e63d7d862e7740.tar.gz
libmm-camcorder-2ce9503d527bf0e619cf35f981e63d7d862e7740.tar.bz2
libmm-camcorder-2ce9503d527bf0e619cf35f981e63d7d862e7740.zip
[Version] 0.10.169 [Profile] Common [Issue Type] Update [Dependency module] N/A [Test] [M(T) - Boot=(OK), sdb=(OK), Home=(OK), Touch=(OK), Version=tizen-unified_20180910.1] Change-Id: Ied08466a39f1a2b602e0aacf65719473f7847908 Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r--packaging/libmm-camcorder.spec2
-rw-r--r--src/include/mm_camcorder.h5
-rw-r--r--src/mm_camcorder_gstcommon.c19
-rw-r--r--src/mm_camcorder_util.c6
4 files changed, 28 insertions, 4 deletions
diff --git a/packaging/libmm-camcorder.spec b/packaging/libmm-camcorder.spec
index 76c5dde..1a84d80 100644
--- a/packaging/libmm-camcorder.spec
+++ b/packaging/libmm-camcorder.spec
@@ -1,6 +1,6 @@
Name: libmm-camcorder
Summary: Camera and recorder library
-Version: 0.10.168
+Version: 0.10.169
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
diff --git a/src/include/mm_camcorder.h b/src/include/mm_camcorder.h
index ad53612..9ad8416 100644
--- a/src/include/mm_camcorder.h
+++ b/src/include/mm_camcorder.h
@@ -1682,7 +1682,8 @@ typedef enum {
MM_CAM_STREAM_DATA_YUV420P, /**< YUV420 Plannar type - 3 planes */
MM_CAM_STREAM_DATA_YUV422P, /**< YUV422 Plannar type - 3 planes */
MM_CAM_STREAM_DATA_ENCODED, /**< Encoded data type - 1 plane */
- MM_CAM_STREAM_DATA_DEPTH /**< Depth data type - 1 plane */
+ MM_CAM_STREAM_DATA_DEPTH, /**< Depth data type - 1 plane */
+ MM_CAM_STREAM_DATA_RGB /**< RGB data type - 1 plane */
} MMCamStreamData;
@@ -1784,7 +1785,7 @@ typedef struct {
struct {
unsigned char *data;
unsigned int length_data;
- } encoded, depth;
+ } encoded, depth, rgb;
} data; /**< pointer of captured stream */
MMCamStreamData data_type; /**< data type */
unsigned int length_total; /**< total length of stream buffer (in byte)*/
diff --git a/src/mm_camcorder_gstcommon.c b/src/mm_camcorder_gstcommon.c
index 2204baf..922625b 100644
--- a/src/mm_camcorder_gstcommon.c
+++ b/src/mm_camcorder_gstcommon.c
@@ -1865,6 +1865,14 @@ static GstPadProbeReturn __mmcamcorder_video_dataprobe_preview(GstPad *pad, GstP
stream.stride[0] = stream.width << 1;
stream.elevation[0] = stream.height;
break;
+ case MM_PIXEL_FORMAT_RGBA:
+ case MM_PIXEL_FORMAT_ARGB:
+ stream.data_type = MM_CAM_STREAM_DATA_RGB;
+ stream.data.rgb.data = mapinfo.data;
+ stream.data.rgb.length_data = stream.length_total;
+ stream.stride[0] = stream.width << 2;
+ stream.elevation[0] = stream.height;
+ break;
default:
stream.data_type = MM_CAM_STREAM_DATA_YUV420;
stream.data.yuv420.yuv = mapinfo.data;
@@ -2714,7 +2722,16 @@ bool _mmcamcorder_set_videosrc_caps(MMHandleType handle, unsigned int fourcc, in
}
if (caps) {
- _mmcam_dbg_log("vidoesrc new caps set. %"GST_PTR_FORMAT, caps);
+ gchar *caps_str = gst_caps_to_string(caps);
+
+ if (caps_str) {
+ _mmcam_dbg_log("vidoesrc new caps set [%s]", caps_str);
+ g_free(caps_str);
+ caps_str = NULL;
+ } else {
+ _mmcam_dbg_warn("caps string failed");
+ }
+
MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSRC_FILT].gst, "caps", caps);
gst_caps_unref(caps);
caps = NULL;
diff --git a/src/mm_camcorder_util.c b/src/mm_camcorder_util.c
index 49c6ebf..8647211 100644
--- a/src/mm_camcorder_util.c
+++ b/src/mm_camcorder_util.c
@@ -1546,6 +1546,12 @@ unsigned int _mmcamcorder_get_fourcc(int pixtype, int codectype, int use_zero_co
case MM_PIXEL_FORMAT_RGB888:
fourcc = GST_MAKE_FOURCC('R', 'G', 'B', ' ');
break;
+ case MM_PIXEL_FORMAT_RGBA:
+ fourcc = GST_MAKE_FOURCC('B', 'G', 'R', 'x');
+ break;
+ case MM_PIXEL_FORMAT_ARGB:
+ fourcc = GST_MAKE_FOURCC('x', 'R', 'G', 'B');
+ break;
case MM_PIXEL_FORMAT_ENCODED:
if (codectype == MM_IMAGE_CODEC_JPEG) {
fourcc = GST_MAKE_FOURCC('J', 'P', 'E', 'G');