Use ecore_main_loop_thread_safe_call_async() instead of timer
authorJi-hoon Lee <dalton.lee@samsung.com>
Tue, 20 Aug 2019 11:59:56 +0000 (20:59 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Tue, 20 Aug 2019 11:59:58 +0000 (20:59 +0900)
Change-Id: I47e74554baf3dd216ce45ab686adb41cf47d9785

src/multi_assistant_service_plugin.c

index cd2fa8d..4909f43 100644 (file)
@@ -268,18 +268,15 @@ static bool __validate_streaming_event_order(int pid, wakeup_speech_streaming_ev
        return ret;
 }
 
-static Eina_Bool handle_speech_streaming_event_failure(void *data)
+static void handle_speech_streaming_event_failure(void *data)
 {
        mas_client_send_recognition_result(0, MA_RECOGNITION_RESULT_EVENT_ERROR);
-    return ECORE_CALLBACK_CANCEL;
 }
 
 static void __audio_streaming_cb(wakeup_speech_streaming_event_e event, unsigned char* buffer, int len, void *user_data)
 {
        if (event == WAKEUP_SPEECH_STREAMING_EVENT_FAIL) {
-               ecore_thread_main_loop_begin();
-               ecore_timer_add(0.0f, handle_speech_streaming_event_failure, NULL);
-               ecore_thread_main_loop_begin();
+               ecore_main_loop_thread_safe_call_async(handle_speech_streaming_event_failure, NULL);
                return;
        }
        static int count = 0;