From: Ji-hoon Lee Date: Tue, 12 May 2020 09:37:20 +0000 (+0900) Subject: Temporary integration with ma_ap library X-Git-Tag: submit/tizen/20200709.044120^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F08%2F238108%2F2;p=platform%2Fcore%2Fuifw%2Fvoice-control.git Temporary integration with ma_ap library Change-Id: Ib76300f7dfe19072669e43d1b33898a6ff8b5ce8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 8574677..90fc56b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,12 +48,12 @@ INCLUDE(FindPkgConfig) IF("${_TV_PRODUCT}" STREQUAL "TRUE") pkg_check_modules(pkgs REQUIRED aul buxton2 capi-appfw-app-control capi-appfw-app-manager capi-base-common capi-media-audio-io capi-media-sound-manager ecore-wl2 - capi-network-bluetooth capi-network-bluetooth-tv capi-system-info cynara-client cynara-session dbus-1 db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf msfapi farfield-voice-api + capi-network-bluetooth capi-network-bluetooth-tv capi-system-info cynara-client cynara-session dbus-1 db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf msfapi farfield-voice-api multi-assistant ) ELSE() pkg_check_modules(pkgs REQUIRED aul buxton2 capi-appfw-app-control capi-appfw-app-manager capi-base-common capi-media-audio-io capi-media-sound-manager ecore-wl2 - capi-system-info cynara-client cynara-session dbus-1 db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf + capi-system-info cynara-client cynara-session dbus-1 db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf multi-assistant ) ENDIF() diff --git a/packaging/voice-control.spec b/packaging/voice-control.spec index 1d9f2d3..78801c1 100644 --- a/packaging/voice-control.spec +++ b/packaging/voice-control.spec @@ -40,6 +40,7 @@ BuildRequires: pkgconfig(msfapi) BuildRequires: pkgconfig(farfield-voice-api) %endif BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(multi-assistant) BuildRequires: cmake %description diff --git a/server/vcd_recorder.c b/server/vcd_recorder.c index a2d2648..7a48d61 100644 --- a/server/vcd_recorder.c +++ b/server/vcd_recorder.c @@ -43,6 +43,8 @@ #include "vcd_recorder.h" #include "vcd_main.h" +#include + #define FRAME_LENGTH 160 #define BUFFER_LENGTH FRAME_LENGTH * 2 @@ -258,6 +260,25 @@ static void _ffv_audio_function_cb(void* data, unsigned int length, void* user_d } #endif +void audio_streaming_cb(ma_audio_streaming_event_e event, char* buffer, int len, void* user_data) +{ + if (0 == g_buffer_count || 0 == g_buffer_count % 50) { + SLOG(LOG_INFO, TAG_VCD, "[Recorder INFO] MA_ap audio function callback is invoked"); + + if (100000 == g_buffer_count) { + g_buffer_count = 0; + } + } + + g_buffer_count++; + + if (NULL != g_audio_cb) { + if (0 != g_audio_cb(buffer, len)) { + SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail to read audio"); + } + } +} + #if 1 static const char* __get_focus_changed_reason_code(sound_stream_focus_change_reason_e reason) { @@ -504,11 +525,15 @@ int vcd_recorder_create(vcd_recoder_audio_cb audio_cb, vcd_recorder_interrupt_cb SLOG(LOG_INFO, TAG_VCD, "[Recorder] Audio type : %s", g_current_audio_type); + ma_ap_initialize(); + ma_ap_set_audio_streaming_cb(audio_streaming_cb, NULL); + return 0; } int vcd_recorder_destroy() { + ma_ap_deinitialize(); if (VCD_RECORDER_STATE_RECORDING == g_recorder_state) { if (0 == strncmp(VCE_AUDIO_ID_BLUETOOTH, g_current_audio_type, strlen(VCE_AUDIO_ID_BLUETOOTH))) { #ifdef TV_BT_MODE