[M120 Migration][TTS] Ignore duplicate callbacks 62/306362/4
authorManjeet <manjeet.1@partner.samsung.com>
Tue, 20 Feb 2024 20:47:12 +0000 (02:17 +0530)
committerBot Blink <blinkbot@samsung.com>
Fri, 23 Feb 2024 08:55:45 +0000 (08:55 +0000)
On VD's autohub test, sometimes, tts engine sends multiple complete
callback for same utterance. This would lead to crash.

Reference:
https://review.tizen.org/gerrit/290773
https://review.tizen.org/gerrit/299242

Change-Id: Ia62b04815d87021a57de5505541c3435e024a0c4
Signed-off-by: Manjeet <manjeet.1@partner.samsung.com>
tizen_src/chromium_impl/content/browser/speech/tts_platform_impl_tizen.cc

index 73af3d1..dc62ab4 100644 (file)
@@ -643,6 +643,13 @@ void TtsPlatformImplTizen::AddVoice(std::string language,
 
 void TtsPlatformImplTizen::OnUtteranceCompletedCallback() {
   StopSpeaking();
+
+  if (utterance_.on_speak_finished.is_null()) {
+    LOG(ERROR) << "Cannot handle OnUtteranceCompletedCallback for utterance "
+               << utterance_.utterance_id;
+    return;
+  }
+
   std::move(utterance_.on_speak_finished).Run(true);
   SendTtsEvent(utterance_.utterance_id, TTS_EVENT_END,
                utterance_.utterance.size(), 0);