Re: [RFC]: AVRCP 1.4 Media API

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

 



Hi,

On Tue, Jan 31, 2012 at 11:28 PM, Vani-dineshbhai PATEL X
<vani.patel@xxxxxxxxxxxxxx> wrote:
> Hi All,
>
> I have seen quite a few post in community about AVRCP 1.4 and there were few discussion which have happened in past for this. I plan to resume the work for developing following features of AVRCP 1.4
>
>            As per spec section 6.9.1     SetAddressedPlayer
>            As per spec section 6.9.2     Addressed Player Changed Notification
>            As per spec section 6.9.3     SetBrowsedPlayer
>            As per spec section 6.9.4     Available Players Changed Notification
>            As per spec section 6.10.3.3    UIDs Changed Notification
>            As per spec section 6.10.4.1    ChangePath
>            As per spec section 6.10.4.2    GetFolderItems
>            As per spec section 6.10.4.3    GetItemAttributes
>            As per spec section 6.12.1      PlayItem
>            As per spec section 6.13.1      Absolute Volume
>            As per spec section 6.13.3      Notify volume change
>

IMO we should address this separately, first with absolute volume
control and then add media browsing.

>
> From a8fbf052e5ad409d767fa54343ac8ce462ee80da Mon Sep 17 00:00:00 2001
> From: Vani Patel <vani.patel@xxxxxxxxxxxxxx>
> Date: Tue, 24 Jan 2012 16:05:05 +0530
> Subject: [PATCH] AVRCP: Media API for AVRCP 1.4
>
> ---
> doc/media-api.txt |  321 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
> 1 files changed, 316 insertions(+), 5 deletions(-)
>
> diff --git a/doc/media-api.txt b/doc/media-api.txt index c53ab7b..b6f557e 100644
> --- a/doc/media-api.txt
> +++ b/doc/media-api.txt
> @@ -2,7 +2,7 @@ BlueZ D-Bus Media API description
> *********************************
>
>  Media hierarchy
> -===============
> +=================================
>
>  Service          org.bluez
> Interface  org.bluez.Media
> @@ -85,6 +85,113 @@ Methods         void RegisterEndpoint(object endpoint, dict properties)
>                       uint32 Position
>
>                              Playback position in milliseconds
> +
> +                       string Name
> +
> +                             Unique name of media player

Probably not necessary since the sender + object path should give us a
unique name we can use to identify different players.

> +                       array{string} Type
> +
> +                             Possible values:
> +                                   "Audio",
> +                                   "Video",
> +                                   "Broadcast Audio",
> +                                   "Broadcast Video"
> +
> +                       array{string} SubType
> +
> +                             Possible values:
> +                                   "Audiobook",
> +                                   "Podcast"
> +
> +                       uint16 UidCounter
> +
> +                             Changes of this field signal changes in media player
> +                             filesystem

No idea why you need this, but I guess this is for media browsing so I
would have in separate.

> +                       array{string} Features
> +
> +                             Possible values:
> +                                   "PASSTHROUGH Select",
> +                                   "PASSTHROUGH Up",
> +                                   "PASSTHROUGH Down",
> +                                   "PASSTHROUGH Left",
> +                                   "PASSTHROUGH Right",
> +                                   "PASSTHROUGH Right-Up",
> +                                   "PASSTHROUGH Right-Down",
> +                                   "PASSTHROUGH Left-Up",
> +                                   "PASSTHROUGH Left-Down",
> +                                   "PASSTHROUGH Root Menu",
> +                                   "PASSTHROUGH Setup Menu",
> +                                   "PASSTHROUGH Contents Menu",
> +                                   "PASSTHROUGH Favourite Manu",
> +                                   "PASSTHROUGH Exit",
> +                                   "PASSTHROUGH 0",
> +                                   "PASSTHROUGH 1",
> +                                   "PASSTHROUGH 2",
> +                                   "PASSTHROUGH 3",
> +                                   "PASSTHROUGH 4",
> +                                   "PASSTHROUGH 5",
> +                                   "PASSTHROUGH 6",
> +                                   "PASSTHROUGH 7",
> +                                   "PASSTHROUGH 8",
> +                                   "PASSTHROUGH 9",
> +                                   "PASSTHROUGH Dot",
> +                                   "PASSTHROUGH Enter",
> +                                   "PASSTHROUGH Clear",
> +                                   "PASSTHROUGH Channel Up",
> +                                   "PASSTHROUGH Channel Down",
> +                                   "PASSTHROUGH Previous Channel",
> +                                   "PASSTHROUGH Sound Select",
> +                                   "PASSTHROUGH Input Select",
> +                                   "PASSTHROUGH Display Information",
> +                                   "PASSTHROUGH Help",
> +                                   "PASSTHROUGH Page Up",
> +                                   "PASSTHROUGH Page Down",
> +                                   "PASSTHROUGH Power",
> +                                   "PASSTHROUGH Volume Up",
> +                                   "PASSTHROUGH Volume Down",
> +                                   "PASSTHROUGH Mute",
> +                                   "PASSTHROUGH Play",
> +                                   "PASSTHROUGH Stop",
> +                                   "PASSTHROUGH Pause",
> +                                   "PASSTHROUGH Record",
> +                                   "PASSTHROUGH Rewind",
> +                                   "PASSTHROUGH Fast Forward",
> +                                   "PASSTHROUGH Eject",
> +                                   "PASSTHROUGH Forward",
> +                                   "PASSTHROUGH Backward",
> +                                   "PASSTHROUGH Angle",
> +                                   "PASSTHROUGH SubPicture",
> +                                   "PASSTHROUGH F1",
> +                                   "PASSTHROUGH F2",
> +                                   "PASSTHROUGH F3",
> +                                   "PASSTHROUGH F4",
> +                                   "PASSTHROUGH F4",
> +                                   "PASSTHROUGH F5",
> +                                   "Vendor Unique",
> +                                   "Basic Group Navigation",
> +                                   "Advanced Control Player",
> +                                   "Browsing",
> +                                   "Searching",
> +                                   "AddToNowPlaying",
> +                                   "UID Unique",
> +                                   "Only Browseable When Addresed",
> +                                   "Only Searchable When Addresed",
> +                                   "NowPlaying",
> +                                   "UID Persistancy"

This is way too big, I guess we can group the passthrough in a single
one since if the player doesn't support some it can just ignore, also
for browsing we might have a different interface since the database
may not be directly handled by the player. Actually I strong believe
browsing would fit better as an OBEX based profile because of the
operations and the relation with a database is very similar to other
OBEX based profiles such as PBAP and MAP, but I guess it is too late
to do something about it.

> +                       byte Volume
> +
> +                             Current Volume in percent range: 0 - 100

Im afraid Volume belong to MediaTransport not to MediaPlayer,
otherwise we are just able to change the volume of the addressed
player not the master volume of the headset itself which the playback
can be mixed with different audio source.

-- 
Luiz Augusto von Dentz
ÿôèº{.nÇ+?·?®?­?+%?Ëÿ±éݶ¥?wÿº{.nÇ+?·¥?{±ý¹nzÚ(¶â?Ø^n?r¡ö¦zË?ëh?¨è­Ú&£ûàz¿äz¹Þ?ú+?Ê+zf£¢·h??§~?­?Ûiÿÿï?êÿ?êçz_è®æj:+v?¨þ)ߣøm



[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