Re: [PATCH 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 Sat, Oct 15, 2011 at 12:28 AM, 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     |    2 +-
>  doc/media-api.txt |    4 +++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/audio/avrcp.c b/audio/avrcp.c
> index 8b48e83..1b55e33 100644
> --- a/audio/avrcp.c
> +++ b/audio/avrcp.c
> @@ -808,7 +808,7 @@ static uint8_t avrcp_handle_get_play_status(struct avrcp_player *player,
>                                                AVRCP_MEDIA_ATTRIBUTE_DURATION,
>                                                player->user_data));
>
> -       duration = htonl(duration);
> +       duration = duration ? htonl(duration) : UINT32_MAX;
>        position = htonl(position);

I would prefer doing this on RegisterPlayer/parse_player_metadata as
we do with title, so if is not present then we set UINT32_MAX.

>        memcpy(&pdu->params[0], &duration, 4);
> diff --git a/doc/media-api.txt b/doc/media-api.txt
> index b8dcdbd..204f33e 100644
> --- a/doc/media-api.txt
> +++ b/doc/media-api.txt
> @@ -114,7 +114,9 @@ Methods             void RegisterEndpoint(object endpoint, dict properties)
>
>                                uint32 Duration:
>
> -                                       Track duration in milliseconds
> +                                       Track duration in milliseconds. If it's
> +                                       set to 0 or left blank, it will be
> +                                       treated as not available.

0 might be a valid duration so I would just treat as not available if
Duration is not part of the metadata or if the value is actually
UINT32_MAX which can happen if the duration exceeds 32 bits.


-- 
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