static int recorder_cmd_dispatcher_shutdown(muse_module_h module)
{
+ int ret = RECORDER_ERROR_NONE;
recorder_state_e state = RECORDER_STATE_NONE;
muse_recorder_handle_s *muse_recorder = NULL;
switch (state) {
case RECORDER_STATE_PAUSED:
case RECORDER_STATE_RECORDING:
- legacy_recorder_commit(muse_recorder->recorder_handle);
+ ret = legacy_recorder_commit(muse_recorder->recorder_handle);
+ if (ret != RECORDER_ERROR_NONE) {
+ LOGE("commit failed. cancel...");
+ legacy_recorder_cancel(muse_recorder->recorder_handle);
+ }
/* fall through */
case RECORDER_STATE_READY:
legacy_recorder_unprepare(muse_recorder->recorder_handle);
/* fall through */
case RECORDER_STATE_CREATED:
- if (legacy_recorder_destroy(muse_recorder->recorder_handle) == RECORDER_ERROR_NONE) {
+ ret = legacy_recorder_destroy(muse_recorder->recorder_handle);
+ if (ret == RECORDER_ERROR_NONE) {
_recorder_remove_export_data(module, 0, TRUE);
g_mutex_clear(&muse_recorder->list_lock);
free(muse_recorder);
muse_recorder = NULL;
+ } else {
+ LOGE("shutdown failed for handle %p %p",
+ muse_recorder, muse_recorder->recorder_handle);
}
break;
default: