Closed
Bug 695612
Opened 14 years ago
Closed 13 years ago
nsRemotedAudioStream::Write is non-blocking
Categories
(Core :: Audio/Video, defect)
Tracking
()
People
(Reporter: kinetik, Assigned: kinetik)
References
Details
Attachments
(1 file)
4.84 KB,
patch
|
cajbir
:
review+
|
Details | Diff | Splinter Review |
nsAudioStream consumers expect Write to block when the backend audio buffer is full, and rely on this behaviour to put audio refill threads to sleep until buffer space becomes available.
nsRemotedAudio's Write does not block, and currently has no knowledge of how full the audio stream's buffers it is remoting to actually are.
Assignee | ||
Comment 1•14 years ago
|
||
I don't plan to work on this anytime soon. The NativeUI Fennec project for Android is single process, which means we can use sydneyaudio (and future audio APIs) directly without the remoted nsAudioStream.
Assignee | ||
Comment 2•14 years ago
|
||
So I don't forget: Oleg's media bridge patch in bug 598868 is useful for pointers on how to do non-main-thread IPC bridging, which would make fixing this bug much simpler by allowing Write() to be an synchronous inter-audio-thread call.
This would be quite easy to do. We might want this for b2g.
Blocks: b2g-e10s-work
Updated•13 years ago
|
blocking-basecamp: --- → +
Assignee | ||
Comment 4•13 years ago
|
||
This is kind of a crummy fix, but we already use this technique to make Drain() blocking, so it's super simple to reuse it for Write.
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Assignee | ||
Updated•13 years ago
|
Attachment #638266 -
Flags: review?(chris.double)
Updated•13 years ago
|
Attachment #638266 -
Flags: review?(chris.double) → review+
Assignee | ||
Comment 5•13 years ago
|
||
I spun off bug 770753 for reworking the PAudio protocol to avoid shunting everything through the main threads of each process (which I mentioned in comment 2 in thus bug).
Assignee | ||
Comment 6•13 years ago
|
||
Target Milestone: --- → mozilla16
Comment 7•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•