return AVC_CTYPE_REJECTED;
}
+static struct avrcp_player *target_get_player(struct avrcp *session)
+{
+ if (!session->target)
+ return NULL;
+
+ return session->target->player;
+}
+
static uint8_t avrcp_handle_list_player_attributes(struct avrcp *session,
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint16_t len = ntohs(pdu->params_len);
unsigned int i;
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint16_t len = ntohs(pdu->params_len);
unsigned int i;
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint16_t len = ntohs(pdu->params_len);
uint64_t identifier = bt_get_le64(&pdu->params[0]);
uint16_t pos;
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint16_t len = ntohs(pdu->params_len);
uint8_t *settings;
unsigned int i;
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint16_t len = ntohs(pdu->params_len);
unsigned int i;
uint8_t *param;
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint16_t len = ntohs(pdu->params_len);
uint32_t position;
uint32_t duration;
static bool avrcp_handle_play(struct avrcp *session)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
if (player == NULL)
return false;
static bool avrcp_handle_stop(struct avrcp *session)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
if (player == NULL)
return false;
static bool avrcp_handle_pause(struct avrcp *session)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
if (player == NULL)
return false;
static bool avrcp_handle_next(struct avrcp *session)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
if (player == NULL)
return false;
static bool avrcp_handle_previous(struct avrcp *session)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
if (player == NULL)
return false;
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
struct btd_device *dev = session->dev;
uint16_t len = ntohs(pdu->params_len);
uint64_t uid;
break;
case AVRCP_EVENT_TRACK_CHANGED:
len = 9;
- uid = player_get_uid(session->target->player);
+ uid = player_get_uid(player);
memcpy(&pdu->params[1], &uid, sizeof(uint64_t));
break;
struct avrcp_header *pdu,
uint8_t transaction)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint16_t len = ntohs(pdu->params_len);
struct pending_pdu *pending;
static void avrcp_volume_changed(struct avrcp *session,
struct avrcp_header *pdu)
{
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
uint8_t volume;
- if (player == NULL)
+ if (!player)
return;
volume = pdu->params[1] & 0x7F;
void *user_data)
{
struct avrcp *session = user_data;
- struct avrcp_player *player = session->target->player;
+ struct avrcp_player *player = target_get_player(session);
struct avrcp_header *pdu = (void *) operands;
uint8_t volume;