summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2016-08-09 18:28:05 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2016-08-09 18:28:05 +0900
commitd047c9579a1357c27c409b9fbb7c9f42c18b793b (patch)
treea4807e0a47f25a7231ab14af9cda4ed969baa71b
parent019231d23707c7436ed5119423f8dd2dd0df77d5 (diff)
downloadmmsvc-recorder-d047c9579a1357c27c409b9fbb7c9f42c18b793b.tar.gz
mmsvc-recorder-d047c9579a1357c27c409b9fbb7c9f42c18b793b.tar.bz2
mmsvc-recorder-d047c9579a1357c27c409b9fbb7c9f42c18b793b.zip
Change-Id: Ie2ae1bf27d4ee363d4c9728803765685e82d97d7 Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r--legacy/src/legacy_recorder.c10
-rw-r--r--muse/CMakeLists.txt3
-rw-r--r--muse/src/muse_recorder_dispatcher.c36
-rw-r--r--packaging/mmsvc-recorder.spec5
4 files changed, 49 insertions, 5 deletions
diff --git a/legacy/src/legacy_recorder.c b/legacy/src/legacy_recorder.c
index b089ec0..3218202 100644
--- a/legacy/src/legacy_recorder.c
+++ b/legacy/src/legacy_recorder.c
@@ -304,6 +304,7 @@ static int __mm_recorder_msg_cb(int message, void *param, void *user_data)
case MM_ERROR_CAMCORDER_DEVICE_TIMEOUT:
case MM_ERROR_CAMCORDER_DEVICE_WRONG_JPEG:
recorder_error = RECORDER_ERROR_DEVICE;
+ LOGE("ERROR_DEVICE : 0x%x", m->code);
break;
case MM_ERROR_CAMCORDER_GST_CORE:
case MM_ERROR_CAMCORDER_GST_LIBRARY:
@@ -320,24 +321,31 @@ static int __mm_recorder_msg_cb(int message, void *param, void *user_data)
case MM_ERROR_FILE_NOT_FOUND:
case MM_ERROR_FILE_READ:
recorder_error = RECORDER_ERROR_INVALID_OPERATION;
+ LOGE("INVALID_OPERATION : 0x%x", m->code);
break;
case MM_ERROR_CAMCORDER_LOW_MEMORY:
case MM_ERROR_CAMCORDER_MNOTE_MALLOC:
recorder_error = RECORDER_ERROR_OUT_OF_MEMORY;
+ LOGE("OUT_OF_MEMORY : 0x%x", m->code);
break;
case MM_ERROR_CAMCORDER_DEVICE_REG_TROUBLE:
recorder_error = RECORDER_ERROR_ESD;
+ LOGE("ESD : 0x%x", m->code);
break;
case MM_ERROR_OUT_OF_STORAGE:
recorder_error = RECORDER_ERROR_OUT_OF_STORAGE;
+ LOGE("OUT_OF_STORAGE : 0x%x", m->code);
break;
default:
recorder_error = RECORDER_ERROR_INVALID_OPERATION;
+ LOGE("INVALID_OPERATION : 0x%x", m->code);
break;
}
- if (recorder_error != 0 && handle->user_cb[_RECORDER_EVENT_TYPE_ERROR])
+ if (handle->user_cb[_RECORDER_EVENT_TYPE_ERROR])
((recorder_error_cb)handle->user_cb[_RECORDER_EVENT_TYPE_ERROR])(recorder_error, handle->state, handle->user_data[_RECORDER_EVENT_TYPE_ERROR]);
+ else
+ LOGW("ERROR cb was not set");
break;
case MM_MESSAGE_CAMCORDER_CURRENT_VOLUME:
if (handle->last_max_input_level < m->rec_volume_dB)
diff --git a/muse/CMakeLists.txt b/muse/CMakeLists.txt
index 99449f0..d626f0f 100644
--- a/muse/CMakeLists.txt
+++ b/muse/CMakeLists.txt
@@ -2,7 +2,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
SET(service "muse")
SET(submodule "recorder")
-SET(dependents "dlog mused mm-common glib-2.0")
+SET(dependents "dlog mused mm-common glib-2.0 gstreamer-1.0")
SET(fw_name "${service}-${submodule}")
PROJECT(${fw_name})
@@ -28,6 +28,7 @@ ENDIF("${ARCH}" STREQUAL "arm")
ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
ADD_DEFINITIONS("-DTIZEN_DEBUG")
+ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIB_INSTALL_DIR}")
diff --git a/muse/src/muse_recorder_dispatcher.c b/muse/src/muse_recorder_dispatcher.c
index ad1e483..bf6b941 100644
--- a/muse/src/muse_recorder_dispatcher.c
+++ b/muse/src/muse_recorder_dispatcher.c
@@ -29,6 +29,7 @@
#include <muse_camera_internal.h>
#include <mm_types.h>
#include <dlog.h>
+#include <gst/gst.h>
#include "legacy_recorder_internal.h"
#ifdef LOG_TAG
@@ -1939,6 +1940,37 @@ int (*dispatcher[MUSE_RECORDER_API_MAX]) (muse_module_h module) = {
/******************/
/* cmd dispatcher */
/******************/
+static int recorder_cmd_dispatcher_initialize(muse_module_h module)
+{
+ int item_count = 0;
+ int i = 0;
+ GstPlugin *plugin = NULL;
+
+ const char *load_list[] = {
+ LIBDIR"/gstreamer-1.0/libgstencodebin.so",
+ };
+
+ item_count = sizeof(load_list) / sizeof(load_list[0]);
+
+ LOGD("item count %d", item_count);
+
+ for (i = 0 ; i < item_count ; i++) {
+ plugin = gst_plugin_load_file(load_list[i], NULL);
+ if (plugin) {
+ LOGD("%s loaded", load_list[i]);
+ gst_object_unref(plugin);
+ plugin = NULL;
+ } else {
+ LOGW("failed to load %s", load_list[i]);
+ }
+ }
+
+ LOGD("done");
+
+ return MUSE_RECORDER_ERROR_NONE;
+}
+
+
static int recorder_cmd_dispatcher_shutdown(muse_module_h module)
{
recorder_state_e state = RECORDER_STATE_NONE;
@@ -1984,7 +2016,9 @@ static int recorder_cmd_dispatcher_shutdown(muse_module_h module)
}
int (*cmd_dispatcher[MUSE_MODULE_COMMAND_MAX])(muse_module_h module) = {
- NULL, /* MUSE_MODULE_COMMAND_INITIALIZE */
+ recorder_cmd_dispatcher_initialize, /* MUSE_MODULE_COMMAND_INITIALIZE */
recorder_cmd_dispatcher_shutdown, /* MUSE_MODULE_COMMAND_SHUTDOWN */
NULL, /* MUSE_MODULE_COMMAND_DEBUG_INFO_DUMP */
+ NULL, /* MUSE_MODULE_COMMAND_CREATE_SERVER_ACK */
+ NULL /* MUSE_MODULE_COMMAND_RESOURCE_NOT_AVAILABLE */
};
diff --git a/packaging/mmsvc-recorder.spec b/packaging/mmsvc-recorder.spec
index 0d493e5..6a014cd 100644
--- a/packaging/mmsvc-recorder.spec
+++ b/packaging/mmsvc-recorder.spec
@@ -1,11 +1,12 @@
Name: mmsvc-recorder
Summary: A Recorder module for muse server
-Version: 0.2.22
+Version: 0.2.23
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
BuildRequires: cmake
+BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(mm-camcorder)
BuildRequires: pkgconfig(capi-base-common)
@@ -36,7 +37,7 @@ Development related files of a recorder module for muse server.
%build
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir}
make %{?jobs:-j%jobs}