return result;
}
+static int __notify_utterance_started_event(unsigned int uid, int utt_id)
+{
+ int pid = ttsd_data_get_pid(uid);
+ if (pid <= 0) {
+ SLOG(LOG_ERROR, tts_tag(), "[Player] Current player is not valid. uid(%u)", uid);
+ return TTSD_ERROR_INVALID_PARAMETER;
+ }
+
+#ifdef BUF_SAVE_MODE
+ __open_buffer_dump_file();
+#endif
+ __set_playing_status(true);
+
+ if (0 != ttsdc_ipc_send_utt_start_message(pid, uid, utt_id)) {
+ SLOG(LOG_ERROR, tts_tag(), "[Player ERROR] Fail to send Utterance Started Signal : pid(%d), uid(%u), utt_id(%d)",
+ pid, uid, utt_id);
+ return TTSD_ERROR_OPERATION_FAILED;
+ }
+
+ SLOG(LOG_INFO, tts_tag(), "[Player] Start utterance : uid(%u), utt_id(%d)", uid, utt_id);
+ return TTSD_ERROR_NONE;
+}
+
+static int __notify_utterance_completed_event(unsigned int uid, int utt_id)
+{
+ int pid = ttsd_data_get_pid(uid);
+ if (pid <= 0) {
+ SLOG(LOG_ERROR, tts_tag(), "[Player] Current player is not valid. uid(%u)", uid);
+ return TTSD_ERROR_INVALID_PARAMETER;
+ }
+
+#ifdef BUF_SAVE_MODE
+ __close_buffer_dump_file();
+#endif
+ __set_playing_status(false);
+
+ if (0 != ttsdc_ipc_send_utt_finish_message(pid, uid, utt_id)) {
+ SLOG(LOG_ERROR, tts_tag(), "[Player ERROR] Fail to send Utterance Completed Signal : pid(%d), uid(%u), utt_id(%d)",
+ pid, uid, utt_id);
+ return TTSD_ERROR_OPERATION_FAILED;
+ }
+
+ SLOG(LOG_INFO, tts_tag(), "[Player] Complete utterance : uid(%u), utt_id(%d)", uid, utt_id);
+ return TTSD_ERROR_NONE;
+}
+
static int __play_sound_data(player_s* player, sound_data_s* sound_data)
{
if (TTSD_ERROR_NONE != g_audio_stream->setAudioFormat(sound_data->audio_type, sound_data->rate)) {
* When previous wdata's event is 'finish' and current wdata's event is 'finish',
* the player should send utt started event.
*/
- if (TTSE_RESULT_EVENT_START == sound_data->event ||
- (TTSE_RESULT_EVENT_FINISH == player->event && TTSE_RESULT_EVENT_FINISH == sound_data->event)) {
- int pid = ttsd_data_get_pid(player->uid);
- if (pid <= 0) {
- SLOG(LOG_WARN, tts_tag(), "[Send WARNIING] Current player is not valid. uid(%u)", player->uid);
- /* unset volume policy, volume will be 100% */
+ if (TTSE_RESULT_EVENT_START == sound_data->event || (TTSE_RESULT_EVENT_FINISH == player->event && TTSE_RESULT_EVENT_FINISH == sound_data->event)) {
+ int ret = __notify_utterance_started_event(player->uid, sound_data->utt_id);
+ if (TTSD_ERROR_INVALID_PARAMETER == ret) {
__unset_policy_for_playing();
return;
}
-
-#ifdef BUF_SAVE_MODE
- __open_buffer_dump_file();
-#endif
-
- __set_playing_status(true);
- if (0 != ttsdc_ipc_send_utt_start_message(pid, player->uid, sound_data->utt_id)) {
- SLOG(LOG_ERROR, tts_tag(), "[Send ERROR] Fail to send Utterance Start Signal : pid(%d), uid(%u), uttid(%d)",
- pid, player->uid, sound_data->utt_id);
- }
- SLOG(LOG_INFO, tts_tag(), "[Player] Start utterance : uid(%u), uttid(%d)", player->uid, sound_data->utt_id);
} // (TTSE_RESULT_EVENT_START == sound_data->event || (TTSE_RESULT_EVENT_FINISH == player->event && TTSE_RESULT_EVENT_FINISH == sound_data->event))
/* Save last event to check utterance start */
if (TTSE_RESULT_EVENT_FINISH == event) {
SLOG(LOG_DEBUG, tts_tag(), "No sound data");
- /* send utterence finish signal */
- int pid = ttsd_data_get_pid(player->uid);
-
- if (pid <= 0) {
- SLOG(LOG_WARN, tts_tag(), "[Send WARNIING] Current player is not valid. uid(%u)", player->uid);
- /* unset volume policy, volume will be 100% */
- __unset_policy_for_playing();
- return;
- }
-
__unset_policy_for_playing();
-#ifdef BUF_SAVE_MODE
- __close_buffer_dump_file();
-#endif
-
- __set_playing_status(false);
-
-
- if (0 != ttsdc_ipc_send_utt_finish_message(pid, player->uid, utt_id)) {
- SLOG(LOG_ERROR, tts_tag(), "[Send ERROR] Fail to send Utterance Completed Signal : pid(%d), uid(%u), uttid(%d)",
- pid, player->uid, utt_id);
- } else {
- SLOG(LOG_INFO, tts_tag(), "[Player] Finish utterance : uid(%u), uttid(%d)", player->uid, utt_id);
+ ret = __notify_utterance_completed_event(player->uid, utt_id);
+ if (TTSD_ERROR_INVALID_PARAMETER == ret) {
+ return;
}
} // TTSE_RESULT_EVENT_FINISH == event
SLOG(LOG_INFO, tts_tag(), "[Player] Event(%d) utterance : uid(%u), uttid(%d)", event, player->uid, utt_id);
}
sound_data = nullptr;
- if ((APP_STATE_PLAYING == player->state || APP_STATE_PAUSED == player->state) &&
- (TTSE_RESULT_EVENT_FINISH == event)) {
- /* send utterence finish signal */
- int pid = ttsd_data_get_pid(player->uid);
-
- if (pid <= 0) {
- SLOG(LOG_WARN, tts_tag(), "[Send WARNIING] Current player is not valid. uid(%u)", player->uid);
- /* unset volume policy, volume will be 100% */
- __unset_policy_for_playing();
- return;
- }
-
-#ifdef BUF_SAVE_MODE
- __close_buffer_dump_file();
-#endif
- __set_playing_status(false);
-
- if (0 != ttsdc_ipc_send_utt_finish_message(pid, player->uid, utt_id)) {
- SLOG(LOG_ERROR, tts_tag(), "[Send ERROR] Fail to send Utterance Completed Signal : pid(%d), uid(%u), uttid(%d)",
- pid, player->uid, utt_id);
- /* unset volume policy, volume will be 100% */
+ if ((APP_STATE_PLAYING == player->state || APP_STATE_PAUSED == player->state) && (TTSE_RESULT_EVENT_FINISH == event)) {
+ ret = __notify_utterance_completed_event(player->uid, utt_id);
+ if (TTSD_ERROR_NONE != ret) {
__unset_policy_for_playing();
return;
}
-
- SLOG(LOG_INFO, tts_tag(), "[Player] Finish utterance : uid(%u), uttid(%d)", player->uid, utt_id);
} // ((APP_STATE_PLAYING == player->state || APP_STATE_PAUSED == player->state) && (TTSE_RESULT_EVENT_FINISH == event))
if (NULL == g_playing_info && APP_STATE_READY == player->state) {