Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 68c30e63bd2664d632c899686f369678e11685a7
https://github.com/WebKit/WebKit/commit/68c30e63bd2664d632c899686f369678e11685a7
Author: Tim Horton <[email protected]>
Date: 2023-02-27 (Mon, 27 Feb 2023)
Changed paths:
M Source/WebCore/Modules/speech/cocoa/WebSpeechRecognizerTask.mm
Log Message:
-----------
Non-continuous SpeechRecognition returns multiple results, eventually gets
stuck returning the same utterance
https://bugs.webkit.org/show_bug.cgi?id=252936
rdar://105898841
Reviewed by Sihui Liu.
In non-continuous mode, our SpeechRecognizer behavior differs greatly from
other browsers and the spec: it returns multiple results, and returns all
utterances from the session in confidence order on each new recognition,
resulting in the "most confident" transcript getting "stuck" after a while.
* Source/WebCore/Modules/speech/cocoa/WebSpeechRecognizerTask.mm:
(-[WebSpeechRecognizerTaskImpl speechRecognitionTask:didFinishRecognition:]):
Explicitly stop the session once we get one recognition result when in
non-continuous mode,
because this is not communicated to the Speech framework in any other way, so it
just keeps happily recognizing.
Also, avoid dispatching extraneous recognitions while we're cancelling,
or, more importantly, when we're stopping in non-continuous mode.
Canonical link: https://commits.webkit.org/260889@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes