From: sooyeon Date: Mon, 29 Apr 2024 01:58:26 +0000 (+0900) Subject: Change a checker to save pcm buffer X-Git-Tag: accepted/tizen/unified/toolchain/20240610.173109~8^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eab19847cd7264cfb4657654533e0df5c69ab51a;p=platform%2Fcore%2Fuifw%2Ftts.git Change a checker to save pcm buffer Change-Id: Ib9a066b2a71d0b13cc90199fec94b7715286e281 Signed-off-by: sooyeon --- diff --git a/server/ttsd_player.cpp b/server/ttsd_player.cpp index 2a966784..40ffa375 100644 --- a/server/ttsd_player.cpp +++ b/server/ttsd_player.cpp @@ -33,16 +33,12 @@ static const intptr_t CHECK_TIMER_DELETE = 1; static const int EXTRA_INFO_LENGTH = 20; /* Sound buf save for test */ -/* -#define BUF_SAVE_MODE -*/ - -#ifdef BUF_SAVE_MODE +#define TTS_BUF_SAVE_FILE "/usr/share/tts_pcm_save" +static bool g_is_buf_save = false; static char g_temp_file_name[128] = {'\0',}; static FILE* g_pFile; static int g_count = 0; static pthread_mutex_t g_buf_save_mutex = PTHREAD_MUTEX_INITIALIZER; -#endif /** player init info */ static bool g_player_init = false; @@ -72,7 +68,6 @@ static void set_playing_status(bool is_playing) } } -#ifdef BUF_SAVE_MODE static void open_buffer_dump_file() { pthread_mutex_lock(&g_buf_save_mutex); @@ -136,7 +131,6 @@ static void write_buffer_dump_file(const void* buffer, size_t length) pthread_mutex_unlock(&g_buf_save_mutex); } -#endif static void set_policy_for_playing(unsigned int uid) { @@ -175,9 +169,9 @@ static int notify_utterance_started_event(unsigned int uid, int utt_id) return TTSD_ERROR_INVALID_PARAMETER; } -#ifdef BUF_SAVE_MODE - open_buffer_dump_file(); -#endif + if (true == g_is_buf_save) { + open_buffer_dump_file(); + } set_playing_status(true); if (0 != ttsdc_ipc_send_utt_start_message(pid, uid, utt_id)) { @@ -198,9 +192,9 @@ static int notify_utterance_completed_event(unsigned int uid, int utt_id) return TTSD_ERROR_INVALID_PARAMETER; } -#ifdef BUF_SAVE_MODE - close_buffer_dump_file(); -#endif + if (true == g_is_buf_save) { + close_buffer_dump_file(); + } set_playing_status(false); if (0 != ttsdc_ipc_send_utt_finish_message(pid, uid, utt_id)) { @@ -249,9 +243,9 @@ static int play_sound_data(PlayerThread* player, unsigned int uid, sound_data_s* SLOG(LOG_INFO, tts_tag(), "[Player INFO] Before audio_out_write. data(%p), data[%d](%p), uid(%u), utt_id(%d), len(%u)", temp_data, idx, &temp_data[idx], uid, sound_data->utt_id, len); -#ifdef BUF_SAVE_MODE - write_buffer_dump_file(&temp_data[idx], len); -#endif + if (true == g_is_buf_save) { + write_buffer_dump_file(&temp_data[idx], len); + } if (TTSD_ERROR_NONE != g_audio_stream->playAudioData(&temp_data[idx], len)) { SLOG(LOG_WARN, tts_tag(), "[Player WARNING] Fail to write audio"); @@ -404,9 +398,9 @@ static void play_utterance_cb(PlayerThread* player, unsigned int uid) g_audio_stream->unprepareAudioOut(); unset_policy_for_playing(uid); -#ifdef BUF_SAVE_MODE - close_buffer_dump_file(); -#endif + if (true == g_is_buf_save) { + close_buffer_dump_file(); + } SLOG(LOG_DEBUG, tts_tag(), "[PLAYER] Finish play utterance. uid(%u)", uid); } @@ -428,9 +422,9 @@ int ttsd_player_init() int ttsd_player_release(void) { -#ifdef BUF_SAVE_MODE - close_buffer_dump_file(); -#endif + if (true == g_is_buf_save) { + close_buffer_dump_file(); + } set_playing_status(false); if (false == g_player_init) { @@ -473,6 +467,15 @@ int ttsd_player_play(unsigned int uid) return TTSD_ERROR_NONE; } + /* check whether saving PCM buffer or not */ + if (0 == access(TTS_BUF_SAVE_FILE, 0)) { + SLOG(LOG_DEBUG, tts_tag(), "[Player] Save PCM buffers"); + g_is_buf_save = true; + } else { + SLOG(LOG_DEBUG, tts_tag(), "[Player] Do not save PCM buffers"); + g_is_buf_save = false; + } + SLOG(LOG_INFO, tts_tag(), "[Player] start play : uid(%u)", uid); g_player_thread->requestPlay(uid); @@ -492,9 +495,9 @@ int ttsd_player_stop(unsigned int uid) SLOG(LOG_DEBUG, tts_tag(), "[Player] No current playing"); } -#ifdef BUF_SAVE_MODE - close_buffer_dump_file(); -#endif + if (true == g_is_buf_save) { + close_buffer_dump_file(); + } set_playing_status(false); ttsd_data_set_last_sound_result_event(uid, TTSE_RESULT_EVENT_FINISH); @@ -524,9 +527,9 @@ int ttsd_player_pause(unsigned int uid) g_player_thread->requestStop(); } -#ifdef BUF_SAVE_MODE - close_buffer_dump_file(); -#endif + if (true == g_is_buf_save) { + close_buffer_dump_file(); + } set_playing_status(false); SLOG(LOG_INFO, tts_tag(), "[Player SUCCESS] Pause player : uid(%u)", uid);