Closed
Bug 1103824
Opened 10 years ago
Closed 4 years ago
Investigate first initialization of IAudioClient used in libcubeb
Categories
(Core :: Audio/Video: cubeb, defect, P3)
Tracking
()
RESOLVED
WONTFIX
mozilla41
People
(Reporter: kinetik, Assigned: kinetik)
References
(Depends on 1 open bug)
Details
Attachments
(1 file)
7.42 KB,
patch
|
padenot
:
review+
|
Details | Diff | Splinter Review |
While looking at bug 1096717, I noticed that the IAudioClient docs have the following warning: Note: In Windows 8, the first use of IAudioClient to access the audio device should be on the STA thread. Calls from an MTA thread may result in undefined behavior. It doesn't look like we do anything special to ensure this happens in libcubeb, so we'll need to address this at some stage to avoid surprises.
Assignee | ||
Comment 1•9 years ago
|
||
Initialize (and discard, to avoid keeping resources alive via sCubebContext that may never be used) a cubeb context on the main thread. Change cubeb's auto_com to treat RPC_E_CHANGED_MODE as an error, since that's really telling us that we're asking for (and not getting) MTA on a thread that has already been initialized as STA. Check that we get an STA initialization in cubeb_init the first time it's called, and use that opportunity to completely initialize (and then discard) an IAudioClient.
Assignee | ||
Comment 2•9 years ago
|
||
Try push looks okay: https://treeherder.mozilla.org/#/jobs?repo=try&revision=52e645df36d1
Updated•9 years ago
|
Attachment #8605670 -
Flags: review?(padenot) → review+
Assignee | ||
Comment 5•9 years ago
|
||
I looked at the OpenSL failures but not sure what the cause is yet. I'll reland this with the CubebUtils.cpp changes wrapped in an XP_WIN ifdef (this issue only matters on Windows) and file a followup to address the OpenSL issues.
Comment 8•9 years ago
|
||
sorry had to back this out since this seems to have caused somehow https://treeherder.mozilla.org/logviewer.html#?job_id=9992633&repo=mozilla-inbound
Flags: needinfo?(kinetik)
Assignee | ||
Comment 9•9 years ago
|
||
Will repush once I've found the cause.
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(kinetik)
Assignee | ||
Comment 10•9 years ago
|
||
Rather than init and destroy a context in CubebUtils::InitLibrary(), I explicitly make the first CubebUtils::GetCubebContext() from the main thread for the users of libcubeb. This looks good on try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=47a6687a973f
Comment 12•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/aeaa70495f1d
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox41:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
Assignee | ||
Comment 14•9 years ago
|
||
I backed this out due to the regression reported in bug 1176499, along with the fact that this fix was speculative.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 15•9 years ago
|
||
backed out also from m-c in https://hg.mozilla.org/mozilla-central/rev/b10c59539ec8
Updated•9 years ago
|
status-firefox41:
fixed → ---
Updated•9 years ago
|
Component: Audio/Video → Audio/Video: MSG/cubeb/GMP
Updated•9 years ago
|
Component: Audio/Video: MediaStreamGraph → Audio/Video: cubeb
Updated•9 years ago
|
Rank: 22
Priority: -- → P2
Comment 16•7 years ago
|
||
Mass change P2->P3 to align with new Mozilla triage process.
Priority: P2 → P3
Assignee | ||
Comment 17•4 years ago
|
||
I don't think we've ever seen evidence that this matters. It's possible it's only relevant in configurations we don't exercise (e.g. exclusive mode).
Status: REOPENED → RESOLVED
Closed: 9 years ago → 4 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•