I have an implementation of A2DP on an imx7, the imx7 is the renderer, the source an iPad or similar. There are controls of the imx7 side that can pause and play the iPad using AVRCP. All works reasonably well most of the time. When it's working well dbus informs me I'm using "player2" - part of my HCI address for MediaPlayer1.
root@imx7~# mdbus2 -s org.bluez /org/bluez/hci0/dev_A4_E9_75_CD_87_85/player2
[METHOD] org.freedesktop.DBus.Introspectable.Introspect() -> (s:xml)
[METHOD] org.bluez.MediaPlayer1.Play() -> ()
[METHOD] org.bluez.MediaPlayer1.Pause() -> ()
[METHOD] org.bluez.MediaPlayer1.Stop() -> ()
[METHOD] org.bluez.MediaPlayer1.Next() -> ()
The odd time I cannot play or pause, the HCI address for MediaPlayer1 now uses "player0".
The pause, play and other methods still exist but simply do not work. I have trolled through the AVRCP spec and other BT specs, google, but to no success.
Does anyone know what the difference is between player0 and player2 - technically?