Merge lp:~rsalveti/indicator-sound/adding-support-for-sound-per-roles into lp:indicator-sound/14.10
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Ted Gould | ||||
Approved revision: | 453 | ||||
Merged at revision: | 447 | ||||
Proposed branch: | lp:~rsalveti/indicator-sound/adding-support-for-sound-per-roles | ||||
Merge into: | lp:indicator-sound/14.10 | ||||
Diff against target: |
400 lines (+312/-5) 2 files modified
src/CMakeLists.txt (+1/-0) src/volume-control.vala (+311/-5) |
||||
To merge this branch: | bzr merge lp:~rsalveti/indicator-sound/adding-support-for-sound-per-roles | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ted Gould (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Review via email: mp+235562@code.launchpad.net |
Commit message
Adding support to change volumes per active audio role.
Description of the change
Adding support to change volumes per active audio role.
Some comments regarding the changeset:
* Ideally this would also be the default code path for the Desktop, but for that to happen we first need to revisit every media role used, and force one by default on pulse itself. As this requires some intrusive changes, and we're past over feature freeze for Utopic, this needs to be discussed again once the next cycle starts, as this would also be the desired behaviour when looking from the convergence point of view.
* The additional pulseaudio dbus module is not loaded by default on the desktop, but is on touch (touch got a different pulseaudio config). So in order to test this you need to make sure to load the dbus module (check https:/
* To avoid clashes with the desktop mode (that still wants to change the master volume), I decided to create a flag that basically controls which behaviour to use. If it finds the dbus module, and if it finds all the required roles in the stream/restore database, then the default behaviour is changed for the indicator to react and control volume per audio roles. If the dbus module is not available, or the user got one missing role, it gets back to work controlling only master.
* When testing with Ubuntu touch, make sure you're also using silo 18 for the other dependencies (https:/
* We still need to see what should be exported for accountservice, as atm the volume from the current active role will propagate to accountservice. This is not yet an issue for Touch, but once we get back to have a separated greeter, we need to revisit this.
* I had to manually call the dbus methods because I can't easily abstract them with Vala, because not everything required is implemented from the other side. This pulse dbus module would need to be improved, but something to work with upstream later on.
* I can see the design also requiring us to notify the user about which volume role is active and changed when the user press volume up/down. Not yet sure how we can abstract that, but we can sync and see the details later on.
* For this MR to build it also needs latest pulseaudio that is available in the same landing silo (this is required because the vapi files from pulse were not exporting everything needed). Didn't yet bump debian/control pulseaudio build-dep because I first want to test everything to avoid extra version bump in pulse.
FAILED: Continuous integration, rev:448 jenkins. qa.ubuntu. com/job/ indicator- sound-ci/ 142/ jenkins. qa.ubuntu. com/job/ indicator- sound-utopic- amd64-ci/ 9/console jenkins. qa.ubuntu. com/job/ indicator- sound-utopic- armhf-ci/ 9/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/indicator- sound-ci/ 142/rebuild
http://