XBMC 13.2-RC1 adjusts global Pulseaudio volume up
#1
Hi,

I'm a bit uncertain whether this is a real bug or if it's the deb-multimedia.org XBMC package that's weird, but here goes.

When pressing volume up (either using keyboard or the Yatse Android remote), it seems XBMC adjusts the output device (sink) volume. However, when pressing volume down, XBMC only adjusts the volume for it's own audio stream. I've tried with a clean config, but the results were the same.

A small test with output from pacmd:

Started playback
volume: front-left: 6097 / 9% / -61.88 dB, front-right: 6097 / 9% / -61.88 dB
Volume up pressed
volume: front-left: 14969 / 23% / -38.48 dB, front-right: 14969 / 23% / -38.48 dB
Volume up pressed
volume: front-left: 21260 / 32% / -29.34 dB, front-right: 21260 / 32% / -29.34 dB
Volume up pressed
volume: front-left: 23353 / 36% / -26.89 dB, front-right: 23353 / 36% / -26.89 dB
Volume down pressed
volume: front-left: 23353 / 36% / -26.89 dB, front-right: 23353 / 36% / -26.89 dB
Volume down pressed
volume: front-left: 23353 / 36% / -26.89 dB, front-right: 23353 / 36% / -26.89 dB
Volume down pressed
volume: front-left: 23353 / 36% / -26.89 dB, front-right: 23353 / 36% / -26.89 dB

As seen from above, the sink volume is clearly changed when increasing the volume, but not when decreasing.

In xbmc.log I get the following output when pressing volume up:
Code:
09:16:22 T:139854056712512   DEBUG: Keyboard: scancode: 0x7b, sym: 0x00af, unicode: 0x0000, modifier: 0x0
09:16:22 T:139854056712512   DEBUG: OnKey: volume_up (0xf0b9) pressed, action is VolumeUp
09:16:22 T:139854056712512   DEBUG: CAnnouncementManager - Announcement: OnVolumeChanged from xbmc
09:16:22 T:139854056712512   DEBUG: GOT ANNOUNCEMENT, type: 64, from xbmc, message OnVolumeChanged
09:16:22 T:139854056712512   DEBUG: ------ Window Init (DialogVolumeBar.xml) ------
09:16:22 T:139854056712512   DEBUG: Window DialogVolumeBar.xml was already loaded
09:16:22 T:139854056712512   DEBUG: Alloc resources: 0.02m
09:16:22 T:139853499131648   DEBUG: Sink changed
09:16:24 T:139854056712512   DEBUG: ------ Window Deinit (DialogVolumeBar.xml) ------

However, when pressing volume down, the following output is shown in the log:

Code:
09:17:31 T:139854056712512   DEBUG: Keyboard: scancode: 0x7a, sym: 0x00ae, unicode: 0x0000, modifier: 0x0
09:17:31 T:139854056712512   DEBUG: OnKey: volume_down (0xf0b8) pressed, action is VolumeDown
09:17:31 T:139854056712512   DEBUG: CAnnouncementManager - Announcement: OnVolumeChanged from xbmc
09:17:31 T:139854056712512   DEBUG: GOT ANNOUNCEMENT, type: 64, from xbmc, message OnVolumeChanged
09:17:31 T:139854056712512   DEBUG: ------ Window Init (DialogVolumeBar.xml) ------
09:17:31 T:139854056712512   DEBUG: Window DialogVolumeBar.xml was already loaded
09:17:31 T:139854056712512   DEBUG: Alloc resources: 0.02m
09:17:32 T:139854056712512   DEBUG: ------ Window Deinit (DialogVolumeBar.xml) ------

Notice that the volume up shows "sink changed", while volume down doesn't.

I'm not adverse to downgrading and compiling most recent from Git, but I'm a bit uncertain if it's just me, or if it's a real bug Smile

Thanks in advance!
Reply
#2
Sink changed is just an event that is ignored: https://github.com/xbmc/xbmc/blob/master...E.cpp#L199

xbmc _can_ only change the stream volume (aka the volume of the sink input), it has no way to alter a global volume. The only difference might be I have told your PA server to alter stream but global volume (flatten volume setting).

Xbmc's code: https://github.com/xbmc/xbmc/blob/master...E.cpp#L857 - this code has not changed since 13.0. As you see it only adjust the sink-input and not the sink.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
Reproduce with a mainline build from source and post a complete Debug Log. I have no idea what debian-multimedia is currently patching out or patching in.

Most likely I think the "volume_up" is handled twice. Once by your system and once by xbmc.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#4
And before I forget it, also test with "+" and "-" on the keyboard. This might not trigger the global button mapping if that is the issue and your desktop is interfering.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#5
Hi fritsch,

Thanks a bunch for all your replies. I'll have a look at it when the missus and kid is done hogging the (XBMC) TV.

Have a nice Sunday afternoon.
Reply
#6
Btw. here is another fix for pulse that should make the volume "linear" to what pavucontrol does: https://github.com/xbmc/xbmc/pull/5231
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC 13.2-RC1 adjusts global Pulseaudio volume up0