Change-Id: I81da934d32f38bcbe15fb29296f41ab74e4be8eb
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Name: libmm-camcorder
Summary: Camera and recorder library
Name: libmm-camcorder
Summary: Camera and recorder library
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
/**
* Determines the socket stream path
*/
/**
* Determines the socket stream path
*/
-#define MMCAM_DISPLAY_SHM_SOCKET_PATH "display-shm-socket-path"
+#define MMCAM_DISPLAY_SOCKET_PATH "display-socket-path"
/**
* PID for sound focus
/**
* PID for sound focus
MM_CAM_SUPPORT_ZERO_COPY_FORMAT,
MM_CAM_SUPPORT_MEDIA_PACKET_PREVIEW_CB,
MM_CAM_RECORDER_TAG_ENABLE,
MM_CAM_SUPPORT_ZERO_COPY_FORMAT,
MM_CAM_SUPPORT_MEDIA_PACKET_PREVIEW_CB,
MM_CAM_RECORDER_TAG_ENABLE,
- MM_CAM_DISPLAY_SHM_SOCKET_PATH,
+ MM_CAM_DISPLAY_SOCKET_PATH,
MM_CAM_PID_FOR_SOUND_FOCUS,
MM_CAM_ROOT_DIRECTORY,
MM_CAM_ATTRIBUTE_NUM
MM_CAM_PID_FOR_SOUND_FOCUS,
MM_CAM_ROOT_DIRECTORY,
MM_CAM_ATTRIBUTE_NUM
- MM_CAM_CLIENT_DISPLAY_SHM_SOCKET_PATH,
+ MM_CAM_CLIENT_DISPLAY_SOCKET_PATH,
MM_CAM_CLIENT_DISPLAY_HANDLE,
MM_CAM_CLIENT_DISPLAY_DEVICE,
MM_CAM_CLIENT_DISPLAY_SURFACE,
MM_CAM_CLIENT_DISPLAY_HANDLE,
MM_CAM_CLIENT_DISPLAY_DEVICE,
MM_CAM_CLIENT_DISPLAY_SURFACE,
int mm_camcorder_client_get_video_caps(MMHandleType handle, char **caps);
/**
int mm_camcorder_client_get_video_caps(MMHandleType handle, char **caps);
/**
- * This function set "socket-path" element property of shmsink/src.
+ * This function set "socket-path" element property of ipc sink/src.
* To be used by both server and client.
*
* @param handle [in] Handle of camera.
* To be used by both server and client.
*
* @param handle [in] Handle of camera.
-int mm_camcorder_client_set_shm_socket_path(MMHandleType handle, const char *path);
+int mm_camcorder_client_set_socket_path(MMHandleType handle, const char *path);
/**
* This function get root directory of current process.
/**
* This function get root directory of current process.
- MM_CAM_DISPLAY_SHM_SOCKET_PATH,
- "display-shm-socket-path",
+ MM_CAM_DISPLAY_SOCKET_PATH,
+ "display-socket-path",
MMF_VALUE_TYPE_STRING,
MM_ATTRS_FLAG_RW,
{(void*)NULL},
MMF_VALUE_TYPE_STRING,
MM_ATTRS_FLAG_RW,
{(void*)NULL},
/* basic attributes' info */
mm_cam_attr_construct_info temp_info[] = {
{
/* basic attributes' info */
mm_cam_attr_construct_info temp_info[] = {
{
- MM_CAM_CLIENT_DISPLAY_SHM_SOCKET_PATH,
- MMCAM_DISPLAY_SHM_SOCKET_PATH,
+ MM_CAM_CLIENT_DISPLAY_SOCKET_PATH,
+ MMCAM_DISPLAY_SOCKET_PATH,
MMF_VALUE_TYPE_STRING,
MM_ATTRS_FLAG_RW,
{(void*)NULL},
MMF_VALUE_TYPE_STRING,
MM_ATTRS_FLAG_RW,
{(void*)NULL},
_MMCAMCORDER_PIPELINE_MAKE(sc, sc->element, _MMCAMCORDER_CLIENT_MAIN_PIPE, "camera_client", ret);
/* create source */
_MMCAMCORDER_PIPELINE_MAKE(sc, sc->element, _MMCAMCORDER_CLIENT_MAIN_PIPE, "camera_client", ret);
/* create source */
- _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_CLIENT_VIDEOSRC_SRC, "shmsrc", "shmsrc", element_list, ret);
+ if (hcamcorder->use_zero_copy_format)
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_CLIENT_VIDEOSRC_SRC, "tizenipcsrc", "camera_client_src", element_list, ret);
+ else
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_CLIENT_VIDEOSRC_SRC, "shmsrc", "camera_client_src", element_list, ret);
mm_camcorder_get_attributes(handle, NULL,
mm_camcorder_get_attributes(handle, NULL,
- MMCAM_DISPLAY_SHM_SOCKET_PATH, &socket_path, &socket_path_length,
+ MMCAM_DISPLAY_SOCKET_PATH, &socket_path, &socket_path_length,
NULL);
if (socket_path == NULL ) {
NULL);
if (socket_path == NULL ) {
- _mmcam_dbg_err("shmsink's socket path is not set");
+ _mmcam_dbg_err("socket path is not set");
goto set_videosrc_error;
}
goto set_videosrc_error;
}
- _mmcam_dbg_err("shm src socket path : %s", socket_path);
+ _mmcam_dbg_err("ipc src socket path : %s", socket_path);
g_object_set(sc->element[_MMCAMCORDER_CLIENT_VIDEOSRC_SRC].gst,
"socket-path", socket_path,
g_object_set(sc->element[_MMCAMCORDER_CLIENT_VIDEOSRC_SRC].gst,
"socket-path", socket_path,
/* create sink */
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_CLIENT_VIDEOSINK_SINK, videosink_name, "videosink_sink", element_list, ret);
/* create sink */
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_CLIENT_VIDEOSINK_SINK, videosink_name, "videosink_sink", element_list, ret);
- if (strcmp(videosink_name, "fakesink") != 0 && strcmp(videosink_name, "shmsink") != 0) {
-
+ if (strcmp(videosink_name, "fakesink") &&
+ strcmp(videosink_name, "tizenipcsink") &&
+ strcmp(videosink_name, "shmsink")) {
if (_mmcamcorder_client_videosink_window_set(handle, sc->VideosinkElement) != MM_ERROR_NONE) {
_mmcam_dbg_err("_mmcamcorder_videosink_window_set error");
ret = MM_ERROR_CAMCORDER_INVALID_ARGUMENT;
if (_mmcamcorder_client_videosink_window_set(handle, sc->VideosinkElement) != MM_ERROR_NONE) {
_mmcam_dbg_err("_mmcamcorder_videosink_window_set error");
ret = MM_ERROR_CAMCORDER_INVALID_ARGUMENT;
-static int _mm_camcorder_client_set_shm_socket_path(MMHandleType handle, const char *path)
+static int _mm_camcorder_client_set_socket_path(MMHandleType handle, const char *path)
{
int ret = MM_ERROR_NONE;
{
int ret = MM_ERROR_NONE;
_mmcam_dbg_log("handle : 0x%x, path:%s", handle, path);
_mmcam_dbg_log("handle : 0x%x, path:%s", handle, path);
mm_camcorder_set_attributes(handle, NULL,
mm_camcorder_set_attributes(handle, NULL,
- MMCAM_DISPLAY_SHM_SOCKET_PATH, path, strlen(path),
+ MMCAM_DISPLAY_SOCKET_PATH, path, strlen(path),
-int mm_camcorder_client_set_shm_socket_path(MMHandleType handle, const char *path)
+int mm_camcorder_client_set_socket_path(MMHandleType handle, const char *path)
{
int ret = MM_ERROR_NONE;
_mmcam_dbg_log("Entered ");
{
int ret = MM_ERROR_NONE;
_mmcam_dbg_log("Entered ");
- ret = _mm_camcorder_client_set_shm_socket_path(handle, path);
+ ret = _mm_camcorder_client_set_socket_path(handle, path);
MMCAM_CAMERA_HDR_CAPTURE, &sc->info_image->hdr_capture_mode,
MMCAM_IMAGE_ENCODER, &codectype,
MMCAM_IMAGE_ENCODER_QUALITY, &capture_jpg_quality,
MMCAM_CAMERA_HDR_CAPTURE, &sc->info_image->hdr_capture_mode,
MMCAM_IMAGE_ENCODER, &codectype,
MMCAM_IMAGE_ENCODER_QUALITY, &capture_jpg_quality,
- MMCAM_DISPLAY_SHM_SOCKET_PATH, &socket_path, &socket_path_len,
+ MMCAM_DISPLAY_SOCKET_PATH, &socket_path, &socket_path_len,
MMCAM_DISPLAY_SURFACE, &display_surface_type,
NULL);
if (err != MM_ERROR_NONE) {
MMCAM_DISPLAY_SURFACE, &display_surface_type,
NULL);
if (err != MM_ERROR_NONE) {
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSINK_SINK, videosink_name, "ipc_sink", element_list, err);
err = mm_camcorder_get_attributes(handle, &err_name,
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSINK_SINK, videosink_name, "ipc_sink", element_list, err);
err = mm_camcorder_get_attributes(handle, &err_name,
- MMCAM_DISPLAY_SHM_SOCKET_PATH, &socket_path, &socket_path_len,
+ MMCAM_DISPLAY_SOCKET_PATH, &socket_path, &socket_path_len,
NULL);
if (err != MM_ERROR_NONE) {
_mmcam_dbg_warn("Get socket path failed 0x%x", err);
NULL);
if (err != MM_ERROR_NONE) {
_mmcam_dbg_warn("Get socket path failed 0x%x", err);
mm_camcorder_get_attributes(handle, NULL,
MMCAM_DISPLAY_SURFACE, &display_surface_type,
MMCAM_CAMERA_RECORDING_MOTION_RATE, &motion_rate,
mm_camcorder_get_attributes(handle, NULL,
MMCAM_DISPLAY_SURFACE, &display_surface_type,
MMCAM_CAMERA_RECORDING_MOTION_RATE, &motion_rate,
- MMCAM_DISPLAY_SHM_SOCKET_PATH, &socket_path, &socket_path_len,
+ MMCAM_DISPLAY_SOCKET_PATH, &socket_path, &socket_path_len,
NULL);
/* set camera/recorder state to vconf key */
NULL);
/* set camera/recorder state to vconf key */