Open Bug 1209524 Opened 9 years ago Updated 2 years ago

Speech pause/resume does not work

Categories

(Core :: Audio/Video: MediaStreamGraph, defect, P4)

defect

Tracking

()

People

(Reporter: eeejay, Unassigned)

References

Details

When using a direct audio service, resume after pausing does not work. There seems to be no audio output, although the utterance eventually completes.

STR:
1. Either use B2G on a device or compile with --enable-synth-pico (and set LD_LIBARY_PATH, and PICO_LANG_PATH accordingly).
2. Go to eeejay.github.io/webspeechdemos.
3. Press "speak it".
4. Press pause/play button.
5. Speech pauses.
6. Press pause/play again.

Result: No audio is outputted on resume, but the speech eventually ends.

Expected: Audio should continue from where it was paused.

This seems to be a regression from bug 1189506. I can't follow MSG well enough to pinpoint the exact issue.
Roc, as the author of the patch in bug 1189506, does anything seem obvious with the problem? Suspend/Resume was added to nsSpeechTask.
Flags: needinfo?(roc)
Hmm, it looks like it ought to work :-(.

Try logging calls to MediaStreamGraphImpl::DecrementSuspendCount and MediaStreamGraphImpl::IncrementSuspendCount to see if IncrementSuspendCount is balanced by DecrementSuspendCount on resume?

This is my fault so I'll look into it next week (about to go on PTO), but if you fix it first I'd be super happy :-)
Flags: needinfo?(roc)
I could definitely add logging.

I don't think it is an issue of an imbalanced count, because the utterance completes OK and MediaStreamListener::NotifyBlockingChanged gets called. It seems like no sound is getting to the device after the resume.
pinging roc re comment 2
Flags: needinfo?(roc)
Priority: -- → P3
Mass change P3->P4 to align with new Mozilla triage process.
Priority: P3 → P4
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.