Re: [PATCH v3 18/22] avrcp: send response for registered events
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2011-08-11 08:15:53
Hi Lucas, On Wed, Aug 10, 2011 at 4:06 PM, Lucas De Marchi [off-list ref] wrote:
quoted hunk ↗ jump to hunk
static void mp_get_playback_status(struct media_player *mp, uint8_t *status, uint32_t *elapsed, uint32_t *track_len) {@@ -754,6 +823,13 @@ static void mp_set_playback_status(struct control *control, uint8_t status,return; mp->status = status; + + if (control->state == AVCTP_STATE_CONNECTED && !control->target && + (control->registered_events & + (1 << AVRCP_EVENT_PLAYBACK_STATUS_CHANGED))) { + avctp_send_event(control, AVRCP_EVENT_PLAYBACK_STATUS_CHANGED, + &status); + }
Are you sure it would be valid to call mp_set_playback_status when acting as a controller? Im afraid we should not cache anything, or perhaps not even register MediaPlayer interface in case the device is a target.
quoted hunk ↗ jump to hunk
/*@@ -901,6 +977,12 @@ static void mp_set_media_attributes(struct control *control,"\tTrack number: %u\n\tTrack duration: %u", mi->title, mi->artist, mi->album, mi->genre, mi->ntracks, mi->track, mi->track_len); + + if (control->state == AVCTP_STATE_CONNECTED && !control->target && + (control->registered_events & + (1 << AVRCP_EVENT_TRACK_CHANGED))) { + avctp_send_event(control, AVRCP_EVENT_TRACK_CHANGED, NULL); + }
Same here. -- Luiz Augusto von Dentz