Change a checker to save pcm buffer 28/310428/2
authorsooyeon <sooyeon.kim@samsung.com>
Mon, 29 Apr 2024 01:58:26 +0000 (10:58 +0900)
committersooyeon <sooyeon.kim@samsung.com>
Mon, 29 Apr 2024 02:35:27 +0000 (11:35 +0900)
Change-Id: Ib9a066b2a71d0b13cc90199fec94b7715286e281
Signed-off-by: sooyeon <sooyeon.kim@samsung.com>
server/ttsd_player.cpp

index 2a966784ddaaf3585e133f217ba0d90ff65654a1..40ffa3758dfdd5d2e6f68a44b35635daf3b1d085 100644 (file)
@@ -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);