| 172948d0 |
shared/vcp: Implement AICS service
This implements AICS service as referred in AICS_v1.0.pdf. |
Mahesh Talewad |
2 years ago |
1 file, +1010, -1 |
| c89ebba8 |
uuid: Add AICS UUIDs
This adds AISCS related UUIDs. |
Mahesh Talewad |
2 years ago |
1 file, +7, -0 |
| e01208da |
client/player: Use ChannelAllocation given on SelectProperties
This makes use of ChannelAllocation when present on SelectProperties
dictionary which is then passed on to bluetoothd and send over as part
of Codec Configuration:
< ACL Data TX: Handle 2048 flags 0x00 dlen 109
ATT: Write Command (0x52) len 104
Handle: 0x0098 Type: ASE Control Point (0x2bc6)
Data: 0104050202060000000010020103020201030428000503010000000
6020206000000001002010302020103042800050302000000010202060000
0000100201030202010304280005030100000002020206000000001002010
302020103042800050302000000
Opcode: Codec Configuration (0x01)
Number of ASE(s): 4
ASE: #0
ASE ID: 0x05
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
Codec Specific Configuration: #3: len 0x05 type 0x03
Location: 0x00000001
Front Left (0x00000001)
ASE: #1
ASE ID: 0x06
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
Codec Specific Configuration: #3: len 0x05 type 0x03
Location: 0x00000002
Front Right (0x00000002)
ASE: #2
ASE ID: 0x01
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
Codec Specific Configuration: #3: len 0x05 type 0x03
Location: 0x00000001
Front Left (0x00000001)
ASE: #3
ASE ID: 0x02
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
Codec Specific Configuration: #3: len 0x05 type 0x03
Location: 0x00000002
Front Right (0x00000002) |
Luiz Augusto von Dentz |
2 years ago |
1 file, +43, -2 |
| 4b5b4f07 |
shared/bap: Fix stream IO linking
IO linking shall only be possible once, for the oposite direction as ISO
channels are bidirection, and not many times as that means multiplexing
would be used which is done within the transport payload, so this get rid
of queue links list and just use single link point instead. |
Luiz Augusto von Dentz |
2 years ago |
4 files, +74, -123 |
| 4bed5da5 |
shared/bap: Make bt_bap_select select a location
This makes bt_bap_select select a location based on the PAC channel
count and PACS locations, this is then passed to the Endpoint as a
recommended ChannelAllocation. |
Luiz Augusto von Dentz |
2 years ago |
3 files, +72, -37 |
| 07efa6d3 |
org.bluez.MediaEndpoint: Add ChannelAllocation to SelectProperties
This adds ChannelAllocation to SelectProperties which when set can be
used by Endpoint implementation in the response as part of
Capabilities, note that it is not mandatory to use it so the Endpoint
may have its on logic to allocate channels. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +2, -0 |
| e7e8b2a3 |
shared/bap: Make bt_bap_select match the channel map
bt_bap_pac may actually map to multiple PAC records and each may have a
different channel count that needs to be matched separately, for
instance when trying with EarFun Air Pro:
< ACL Data TX: Handle 2048 flags 0x00 dlen 85
ATT: Write Command (0x52) len 80
Handle: 0x0098 Type: ASE Control Point (0x2bc6)
Data: 010405020206000000000a020103020201030428000602020600000
0000a0201030202010304280001020206000000000a020103020201030428
0002020206000000000a02010302020103042800
Opcode: Codec Configuration (0x01)
Number of ASE(s): 4
ASE: #0
ASE ID: 0x05
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
ASE: #1
ASE ID: 0x06
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
ASE: #2
ASE ID: 0x01
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
ASE: #3
ASE ID: 0x02
Target Latency: Balance Latency/Reliability (0x02)
PHY: 0x02
LE 2M PHY (0x02)
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Sampling Frequency: 16 Khz (0x03)
Codec Specific Configuration: #1: len 0x02 type 0x02
Frame Duration: 10 ms (0x01)
Codec Specific Configuration: #2: len 0x03 type 0x04
Frame Length: 40 (0x0028)
Fixes: https://github.com/bluez/bluez/issues/612 |
Luiz Augusto von Dentz |
2 years ago |
5 files, +132, -13 |
| 511d58b0 |
bap: Allow setup of multiple stream per endpoint
Remote endpoints actually represents PAC records of the same codec and
their capabilities are merged together thus is should be possible to
create multiple streams depending on the AC configuration. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +346, -272 |
| 04ecf635 |
Release 5.71 |
Marcel Holtmann |
2 years ago |
2 files, +6, -1 |
| cd00105c |
build: Update library version |
Marcel Holtmann |
2 years ago |
1 file, +1, -1 |
| 093d00b4 |
bap: Don't attempt to release if old state was releasing
If the old state was releasing there is no reason to call
bt_bap_stream_release yet again when IO could not be created as that
will likely create a loop situation when the remote stack caches the
codec configuration. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +3, -1 |
| ba9fda12 |
device: Notify when the bdaddr_type changes
This ensures the AddressType reflects the bdaddr_type stored. |
Xiao Yao |
2 years ago |
1 file, +3, -0 |
| d5536e0c |
adapter: Fix addr_type for smp_irk/ltk_info/link_key
According to BLUETOOTH CORE SPECIFICATION Version 5.4 | Vol 3,
Part H, 2.4.24/2.4.25, The LE LTK and BR/EDR link keys can be
converted between each other, so the addr type can be either
BREDR or LE, so fix it. |
Xiao Yao |
2 years ago |
1 file, +14, -6 |
| 87477b7f |
shared/bap: Update Available context for source
Available Context of sink was getting updated instead of source. |
Kiran K |
2 years ago |
1 file, +3, -3 |
| fb681e79 |
tools: avtest: Add reject-code option
Some PTS tests like A2DP/SNK/AVP/BI-03-C, A2DP/SNK/AVP/BI-08-C , …
request some specific rejection code to pass.
This commit adds an option to specify the rejection code during
AVDTP_SET_CONFIGURATION rejection.
E.g. "avtest --reject setconf --reject-code 195" to reject setconf with
INVALID_SAMPLING_FREQUENCY code.
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> |
Frédéric Danis |
2 years ago |
1 file, +16, -7 |
| 95838efc |
shared/vcp: Fix notification endianness
4db4d5fa1c4f ("shared/vcp: Fix endianness errors") does attempt to fix
the endianness of stored volume offset but in the process it broke the
notification since the value is no longer stored in the Bluetooth byte
order (Little Endian) but instead in the cpu byte order which is then
used in the notification as is, to fix this instead of notifying using
the stored value it now uses a dedicated variable which does use the
value from the request itself. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +7, -3 |
| 477c41c6 |
client/player: Fix not prompting all parameter on endpoint.register
When Auto Accept is not enable not all parameters are requested. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +3, -7 |
| b0656c2c |
Pattern match on service- and manufacturer data
When advertisement monitoring, manufacturer data and service data was
not being matched against. This made it so that advertisement monitoring
with or_patterns did not work that type of data.
We must start matching against the data in the manufacturer_data and
service_data queues. Run a different match-function depending on the
type of monitor that is being matched against.
Closes: https://github.com/bluez/bluez/issues/652 |
Sebastian Forslund |
2 years ago |
1 file, +105, -10 |
| 71188eb0 |
test-vcp: Fix CCC value endianness
CCC value is 2 octects long so it needs to be converted using
cpu_to_le16 in order to not fail in Big Endian architectures. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +6, -15 |
| 8980f4f1 |
shared/bass: Functions cleanup
This adds some cleanup in shared/bass code: use util_iov
APIs to extract/push bytes, use new0 to allocate structures,
remove redundant functions. |
Iulia Tanasescu |
2 years ago |
1 file, +101, -140 |
| 227e16f5 |
adapter: Enable SSP after enabling BREDR
When enabling Secure Simple Pairing, the kernel first checks if
BREDR is enabled. If it's not, enabling SSP fails. Therefore, it
is necessary to make sure that BREDR is enabled before enabling
SSP.
Without this fix, bluetoothd would start without SSP enabled if
started in dual or bredr mode after it had been run in le mode. |
Per Waagø |
2 years ago |
1 file, +4, -4 |
| 9b322d3a |
test-bap: Add SCC Update Metadata tests
4.8.8 Unicast Client Initiates Update Metadata Operation (Page 53):
Test Purpose:
Verify that a Unicast Client IUT can update the Metadata of an ASE by
initiating an Update Metadata operation.
Pass verdict:
The IUT successfully writes to the ASE Control Point characteristic with the
opcode set to 0x07 (Update Metadata) and the specified parameters.
Test Summary
------------
BAP/UCL/SCC/BV-115-C [UCL SNK Update Metadata in Enabling State] Passed
BAP/UCL/SCC/BV-116-C [UCL SRC Update Metadata in Enabling or Streaming state]
Passed
BAP/UCL/SCC/BV-117-C [UCL SNK Update Metadata in Streaming State] Passed
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +139, -0 |
| 5d227707 |
test-bap: Add SCC Release tests
4.8.7 Unicast Client Initiates Release Operation (Page 51):
Test Purpose:
Verify that a Unicast Client IUT can release an ASE by initiating a Release
operation.
Pass verdict:
The IUT successfully writes to the ASE Control Point characteristic with the
opcode set to 0x08 (Release) and the specified parameters.
Test Summary
------------
BAP/UCL/SCC/BV-106-C [UCL SNK Release in Codec Configured state] Passed
BAP/UCL/SCC/BV-107-C [UCL SRC Release in Codec Configured state] Passed
BAP/UCL/SCC/BV-108-C [UCL SNK Release in QoS Configured state] Passed
BAP/UCL/SCC/BV-109-C [UCL SRC Release in QoS Configured state] Passed
BAP/UCL/SCC/BV-110-C [UCL SNK Release in Enabling state] Passed
BAP/UCL/SCC/BV-111-C [UCL SRC Release in Enabling or Streaming state] Passed
BAP/UCL/SCC/BV-112-C [UCL SNK Release in Streaming state] Passed
BAP/UCL/SCC/BV-113-C [UCL SNK Release in Disabling state] Passed
Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +274, -13 |
| f10faf38 |
shared/bap: Fix possible crash when freeing requests
Requests maybe queued using a stream so when detaching it needs to be
canceled otherwise they can lead crashes like bellow:
Invalid read of size 8
at 0x1C3247: stream_stop_complete (bap.c:1230)
by 0x1BB2A3: bap_req_complete (bap.c:3863)
by 0x1C7BB3: bap_req_detach (bap.c:4219)
by 0x1C7BB3: bt_bap_detach (bap.c:4231)
by 0x1C7BB3: bt_bap_detach (bap.c:4222)
by 0x1C7E67: bap_free (bap.c:2937)
by 0x1C7E67: bt_bap_unref (bap.c:3090)
by 0x1C7E67: bt_bap_unref (bap.c:3082)
by 0x18CCC2: test_teardown (test-bap.c:513)
by 0x1D826A: teardown_callback (tester.c:434)
by 0x491E4FC: g_idle_dispatch (gmain.c:6163)
by 0x49224FB: UnknownInlinedFun (gmain.c:3460)
by 0x49224FB: g_main_context_dispatch (gmain.c:4200)
by 0x49806B7: g_main_context_iterate.isra.0 (gmain.c:4276)
by 0x4921AFE: g_main_loop_run (gmain.c:4479)
by 0x1E8EF4: mainloop_run (mainloop-glib.c:66)
by 0x1E93F7: mainloop_run_with_signal (mainloop-notify.c:188)
Address 0x57b9ad0 is 0 bytes inside a block of size 120 free'd
at 0x4845B2C: free (vg_replace_malloc.c:985)
by 0x1CBAB7: bap_stream_state_changed (bap.c:1290)
by 0x1D3104: bap_ep_set_status (bap.c:3673)
by 0x1DC746: queue_foreach (queue.c:207)
by 0x1A5320: notify_cb (gatt-client.c:2271)
by 0x19A1EF: handle_notify (att.c:1012)
by 0x19A1EF: can_read_data (att.c:1096)
by 0x1D68CF: watch_callback (io-glib.c:157)
by 0x49224FB: UnknownInlinedFun (gmain.c:3460)
by 0x49224FB: g_main_context_dispatch (gmain.c:4200)
by 0x49806B7: g_main_context_iterate.isra.0 (gmain.c:4276)
by 0x4921AFE: g_main_loop_run (gmain.c:4479)
by 0x1E8EF4: mainloop_run (mainloop-glib.c:66)
by 0x1E93F7: mainloop_run_with_signal (mainloop-notify.c:188) |
Luiz Augusto von Dentz |
2 years ago |
1 file, +50, -41 |
| 58805e4f |
test-bap: Add SCC Disable tests
4.8.6 Unicast Client Initiates Disable Operation (Page 50):
Test Purpose:
Verify that a Unicast Client IUT can initiate a Disable operation for an ASE
in the Enabling or Streaming state.
Pass verdict:
The IUT successfully writes to the ASE Control Point characteristic with the
opcode set to 0x05 (Disable) and the specified parameters.
Test Summary
------------
BAP/UCL/SCC/BV-103-C [UCL SNK Disable in Enabling State] Passed
BAP/UCL/SCC/BV-104-C [UCL SRC Disable in Enabling or Streaming state] Passed
BAP/UCL/SCC/BV-105-C [UCL SNK Disable in Streaming State] Passed
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +152, -1 |
| 6f957d3b |
test-bap: Add SCC Enable tests
4.8.5 Unicast Client Initiates Enable Operation (Page 48)
Test Purpose:
Verify that a Unicast Client IUT can initiate an Enable operation for an ASE
with a Unicast Server that is either in the Audio Sink role or the Audio
Source role.
Pass verdict:
The IUT successfully writes to the ASE Control Point characteristic with the
opcode set to 0x03 (Enable) and the specified parameters.
Test Summary
------------
BAP/UCL/SCC/BV-101-C [UCL SRC Enable] Passed
BAP/UCL/SCC/BV-102-C [UCL SNK Enable] Passed
Total: 2, Passed: 2 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +91, -1 |
| f93fec89 |
test-bap: Add SCC Config QoS, VS tests
4.8.4 Unicast Client Initiates Config QoS – Vendor-Specific (Page 46)
Test Purpose:
Verify that a Unicast Client IUT can initiate a Config QoS operation for a
vendor-specific codec.
Pass verdict:
The IUT successfully writes to the ASE Control Point characteristic with the
opcode set to 0x02 (Config QoS) and the specified parameters.
Test Summary
------------
BAP/UCL/SCC/BV-099-C [UCL SNK Config QoS, VS] Passed
BAP/UCL/SCC/BV-100-C [UCL SRC Config QoS, VS] Passed
Total: 2, Passed: 2 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +43, -0 |
| 9c3824db |
test-bap: Introduce QoS tests for LC3
4.8.3 Unicast Client Initiates Config QoS – LC3
(Page 43)
Test Purpose:
Verify that a Unicast Client IUT can initiate a Config QoS operation for the
LC3 codec.
Pass verdict:
The IUT successfully writes to the ASE Control Point characteristic with the
opcode set to 0x02 (Config QoS) and the specified parameters.
Test Summary
------------
BAP/UCL/SCC/BV-035-C [UCL SRC Config QoS, LC3 8_1_1] Passed
BAP/UCL/SCC/BV-036-C [UCL SRC Config QoS, LC3 8_2_1] Passed
BAP/UCL/SCC/BV-037-C [UCL SRC Config QoS, LC3 16_1_1] Passed
BAP/UCL/SCC/BV-038-C [UCL SRC Config QoS, LC3 16_2_1] Passed
BAP/UCL/SCC/BV-039-C [UCL SRC Config QoS, LC3 24_1_1] Passed
BAP/UCL/SCC/BV-040-C [UCL SRC Config QoS, LC3 24_2_1] Passed
BAP/UCL/SCC/BV-041-C [UCL SRC Config QoS, LC3 32_1_1] Passed
BAP/UCL/SCC/BV-042-C [UCL SRC Config QoS, LC3 32_2_1] Passed
BAP/UCL/SCC/BV-043-C [UCL SRC Config QoS, LC3 44.1_1_1] Passed
BAP/UCL/SCC/BV-044-C [UCL SRC Config QoS, LC3 44.1_2_1] Passed
BAP/UCL/SCC/BV-045-C [UCL SRC Config QoS, LC3 48_1_1] Passed
BAP/UCL/SCC/BV-046-C [UCL SRC Config QoS, LC3 48_2_1] Passed
BAP/UCL/SCC/BV-047-C [UCL SRC Config QoS, LC3 48_3_1] Passed
BAP/UCL/SCC/BV-048-C [UCL SRC Config QoS, LC3 48_4_1] Passed
BAP/UCL/SCC/BV-049-C [UCL SRC Config QoS, LC3 48_5_1] Passed
BAP/UCL/SCC/BV-050-C [UCL SRC Config QoS, LC3 48_6_1] Passed
BAP/UCL/SCC/BV-051-C [UCL SNK Config QoS, LC3 8_1_1] Passed
BAP/UCL/SCC/BV-052-C [UCL SNK Config QoS, LC3 8_2_1] Passed
BAP/UCL/SCC/BV-053-C [UCL SNK Config QoS, LC3 16_1_1] Passed
BAP/UCL/SCC/BV-054-C [UCL SNK Config QoS, LC3 16_2_1] Passed
BAP/UCL/SCC/BV-055-C [UCL SNK Config QoS, LC3 24_1_1] Passed
BAP/UCL/SCC/BV-056-C [UCL SNK Config QoS, LC3 24_2_1] Passed
BAP/UCL/SCC/BV-057-C [UCL SNK Config QoS, LC3 32_1_1] Passed
BAP/UCL/SCC/BV-058-C [UCL SNK Config QoS, LC3 32_2_1] Passed
BAP/UCL/SCC/BV-059-C [UCL SNK Config QoS, LC3 44.1_1_1] Passed
BAP/UCL/SCC/BV-060-C [UCL SNK Config QoS, LC3 44.1_2_1] Passed
BAP/UCL/SCC/BV-061-C [UCL SNK Config QoS, LC3 48_1_1] Passed
BAP/UCL/SCC/BV-062-C [UCL SNK Config QoS, LC3 48_2_1] Passed
BAP/UCL/SCC/BV-063-C [UCL SNK Config QoS, LC3 48_3_1] Passed
BAP/UCL/SCC/BV-064-C [UCL SNK Config QoS, LC3 48_4_1] Passed
BAP/UCL/SCC/BV-065-C [UCL SNK Config QoS, LC3 48_5_1] Passed
BAP/UCL/SCC/BV-066-C [UCL SNK Config QoS, LC3 48_6_1] Passed
BAP/UCL/SCC/BV-067-C [UCL SRC Config QoS, LC3 8_1_2] Passed
BAP/UCL/SCC/BV-068-C [UCL SRC Config QoS, LC3 8_2_2] Passed
BAP/UCL/SCC/BV-069-C [UCL SRC Config QoS, LC3 16_1_2] Passed
BAP/UCL/SCC/BV-070-C [UCL SRC Config QoS, LC3 16_2_2] Passed
BAP/UCL/SCC/BV-071-C [UCL SRC Config QoS, LC3 24_1_2] Passed
BAP/UCL/SCC/BV-072-C [UCL SRC Config QoS, LC3 24_2_2] Passed
BAP/UCL/SCC/BV-073-C [UCL SRC Config QoS, LC3 32_1_2] Passed
BAP/UCL/SCC/BV-074-C [UCL SRC Config QoS, LC3 32_2_2] Passed
BAP/UCL/SCC/BV-075-C [UCL SRC Config QoS, LC3 44.1_1_2] Passed
BAP/UCL/SCC/BV-076-C [UCL SRC Config QoS, LC3 44.1_2_2] Passed
BAP/UCL/SCC/BV-077-C [UCL SRC Config QoS, LC3 48_1_2] Passed
BAP/UCL/SCC/BV-078-C [UCL SRC Config QoS, LC3 48_2_2] Passed
BAP/UCL/SCC/BV-079-C [UCL SRC Config QoS, LC3 48_3_2] Passed
BAP/UCL/SCC/BV-080-C [UCL SRC Config QoS, LC3 48_4_2] Passed
BAP/UCL/SCC/BV-081-C [UCL SRC Config QoS, LC3 48_5_2] Passed
BAP/UCL/SCC/BV-082-C [UCL SRC Config QoS, LC3 48_6_2] Passed
BAP/UCL/SCC/BV-083-C [UCL SNK Config QoS, LC3 8_1_2] Passed
BAP/UCL/SCC/BV-084-C [UCL SNK Config QoS, LC3 8_2_2] Passed
BAP/UCL/SCC/BV-085-C [UCL SNK Config QoS, LC3 16_1_2] Passed
BAP/UCL/SCC/BV-086-C [UCL SNK Config QoS, LC3 16_2_2] Passed
BAP/UCL/SCC/BV-087-C [UCL SNK Config QoS, LC3 24_1_2] Passed
BAP/UCL/SCC/BV-088-C [UCL SNK Config QoS, LC3 24_2_2] Passed
BAP/UCL/SCC/BV-089-C [UCL SNK Config QoS, LC3 32_1_2] Passed
BAP/UCL/SCC/BV-090-C [UCL SNK Config QoS, LC3 32_2_2] Passed
BAP/UCL/SCC/BV-091-C [UCL SNK Config QoS, LC3 44.1_1_2] Passed
BAP/UCL/SCC/BV-092-C [UCL SNK Config QoS, LC3 44.1_2_2] Passed
BAP/UCL/SCC/BV-093-C [UCL SNK Config QoS, LC3 48_1_2] Passed
BAP/UCL/SCC/BV-094-C [UCL SNK Config QoS, LC3 48_2_2] Passed
BAP/UCL/SCC/BV-095-C [UCL SNK Config QoS, LC3 48_3_2] Passed
BAP/UCL/SCC/BV-096-C [UCL SNK Config QoS, LC3 48_4_2] Passed
BAP/UCL/SCC/BV-097-C [UCL SNK Config QoS, LC3 48_5_2] Passed
BAP/UCL/SCC/BV-098-C [UCL SNK Config QoS, LC3 48_6_2] Passed
Total: 64, Passed: 64 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +963, -1 |
| e3d9aad7 |
shared/lc3: Add QoS definitions
This adds the QoS preset definitions as per BAP specification. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +153, -0 |
| eae77d7e |
shared/vcp: Fix comparison of values in different endianness
Values received over the air are in Little Endian format so they first
need to be converted to host endianness before comparing with other
values. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +7, -4 |
| cb1a3fd9 |
shared/vcp: Fix build error
This fixes the following build error in some architectures:
src/shared/vcp.c:961:24: error: lvalue required as unary ‘&’ operand
961 | iov.iov_base = &cpu_to_le32(vocs->vocs_audio_loc);
| ^ |
Luiz Augusto von Dentz |
2 years ago |
1 file, +4, -5 |
| 4db4d5fa |
shared/vcp: Fix endianness errors
On big endian the followin error can be observed:
VOCS/SR/SGGIT/CHA/BV-02-C - init
VOCS/SR/SGGIT/CHA/BV-02-C - setup
VOCS/SR/SGGIT/CHA/BV-02-C - setup complete
VOCS/SR/SGGIT/CHA/BV-02-C - run
**
ERROR:src/shared/tester.c:954:test_io_recv: assertion failed:
(memcmp(buf, iov->iov_base, len) == 0)
Bail out! ERROR:src/shared/tester.c:954:test_io_recv: assertion failed:
(memcmp(buf, iov->iov_base, len) == 0)
Aborted |
Luiz Augusto von Dentz |
2 years ago |
1 file, +18, -11 |
| 3a2d3b31 |
test-micp: Fix endianness error
On big endian the followin error can be observed:
MICP/CL/CGGIT/SER/BV-01-C - init
MICP/CL/CGGIT/SER/BV-01-C - setup
MICP/CL/CGGIT/SER/BV-01-C - setup complete
MICP/CL/CGGIT/SER/BV-01-C - run
micp_write_value handle: 3
**
ERROR:src/shared/tester.c:954:test_io_recv: assertion failed:
(memcmp(buf, iov->iov_base, len) == 0)
Bail out! ERROR:src/shared/tester.c:954:test_io_recv: assertion failed:
(memcmp(buf, iov->iov_base, len) == 0)
Aborted |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -1 |
| bd5342fd |
audio/bap: Fix source+sink endpoint registration
When registering both sink and source endpoints,
the register endpoint method call results in 2 remote endpoints for each
scanned broadcast source |
Claudia Draghicescu |
2 years ago |
1 file, +26, -12 |
| b93690e7 |
shared/bap: Fix source+sink endpoint registration
When registering both sink and source endpoints,
the register endpoint method call results in 2 remote endpoints for each
scanned broadcast source |
Claudia Draghicescu |
2 years ago |
2 files, +40, -36 |
| ee04d309 |
isotest: Fix high-reliability QoS presets
This changes the high-reliability QoS presets to be conformant to
BAP[1] specification:
Table 5.2: QoS configuration support setting requirements for the
Unicast Client and Unicast Server
[1] https://www.bluetooth.com/specifications/bap-1-0-1/
Fixes: https://github.com/bluez/bluez/issues/665 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +16, -16 |
| c9a1f208 |
monitor: Add proper decoding of TLV for BASE
This uses bt_bap_debug_{config, metadata} to decode the TLV entries
found in Basic Audio Announcement:
< HCI Command: LE Set Peri.. (0x08|0x003f) plen 41
Handle: 1
Operation: Complete ext advertising data (0x03)
Data length: 0x26
Service Data: Basic Audio Announcement (0x1851)
Presetation Delay: 10000
Number of Subgroups: 1
Subgroup #0:
Number of BIS(s): 1
Codec: LC3 (0x06)
Codec Specific Configuration: #0: len 0x02 type 0x01
Codec Specific Configuration: Sampling Frequency: 48 Khz (0x08)
Codec Specific Configuration: #1: len 0x02 type 0x02
Codec Specific Configuration: Frame Duration: 7.5 ms (0x00)
Codec Specific Configuration: #2: len 0x03 type 0x04
Codec Specific Configuration: Frame Length: 75 (0x004b)
Metadata: #0: len 0x03 type 0x02
Metadata: Context: 0x0002
Metadata: Context Conversational (0x0002)
BIS #0:
Index: 1
Codec Specific Configuration: #0: len 0x05 type 0x03
Codec Specific Configuration: Location: 0x00000001
Codec Specific Configuration: Location: Front Left (0x00000001) |
Luiz Augusto von Dentz |
2 years ago |
1 file, +19, -30 |
| acaf8f86 |
util: Make debugger arg of util_debug_ltv const
This makes the debugger argument of util_debug_ltv const as they are not
suppose to change during its call. |
Luiz Augusto von Dentz |
2 years ago |
3 files, +9, -9 |
| 2ba61481 |
iso-tester: Add tests for GMAP broadcast QoS presets
This adds the following tests:
ISO QoS 48_1_g - Success
ISO QoS 48_2_g - Success
ISO QoS 48_3_g - Success
ISO QoS 48_4_g - Success |
Luiz Augusto von Dentz |
2 years ago |
1 file, +118, -15 |
| 8b448400 |
shared/util: Enable passing a label to util_debug_bit
This adds a label parameter to be passed to util_debug_bit instead of
just prepending a '\t'. |
Luiz Augusto von Dentz |
2 years ago |
3 files, +79, -72 |
| 813e1ce1 |
client/player: Add presets from GMAP
This adds the following presets from GMAP:
16_1_gs
16_2_gs
32_1_gs
32_2_gs
48_1_gs
48_2_gs
32_1_gr
32_2_gr
48_1_gr
48_2_gr
48_3_gr
48_4_gr
32_1_gr_l+r
32_2_gr_l+r
48_1_gr_l+r
48_2_gr_l+r
48_3_gr_l+r
48_4_gr_l+r |
Luiz Augusto von Dentz |
2 years ago |
1 file, +75, -1 |
| 506413db |
isotest: Add presets from GMAP
This adds the following presets from GMAP:
16_1_gs
16_2_gs
32_1_gs
32_2_gs
48_1_gs
48_2_gs
32_1_gr
32_2_gr
48_1_gr
48_2_gr
48_3_gr
48_4_gr |
Luiz Augusto von Dentz |
2 years ago |
1 file, +13, -0 |
| c9b48a6f |
iso-tester: Add presets from GMAP
This adds the following presets from GMAP:
ISO QoS 48_1_gc - Success Passed
ISO QoS 48_2_gc - Success Passed
ISO QoS 48_1_gr - Success Passed
ISO QoS 48_2_gr - Success Passed
ISO QoS 48_3_gr - Success Passed
ISO QoS 48_4_gr - Success Passed |
Luiz Augusto von Dentz |
2 years ago |
1 file, +109, -0 |
| 6af3b729 |
monitor/att: Add GMAS attribute decoders
This adds GMAS attribute decoders. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +135, -0 |
| e9485360 |
shared/util: Add GMAP related UUIDs
This adds GMAP 1.0[1] UUIDs following the assigned numbers[2].
[1] https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=576496
[2] https://www.bluetooth.com/wp-content/uploads/Files/Specification/Assigned_Numbers.pdf?id=3 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +6, -0 |
| 58e6ef54 |
iso-tester: Add test for bcast AC 13 reconnect
This adds a test for Broadcast AC 13 reconnect:
ISO Broadcaster AC 13 Reconnect - Success |
Iulia Tanasescu |
2 years ago |
1 file, +54, -6 |
| d8fc0dd5 |
shared/shell: Remove readline color escapes
This removes readline color escapes from color defines and instead only
used them with prompt since they are only really useful when readline
is rendering the text, so it can calculate the prompt length properly.
Fixes: https://github.com/bluez/bluez/issues/10 |
Luiz Augusto von Dentz |
2 years ago |
2 files, +17, -9 |
| 8b035b70 |
bap: handle state transitions with old_state == new_state
ASCS allows transitions from Codec/QoS Configured back to the same
state.
E.g. NRF5340_AUDIO devkit starts in the config(1) state, which is
allowed (only Config QoS, Release, Enable, Receiver Stop Ready
transition are client-only). In this case, as client, we do Config Codec
ourselves and end up with config(1)->config(1) transition. We currently
ignore that event, so QoS won't be setup and transports won't be
created.
Handle the config(1)->config(1) transition by continuing to Config QoS
if it occurs.
Log:
src/gatt-client.c:btd_gatt_client_connected() Device connected.
src/shared/gatt-client.c:exchange_mtu_cb() MTU exchange complete, with MTU: 65
src/shared/bap.c:bap_ep_set_status() ASE status: ep 0x604000039a90 id 0x01 handle 0x000f state config len 42
src/shared/bap.c:ep_status_config() codec 0x06 framing 0x00 phy 0x02 rtn 2 latency 10 pd 4000 - 40000 ppd 4000 - 40000
src/shared/bap.c:ep_status_config() Codec Config #0: type 0x01 len 2
src/shared/bap.c:ep_status_config() Codec Config #1: type 0x02 len 2
src/shared/bap.c:ep_status_config() Codec Config #2: type 0x03 len 5
src/shared/bap.c:ep_status_config() Codec Config #3: type 0x04 len 3
src/shared/bap.c:ep_status_config() Codec Config #4: type 0x05 len 2
src/shared/bap.c:bap_stream_state_changed() stream 0x60c0000334c0 dir 0x01: idle -> config
src/shared/bap.c:bap_stream_update_io_links() stream 0x60c0000334c0
profiles/audio/bap.c:bap_state() stream 0x60c0000334c0: idle(0) -> config(1)
profiles/audio/bap.c:bap_ready() bap 0x60e000001d20
profiles/audio/bap.c:pac_found() lpac 0x608000017520 rpac 0x6080000183a0
profiles/audio/bap.c:ep_register() ep 0x60d000006910 lpac 0x608000017520 rpac 0x6080000183a0 path /org/bluez/hci0/dev_C9_C9_76_21_08_4F/pac_sink0
profiles/audio/media.c:media_endpoint_async_call() Calling SelectProperties: name = :1.604 path = /MediaEndpointLE/BAPSource/lc3
...
src/shared/bap.c:bap_stream_state_changed() stream 0x60c0000334c0 dir 0x01: config -> config
src/shared/bap.c:bap_stream_update_io_links() stream 0x60c0000334c0
profiles/audio/bap.c:bap_state() stream 0x60c0000334c0: config(1) -> config(1) |
Pauli Virtanen |
2 years ago |
1 file, +5, -1 |
| 14dd4a75 |
media: add Retransmissions in SelectProperties QoS
The server preferred RTN is part of the server supported/preferred QoS
values, and should be passed on to SelectProperties. |
Pauli Virtanen |
2 years ago |
1 file, +3, -0 |
| ad089d29 |
adapter: fix heap corruption during discovery filter parsing
Must parse as dbus_bool_t, as booleans MUST be 4 bytes for dbus.
stdbool from the filter only has 1 byte in many cases. This will crash
dbus if parsing filter->duplicate directly in
dbus_message_iter_get_basic. |
Philipp Meyer |
2 years ago |
1 file, +8, -2 |