Re: [PATCH v2 3/5] AVRCP: respond with UINT32_MAX if duration is not available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lucas,

On Mon, Oct 17, 2011 at 11:34 PM, Lucas De Marchi
<lucas.demarchi@xxxxxxxxxxxxxx> wrote:
> Section 5.4.1 of AVRCP 1.3 spec says:
>
>        If TG does not support SongLength And SongPosition on TG, then TG shall
>        return 0xFFFFFFFF.
>
> SongPosition is always available, but song length depends on user to
> provied it.
> ---
>  audio/avrcp.c |   11 +++++++----
>  1 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/audio/avrcp.c b/audio/avrcp.c
> index b1c3d54..5f8277c 100644
> --- a/audio/avrcp.c
> +++ b/audio/avrcp.c
> @@ -796,6 +796,7 @@ static uint8_t avrcp_handle_get_play_status(struct avrcp_player *player,
>        uint16_t len = ntohs(pdu->params_len);
>        uint32_t position;
>        uint32_t duration;
> +       void *pduration;
>
>        if (len != 0) {
>                pdu->params_len = htons(1);
> @@ -804,11 +805,13 @@ static uint8_t avrcp_handle_get_play_status(struct avrcp_player *player,
>        }
>
>        position = player->cb->get_position(player->user_data);
> -       duration = GPOINTER_TO_UINT(player->cb->get_metadata(
> -                                               AVRCP_MEDIA_ATTRIBUTE_DURATION,
> -                                               player->user_data));
> +       pduration = player->cb->get_metadata(AVRCP_MEDIA_ATTRIBUTE_DURATION,
> +                                                       player->user_data);
> +       if (pduration != NULL)
> +               duration = htonl(GPOINTER_TO_UINT(pduration));
> +       else
> +               duration = htonl(UINT32_MAX);
>
> -       duration = htonl(duration);
>        position = htonl(position);
>
>        memcpy(&pdu->params[0], &duration, 4);
> --
> 1.7.7
>
> --

Ack.

-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux