diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2016-08-09 18:28:05 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2016-08-09 18:28:05 +0900 |
commit | d047c9579a1357c27c409b9fbb7c9f42c18b793b (patch) | |
tree | a4807e0a47f25a7231ab14af9cda4ed969baa71b | |
parent | 019231d23707c7436ed5119423f8dd2dd0df77d5 (diff) | |
download | mmsvc-recorder-d047c9579a1357c27c409b9fbb7c9f42c18b793b.tar.gz mmsvc-recorder-d047c9579a1357c27c409b9fbb7c9f42c18b793b.tar.bz2 mmsvc-recorder-d047c9579a1357c27c409b9fbb7c9f42c18b793b.zip |
[Release version 0.2.23] Add module initialize functionsubmit/tizen/20160811.023523submit/tizen/20160810.075454accepted/tizen/wearable/20160812.010533accepted/tizen/tv/20160812.010607accepted/tizen/mobile/20160812.010652accepted/tizen/ivi/20160812.010630accepted/tizen/common/20160811.145646
Change-Id: Ie2ae1bf27d4ee363d4c9728803765685e82d97d7
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r-- | legacy/src/legacy_recorder.c | 10 | ||||
-rw-r--r-- | muse/CMakeLists.txt | 3 | ||||
-rw-r--r-- | muse/src/muse_recorder_dispatcher.c | 36 | ||||
-rw-r--r-- | packaging/mmsvc-recorder.spec | 5 |
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} |