diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2016-01-13 17:43:09 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2016-01-13 17:43:09 +0900 |
commit | cf7253575834d6c488235c2a6241195d19da24ed (patch) | |
tree | 38153027543551806dc94792be3a815947b947e2 | |
parent | 3fe1b78b68f012d8fe1524400e0212ace1239835 (diff) | |
download | mmsvc-recorder-cf7253575834d6c488235c2a6241195d19da24ed.tar.gz mmsvc-recorder-cf7253575834d6c488235c2a6241195d19da24ed.tar.bz2 mmsvc-recorder-cf7253575834d6c488235c2a6241195d19da24ed.zip |
[Release version 0.2.12] Support shutdown commandsubmit/tizen/20160114.021859accepted/tizen/wearable/20160114.065312accepted/tizen/tv/20160114.065243accepted/tizen/mobile/20160114.065215
Change-Id: I71519238ff9b35b1c9127114e930c4e9559fdd1c
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
-rw-r--r-- | muse/src/muse_recorder_dispatcher.c | 56 | ||||
-rw-r--r-- | packaging/mmsvc-recorder.spec | 2 |
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 |