+
+int ttsd_player_play_pcm(int uid)
+{
+ if (false == g_player_init) {
+ SLOG(LOG_ERROR, tts_tag(), "[Player ERROR] Not Initialized");
+ return -1;
+ }
+
+ if (NULL != g_playing_info) {
+ if (uid == g_playing_info->uid) {
+ SLOG(LOG_DEBUG, tts_tag(), "[Player] uid(%d) has already played", g_playing_info->uid);
+ return 0;
+ } else {
+ SLOG(LOG_WARN, tts_tag(), "[Player WARNING] stop old player (%d)", g_playing_info->uid);
+ ttsd_player_stop(g_playing_info->uid);
+ }
+ }
+
+ SLOG(LOG_DEBUG, tts_tag(), "[Player] start play : uid(%d)", uid);
+
+ /* Check sound queue size */
+ if (0 == ttsd_data_get_sound_data_size(uid)) {
+ SLOG(LOG_WARN, tts_tag(), "[Player WARNING] A sound queue of current player(%d) is empty", uid);
+ }
+
+ /* Check uid */
+ player_s* current;
+ current = __player_get_item(uid);
+ if (NULL == current) {
+ SLOG(LOG_ERROR, tts_tag(), "[Player ERROR] uid(%d) is not valid", uid);
+ return -1;
+ }
+
+ current->state = APP_STATE_PLAYING;
+
+ g_playing_info = current;
+
+ SLOG(LOG_INFO, tts_tag(), "[Player DEBUG] Active thread count : %d", ecore_thread_active_get());
+
+// if (0 < ttsd_data_get_sound_data_size(current->uid)) {
+ SLOG(LOG_INFO, tts_tag(), "[Player] Run thread");
+ ecore_thread_run(__play_thread, __end_play_thread, NULL, NULL);
+// }
+
+ return 0;
+}
+