summaryrefslogtreecommitdiff
path: root/muse/src/muse_recorder_dispatcher.c
diff options
context:
space:
mode:
Diffstat (limited to 'muse/src/muse_recorder_dispatcher.c')
-rw-r--r--muse/src/muse_recorder_dispatcher.c71
1 files changed, 69 insertions, 2 deletions
diff --git a/muse/src/muse_recorder_dispatcher.c b/muse/src/muse_recorder_dispatcher.c
index 9305dbc..6c5b31f 100644
--- a/muse/src/muse_recorder_dispatcher.c
+++ b/muse/src/muse_recorder_dispatcher.c
@@ -223,6 +223,25 @@ void _recorder_disp_interrupted_cb(recorder_policy_e policy, recorder_state_e pr
return;
}
+void _recorder_disp_interrupt_started_cb(recorder_policy_e policy, recorder_state_e state, void *user_data)
+{
+ muse_module_h module = (muse_module_h)user_data;
+
+ if (module == NULL) {
+ LOGE("NULL module");
+ return;
+ }
+
+ muse_recorder_msg_event2(MUSE_RECORDER_CB_EVENT,
+ MUSE_RECORDER_EVENT_TYPE_INTERRUPT_STARTED,
+ MUSE_RECORDER_EVENT_CLASS_THREAD_MAIN,
+ module,
+ INT, policy,
+ INT, state);
+
+ return;
+}
+
void _recorder_disp_error_cb(recorder_error_e error, recorder_state_e current_state, void *user_data)
{
muse_module_h module = (muse_module_h)user_data;
@@ -1136,6 +1155,52 @@ int recorder_dispatcher_unset_interrupted_cb(muse_module_h module)
return MUSE_RECORDER_ERROR_NONE;
}
+int recorder_dispatcher_set_interrupt_started_cb(muse_module_h module)
+{
+ int ret = RECORDER_ERROR_NONE;
+ muse_recorder_api_e api = MUSE_RECORDER_API_SET_INTERRUPT_STARTED_CB;
+ muse_recorder_api_class_e class = MUSE_RECORDER_API_CLASS_IMMEDIATE;
+ 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");
+ ret = RECORDER_ERROR_INVALID_OPERATION;
+ muse_recorder_msg_return(api, class, ret, module);
+ return MUSE_RECORDER_ERROR_NONE;
+ }
+
+ ret = legacy_recorder_set_interrupt_started_cb(muse_recorder->recorder_handle,
+ (recorder_interrupt_started_cb)_recorder_disp_interrupt_started_cb,
+ (void *)module);
+
+ muse_recorder_msg_return(api, class, ret, module);
+
+ return MUSE_RECORDER_ERROR_NONE;
+}
+
+int recorder_dispatcher_unset_interrupt_started_cb(muse_module_h module)
+{
+ int ret = RECORDER_ERROR_NONE;
+ muse_recorder_api_e api = MUSE_RECORDER_API_UNSET_INTERRUPT_STARTED_CB;
+ muse_recorder_api_class_e class = MUSE_RECORDER_API_CLASS_IMMEDIATE;
+ 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");
+ ret = RECORDER_ERROR_INVALID_OPERATION;
+ muse_recorder_msg_return(api, class, ret, module);
+ return MUSE_RECORDER_ERROR_NONE;
+ }
+
+ ret = legacy_recorder_unset_interrupt_started_cb(muse_recorder->recorder_handle);
+
+ muse_recorder_msg_return(api, class, ret, module);
+
+ return MUSE_RECORDER_ERROR_NONE;
+}
+
int recorder_dispatcher_set_audio_stream_cb(muse_module_h module)
{
int ret = RECORDER_ERROR_NONE;
@@ -2328,7 +2393,9 @@ int (*dispatcher[MUSE_RECORDER_API_MAX]) (muse_module_h module) = {
recorder_dispatcher_set_sound_stream_info, /* MUSE_RECORDER_API_SET_SOUND_STREAM_INFO */
recorder_dispatcher_get_device_state, /* MUSE_RECORDER_API_GET_DEVICE_STATE */
recorder_dispatcher_set_muxed_stream_cb, /* MUSE_RECORDER_API_SET_MUXED_STREAM_CB */
- recorder_dispatcher_unset_muxed_stream_cb /* MUSE_RECORDER_API_UNSET_MUXED_STREAM_CB */
+ recorder_dispatcher_unset_muxed_stream_cb, /* MUSE_RECORDER_API_UNSET_MUXED_STREAM_CB */
+ recorder_dispatcher_set_interrupt_started_cb, /* MUSE_RECORDER_API_SET_INTERRUPT_STARTED_CB */
+ recorder_dispatcher_unset_interrupt_started_cb /* MUSE_RECORDER_API_UNSET_INTERRUPT_STARTED_CB */
};
@@ -2432,7 +2499,7 @@ static int recorder_cmd_external_storage_state_changed(muse_module_h module)
return MUSE_RECORDER_ERROR_NONE;
}
- storage_state = (int)muse_core_client_get_cust_data(module);
+ storage_state = (int)(long)muse_core_client_get_cust_data(module);
LOGW("storage state %d", storage_state);