public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: "Frédéric Danis" <frederic.danis@collabora.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v2 04/13] doc/qualification: Add PICS and howto for the AVRCP qualification
Date: Tue, 27 Jan 2026 18:38:32 +0100	[thread overview]
Message-ID: <20260127173841.153747-4-frederic.danis@collabora.com> (raw)
In-Reply-To: <20260127173841.153747-1-frederic.danis@collabora.com>

---
 doc/qualification/avrcp-pics.rst | 1153 ++++++++++++++++++++++++++++++
 doc/qualification/avrcp-pts.rst  |  223 ++++++
 2 files changed, 1376 insertions(+)
 create mode 100644 doc/qualification/avrcp-pics.rst
 create mode 100644 doc/qualification/avrcp-pts.rst

diff --git a/doc/qualification/avrcp-pics.rst b/doc/qualification/avrcp-pics.rst
new file mode 100644
index 000000000..ee7acd6f2
--- /dev/null
+++ b/doc/qualification/avrcp-pics.rst
@@ -0,0 +1,1153 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Copyright © 2025-2026 Collabora Ltd.
+
+==================================
+Audio/Video Remote Control Profile
+==================================
+(TCRL 2023-1, AVRCP.ICS.p16)
+
+Versions
+========
+**Table 2b: Controller - X.Y Versions**
+
+Prerequisite: AVRCP 1/1 "Controller"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_2b_4  |          | AVRCP v1.5 (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2b_5  | x        | AVRCP v1.6	(C.1, C.2)                       |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support one and only one.
+- C.2: Can only be supported with an active X.Y.Z version after Deprecation.
+  Deprecated 2021-02-01. Withdrawn 2024-02-01.
+
+Versions
+========
+**Table 2c: Controller - X.Y.Z Versions**
+
+Prerequisite: AVRCP 1/1 "Controller"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_2c_2  | x        | AVRCP v1.6.2 (C.1)                           |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory IF AVRCP 2b/5 "AVRCP v1.6", otherwise Excluded.
+
+Versions
+========
+**Table 7b: Target - X.Y Versions**
+
+Prerequisite: AVRCP 1/2 "Target"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_7b_4  |          | AVRCP v1.5 (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7b_5  | x        | AVRCP v1.6 (C.1, C.2)                        |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support one and only one.
+- C.2: Can only be supported with an active X.Y.Z version after Deprecation.
+  Deprecated 2021-02-01. Withdrawn 2024-02-01.
+
+Versions
+========
+**Table 7c: Target - X.Y.Z Versions**
+
+Prerequisite: AVRCP 1/2 "Target"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_7c_7  | x        | AVRCP v1.6.2 (C.1)                           |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory IF AVRCP 7b/5 "AVRCP v1.6", otherwise Excluded.
+
+Roles
+=====
+**Table 1: Role Requirements**
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_1_1   | x        | Controller (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_1_2   | x        | Target (C.1)                                 |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+Controller features
+===================
+**Table 2: Controller Features**
+
+Prerequisite: AVRCP 1/1 "Controller"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_2_1   | x        | Initiating connection establishment for      |
+|                  |          | control (M)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_2   | x        | Accepting connection establishment for       |
+|                  |          | control initiated by TG (M)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_3   | x        | Initiating connection release for control (M)|
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_4   | x        | Accepting connection release for control     |
+|                  |          | initiated by TG (M)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_5   |          | Sending UNIT INFO command (O)                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_6   |          | Sending SUBUNIT INFO command (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_7   |          | Sending PASS THROUGH command in category 1   |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_8   | x        | Sending PASS THROUGH command in category 2   |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_9   |          | Sending PASS THROUGH command in category 3   |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_10  |          | Sending PASS THROUGH command in category 4   |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_11  |          | Get Capabilities (O)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_12  |          | List Player Application Setting Attributes   |
+|                  |          | (C.9)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_13  |          | List Player Application Setting Values (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_14  |          | Get Current Player Application Setting Value |
+|                  |          | (C.10)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_15  |          | Set Player Application Setting Value (C.10)  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_16  |          | Get Player Application Setting Attribute Text|
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_17  |          | Get Player Application Setting Value Text (O)|
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_18  |          | Inform Displayable Character Set (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_19  |          | Inform Battery Status of CT (O)              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_20  |          | Get Element Attributes (O)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_21  |          | Get Play Status (O)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_22  | x        | Register Notification (C.11)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_23  |          | Request Continuing Response (C.2)            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_24  |          | Abort Continuing Response (C.2)              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_25  |          | Next Group (C.12)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_26  |          | Previous Group (C.12)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_27  |          | Media Player Selection (O)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_28  |          | SetAddressedPlayer (O)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_29  |          | GetFolderItems(MediaPlayerList) (C.5)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_29b |          | GetTotalNumberOfItems(MediaPlayerList) (C.15)|
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_30  |          | EVENT_AVAILABLE_PLAYERS_CHANGED (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_31  |          | EVENT_ADDRESSED_PLAYER_CHANGED (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_32  |          | Browsing (O)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_33  |          | SetBrowsedPlayer (C.4)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_34  |          | ChangePath (C.4)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_35  |          | GetFolderItems(Filesystem) (C.4)             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_35b |          | GetTotalNumberOfItems(Filesystem) (C.15)     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_36  |          | GetItemAttributes (O)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_37  |          | PlayItem(Filesystem) (C.4)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_38  |          | EVENT_UIDS_CHANGED (O)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_39  |          | Searching (O)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_40  |          | Search (C.7)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_41  |          | GetFolderItems(Search Results) (C.7)         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_41b |          | GetTotalNumberOfItems(Search Results) (C.15) |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_42  |          | PlayItem(SearchResultList) (C.7)             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_43  |          | NowPlaying (C.8)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_44  |          | GetFolderItems(NowPlayingList) (C.8)         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_44b |          | GetTotalNumberOfItems(NowPlayingList) (C.15) |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_45  |          | PlayItem(NowPlayingList) (C.8)               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_46  |          | AddToNowPlaying (O)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_47  |          | EVENT_NOW_PLAYING_CONTENT_CHANGED (O)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_48  |          | Playable Folders (O)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_49  | x        | Absolute Volume (C.3)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_50  | x        | SetAbsoluteVolume (C.3)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_51  | x        | NotifyVolumeChange (C.3)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_52  | x        | Discoverable Mode (M)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_53  |          | PASSTHROUGH operation supporting Press and   |
+|                  |          | Hold (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_54  |          | Cover Art (C.15)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_55  |          | GetImageProperties (C.14)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_56  |          | GetImage (C.13)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_2_57  |          | GetLinkedThumbnail (C.13)                    |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory to support at least one.
+- C.2: Mandatory to support at least one IF AVRCP 2/20 "Get Element
+  Attributes", otherwise Optional.
+- C.3: Mandatory IF AVRCP 2/8 "Sending PASS THROUGH command in category 2",
+  otherwise Excluded.
+- C.4: Mandatory IF AVRCP 2/32 "Browsing", otherwise Excluded.
+- C.5: Mandatory IF AVRCP 2/27 "Media Player Selection", otherwise Excluded.
+- C.7: Mandatory IF AVRCP 2/39 "Searching", otherwise Excluded.
+- C.8: Mandatory IF AVRCP 2/32 "Browsing", otherwise Optional.
+- C.9: Mandatory IF AVRCP 2/13 "List Player Application Setting Values" OR
+  AVRCP 2/14 "Get Current Player Application Setting Value" OR AVRCP 2/15 "Set
+  Player Application Setting Value", otherwise Optional.
+- C.10: Mandatory to support at least one IF AVRCP 2/12 "List Player
+  Application Setting Attributes", otherwise Excluded.
+- C.11: Mandatory IF AVRCP 2/20 "Get Element Attributes" OR AVRCP 2/49
+  "Absolute Volume", otherwise Optional.
+- C.12: Mandatory to support none or all.
+- C.13: Excluded IF AVRCP 2b/4 "AVRCP v1.5", otherwise Mandatory to support at
+  least one IF AVRCP 2/54 "Cover Art", otherwise Excluded.
+- C.14: Excluded IF AVRCP 2b/4 "AVRCP v1.5", otherwise Optional IF AVRCP 2/54
+  "Cover Art", otherwise Excluded.
+- C.15: Excluded IF AVRCP 2b/4 "AVRCP v1.5", otherwise Optional.
+
+Controller features
+===================
+**Table 3: operation_id of category 1 for CT**
+
+Prerequisite: AVRCP 2/7 "Sending PASS THROUGH command in category 1"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_3_1   |          | 0 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_2   |          | 1 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_3   |          | 2 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_4   |          | 3 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_5   |          | 4 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_6   |          | 5 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_7   |          | 6 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_8   |          | 7 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_9   |          | 8 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_10  |          | 9 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_11  |          | dot (C.1)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_12  |          | enter (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_13  |          | clear (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_14  |          | sound select (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_15  |          | input select (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_16  |          | display information (C.1)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_17  |          | help (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_18  |          | power (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_19  |          | play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_20  |          | stop (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_21  |          | pause (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_22  |          | record (C.1)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_23  |          | rewind (C.1)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_24  |          | fast forward (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_25  |          | eject (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_26  |          | forward (C.1)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_27  |          | backward (C.1)                               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_28  |          | angle (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_29  |          | subpicture (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_30  |          | F1 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_32  |          | F3 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_33  |          | F4 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_34  |          | F5 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_3_35  |          | vendor unique (C.1)                          |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one item.
+
+Controller features
+===================
+**Table 4: operation_id of category 2 for CT**
+
+Prerequisite: AVRCP 2/8 "Sending PASS THROUGH command in category 2"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_4_1   |          | 0 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_2   |          | 1 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_3   |          | 2 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_4   |          | 3 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_5   |          | 4 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_6   |          | 5 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_7   |          | 6 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_8   |          | 7 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_9   |          | 8 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_10  |          | 9 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_11  |          | dot (C.1)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_12  |          | enter (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_13  |          | clear (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_14  |          | sound select (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_15  |          | input select (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_16  |          | display information (C.1)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_17  |          | help (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_18  |          | power (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_19  | x        | volume up (C.1)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_20  | x        | volume down (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_21  |          | mute (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_22  |          | F1 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_23  |          | F2 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_24  |          | F3 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_25  |          | F4 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_26  |          | F5 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_4_27  |          | vendor unique (C.1)                          |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one item.
+
+Controller features
+===================
+**Table 5: operation_id of category 3 for CT**
+
+Prerequisite: AVRCP 2/9 "Sending PASS THROUGH command in category 3"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_5_1   |          | 0 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_2   |          | 1 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_3   |          | 2 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_4   |          | 3 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_5   |          | 4 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_6   |          | 5 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_7   |          | 6 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_8   |          | 7 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_9   |          | 8 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_10  |          | 9 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_11  |          | dot (C.1)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_12  |          | enter (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_13  |          | clear (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_14  |          | channel up (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_15  |          | channel down (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_16  |          | previous channel (C.1)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_17  |          | sound select (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_18  |          | input select (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_19  |          | display information (C.1)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_20  |          | help (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_21  |          | power (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_22  |          | angle (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_23  |          | subpicture (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_24  |          | F1 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_25  |          | F2 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_26  |          | F3 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_27  |          | F4 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_28  |          | F5 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_5_29  |          | vendor unique (C.1)                          |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one item.
+
+Controller features
+===================
+**Table 6: operation_id of category 4 for CT**
+
+Prerequisite: AVRCP 2/10 "Sending PASS THROUGH command in category 4"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_6_1   |          | select (C.1)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_2   |          | up (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_3   |          | down (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_4   |          | left (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_5   |          | right (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_6   |          | right-up (C.1)                               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_7   |          | right-down (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_8   |          | left-up (C.1)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_9   |          | left-down (C.1)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_10  |          | root menu (C.1)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_11  |          | setup menu (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_12  |          | contents menu (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_13  |          | favorite menu (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_14  |          | exit (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_15  |          | 0 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_16  |          | 1 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_17  |          | 2 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_18  |          | 3 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_19  |          | 4 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_20  |          | 5 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_21  |          | 6 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_22  |          | 7 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_23  |          | 8 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_24  |          | 9 (C.1)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_25  |          | dot (C.1)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_26  |          | enter (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_27  |          | clear (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_28  |          | display information (C.1)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_29  |          | help (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_30  |          | page up (C.1)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_31  |          | page down (C.1)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_32  |          | power (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_33  |          | F1 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_34  |          | F2 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_35  |          | F3 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_36  |          | F4 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_37  |          | F5 (C.1)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_6_38  |          | vendor unique (C.1)                          |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one item.
+
+Target features
+===============
+**Table 7: Target Features**
+
+Prerequisite: AVRCP 1/2 "Target"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_7_1   |          | Initiating connection establishment for      |
+|                  |          | control (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_2   | x        | Accepting connection establishment for       |
+|                  |          | control initiated by CT (M)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_3   | x        | Initiating connection release for control (M)|
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_4   | x        | Accepting connection release for control     |
+|                  |          | initiated by CT (M)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_5   | x        | Receiving UNIT INFO command (M)              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_6   | x        | Receiving SUBUNIT INFO command (M)           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_7   | x        | Receiving PASS THROUGH command in category 1 |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_8   | x        | Receiving PASS THROUGH command in category 2 |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_9   |          | Receiving PASS THROUGH command in category 3 |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_10  |          | Receiving PASS THROUGH command in category 4 |
+|                  |          | (C.1)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_11  | x        | Get Capabilities Response (C.3)              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_12  |          | List Player Application Settings Attributes  |
+|                  |          | Response (C.14)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_13  |          | List Player Application Setting Values       |
+|                  |          | Response (C.14)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_14  |          | Get Current Player Application Settings Value|
+|                  |          | Response (C.14)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_15  |          | Set Player Application Setting Value Response|
+|                  |          | (C.14)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_16  |          | Get Player Application Setting Attribute Text|
+|                  |          | Response (O)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_17  |          | Get Player Application Setting Value Text    |
+|                  |          | Response (O)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_18  |          | Inform Displayable Character Set Response (O)|
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_19  |          | Inform Battery Status of CT Response (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_20  | x        | Get Element Attributes Response (C.3)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_21  | x        | Get Play Status Response (C.2)               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_22  | x        | Register Notification Response (C.12)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_23  | x        | Notify Event Response:                       |
+|                  |          | PLAYBACK_STATUS_CHANGED (C.4)                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_24  | x        | Notify Event Response: TRACK_CHANGED (C.4)   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_25  |          | Notify Event Response: TRACK_REACHED_END (O) |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_26  |          | Notify Event Response: TRACK_REACHED_START   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_27  |          | Notify Event Response: PLAYBACK_POS_CHANGED  |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_28  |          | Notify Event Response: BATT_STATUS_CHANGED   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_29  |          | Notify Event Response: SYSTEM_STATUS_CHANGED |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_30  |          | Notify Event Response:                       |
+|                  |          | PLAYER_APPLICATION_SETTING_CHANGED (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_31  | x        | Request Continuing Response (C.2)            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_32  | x        | Abort Continuing Response (C.2)              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_34  |          | Next Group (C.15)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_35  |          | Previous Group (C.15)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_36  | x        | Media Player Selection (C.8)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_37  | x        | SetAddressedPlayer (C.8)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_38  | x        | GetFolderItems(MediaPlayerList) (C.8)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_38b | x        | GetTotalNumberOfItems(MediaPlayerList) (C.20)|
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_39  | x        | EVENT_AVAILABLE_PLAYERS_CHANGED (C.8)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_40  | x        | EVENT_ADDRESSED_PLAYER_CHANGED (C.8)         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_41  |          | Supports Multiple Players (O)                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_42  |          | Browsing (O)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_42a |          | Initiating connection establishment for      |
+|                  |          | browsing channel (O)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_43  |          | SetBrowsedPlayer (C.6)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_43a |          | Non-addressed Player Browsing (C.17)         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_44  |          | ChangePath (C.6))                            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_45  |          | GetFolderItems(Filesystem) (C.6)             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_45b |          | GetTotalNumberOfItems(Filesystem) (C.19)     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_46  |          | GetItemAttributes (C.6)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_47  |          | PlayItem(Filesystem) (C.6)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_48  |          | EVENT_UIDS_CHANGED (C.9)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_49  |          | Database Aware Players (O)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_50  |          | Searching (O)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_51  |          | Search (C.10)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_52  |          | GetFolderItems(Search Results) (C.10)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_52b |          | GetTotalNumberOfItems(SearchResults) (C.21)  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_53  |          | PlayItem(SearchResultList) (C.10)            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_54  |          | NowPlaying (C.11)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_55  |          | GetFolderItems(NowPlayingList) (C.11)        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_55b |          | GetTotalNumberOfItems(NowPlayingList) (C.22) |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_56  |          | PlayItem(NowPlayingList) (C.11)              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_57  |          | AddToNowPlaying (O)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_58  |          | EVENT_NOW_PLAYING_CONTENT_CHANGED (C.11)     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_59  |          | Playable Folders (O)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_60  | x        | Absolute Volume (C.5)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_61  | x        | SetAbsoluteVolume (C.5)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_62  | x        | NotifyVolumeChange (C.5)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_63  |          | Error Response (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_64  | x        | General Reject (C.13)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_65  | x        | Discoverable Mode (M)                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_66  |          | PASSTHROUGH operation supporting Press and   |
+|                  |          | Hold (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_67  |          | Cover Art (C.18)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_68  |          | GetImageProperties (C.16)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_69  |          | GetImage (C.16)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_7_70  |          | GetLinkedThumbnail (C.16)                    |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory to support at least one.
+- C.2: Mandatory IF AVRCP 7/20 "Get Element Attributes Response", otherwise
+  Optional.
+- C.3: Mandatory IF AVRCP 7/7 "Receiving PASS THROUGH command in category 1",
+  otherwise Optional.
+- C.4: Mandatory IF AVRCP 7/22 "Register Notification Response" AND AVRCP 7/20
+  "Get Element Attributes Response", otherwise Optional.
+- C.5: Mandatory IF AVRCP 7/8 "Receiving PASS THROUGH command in category 2",
+  otherwise Excluded.
+- C.6: Mandatory IF AVRCP 7/42 "Browsing", otherwise Excluded.
+- C.8: Mandatory IF AVRCP 7/7 "Receiving PASS THROUGH command in category 1"
+  OR AVRCP 7/9 "Receiving PASS THROUGH command in category 3", otherwise
+  Excluded.
+- C.9: Mandatory IF AVRCP 7/49 "Database Aware Players", otherwise Optional.
+- C.10: Mandatory IF AVRCP 7/50 "Searching", otherwise Excluded.
+- C.11: Mandatory IF AVRCP 7/42 "Browsing", otherwise Optional.
+- C.12: Mandatory IF AVRCP 7/7 "Receiving PASS THROUGH command in category 1"
+  OR (AVRCP 7/8 "Receiving PASS THROUGH command in category 2" AND AVRCP 7/60
+  "Absolute Volume") OR AVRCP 7/9 "Receiving PASS THROUGH command in category
+  3", otherwise Optional.
+- C.13: Mandatory IF AVRCP 7/7 "Receiving PASS THROUGH command in category 1"
+  OR AVRCP 7/9 "Receiving PASS THROUGH command in category 3" OR AVRCP 7/42
+  "Browsing", otherwise Optional.
+- C.14: Mandatory to support none or all.
+- C.15: Mandatory to support none or all.
+- C.16: Excluded IF AVRCP 7b/4 "AVRCP v1.5", otherwise Mandatory IF AVRCP 7/67
+  "Cover Art", otherwise Excluded.
+- C.17: Optional IF AVRCP 7/42 "Browsing", otherwise Excluded.
+- C.18: Excluded IF AVRCP 7b/4 "AVRCP v1.5", otherwise Optional.
+- C.19: Excluded IF AVRCP 7b/4 "AVRCP v1.5", otherwise Mandatory IF AVRCP 7/42
+  "Browsing", otherwise Excluded.
+- C.20: Excluded IF AVRCP 7b/4 "AVRCP v1.5", otherwise Mandatory IF AVRCP 7/7
+  "Receiving PASS THROUGH command in category 1" OR AVRCP 7/9 "Receiving PASS
+  THROUGH command in category 3", otherwise Excluded.
+- C.21: Excluded IF AVRCP 7b/4 "AVRCP v1.5", otherwise Mandatory IF AVRCP 7/50
+  "Searching", otherwise Excluded.
+- C.22: Excluded IF AVRCP 7b/4 "AVRCP v1.5", otherwise Mandatory IF AVRCP 7/42
+  "Browsing", otherwise Optional.
+
+Target features
+===============
+**Table 8: operation_id of category 1 for TG**
+
+Prerequisite: AVRCP 7/7 "Receiving PASS THROUGH command in category 1"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_8_1   |          | 0 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_2   |          | 1 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_3   |          | 2 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_4   |          | 3 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_5   |          | 4 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_6   |          | 5 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_7   |          | 6 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_8   |          | 7 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_9   |          | 8 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_10  |          | 9 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_11  |          | Dot (O)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_12  |          | Enter (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_13  |          | Clear (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_14  |          | Sound select (O)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_15  |          | Input select (O)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_16  |          | Display information (O)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_17  |          | Help (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_18  |          | Power (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_19  | x        | Play (M)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_20  | x        | Stop (M)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_21  |          | Pause (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_22  |          | Record (O)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_23  |          | Rewind (O)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_24  |          | Fast forward (O)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_25  |          | Eject (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_26  |          | Forward (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_27  |          | Backward (O)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_28  |          | Angle (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_29  |          | Subpicture (O)                               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_30  |          | F1 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_31  |          | F2 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_32  |          | F3 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_33  |          | F4 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_33a |          | F5 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_8_34  |          | Vendor unique (O)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+
+Target features
+===============
+**Table 9: operation_id of category 2 for TG**
+
+Prerequisite: AVRCP 7/8 "Receiving PASS THROUGH command in category 2"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_9_1   |          | 0 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_2   |          | 1 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_3   |          | 2 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_4   |          | 3 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_5   |          | 4 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_6   |          | 5 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_7   |          | 6 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_8   |          | 7 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_9   |          | 8 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_10  |          | 9 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_11  |          | Dot (O)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_12  |          | Enter (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_13  |          | Clear (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_14  |          | Sound select (O)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_15  |          | Input select (O)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_16  |          | Display information (O)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_17  |          | Help (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_18  |          | Power (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_19  | x        | Volume up (M)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_20  | x        | Volume down (M)                              |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_21  |          | Mute (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_22  |          | F1 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_23  |          | F2 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_24  |          | F3 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_25  |          | F4 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_26  |          | F5 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_9_27  |          | Vendor unique (O)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+
+Target features
+===============
+**Table 10: operation_id of category 3 for TG**
+
+Prerequisite: AVRCP 7/9 "Receiving PASS THROUGH command in category 3"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_10_1  |          | 0 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_2  |          | 1 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_3  |          | 2 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_4  |          | 3 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_5  |          | 4 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_6  |          | 5 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_7  |          | 6 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_8  |          | 7 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_9  |          | 8 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_10 |          | 9 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_11 |          | Dot (O)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_12 |          | Enter (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_13 |          | Clear (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_14 |          | Channel up (M)                               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_15 |          | Channel down (M)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_16 |          | Previous channel (O)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_17 |          | Sound select (O)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_18 |          | Input select (O)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_19 |          | Display information (O)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_20 |          | Help (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_21 |          | Power (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_21a|          | Angle (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_21b|          | Subpicture (O)                               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_22 |          | F1 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_23 |          | F2 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_24 |          | F3 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_25 |          | F4 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_25a|          | F5 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_10_26 |          | Vendor unique (O)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+
+Target features
+===============
+**Table 11: operation_id of category 4 for TG**
+
+Prerequisite: AVRCP 7/10 "Receiving PASS THROUGH command in category 4"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_11_1  |          | Select (M)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_2  |          | Up (M)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_3  |          | Down (M)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_4  |          | Left (M)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_5  |          | Right (M)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_6  |          | Right-up (O)                                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_7  |          | Right-down (O)                               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_8  |          | Left-up (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_9  |          | Left-down (O)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_10 |          | Root menu (M)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_11 |          | Setup menu (O)                               |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_12 |          | Contents menu (O)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_13 |          | Favorite menu (O)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_14 |          | Exit (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_15 |          | 0 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_16 |          | 1 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_17 |          | 2 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_18 |          | 3 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_19 |          | 4 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_20 |          | 5 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_21 |          | 6 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_22 |          | 7 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_23 |          | 8 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_24 |          | 9 (O)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_25 |          | Dot (O)                                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_26 |          | Enter (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_27 |          | Clear (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_28 |          | Display information (O)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_29 |          | Help (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_30 |          | Page up (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_31 |          | Page down (O)                                |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_32 |          | Power (O)                                    |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_33 |          | F1 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_34 |          | F2 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_35 |          | F3 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_36 |          | F4 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_36a|          | F5 (O)                                       |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_11_37 |          | Vendor unique (O)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+
+Requirements towards other profiles
+===================================
+**Table 12: Requirements towards the Generic Access Profile (CT)**
+
+Prerequisite: AVRCP 1/1 "Controller"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_12_1  | x        | General discoverable mode (M)                |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+Requirements towards other profiles
+===================================
+**Table 13: Requirements towards the Generic Access Profile (TG)**
+
+Prerequisite: AVRCP 1/2 "Target"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_13_1  | x        | General discoverable mode (M)                |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+Requirements towards other profiles
+===================================
+**Table 14: OBEX Operations (AVRCP CT, OBEX Client)**
+
+Prerequisite: AVRCP 1/1 "Controller"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_14_1  |          | OBEX Connect operation (C.1)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_14_2  |          | OBEX Get operation (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_14_3  |          | OBEX Disconnect operation (C.1)              |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory IF AVRCP 2/54 "Cover Art", otherwise Excluded.
+
+Requirements towards other profiles
+===================================
+**Table 15: OBEX Operations (AVRCP TG, OBEX Server)**
+
+Prerequisite: AVRCP 1/2 "Target"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_AVRCP_15_1  |          | OBEX Connect operation (C.1)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_15_2  |          | OBEX Get operation (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_AVRCP_15_3  |          | OBEX Disconnect operation (C.1)              |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory IF AVRCP 7/67 "Cover Art", otherwise Excluded.
diff --git a/doc/qualification/avrcp-pts.rst b/doc/qualification/avrcp-pts.rst
new file mode 100644
index 000000000..34733798f
--- /dev/null
+++ b/doc/qualification/avrcp-pts.rst
@@ -0,0 +1,223 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Copyright © 2025-2026 Collabora Ltd.
+
+==================
+AVRCP test results
+==================
+
+:PTS version: 8.5.2 Build 5
+
+Setup
+=====
+
+- Remove PTS device from Bluetooth devices
+
+- Update "TSPX_player_feature_bitmask" in IXIT to "1FFAFFBBF3BFF9040800000000000000"
+
+- The Bluetooth Transport path used for "busctl set-property …" is displayed by 'mpris-proxy',
+  e.g. "Bluetooth Transport /org/bluez/hci0/dev_<BD_ADDR>/sep1/fd4 found":
+
+  - Start "mpris-proxy" in a different terminal, it should run during all the AVRCP tests
+
+Tests
+=====
+
+The kernel and BlueZ versions represent the oldest version without backport
+for which we know the test passed.
+
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| Test name                    | Result   | Kernel  | BlueZ |                                                                         |
++==============================+==========+=========+=======+=========================================================================+
+| AVRCP/CT/CEC/BV-01-I         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Remove PTS device from Bluetooth devices                              |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | On request create a Bluetooth connection from IUT to PTS                |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/CEC/BV-02-I         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/CRC/BV-01-I         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/CRC/BV-02-I         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/PTH/BV-01-C         | PASS     |     6.1 | 5.69  | - busctl call org.bluez /org/bluez/hci0/dev_<BD_ADDR> \                 |
+|                              |          |         |       |   org.bluez.MediaControl1 VolumeUp                                      |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl call org.bluez /org/bluez/hci0/dev_<BD_ADDR> \                 |
+|                              |          |         |       |   org.bluez.MediaControl1 VolumeDown                                    |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/PTT/BV-02-I         | PASS     |     6.1 | 5.69  | - busctl call org.bluez /org/bluez/hci0/dev_<BD_ADDR> \                 |
+|                              |          |         |       |   org.bluez.MediaControl1 VolumeUp                                      |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl call org.bluez /org/bluez/hci0/dev_<BD_ADDR> \                 |
+|                              |          |         |       |   org.bluez.MediaControl1 VolumeDown                                    |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/VLH/BI-03-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Remove PTS device from Bluetooth devices                              |
+|                              |          |         |       | - Start VLC                                                             |
+|                              |          |         |       | - Cancel first try when requesting to initiate a control channel        |
+|                              |          |         |       |   connection, then retry this test                                      |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | On request create a Bluetooth connection from IUT to PTS                |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | On volume change request:                                               |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl set-property org.bluez /org/bluez/hci0/dev_<BD_ADDR>/sep1/fd0 \|
+|                              |          |         |       |   org.bluez.MediaTransport1 Volume q 64                                 |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | Check using audio volume panel                                          |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/VLH/BI-04-C         | PASS     |     6.1 | 5.69  | Check using audio volume panel                                          |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/VLH/BV-01-C         | PASS     |     6.1 | 5.69  | On volume change request:                                               |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl set-property org.bluez /org/bluez/hci0/dev_<BD_ADDR>/sep1/fd0 \|
+|                              |          |         |       |   org.bluez.MediaTransport1 Volume q 64                                 |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/VLH/BV-03-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/VLH/BV-01-I         | PASS     |     6.1 | 5.69  | Check using audio volume panel                                          |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/VLH/BV-02-I         | PASS     |     6.1 | 5.69  | On volume change request:                                               |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl set-property org.bluez /org/bluez/hci0/dev_<BD_ADDR>/sep1/fd0 \|
+|                              |          |         |       |   org.bluez.MediaTransport1 Volume q 64                                 |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/CT/NFY/BV-01-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Remove PTS device from Bluetooth devices                              |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | On request create a Bluetooth connection from IUT to PTS                |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/CEC/BV-01-I         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Remove PTS device from Bluetooth devices                              |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | On request create a Bluetooth connection from IUT to PTS                |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/CFG/BI-01-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/CFG/BV-02-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/CRC/BV-01-I         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/CRC/BV-02-I         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/ICC/BV-01-I         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/ICC/BV-02-I         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/INV/BI-01-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/INV/BV-02-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MDI/BV-02-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MDI/BV-04-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MDI/BV-05-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BI-01-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BV-02-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Remove PTS device from Bluetooth devices                              |
+|                              |          |         |       | - Start VLC and open a file                                             |
+|                              |          |         |       | - Cancel first try when requesting to initiate a control channel        |
+|                              |          |         |       |   connection, then retry this test                                      |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | On request create a Bluetooth connection from IUT to PTS                |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BV-06-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BV-09-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BV-12-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BV-01-I         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Remove PTS device from Bluetooth devices                              |
+|                              |          |         |       | - Start VLC                                                             |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | VLC is shown as "Media Player: Player"                                  |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BV-02-I         | PASS     |     6.1 | 5.69  | Check using audio volume panel                                          |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/MPS/BV-03-I         | PASS     |     6.1 | 5.69  | Check using audio volume panel                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | Sometimes the volume is changed on Speaker instead of the Bluetooth PTS |
+|                              |          |         |       | audio device                                                            |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/NFY/BI-01-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/NFY/BV-02-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Start Lollypop and open a file                                        |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | On request play the file in Lollypop                                    |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/NFY/BV-04-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Start VLC and play a file                                             |
+|                              |          |         |       +-------------------------------------------------------------------------+
+|                              |          |         |       | On "Place the IUT into a state where no track is currently selected…"   |
+|                              |          |         |       | request close VLC then press OK                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/NFY/BV-05-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Start VLC and play a file                                             |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/NFY/BV-08-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Start VLC and open a file                                             |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/PTT/BV-01-I         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Start Lollypop, play a file then pause it (not stopped)               |
+|                              |          |         |       |   (VLC doesn't receive the Play command but receive the Stop command)   |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/PTT/BV-02-I         | PASS     |     6.1 | 5.69  | Check using audio volume panel                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | Sometimes the volume is changed on Speaker instead of the Bluetooth PTS |
+|                              |          |         |       | audio device, in this case check Bluetooth volume is above 0% or        |
+|                              |          |         |       | manually increase it                                                    |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/RCR/BV-02-C         | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Open 'sbc_enc_test_04_more_than_512_bytes_metadata.mp3' file in VLC   |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/RCR/BV-04-C         | PASS     |     6.1 | 5.69  |                                                                         |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/VLH/BI-01-C         | PASS     |     6.1 | 5.69  | Sometimes inconclusive, retry                                           |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/VLH/BI-02-C         | PASS     |     6.1 | 5.69  | Sometimes inconclusive, retry                                           |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/VLH/BV-02-C         | PASS     |     6.1 | 5.69  | Sometimes inconclusive, retry                                           |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/VLH/BV-04-C         | PASS     |     6.1 | 5.69  | On volume change request:                                               |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl set-property org.bluez /org/bluez/hci0/dev_<BD_ADDR>/fd0 \     |
+|                              |          |         |       |   org.bluez.MediaTransport1 Volume q 64                                 |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/VLH/BV-01-I         | PASS     |     6.1 | 5.69  | On volume change request:                                               |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl set-property org.bluez /org/bluez/hci0/dev_<BD_ADDR>/fd0 \     |
+|                              |          |         |       |   org.bluez.MediaTransport1 Volume q 64                                 |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | Sometimes inconclusive, retry                                           |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| AVRCP/TG/VLH/BV-02-I         | PASS     |     6.1 | 5.69  | Expect to hear sound (or not), then silence:                            |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl get-property org.bluez /org/bluez/hci0/dev_<BD_ADDR>/fd0 \     |
+|                              |          |         |       |   org.bluez.MediaTransport1 Volume q 0                                  |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | (click OK), then sound really low (click OK):                           |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - busctl get-property org.bluez /org/bluez/hci0/dev_<BD_ADDR>/fd0 \     |
+|                              |          |         |       |   org.bluez.MediaTransport1 Volume q 64                                 |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
+| IOPT/CL/AVRCP-CT/SFC/BV-03-I | PASS     |     6.1 | 5.69  | Pre-condition:                                                          |
+|                              |          |         |       |                                                                         |
+|                              |          |         |       | - Remove PTS device from Bluetooth devices                              |
++------------------------------+----------+---------+-------+-------------------------------------------------------------------------+
-- 
2.43.0


  parent reply	other threads:[~2026-01-27 17:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-27 17:38 [PATCH BlueZ v2 01/13] doc/qualification: Add PICS and howto for the A2DP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 02/13] doc/qualification: Add PICS and howto for the AVCTP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 03/13] doc/qualification: Add PICS and howto for the AVDTP qualification Frédéric Danis
2026-01-27 17:38 ` Frédéric Danis [this message]
2026-01-27 17:38 ` [PATCH BlueZ v2 05/13] doc/qualification: Add PICS and howto for the GAVDP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 06/13] doc/qualification: Add PICS and howto for the HID qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 07/13] doc/qualification: Add PICS and howto for the RFComm qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 08/13] doc/qualification: Add PICS and howto for the ScPP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 09/13] doc/qualification: Add PICS and howto for the SDP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 10/13] doc/qualification: Add PICS and howto for the SPP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 11/13] doc/qualification: Add PICS and howto for the HoGP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 12/13] doc/qualification: Add PICS and howto for the HSP qualification Frédéric Danis
2026-01-27 17:38 ` [PATCH BlueZ v2 13/13] doc/qualification: Add PICS and howto for the IOPT qualification Frédéric Danis
2026-01-27 18:30 ` [PATCH BlueZ v2 01/13] doc/qualification: Add PICS and howto for the A2DP qualification patchwork-bot+bluetooth
2026-01-27 18:37 ` [BlueZ,v2,01/13] " bluez.test.bot

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=20260127173841.153747-4-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