Bluetooth controller on Linux laptop pauses Android device
xenotropic opened this issue · 2 comments
Describe the bug
My son is watching a video on a Linux laptop. I'm listening to music on my Android phone. The two devices are connected with GS Connect on the laptop and KDE Connect on the phone.
He's listening to that video with a Bluetooth audio device that has a play-pause control. When he presses that play-pause control, it pauses my music but not his video.
That seems probably like the wrong behavior? It seems like GS connect should not be picking up that signal and sending it over the network to tell my android device to pause. It should be passed on to the local Linux system to process whatever pause behavior would happen locally. Unless there is some option to modify this behavior that I'm not seeing.
Steps to reproduce
My son is currently watching videos on my laptop this is a little hard to write out on a mobile, I think the general description is pretty good but if you really need steps let me know
Expected behavior
A Bluetooth controller pause signal is processed locally to pause or play locally playing media on the Linux machine
GSConnect version
58
Installed from
GNOME Extensions website
GNOME Shell version
No response
Linux distribution/release
No response
Paired device(s)
pixel 5
KDE Connect app version
1.32.5
Plugin(s)
No response
Support log
No response
Screenshots
No response
Notes
No response
Well, that's intentional behavior, but it can be disabled. If you go into GSConnect's Mobile Settings, select your phone from the list of devices, and switch to the Advanced tab, you can disable the MPRIS plugin that's responsible for proxying media player controls from the laptop to the phone (and vice versa).
Note that that'll only prevent media control commands received on the laptop from getting forwarded to the phone's media player, it won't give the bluetooth headphones control over the video player unless they already have it. (Which, if it's not responding now, they may not.) GSConnect can't and doesn't block commands from being sent to any other local media players, so turning off MPRIS in GSConnect may not make any difference as far as controlling the laptop video. But it will definitely stop your phone receiving those commands.
If the video is playing in a web browser, control may depend on what site it is and whether their player accepts media control commands. (It can also depend on the browser.) If it's playing in an application, MPRIS controllability may be a settings option or a plugin-enabled feature.
If using VLC, you may want to go into the preferences, enable "All" mode so you have access to the full configuration, select the "Playlist" category, and confirm that "Expose media player via D-Bus" is checked.
(I'm going to close this because I believe it's been answered, but feel free to reopen it if I've left anything out or you still encounter issues.)
Thank you, very informative. However, disabling MPRIS bidirectionally in GSConnect is rather blunt instrument as it also disables KDEConnect's media controller on the android device, which is nice to have (e.g., I use my android phone from the kitchen to pause the kids' video on the linux device, and I call "dinner!"). I needed to cut the link only in the GSConnect->KDEConnect direction. I was thinking maybe the MPRIS option in GSConnect needed to be split ("send to Device" and "receive from Device"); but while looking around I realized this optionality already exists in KDEConnect (on the android device).
So, for anyone else having my issue, look for the option "Media Player Control" in KDEConnect (on the android device - open KDEConnect, open the base device in question, tap three dots menu, tap "Plugin Settings"). Disabling that gives my desired behavior: bluetooth MPRIS commands aren't sent between the devices in either direction; the media controller still appears in KDEConnect and can be used to control media playing on the GSConnect (Linux) device.
Thanks again for taking the time to respond so thoughtfully @ferdnyc !