From: "Frédéric Danis" <frederic.danis@collabora.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v4 0/5] Add BIP for AVRCP covert art OBEX client
Date: Tue, 17 Sep 2024 09:42:12 +0200 [thread overview]
Message-ID: <20240917074217.231677-1-frederic.danis@collabora.com> (raw)
If AVRCP Target supports Cover Art download its SDP record contains an
additional access protocol for OBEX with an LCAP PSM on which the OBEX
client session should connect to, with the specific OBEX target header
7163DD54-4A7E-11E2-B47C-0050C2490048.
Once the OBEX session is connected, the AVRCP track metadata will contain
an Image Handle which can be used to get the associated image using
GetImageThumbnail or GetImage with one of the description property found
with GetImageProperties.
This has been tested with iPhone 14, iPhone 15 Pro and Samsung S23.
v1 -> v2: Parse integer properties as integer instead of string
Return GetImageProperties values as aa{sv} instead of aa{ss}
Get properties for GetImage as a{sv} instead of a{ss}
Set new properties and interface as experimental
v2 -> v3: Rename obexd/client/bip-avrcp.[ch] to obexd/client/bip.[ch]
Update the AVRCP Controller version in SDP to 1.6
Add commit to support for specific headers in obex transfer
Fix memory leaks
v3 -> v4: Commits 1-4 has been merged
Change org.bluez.obex.BipAvrcp1 to org.bluez.obex.Image1
Change GetImageThumbnail to GetThumbnail
Change GetImageProperties to Properties
Change GetImage to Get
Add possible property values for the description dicts
Frédéric Danis (5):
obexd: Add BIP client for AVRCP cover art download
obexd: Add Properties to org.bluez.obex.Image
obexd: Add Get to org.bluez.obex.Image
avrcp: Update controller SDP record with cover art support
doc: Add description of org.bluez.obex.Image
Makefile.am | 9 +-
Makefile.obexd | 2 +
doc/org.bluez.obex.Client.rst | 1 +
doc/org.bluez.obex.Image.rst | 118 +++++
obexd/client/bip-common.c | 800 ++++++++++++++++++++++++++++++++++
obexd/client/bip-common.h | 24 +
obexd/client/bip.c | 440 +++++++++++++++++++
obexd/client/bip.h | 12 +
obexd/client/manager.c | 2 +
profiles/audio/avrcp.c | 12 +-
10 files changed, 1412 insertions(+), 8 deletions(-)
create mode 100644 doc/org.bluez.obex.Image.rst
create mode 100644 obexd/client/bip-common.c
create mode 100644 obexd/client/bip-common.h
create mode 100644 obexd/client/bip.c
create mode 100644 obexd/client/bip.h
--
2.34.1
next reply other threads:[~2024-09-17 7:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-17 7:42 Frédéric Danis [this message]
2024-09-17 7:42 ` [PATCH BlueZ v4 1/5] obexd: Add BIP client for AVRCP cover art download Frédéric Danis
2024-09-17 11:31 ` Add BIP for AVRCP covert art OBEX client bluez.test.bot
2024-09-17 7:42 ` [PATCH BlueZ v4 2/5] obexd: Add Properties to org.bluez.obex.Image Frédéric Danis
2024-09-17 7:42 ` [PATCH BlueZ v4 3/5] obexd: Add Get " Frédéric Danis
2024-09-17 7:42 ` [PATCH BlueZ v4 4/5] avrcp: Update controller SDP record with cover art support Frédéric Danis
2024-09-17 7:42 ` [PATCH BlueZ v4 5/5] doc: Add description of org.bluez.obex.Image Frédéric Danis
2024-09-17 15:40 ` [PATCH BlueZ v4 0/5] Add BIP for AVRCP covert art OBEX client patchwork-bot+bluetooth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240917074217.231677-1-frederic.danis@collabora.com \
--to=frederic.danis@collabora.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox