Summary: | KMix does not support side channels in 7.1 speaker configuration with pulseaudio | ||
---|---|---|---|
Product: | [Applications] kmix | Reporter: | Leonidas Arvanitis <l.arvanitis> |
Component: | Backend: Pulseaudio | Assignee: | Colin Guthrie <colin> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esken |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | 7.1 Soundcard, including Side Left and Side Right Support |
Description
Leonidas Arvanitis
2011-05-19 16:57:56 UTC
Yup, this is a known limitation of kmix's representation of devices. It would need more work in kmix itself to support this (rather than just in the PA layer). I suggest using e.g. pavucontrol to control things until this work is completed. I would hope that the sliders can be labelled properly too when implementing this as it's a bit of a guessing game just now! Not sure what is needed. KMix should supports the 9 different channels: LEFT = 0, RIGHT = 1, CENTER = 2, WOOFER = 3, SURROUNDLEFT = 4, SURROUNDRIGHT = 5, REARSIDELEFT = 6, REARSIDERIGHT = 7, REARCENTER = 8, The GUI shows the following, please also see the attached screen shot. QString Volume::ChannelNameReadable[9] = { "Left", "Right", "Center", "Subwoofer", "Surround Left", "Surround Right", "Side Left", "Side Right", "Rear Center" }; Created attachment 67253 [details]
7.1 Soundcard, including Side Left and Side Right Support
Please attach the output from "pacmd ls". Currently I do the following mappings in the PA backend: case PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER: dev.chanMask = (Volume::ChannelMask)( dev.chanMask | Volume::MREARSIDELEFT); dev.chanIDs[i] = Volume::REARSIDELEFT; break; case PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER: dev.chanMask = (Volume::ChannelMask)( dev.chanMask | Volume::MREARSIDERIGHT); dev.chanIDs[i] = Volume::REARSIDERIGHT; break; But this requires that the PA side has these positions... I suspect I've simply used PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER where I should have used PA_CHANNEL_POSITION_SIDE_LEFT. As channel maps are a bit of a pain (different OSs/companies call the same channel totally different things), the above explanation is most likely! PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER, /**< Apple, Dolby call this 'Left Center' */ PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER, /**< Apple, Dolby call this 'Right Center */ PA_CHANNEL_POSITION_SIDE_LEFT, /**< Apple calls this 'Left Surround Direct', Dolby calls this 'Surround Left' (!) */ PA_CHANNEL_POSITION_SIDE_RIGHT, /**< Apple calls this 'Right Surround Direct', Dolby calls this 'Surround Right' (!) */ But as I don't have 7.1 h/w here, I cannot check what is used. Your pacmd ls output will tell me what I need to know (although I'm pretty sure I've analysed it correctly). SVN commit 1271782 by cguthrie: kmix: Fix channel mapping for 7.1 side channels in PulseAudio. M +2 -2 mixer_pulse.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1271782 I think the above commit will fix this problem, and I'd very much like to cherry pick it to the 4.8 branch. So any feedback on whether or not it's correct would be most appreciated. Thank you for the bug report. As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists. If this bug is no longer persisting or relevant please change the status to resolved. |