Is bluetooth avrcp (Audio/Video Remote Control Profile) implemented or in the works?

Sam_Nazarko, is AVRCP a feature already implemented in OSMC or are plans to implement it in the works? How can it be set up manually if necessary? I was able to stream good quality audio via bluetooth A2DP easily when I installed the a2dp-app-osmc package. I think it would be nice to also be able to control OSMC from let’s say a bluetooth speaker or sound system that has those play/pause, stop, and track buttons alongside A2DP for the audio streaming.

1 Like

We are working on it. Not all phones support this though so we may handle volume in a different way

Oh awesome. I have an Alpine headunit (CDE-HD149BT) for example that has AVRCP that not only controls phones, but on some phones/tablets it actually allows title/artist info to show on the headunit’s display as well. How is this so and can this be possible with OSMC? Just curious.

Not all phones support this though so we may handle volume in a different way

I don’t think the volume issue could be a problem necessarily. I was able to connect my RPI/OSMC setup to the Alpine via bluetooth with no problems with streaming, but no AVRCP controls. I think in this case the volume could be handled within the headunit itself (with OSMC’s software volume untouched), and the headunit/controller passing commands to OSMC for everything else. That’s also how a Samsung Galaxy S5 my brother has behaved.

We’ve already added support for this to OSMC. With recent versions, track info should be displayed already. It’s still experimental however.

Oh, good. How do I enable it?

It should work already if you have:

  • Kodi v17 or later
  • The Bluetooth service add-on enabled in Kodi.

If it doesn’t, logs would be interesting (and needed) to find out why.

ok

Just to add to this you will need to install a2dp-app-osmc to allow kodi to know when you are streaming from your phone and start the new player that will display track details BTPlayer

sudo apt-get install -f a2dp-app-osmc

Please note, I’m not streaming from a phone to OSMC. I am streaming from my RPI OSMC media player to an Alpine headunit (the other direction), as the built-in audio in the Pi as, we all know, sounds horrible, bluetooth adapters are cheap, and the bluetooth audio in my setup sounds really good. I am trying to get the song info, etc. to show on the Alpine’s display, as well as controls via AVRCP. If it works out either way though, that’s great.

The a2dp-app-osmc as well as installing the BTPlayer will also install and configure pluseaudio for Bluetooth streaming in both to and from OSMC.

I will look into if we can get track details broadcast from kodi over AVRCP

Ok, gotcha. I want to keep tabs on the progress of this. Please let me know what comes up.

I did notice one thing: I was able to pause playback by pressing the play/pause button on the headunit, but then AVRCP’s connection drops (a2dp stays connected, though), and then I have to go to kodi’s media playback interface and touch the play button from my 5" touchscreen to resume playback, and AVRCP doesn’t work again unless I manually disconnect then re-pair kodi to the headunit. I had only installed the a2dp-app-osmc package and not BTPlayer for that instance.

BTPlayer is built into osmc’s build of Kodi and the BTPlayer service that handles listening for start of audio streaming to OSMC and responds to AVRCP events is installed with a2dp-app-osmc

Could you produce a debug log for this please and I’ll take a look?

See How to submit a useful support request - General - OSMC

I think that is a bug in the current BTPlayer service (which I have a fix for) we have intentionally tried to only respond to play/pause events when the BTPlayer player is active on screen as we don’t want to have an affect on people when they are for example viewing a movie

Your use case was not one we had in mind when developing BTPlayer but we could see about supporting this I’ll discuss with @sam_nazarko

Will definitely do when I get around to it. I’ve just been busy lately with work and getting enough sleep, as I work third shift. I read your link and will follow that.

I will let you all know when I upload the debug reports.

I have an idea: I wonder if it can be possible to have user-changeable modes/settings/profiles for both home and mobile/in-car entertainment, where each changes a set of settings that pertain to either application, including for AVRCP? You mention [quote=“gezb, post:12, topic:35724”]
we have intentionally tried to only respond to play/pause events when the BTPlayer player is active on screen as we don’t want to have an affect on people when they are for example viewing a movie
[/quote]

Can there be a way for the user to enable or disable this as a setting in the settings or the player menu manually for example?

[quote=“gezb, post:12, topic:35724”]
Could you produce a debug log for this please and I’ll take a look?
[/quote]Ok, here is my debug log: http://paste.osmc.io/enizuvomed.coffee.

I was able to skip songs with the headunit’s buttons, but the moment I hit play/pause, the control was disabled and I had to disconnect then reconnect bluetooth to restore AVRCP. I had to then go to the osmc system settings and re-enable the bluetooth audio this time around. Nothing was displayed on the headunit’s display via AVRCP, either.

Yes that’s the same issue BTPlayer isn’t supposed to be responding to avrcp requests if the BTPlayer player is not active.

So next update my guess is nothing on the header will work currently.

We still need to discuss internally if we can support this use case but I’m not getting much time to work on osmc at the moment

Oh, OK. Where do we do this when we do?

Was the debug upload helpful?[quote=“gezb, post:17, topic:35724”]
So next update my guess is nothing on the header will work currently.
[/quote]

What does “header” mean?

“We” as in the development team.

Oh, OK. I thought I was going to talk with someone, like on an IRC, but when I saw the word “internally” in that post sometime later, I got it.