Thread (4 messages) flat view 4 messages, 2 authors, 2021-05-22

Re: [PATCH BlueZ v3] avrcp: Fix unregister AVRCP player

From: Huang-Huang Bao <hidden>
Date: 2021-05-22 00:29:49

Hi, Luiz

Oh, what a timing, thanks!

On 5/22/21 8:25 AM, Luiz Augusto von Dentz wrote:
Hi Huang-Huang,

On Thu, May 20, 2021 at 7:44 AM Huang-Huang Bao [off-list ref] wrote:
quoted
'notify_addressed_player_changed()' expected to be called with
'player->changed_id' set to a non-zero value.

     player->changed_id = g_idle_add(notify_addressed_player_changed,
                                     player);

And 'avrcp_player_event()' relies on 'player->changed_id' to perform
Addressed Player Changed notification. However,
'avrcp_unregister_player()' calls 'notify_addressed_player_changed()'
without adding it to the main loop and set 'player->changed_id'. To
indicate addreddsed player changed for both scenarios, we set
'player->changed_id' to 1 at the head of
'notify_addressed_player_changed()'.

Fixes https://github.com/bluez/bluez/issues/142
---
  profiles/audio/avrcp.c | 6 ++++++
  1 file changed, 6 insertions(+)
diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c
index 58d30b24d..ef721e17b 100644
--- a/profiles/audio/avrcp.c
+++ b/profiles/audio/avrcp.c
@@ -1794,6 +1794,12 @@ static gboolean notify_addressed_player_changed(gpointer user_data)
                                 };
         uint8_t i;

+       /*
+        * Set changed_id to an non-zero value to indicate addreddsed player
+        * changed.
+        */
+       player->changed_id = 1;
+
         avrcp_player_event(player, AVRCP_EVENT_ADDRESSED_PLAYER_CHANGED, NULL);

         /*
--
2.31.1
Applied, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help