summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tools/test-runner: add option to start Pipewire inside the VMHEADmasterPauli Virtanen2023-05-171-4/+145
| | | | | | | | Add option for launching Pipewire inside the VM to serve Bluetooth endpoints, which can be used in tests. Make the option to optionally take path to the audio daemon, so e.g. Pulseaudio support can be added later.
* test-runner: revert udevd and audio supportPauli Virtanen2023-05-171-105/+3
| | | | | | | | Tests running inside the VM don't need access to sound cards running on the host. This reverts commit 91a48af52efb0751fab396b2b9026c9186b10b88 This reverts commit e20e7e0b05c7edb74255c9b092916ac5bb99c97f
* main: Rework config option parsingLuiz Augusto von Dentz2023-05-162-371/+393
| | | | | This rework config option parsing adding helper function to make it simpler to parse new options.
* admin: Mark driver as experimentalLuiz Augusto von Dentz2023-05-161-5/+2
| | | | | This uses the btd_profile.experimental to mark the driver as experimental.
* adapter: Add support for experimental flagLuiz Augusto von Dentz2023-05-162-0/+11
| | | | | This adds experimental field to btd_adapter_driver so the plugin can indicate drivers that depends on experimental to be enabled.
* plugin: Treat -ENOTSUP as -ENOSYSLuiz Augusto von Dentz2023-05-151-1/+1
| | | | | | If plugin .init returns -ENOTSUP treat it as the system doesn't support the driver since that is the error returned by btd_profile_register when experimental is disabled.
* vcp: Mark driver as experimentalLuiz Augusto von Dentz2023-05-151-9/+9
| | | | | This uses the btd_profile.experimental to mark the driver as experimental.
* mcp: Mark driver as experimentalLuiz Augusto von Dentz2023-05-151-13/+4
| | | | | This uses the btd_profile.experimental to mark the driver as experimental.
* csip: Mark driver as experimentalLuiz Augusto von Dentz2023-05-151-9/+9
| | | | | This uses the btd_profile.experimental to mark the driver as experimental.
* bass: Mark driver as experimentalLuiz Augusto von Dentz2023-05-151-9/+8
| | | | | This uses the btd_profile.experimental to mark the driver as experimental.
* bap: Mark driver as experimentalLuiz Augusto von Dentz2023-05-151-9/+8
| | | | | This uses the btd_profile.experimental to mark the driver as experimental.
* profile: Add support for experimental flagLuiz Augusto von Dentz2023-05-152-0/+11
| | | | | This adds experimental field to btd_profile so the plugin can indicate drivers that depends on experimental to be enabled.
* client/player: Add codec as parameter to endpoint.presetsLuiz Augusto von Dentz2023-05-121-61/+171
| | | | This changes endpoint.presets command to take codec as parameter.
* client/player: Fix not checking for SupportedUUIDsLuiz Augusto von Dentz2023-05-121-24/+42
| | | | When registering an endpoint it should always check for SupportedUUIDs.
* client/player: Add support to Max Transports in endpoint.registerLuiz Augusto von Dentz2023-05-121-2/+59
| | | | | | | | [bluetooth]# endpoint.register 00002bc9-0000-1000-8000-00805f9b34fb 0x06 [/local/endpoint/ep0] Auto Accept (yes/no): y [/local/endpoint/ep0] Max Transports (auto/value): 1 [/local/endpoint/ep0] CIG (auto/value): a [/local/endpoint/ep0] CIS (auto/value): a
* shared/bap: Fix not sending ASE Receiver Stop ReadyLuiz Augusto von Dentz2023-05-121-0/+15
| | | | | | | This fixes not sending ASE Receiver Stop Ready if stream is on disabling state when CIS is disconnected. Fixes: https://github.com/bluez/bluez/issues/516
* client/player: Fix crashes accessing metadataLuiz Augusto von Dentz2023-05-121-2/+3
| | | | | If metadata is not set the respective iovec is left NULL so it needs to be checked before accessing its fields.
* mesh: Update the behavior of --io optionInga Stotland2023-05-126-37/+40
| | | | | | | | | | | | | | | This aligns the behavior of command line option --io to add new "auto" value and modify the behavior of "generic" value: *auto* - Use first available controller: via MGMT interface if kernel supports it, otherwise, via raw HCI socket (i.e., default to *generic*). *generic:[hci]<index>* - Use generic HCI io on interface hci<index> The default value is now *auto*, whereas *generic* is used only if the specific HCI controller is explicitly specified.
* monitor/intel: Skip packet/error counters if 0Luiz Augusto von Dentz2023-05-091-7/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | This skips printing TLVs related to packet/error count if they are 0 and also update the missing TLVs: > HCI Event: Vendor (0xff) plen 188 Vendor Prefix (0x8780) Intel Extended Telemetry (0x03) Extended event type (0x01): Perform Stats (0x05) ACL connection handle (0x4a): 0x0100 Rx HEC errors (0x4b): 3 Packets from host (0x4d): 375 Tx packets (0x4e): 375 Tx packets 0 retries (0x4f): 354 Tx packets 1 retries (0x50): 20 Tx packets 3 retries (0x52): 1 Tx 3DH5 packets (0x5c): 375 Rx packets (0x5d): 400 ACL link throughput (bps) (0x5e): 533419 ACL max packet latency (us) (0x5f): 36875 ACL avg packet latency (us) (0x60): 19441 ACL RX RSSI moving avg (0x61): 65329 ACL RX SNR Bad Margin Counter (0x62): 1M 59 2M 0 3M 0 ACL RX RSSI Bad Counter (0x63): 1M 1711 2M 0 3M 0 ACL TX RSSI Bad Counter (0x64): 1M 1024 2M 0 3M 0
* monitor/intel: Fix not skipping unknown TLV typesLuiz Augusto von Dentz2023-05-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code was stopping at first time it detected an unknown TLV type when it could continue: > HCI Event: Vendor (0xff) plen 82 Vendor Prefix (0x8780) Intel Extended Telemetry (0x03) Extended event type (0x01): Audio Link Quality Report Type (0x05) Unknown extended subevent 0x81 01 01 05 81 04 88 13 00 00 82 10 6a e6 6c 00 00 ...........j.l.. 00 00 00 4b 45 53 00 00 00 00 00 83 04 00 00 00 ...KES.......... 00 84 04 01 03 07 19 85 04 3f 08 00 00 86 08 00 .........?...... 00 00 00 00 00 00 00 87 04 00 00 00 00 88 04 00 ................ 00 00 00 89 04 00 00 00 00 8a 04 b9 49 0c 00 ............I.. So this changes it to: > HCI Event: Vendor (0xff) plen 82 Vendor Prefix (0x8780) Intel Extended Telemetry (0x03) Extended event type (0x01): Audio Link Quality Report Type (0x05) Unknown extended subevent 0x81 88 13 00 00 .... Unknown extended subevent 0x82 04 97 6c 00 00 00 00 00 68 44 53 00 00 00 00 00 ..l.....hDS..... Unknown extended subevent 0x83 00 00 00 00 .... Unknown extended subevent 0x84 01 03 07 19 .... Unknown extended subevent 0x85 3a 08 00 00 :... Unknown extended subevent 0x86 00 00 00 00 00 00 00 00 ........ Unknown extended subevent 0x87 00 00 00 00 .... Unknown extended subevent 0x88 00 00 00 00 .... Unknown extended subevent 0x89 00 00 00 00 .... Unknown extended subevent 0x8a 9f 1a 2f 00 ../.
* monitor: Fix misaligment errorsLuiz Augusto von Dentz2023-05-051-2/+3
| | | | | | | | | | | This fixes the following errors: monitor/packet.c:11968:27: runtime error: member access within misaligned address 0x565448026d55 for type 'const struct monitor_l2cap_hdr', which requires 2 byte alignment monitor/packet.c:11968:4: runtime error: member access within misaligned address 0x565448026d55 for type 'const struct monitor_l2cap_hdr', which requires 2 byte alignment
* monitor/att: Attempt to insert discovered attributesLuiz Augusto von Dentz2023-05-051-192/+344
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This attempts to insert discovered attributes into monitor gatt_db instance if their respective discover procedures are used which enables decoding traces injected by user via unit testing: > sudo unit/test-bap -m -s "34 = test-bap: BAP/UCL/SCC/BV-034-C [UCL SNK Config Codec, VS] - run > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x0003 Type: Sink PAC (0x2bc9) < test-bap: User Data TX ATT: Read Response (0x0b) len 8 Handle: 0x0003 Type: Sink PAC (0x2bc9) Value: 01ff010001000000 Number of PAC(s): 1 PAC #0: Codec: Vendor specific (0xff) Codec Company ID: Nokia Mobile Phones (0x0001) Codec Vendor ID: 0x0001 > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x0006 Type: Sink Audio Locations (0x2bca) < test-bap: User Data TX ATT: Read Response (0x0b) len 4 Handle: 0x0006 Type: Sink Audio Locations (0x2bca) Value: 03000000 Location: 0x00000003 Front Left (0x00000001) Front Right (0x00000002) > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x0009 Type: Source PAC (0x2bcb) < test-bap: User Data TX ATT: Read Response (0x0b) len 8 Handle: 0x0009 Type: Source PAC (0x2bcb) Value: 01ff010001000000 Number of PAC(s): 1 PAC #0: Codec: Vendor specific (0xff) Codec Company ID: Nokia Mobile Phones (0x0001) Codec Vendor ID: 0x0001 > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x000c Type: Source Audio Locations (0x2bcc) < test-bap: User Data TX ATT: Read Response (0x0b) len 4 Handle: 0x000c Type: Source Audio Locations (0x2bcc) Value: 03000000 Location: 0x00000003 Front Left (0x00000001) Front Right (0x00000002) > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x000f Type: Available Audio Contexts (0x2bcd) < test-bap: User Data TX ATT: Read Response (0x0b) len 4 Handle: 0x000f Type: Available Audio Contexts (0x2bcd) Value: ff0f0e00 Sink Context: 0x0fff Unspecified (0x0001) Conversational (0x0002) Media (0x0004) Game (0x0008) Instructional (0x0010) Voice Assistants (0x0020) Live (0x0040) Sound Effects (0x0080) Notifications (0x0100) Ringtone (0x0200) Alerts (0x0400) Emergency alarm (0x0800) Source Context: 0x000e Conversational (0x0002) Media (0x0004) Game (0x0008) > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x0012 Type: Supported Audio Contexts (0x2bce) < test-bap: User Data TX ATT: Read Response (0x0b) len 4 Handle: 0x0012 Type: Supported Audio Contexts (0x2bce) Value: ff0f0e00 Sink Context: 0x0fff Unspecified (0x0001) Conversational (0x0002) Media (0x0004) Game (0x0008) Instructional (0x0010) Voice Assistants (0x0020) Live (0x0040) Sound Effects (0x0080) Notifications (0x0100) Ringtone (0x0200) Alerts (0x0400) Emergency alarm (0x0800) Source Context: 0x000e Conversational (0x0002) Media (0x0004) Game (0x0008) > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x0016 Type: Sink ASE (0x2bc4) < test-bap: User Data TX ATT: Read Response (0x0b) len 2 Handle: 0x0016 Type: Sink ASE (0x2bc4) Value: 0100 ASE ID: 1 State: Idle (0x00) > test-bap: User Data RX ATT: Write Request (0x12) len 4 Handle: 0x0017 Data: 0100 < test-bap: User Data TX ATT: Write Response (0x13) len 0 > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x0019 Type: Sink ASE (0x2bc4) < test-bap: User Data TX ATT: Read Response (0x0b) len 2 Handle: 0x0019 Type: Sink ASE (0x2bc4) Value: 0200 ASE ID: 2 State: Idle (0x00) > test-bap: User Data RX ATT: Write Request (0x12) len 4 Handle: 0x001a Data: 0100 < test-bap: User Data TX ATT: Write Response (0x13) len 0 > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x001c Type: Source ASE (0x2bc5) < test-bap: User Data TX ATT: Read Response (0x0b) len 2 Handle: 0x001c Type: Source ASE (0x2bc5) Value: 0300 ASE ID: 3 State: Idle (0x00) > test-bap: User Data RX ATT: Write Request (0x12) len 4 Handle: 0x001d Data: 0100 < test-bap: User Data TX ATT: Write Response (0x13) len 0 > test-bap: User Data RX ATT: Read Request (0x0a) len 2 Handle: 0x001f Type: Source ASE (0x2bc5) < test-bap: User Data TX ATT: Read Response (0x0b) len 2 Handle: 0x001f Type: Source ASE (0x2bc5) Value: 0400 ASE ID: 4 State: Idle (0x00) > test-bap: User Data RX ATT: Write Request (0x12) len 4 Handle: 0x0020 Data: 0100 < test-bap: User Data TX ATT: Write Response (0x13) len 0 > test-bap: User Data RX ATT: Write Request (0x12) len 4 Handle: 0x0023 Data: 0100 < test-bap: User Data TX ATT: Write Response (0x13) len 0 > test-bap: User Data RX ATT: Write Command (0x52) len 13 Handle: 0x0022 Type: ASE Control Point (0x2bc6) Data: 0101030202ff0100010000 Opcode: Codec Configuration (0x01) Number of ASE(s): 1 ASE: #0 ASE ID: 0x03 Target Latency: Balance Latency/Reliability (0x02) PHY: 0x02 LE 2M PHY (0x02) Codec: Vendor specific (0xff) Codec Company ID: Nokia Mobile Phones (0x0001) Codec Vendor ID: 0x0001 < test-bap: User Data TX ATT: Handle Value Notification (0x1b) len 7 Handle: 0x0022 Type: ASE Control Point (0x2bc6) Data: 0101030000 Opcode: Codec Configuration (0x01) Number of ASE(s): 1 ASE: #0 ASE ID: 0x03 ASE Response Code: Success (0x00) ASE Response Reason: None (0x00) < test-bap: User Data TX ATT: Handle Value Notification (0x1b) len 27 Handle: 0x001c Type: Source ASE (0x2bc5) Data: 03010102010a00204e00409c00204e00409c00ff0100010000 ASE ID: 3 State: Codec Configured (0x01) Framing: Unframed PDUs not supported (0x01) PHY: 0x02 LE 2M PHY preffered (0x02) RTN: 1 Max Transport Latency: 10 Presentation Delay Min: 20000 us Presentation Delay Max: 40000 us Preferred Presentation Delay Min: 20000 us Preferred Presentation Delay Max: 40000 us Codec: Vendor specific (0xff) Codec Company ID: Nokia Mobile Phones (0x0001) Codec Vendor ID: 0x0001
* profiles: Add initial code for BASS pluginIulia Tanasescu2023-05-053-0/+314
| | | | This adds initial code for BASS plugin.
* shared/bass: Add initial code for handling BASSIulia Tanasescu2023-05-053-0/+1135
| | | | This adds initial code for Broadcast Audio Scan Service.
* shared/util: Add iovec helpersIulia Tanasescu2023-05-052-0/+252
| | | | | This adds iovec helper functions for handling byteorder and alignment in place.
* shared/att-types: Add BT_ERROR_WRITE_REQUEST_REJECTED error codeIulia Tanasescu2023-05-051-1/+3
| | | | | This adds Write Request Rejected Common Profile and Service Error Code.
* lib/uuid: Add BASS UUIDsIulia Tanasescu2023-05-051-0/+5
| | | | This adds BASS UUIDs which will be used by Basic Audio Profile.
* shared/shell: Fix smatch warningLuiz Augusto von Dentz2023-05-011-1/+1
| | | | | | | This fixes the following warning: src/shared/shell.c:615:21: warning: non-ANSI function declaration of function 'bt_shell_usage'
* shared/shell: Fix not releasing promptLuiz Augusto von Dentz2023-05-011-0/+3
| | | | | | This fixes not releasing prompt when queueing a line to be executed since it can be considered as user input if the init script is attempting to enter it as response to prompt input.
* client/player: Fix crash when RegisterEndpoint failsLuiz Augusto von Dentz2023-05-011-2/+4
| | | | | If RegisterEndpoint fails when there are multiple adapters it would attempt to free the same endpoint multiple times.
* client/player: Add support for Metadata in BAP ProfileAbhay Maheta2023-04-281-2/+85
| | | | | | | | | | | | | | | This adds support for Metadata in BAP profile. In order to register zero Metadata, 0 shall be entered when prompted. [bluetooth]# endpoint.register 00002bc9-0000-1000-8000-00805f9b34fb 0x06 [/local/endpoint/ep0] Enter Metadata (value/no): n [/local/endpoint/ep0] Auto Accept (yes/no): y [/local/endpoint/ep0] CIG (auto/value): a [/local/endpoint/ep0] CIS (auto/value): a Capabilities: 03 01 ff 00 02 02 03 02 03 03 05 04 1e 00 f0 00 ................ Endpoint /local/endpoint/ep0 registered
* test-bap: Add SCC tests for Vendor-Specific codecLuiz Augusto von Dentz2023-04-281-117/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | 4.8.2 Unicast Client Initiates a Config Codec Operation – Vendor-Specific (page 42): Test Purpose: Verify that a Unicast Client IUT can initiate a Config Codec operation for a vendor-specific codec. Test Case Configuration: BAP/UCL/SCC/BV-033-C [UCL SRC Config Codec, VS] BAP/UCL/SCC/BV-034-C [UCL SNK Config Codec, VS] Pass verdict: The IUT successfully writes to the ASE Control Point characteristic with the opcode set to 0x01 (Config Codec) and the specified parameters. The Codec_ID parameter is formatted with octet 0 set to 0xFF, octets 1–2 set to TSPX_VS_Company_ID, and octets 3–4 set to TSPX_VS_Codec_ID. Test Summary ------------ BAP/UCL/SCC/BV-033-C [UCL SRC Config Codec, VS] Passed BAP/UCL/SCC/BV-034-C [UCL SNK Config Codec, VS] Passed Total: 2, Passed: 2 (100.0%), Failed: 0, Not Run: 0
* shared/util: Fix runtime errorLuiz Augusto von Dentz2023-04-281-1/+2
| | | | | | | This fixes the following errors: src/shared/util.c:271:2: runtime error: null pointer passed as argument 2, which is declared to never be null
* test-bap: Introduce SCC tests for LC3Luiz Augusto von Dentz2023-04-281-7/+536
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.8.1 Unicast Client Initiates a Config Codec Operation – LC3 (Page 39): Test Purpose: Verify that a Unicast Client IUT can initiate a Config Codec operation for an LC3 codec. Test Case Configuration: BAP/UCL/SCC/BV-001-C [UCL SRC Config Codec, LC3 8_1] BAP/UCL/SCC/BV-002-C [UCL SRC Config Codec, LC3 8_2] BAP/UCL/SCC/BV-003-C [UCL SRC Config Codec, LC3 16_1] BAP/UCL/SCC/BV-004-C [UCL SRC Config Codec, LC3 16_2] BAP/UCL/SCC/BV-005-C [UCL SRC Config Codec, LC3 24_1] BAP/UCL/SCC/BV-006-C [UCL SRC Config Codec, LC3 24_2] BAP/UCL/SCC/BV-007-C [UCL SRC Config Codec, LC3 32_1] BAP/UCL/SCC/BV-008-C [UCL SRC Config Codec, LC3 32_2] BAP/UCL/SCC/BV-009-C [UCL SRC Config Codec, LC3 44.1_1] BAP/UCL/SCC/BV-010-C [UCL SRC Config Codec, LC3 44.1_2] BAP/UCL/SCC/BV-011-C [UCL SRC Config Codec, LC3 48_1] BAP/UCL/SCC/BV-012-C [UCL SRC Config Codec, LC3 48_2] BAP/UCL/SCC/BV-013-C [UCL SRC Config Codec, LC3 48_3] BAP/UCL/SCC/BV-014-C [UCL SRC Config Codec, LC3 48_4] BAP/UCL/SCC/BV-015-C [UCL SRC Config Codec, LC3 48_5] BAP/UCL/SCC/BV-016-C [UCL SRC Config Codec, LC3 48_6] BAP/UCL/SCC/BV-017-C [UCL SNK Config Codec, LC3 8_1] BAP/UCL/SCC/BV-018-C [UCL SNK Config Codec, LC3 8_2] BAP/UCL/SCC/BV-019-C [UCL SNK Config Codec, LC3 16_1] BAP/UCL/SCC/BV-020-C [UCL SNK Config Codec, LC3 16_2] BAP/UCL/SCC/BV-021-C [UCL SNK Config Codec, LC3 24_1] BAP/UCL/SCC/BV-022-C [UCL SNK Config Codec, LC3 24_2] BAP/UCL/SCC/BV-023-C [UCL SNK Config Codec, LC3 32_1] BAP/UCL/SCC/BV-024-C [UCL SNK Config Codec, LC3 32_2] BAP/UCL/SCC/BV-025-C [UCL SNK Config Codec, LC3 44.1_1] BAP/UCL/SCC/BV-026-C [UCL SNK Config Codec, LC3 44.1_2] BAP/UCL/SCC/BV-027-C [UCL SNK Config Codec, LC3 48_1] BAP/UCL/SCC/BV-028-C [UCL SNK Config Codec, LC3 48_2] BAP/UCL/SCC/BV-029-C [UCL SNK Config Codec, LC3 48_3] BAP/UCL/SCC/BV-030-C [UCL SNK Config Codec, LC3 48_4] BAP/UCL/SCC/BV-031-C [UCL SNK Config Codec, LC3 48_5] BAP/UCL/SCC/BV-032-C [UCL SNK Config Codec, LC3 48_6] Pass verdict: The IUT successfully writes to the ASE Control point with the opcode set to 0x01 (Config Codec) and correctly formatted parameter values from Table 4.9. The Codec_ID field is a 5-octet field with octet 0 set to the LC3 Coding_Format value defined in Bluetooth Assigned Numbers, octets 1–4 set to 0x0000. Test Summary ------------ BAP/UCL/SCC/BV-001-C [UCL SRC Config Codec, LC3 8_1] Passed BAP/UCL/SCC/BV-002-C [UCL SRC Config Codec, LC3 8_2] Passed BAP/UCL/SCC/BV-003-C [UCL SRC Config Codec, LC3 16_1] Passed BAP/UCL/SCC/BV-004-C [UCL SRC Config Codec, LC3 16_2] Passed BAP/UCL/SCC/BV-005-C [UCL SRC Config Codec, LC3 24_1] Passed BAP/UCL/SCC/BV-006-C [UCL SRC Config Codec, LC3 24_2] Passed BAP/UCL/SCC/BV-007-C [UCL SRC Config Codec, LC3 32_1] Passed BAP/UCL/SCC/BV-008-C [UCL SRC Config Codec, LC3 32_2] Passed BAP/UCL/SCC/BV-009-C [UCL SRC Config Codec, LC3 44.1_1] Passed BAP/UCL/SCC/BV-010-C [UCL SRC Config Codec, LC3 44.1_2] Passed BAP/UCL/SCC/BV-011-C [UCL SRC Config Codec, LC3 48_1] Passed BAP/UCL/SCC/BV-012-C [UCL SRC Config Codec, LC3 48_2] Passed BAP/UCL/SCC/BV-013-C [UCL SRC Config Codec, LC3 48_3] Passed BAP/UCL/SCC/BV-014-C [UCL SRC Config Codec, LC3 48_4] Passed BAP/UCL/SCC/BV-015-C [UCL SRC Config Codec, LC3 48_5] Passed BAP/UCL/SCC/BV-016-C [UCL SRC Config Codec, LC3 48_6] Passed BAP/UCL/SCC/BV-017-C [UCL SNK Config Codec, LC3 8_1] Passed BAP/UCL/SCC/BV-018-C [UCL SNK Config Codec, LC3 8_2] Passed BAP/UCL/SCC/BV-019-C [UCL SNK Config Codec, LC3 16_1] Passed BAP/UCL/SCC/BV-020-C [UCL SNK Config Codec, LC3 16_2] Passed BAP/UCL/SCC/BV-021-C [UCL SNK Config Codec, LC3 24_1] Passed BAP/UCL/SCC/BV-022-C [UCL SNK Config Codec, LC3 24_2] Passed BAP/UCL/SCC/BV-023-C [UCL SNK Config Codec, LC3 32_1] Passed BAP/UCL/SCC/BV-024-C [UCL SNK Config Codec, LC3 32_2] Passed BAP/UCL/SCC/BV-025-C [UCL SNK Config Codec, LC3 44.1_1] Passed BAP/UCL/SCC/BV-026-C [UCL SNK Config Codec, LC3 44.1_2] Passed BAP/UCL/SCC/BV-027-C [UCL SNK Config Codec, LC3 48_1] Passed BAP/UCL/SCC/BV-028-C [UCL SNK Config Codec, LC3 48_2] Passed BAP/UCL/SCC/BV-029-C [UCL SNK Config Codec, LC3 48_3] Passed BAP/UCL/SCC/BV-030-C [UCL SNK Config Codec, LC3 48_4] Passed BAP/UCL/SCC/BV-031-C [UCL SNK Config Codec, LC3 48_5] Passed BAP/UCL/SCC/BV-032-C [UCL SNK Config Codec, LC3 48_6] Passed Total: 32, Passed: 32 (100.0%), Failed: 0, Not Run: 0
* shared/lc3: Update configuration to use iovecLuiz Augusto von Dentz2023-04-271-24/+69
| | | | | | This use iovec as expected storage for capabilities and configuration so it is inline with what bluetoothctl has been using making it simpler to reuse these definitions.
* shared/bap: Fix typoLuiz Augusto von Dentz2023-04-271-1/+1
| | | | Fix typo s/BT_BAP_CONFIG_LATENCY_BALACED/BT_BAP_CONFIG_LATENCY_BALANCED
* shared/tester: Add support for NULL PDUsLuiz Augusto von Dentz2023-04-272-1/+7
| | | | | This adds support for NULL PDUs which can be used to skip a round of TX/RX.
* share/bap: Fix not removing timeout on bap_freeLuiz Augusto von Dentz2023-04-251-0/+2
| | | | | | | | | | | | This fixes not removing the process_id timeout when freeing the session which can cause the following crash: Invalid read of size 8 at 0x18EB39: bap_debug (bap.c:553) by 0x1913A8: bap_process_queue (bap.c:3542) by 0x1A8630: timeout_callback (timeout-glib.c:25) Address 0x55e0650 is 128 bytes inside a block of size 160 free'd at 0x48480E4: free (vg_replace_malloc.c:872)
* shared/bap: Fix crash detaching streamsLuiz Augusto von Dentz2023-04-251-9/+16
| | | | | | | | | | | | | | | | | | If a stream is being detached but bt_bap reference is already 0 don't attempt to detach the stream as they would be freed anyway: Invalid read of size 8 at 0x19A360: bap_free (bap.c:2576) by 0x19A360: bt_bap_unref (bap.c:2735) by 0x19A360: bt_bap_unref (bap.c:2727) by 0x160E9A: test_teardown (test-bap.c:412) by 0x1A8BCA: teardown_callback (tester.c:434) Address 0x55e05e0 is 16 bytes inside a block of size 160 free'd at 0x48480E4: free (vg_replace_malloc.c:872) by 0x1AD5F6: queue_foreach (queue.c:207) by 0x19A1C5: bt_bap_detach (bap.c:3879) by 0x19A1C5: bt_bap_detach (bap.c:3855) by 0x19A33F: bap_free (bap.c:2574)
* media: Fix not storing Preferred Delay properlyLuiz Augusto von Dentz2023-04-251-2/+2
| | | | | Preferred Delay properties were being stored as qos->pd_* instead of qos->ppd_*.
* bap: add Location parameter to SelectPropertiesPauli Virtanen2023-04-251-0/+6
| | | | | | | | | Add relevant PACS Location field as a parameter to SelectProperties. SelectProperties may set Audio_Channel_Allocation, which shall be chosen from the bits set in Sink/Source Audio Locations (BAP v1.0.1 Sec. 4.4.1, Sec 4.4.2). Hence, audio server needs to know the supported values, which it previously could not.
* shared/bap: add function to get location from PACPauli Virtanen2023-04-252-0/+16
| | | | | Add function to get the PACS Sink/Source Audio Locations field relevant for a given PAC.
* obexd: agent: Use if-elseif instead of multi-if to check error messageGuiting Shen2023-04-211-2/+1
| | | | | | The obex agent will return only one error message at the same time.So we should use if-elseif instead of multi-if to check error message which maybe DEBUG_ERROR_NO_REPLY or OBEX_ERROR_REJECT in agent_reply().
* obexd: AuthorizePush: Support to return folder name for file storageGuiting Shen2023-04-202-6/+10
| | | | | | | | | | | The obex agent usually returns the full path by getting the default folder and filename from the Filename property of the transfer object which is not convenient. The patch helps that the obex agent can return the folder name suffixed with '/' or new full path or even null which will use the default name if new_name is NULL and the default folder if the new_folder is NULL in opp_chkput().
* tools/iso-tester: Add Broadcast tests for encrypted BIGIulia Tanasescu2023-04-195-9/+74
| | | | | | | This adds the following tests for encrypted broadcast: ISO Broadcaster Encrypted - Success ISO Broadcaster Receiver Encrypted - Success
* tools/isotest: Add BIG encryption optionsIulia Tanasescu2023-04-192-29/+91
| | | | Add command line options for BIG encryption and broadcast code.
* monitor/packet: Fix BIG encryption decodingIulia Tanasescu2023-04-191-1/+2
| | | | | Fix incorrect decoding of the encryption parameter when logging the LE BIG Create Sync command.
* iso-tester: Add BAP Audio Configuration testsLuiz Augusto von Dentz2023-04-131-8/+262
| | | | | | | | | | | | | | | | | | This adds the following tests based on BAP Audio Configurations: ISO AC 1 & 4 - Success ISO AC 2 & 10 - Success ISO AC 3 & 5 - Success ISO AC 6(i) - Success ISO AC 6(ii) - Success ISO AC 7(i) - Success ISO AC 7(ii) - Success ISO AC 8(i) - Success ISO AC 8(ii) - Success ISO AC 9(i) - Success ISO AC 9(ii) - Success ISO AC 11(i) - Success ISO AC 11(ii) - Success
* btdev: Fix not setting CIS parameters properlyLuiz Augusto von Dentz2023-04-121-5/+6
| | | | | The code was assuming only index 0 was to be used which doesn't work when there are multiple CIS being programmed with different parameters.
* mgmt-tester: Fix Get/Set PHY testsLuiz Augusto von Dentz2023-04-071-30/+19
| | | | | | | | | This fixes the following tests now that all supported PHYs are enabled by default: Start Discovery LE - (Ext Scan Param) Failed Get PHY Success Failed Set PHY 1m 2m coded Succcess Timed out