summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2016-01-13 17:43:09 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2016-01-13 17:43:09 +0900
commitcf7253575834d6c488235c2a6241195d19da24ed (patch)
tree38153027543551806dc94792be3a815947b947e2
parent3fe1b78b68f012d8fe1524400e0212ace1239835 (diff)
downloadmmsvc-recorder-cf7253575834d6c488235c2a6241195d19da24ed.tar.gz
mmsvc-recorder-cf7253575834d6c488235c2a6241195d19da24ed.tar.bz2
mmsvc-recorder-cf7253575834d6c488235c2a6241195d19da24ed.zip
Change-Id: I71519238ff9b35b1c9127114e930c4e9559fdd1c Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r--muse/src/muse_recorder_dispatcher.c56
-rw-r--r--packaging/mmsvc-recorder.spec2
2 files changed, 55 insertions, 3 deletions
diff --git a/muse/src/muse_recorder_dispatcher.c b/muse/src/muse_recorder_dispatcher.c
index d61706e..6c3f2e2 100644
--- a/muse/src/muse_recorder_dispatcher.c
+++ b/muse/src/muse_recorder_dispatcher.c
@@ -34,7 +34,7 @@
#ifdef LOG_TAG
#undef LOG_TAG
#endif
-#define LOG_TAG "MMSVC_RECORDER"
+#define LOG_TAG "MUSED_RECORDER"
#define RECORDER_PRIVILEGE_NAME "http://tizen.org/privilege/recorder"
@@ -501,8 +501,10 @@ int recorder_dispatcher_destroy(muse_module_h module)
if (ret == RECORDER_ERROR_NONE) {
_recorder_remove_export_data(module, 0, TRUE);
- muse_recorder->bufmgr = NULL;
g_mutex_clear(&muse_recorder->list_lock);
+
+ muse_recorder->bufmgr = NULL;
+
free(muse_recorder);
muse_recorder = NULL;
} else {
@@ -1904,3 +1906,53 @@ int (*dispatcher[MUSE_RECORDER_API_MAX]) (muse_module_h module) = {
recorder_dispatcher_attr_set_root_directory, /* MUSE_RECORDER_API_ATTR_SET_ROOT_DIRECTORY, */
recorder_dispatcher_return_buffer, /* MUSE_RECORDER_API_RETURN_BUFFER, */
};
+
+
+/******************/
+/* cmd dispatcher */
+/******************/
+static int recorder_cmd_dispatcher_shutdown(muse_module_h module)
+{
+ recorder_state_e state = RECORDER_STATE_NONE;
+ muse_recorder_handle_s *muse_recorder = NULL;
+
+ muse_recorder = (muse_recorder_handle_s *)muse_core_ipc_get_handle(module);
+ if (muse_recorder == NULL) {
+ LOGE("NULL handle");
+ return MUSE_RECORDER_ERROR_NONE;
+ }
+
+ legacy_recorder_get_state(muse_recorder->recorder_handle, &state);
+
+ LOGW("current state : %d", state);
+
+ switch (state) {
+ case RECORDER_STATE_PAUSED:
+ case RECORDER_STATE_RECORDING:
+ legacy_recorder_commit(muse_recorder->recorder_handle);
+ case RECORDER_STATE_READY:
+ legacy_recorder_unprepare(muse_recorder->recorder_handle);
+ case RECORDER_STATE_CREATED:
+ if (legacy_recorder_destroy(muse_recorder->recorder_handle) == RECORDER_ERROR_NONE) {
+ _recorder_remove_export_data(module, 0, TRUE);
+
+ g_mutex_clear(&muse_recorder->list_lock);
+
+ muse_recorder->bufmgr = NULL;
+
+ free(muse_recorder);
+ muse_recorder = NULL;
+ }
+ default:
+ break;
+ }
+
+ LOGW("done");
+
+ return MUSE_RECORDER_ERROR_NONE;
+}
+
+int (*cmd_dispatcher[MUSE_MODULE_EVENT_MAX])(muse_module_h module) = {
+ recorder_cmd_dispatcher_shutdown, /* MUSE_MODULE_EVENT_SHUTDOWN */
+ NULL, /* MUSE_MODULE_EVENT_DEBUG_INFO_DUMP */
+};
diff --git a/packaging/mmsvc-recorder.spec b/packaging/mmsvc-recorder.spec
index a4e9940..eef4ce2 100644
--- a/packaging/mmsvc-recorder.spec
+++ b/packaging/mmsvc-recorder.spec
@@ -1,6 +1,6 @@
Name: mmsvc-recorder
Summary: A Recorder module for muse server
-Version: 0.2.11
+Version: 0.2.12
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0