Closed
Bug 1300018
Opened 8 years ago
Closed 8 years ago
Support audio 5.1 on Windows(cubeb)
Categories
(Core :: Audio/Video: cubeb, task, P2)
Tracking
()
RESOLVED
FIXED
People
(Reporter: chunmin, Assigned: chunmin)
References
(Blocks 2 open bugs)
Details
Attachments
(6 files, 13 obsolete files)
No description provided.
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → cchang
Updated•8 years ago
|
Rank: 21
Priority: -- → P2
Assignee | ||
Comment 1•8 years ago
|
||
TODO:
- Need to check channel mapping information before setting dwChannelMask. There are different masks for same channel counts(e.g., channels = 3 can be <L, R, C> or <L, R, LOW_FREQ>).
- If the channel counts is less than 6, maybe we should upmix it to simulated 5.1 surround sounds[0]
[0] Real-Time Conversion of Stereo Audio to 5.1 Channel Audio for Providing Realistic Sounds (http://www.sersc.org/journals/IJSIP/vol2_no4/7.pdf)
Assignee | ||
Comment 2•8 years ago
|
||
Assignee | ||
Comment 3•8 years ago
|
||
change:
1. New a enum for channal_layout.
2. New a member for channal_layout in cubeb_stream.
3. Use cubeb_stream.channal_layout to decide the dwChannelMask for WAS API
Attachment #8800543 -
Attachment is obsolete: true
Assignee | ||
Comment 5•8 years ago
|
||
Attachment #8800579 -
Attachment is obsolete: true
Assignee | ||
Comment 6•8 years ago
|
||
Hi kinetik,
Could you give me some suggestions?
Attachment #8802056 -
Attachment is obsolete: true
Attachment #8802406 -
Flags: feedback?(kinetik)
Assignee | ||
Comment 7•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
https://github.com/kinetiknz/cubeb/pull/171
Comment 8•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
Feedback in the PR.
Attachment #8802406 -
Flags: feedback?(kinetik) → feedback+
Assignee | ||
Comment 10•8 years ago
|
||
Assignee | ||
Comment 11•8 years ago
|
||
With this patch for Windows, I could successfully play the attachment 8803285 [details](ogg file) on all 5.1 channels.
Assignee | ||
Comment 12•8 years ago
|
||
Attachment #8803289 -
Attachment is obsolete: true
Assignee | ||
Comment 13•8 years ago
|
||
Attachment #8803781 -
Attachment is obsolete: true
Assignee | ||
Comment 14•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
Hi kinetik,
Thanks for the feedback. The concerns should have been addressed. Could you help to review the patch? The changes are left in git pull request. Thanks.
Attachment #8802406 -
Flags: review?(kinetik)
Comment 15•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
I added feedback and questions in the PR.
Attachment #8802406 -
Flags: review?(kinetik)
Assignee | ||
Comment 16•8 years ago
|
||
Assignee | ||
Comment 17•8 years ago
|
||
I'll add downmix matrix for 5.1 in next patch.
Attachment #8808933 -
Attachment is obsolete: true
Assignee | ||
Comment 18•8 years ago
|
||
Changes:
- Add downmix from 3F2(-LFE) to 1F, 2F, 3F, 2F1, 3F1, 2F2 and their LFEs.
- Replace "layout_default" with "layout_unsupported". The cubeb user needs to set the layout explicitly.
TODO:
The downmix/upmix code should be separated into a independent module from WASAPI for following reasons:
- It can be reused for all backends.
The downmix/upmix is refered to some standards, so it should be same for each backend.
- It's easier for testing.
We can ignore the internal process of backends and just focus on the correctness of supported layout conversion.
- It's flexible to extend.
If we want to add some fancy features like stereo-to-5.1 simulation, then only this module needs to be modified, and it will be applied to all backends.
Attachment #8809343 -
Attachment is obsolete: true
Assignee | ||
Comment 19•8 years ago
|
||
Attachment #8812096 -
Attachment is obsolete: true
Assignee | ||
Comment 20•8 years ago
|
||
Assignee | ||
Comment 21•8 years ago
|
||
Forget to delete unnecessary code from cubeb_wasapi.cpp last time.
Attachment #8812708 -
Attachment is obsolete: true
Assignee | ||
Comment 22•8 years ago
|
||
changes:
- Convert channelMap(AudioConfig.ChannlLayout().Map()) to SMPTE layout and pass it to cubeb
- Use |defined(XP_WIN)| to enable multiple channel on Windows only.
Attachment #8804571 -
Attachment is obsolete: true
Assignee | ||
Comment 23•8 years ago
|
||
Move downmix matrix into .cpp instead of .h because there is no reason to expose it.
Attachment #8813550 -
Attachment is obsolete: true
Assignee | ||
Comment 24•8 years ago
|
||
Remove windows' invisible "Cr" characters.
Attachment #8813562 -
Attachment is obsolete: true
Assignee | ||
Updated•8 years ago
|
Summary: Support audio 5.1 on Windows → Support audio 5.1 on Windows(cubeb)
Assignee | ||
Comment 25•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
Hi Matthew,
I was wondering if you could review this patch.
I add a mixing module in cubeb and there are three policies. The detail is described in [0].
[0] https://wiki.mozilla.org/Media/multichannel#Mixing_Policy
Attachment #8802406 -
Flags: review?(kinetik)
Comment 26•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
Review comments are on the PR
Attachment #8802406 -
Flags: review?(kinetik)
Assignee | ||
Comment 27•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
Thanks for your help. The patch is revised.
Attachment #8802406 -
Flags: review?(kinetik)
Comment 28•8 years ago
|
||
Comment on attachment 8802406 [details] [review]
Support audio 5.1 on Windows
Merged in https://github.com/kinetiknz/cubeb/commit/a900d6e511c3286956c38ca60162790ca6e8e18d
Thanks!
Attachment #8802406 -
Flags: review?(kinetik) → review+
Assignee | ||
Updated•8 years ago
|
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Comment 29•8 years ago
|
||
Is this reopenable?
I just reported bug 1368938
Updated•6 years ago
|
Type: defect → task
You need to log in
before you can comment on or make changes to this bug.
Description
•