Open
Bug 1055093
Opened 11 years ago
Updated 2 years ago
Make transitions in the Speech Recognition state machine synchronous
Categories
(Core :: DOM: Core & HTML, defect, P5)
Core
DOM: Core & HTML
Tracking
()
NEW
People
(Reporter: ggp, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [webspeechapi])
Every call to a speech recognition method (such as start) causes an async change in the recognition object's state [1]. This can pose problems on its own, since script that calls one of these methods should probably see the change in state immediately: for example, it is possible to call start() multiple times without raising an InvalidStateError, which deviates from the spec.
Combined with the fact that we also use the event loop to buffer audio samples [2], async state transitions have caused most of our intermittent bugs, to the point where we've had to do one sync transition amidst all the others [3] (this is just a flag, but it's equivalent to having a STATE_ABORTED transition). Having only one sync transition has also caused its own share of testing pains, though (see bug 1052775).
I think making our state transitions synchronous would go a great way towards making speech code more robust and less prone to intermittent issues, so we should investigate that.
1- http://dxr.mozilla.org/mozilla-central/source/content/media/webspeech/recognition/SpeechRecognition.cpp#720
2- http://dxr.mozilla.org/mozilla-central/source/content/media/webspeech/recognition/SpeechRecognition.cpp#878
3- http://dxr.mozilla.org/mozilla-central/source/content/media/webspeech/recognition/SpeechRecognition.cpp#738
Updated•7 years ago
|
Assignee: nobody → anatal
Updated•7 years ago
|
Priority: -- → P5
| Assignee | ||
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
Updated•3 years ago
|
Severity: normal → S3
Comment 1•2 years ago
|
||
The bug assignee is inactive on Bugzilla, so the assignee is being reset.
Assignee: anatal → nobody
You need to log in
before you can comment on or make changes to this bug.
Description
•