Commits

Commit Message Author Age Changes
9e496c21 shared/util: Update SDO defined UUIDs The list of SDO defined UUIDs taken from section 3.10 of: https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Assigned_Numbers/out/en/Assigned_Numbers.pdf Arkadiusz Bokowy 1 year ago 1 file, +17, -3
48b7f7e5 device: Fix marking device as temporary If bonding has failed but there are other bearers connected don't mark the device as temporary. Fixes: https://github.com/bluez/bluez/issues/856 Luiz Augusto von Dentz 1 year ago 1 file, +2, -1
0b02371e gas: Fix default PPCP connection intervals If the remove sets 0xffff switch to using 30-50ms as that is the recommended values for GAP as 7.5ms-4s seems to be causing problems on some controllers. Luiz Augusto von Dentz 1 year ago 1 file, +7, -7
98676d41 device: Fix storing conn parameters without first attempting to use them Some controller seems to have problems to use connections parameters that comes from PPCP as seem bellow, so instead of storing the parameters immediately this wait the MGMT_EV_NEW_CONN_PARAM to confirm the connection parameters are save to be stored: < HCI Command: LE Extended Create Connection (0x08|0x0043) plen 42 Filter policy: Accept list is not used (0x00) Own address type: Public (0x00) Peer address type: Random (0x01) Peer address: FE:D5:D9:EC:AB:99 (Static) Initiating PHYs: 0x03 Entry 0: LE 1M Scan interval: 60.000 msec (0x0060) Scan window: 60.000 msec (0x0060) Min connection interval: 7.50 msec (0x0006) Max connection interval: 4000.00 msec (0x0c80) Connection latency: 0 (0x0000) Supervision timeout: 5000 msec (0x01f4) Min connection length: 0.000 msec (0x0000) Max connection length: 0.000 msec (0x0000) Entry 1: LE 2M Scan interval: 60.000 msec (0x0060) Scan window: 60.000 msec (0x0060) Min connection interval: 7.50 msec (0x0006) Max connection interval: 4000.00 msec (0x0c80) Connection latency: 0 (0x0000) Supervision timeout: 5000 msec (0x01f4) Min connection length: 0.000 msec (0x0000) Max connection length: 0.000 msec (0x0000) > HCI Event: Command Status (0x0f) plen 4 LE Extended Create Connection (0x08|0x0043) ncmd 1 Status: Invalid HCI Command Parameters (0x12) Fixes: https://github.com/bluez/bluez/issues/876 Luiz Augusto von Dentz 1 year ago 1 file, +4, -4
792cffb4 test: Add a script to test ASHA Plays out an audio file to the device. Depends on GStreamer for media file reading and decoding (specifically, gstreamer core, gst-plugins-base, gst-ffmpeg, and gst-python, or equivalent packages). Resolves: https://github.com/bluez/bluez/issues/481 Arun Raghavan 1 year ago 1 file, +166, -0
c26389c4 profiles/audio: Add an ASHA plugin This exposes the ASHA profile implementation in the previous commit as an audio profile. The implementation registers a remote endpoint using a subset of the MediaEndpoint1 interface, without any mechanism for setting/selecting a configuration, as this is all static in the spec for now. Also exposed on connection is a MediaTransport1 object, which can be used to obtain an fd to stream to the device. Resolves: https://github.com/bluez/bluez/issues/481 Arun Raghavan 1 year ago 7 files, +803, -2
8e4bece6 src/shared: Add initial implementation for an ASHA profile This implements the server role for the Audio Streaming for Hearing Aid specification[1]. Includes basic ability to probe the ASHA GATT service, as well as starting/stopping streaming. [1] https://source.android.com/docs/core/connect/bluetooth/asha Resolves: https://github.com/bluez/bluez/issues/481 Arun Raghavan 1 year ago 4 files, +427, -1
7861c511 client/player: Fix transport.send This fixes the usage of getpeername, introduced by 04153538aaf4 ("client/player: Fix using unicast QoS for broadcast"), without initializing optlen which causes the following problem: Unable to send: Operation not permitted (1) Luiz Augusto von Dentz 1 year ago 1 file, +2, -2
89155299 settings: Add more debug logs This adds more debug logs to indicate exacly where and what could not be parsed. Luiz Augusto von Dentz 1 year ago 1 file, +21, -7
a37e475f shared/gatt-db: Fix gatt_db_clone The process of cloning an existing db shall also clone certain values that are considered when calculating the hash since the resulting clone shall have the same hash. Luiz Augusto von Dentz 1 year ago 1 file, +20, -3
272d8e8c isotest: Fix ISO send data rate We are sending data to controller at wrong average rate not equal to 1 packet / SDU interval, if Transport_Latency is not an integer multiple of SDU_Interval. The calculation currently may also give zero, so no data gets sent. Luiz Augusto von Dentz 1 year ago 1 file, +5, -3
7c619d86 test-bap: Add Broadcast Source STR one BIS tests 4.14.1 Broadcast Audio Stream with One BIS - Source (page 180): Test Purpose: Verify that a Broadcast Source IUT can stream one BIS to a Broadcast Sink. The verification is performed for each Config Settings in turn. Test Case Configuration: BAP/BSRC/STR/BV-01-C [BSRC, LC3 8_1] BAP/BSRC/STR/BV-02-C [BSRC, LC3 8_2] BAP/BSRC/STR/BV-03-C [BSRC, LC3 16_1] BAP/BSRC/STR/BV-04-C [BSRC, LC3 16_2] BAP/BSRC/STR/BV-05-C [BSRC, LC3 24_1] BAP/BSRC/STR/BV-06-C [BSRC, LC3 24_2] BAP/BSRC/STR/BV-07-C [BSRC, LC3 32_1 BAP/BSRC/STR/BV-08-C [BSRC, LC3 32_2] BAP/BSRC/STR/BV-09-C [BSRC, LC3 44.1_1] BAP/BSRC/STR/BV-10-C [BSRC, LC3 44.1_2] BAP/BSRC/STR/BV-11-C [BSRC, LC3 48_1] BAP/BSRC/STR/BV-12-C [BSRC, LC3 48_2] BAP/BSRC/STR/BV-13-C [BSRC, LC3 48_3] BAP/BSRC/STR/BV-14-C [BSRC, LC3 48_4] BAP/BSRC/STR/BV-15-C [BSRC, LC3 48_5] BAP/BSRC/STR/BV-16-C [BSRC, LC3 48_6] BAP/BSRC/STR/BV-17-C [BSRC, VS] Pass verdict: If the Codec ID is LC3, the IUT sends encoded LC3 audio data in BIS Data PDUs on the broadcast Audio Stream. The audio data is formatted using the LC3 Media Packet format. If the Codec ID is a vendor-specific Codec ID, the IUT sends BIS Data PDUs on the broadcast Audio Stream. The parameters included in the Codec_Specific_Configuration data are as defined in TSPX_VS_Codec_Specific_Configuration. If the Codec ID is LC3, each parameter included in Codec_Specific_Configuration data is formatted in an LTV structure with the length, type, and value specified in Table 4.79. Test Summary ------------ BAP/BSRC/STR/BV-01-C [BSRC, LC3 8_1] Passed BAP/BSRC/STR/BV-02-C [BSRC, LC3 8_2] Passed BAP/BSRC/STR/BV-03-C [BSRC, LC3 16_1] Passed BAP/BSRC/STR/BV-04-C [BSRC, LC3 16_2] Passed BAP/BSRC/STR/BV-05-C [BSRC, LC3 24_1] Passed BAP/BSRC/STR/BV-06-C [BSRC, LC3 24_2] Passed BAP/BSRC/STR/BV-07-C [BSRC, LC3 32_1] Passed BAP/BSRC/STR/BV-08-C [BSRC, LC3 32_2] Passed BAP/BSRC/STR/BV-09-C [BSRC, LC3 44.1_1] Passed BAP/BSRC/STR/BV-10-C [BSRC, LC3 44.1_2] Passed BAP/BSRC/STR/BV-11-C [BSRC, LC3 48_1] Passed BAP/BSRC/STR/BV-12-C [BSRC, LC3 48_2] Passed BAP/BSRC/STR/BV-13-C [BSRC, LC3 48_3] Passed BAP/BSRC/STR/BV-14-C [BSRC, LC3 48_4] Passed BAP/BSRC/STR/BV-15-C [BSRC, LC3 48_5] Passed BAP/BSRC/STR/BV-16-C [BSRC, LC3 48_6] Passed BAP/BSRC/STR/BV-17-C [BSRC, VS] Passed Iulia Tanasescu 1 year ago 1 file, +259, -0
f63c6e9f Revert "adapter: add support for setting POLL_ERRQUEUE experimental feature" This reverts commit e1c178f96a07fc43ad7523fdd4c93967843e4f60 as the changes required in the kernel were reverted as well. Luiz Augusto von Dentz 1 year ago 4 files, +3, -72
61776f0d gitignore: Add __pycache__ These directories are created when running scripts in test/ in-tree, and can safely be ignored. Arun Raghavan 1 year ago 1 file, +2, -0
5c793eb3 gitignore: Add compile_commands.json Handy file that can be generated with bear, and allows clang-based LSP. Arun Raghavan 1 year ago 1 file, +1, -0
cbe4144d set: Attempt to use existing set gatt-db Most sets should be clone of each other, or at least very similar, so this attempts to clone the existing gatt-db of the first member found when connecting new sets, this substantially speed up the process of bonding sets if their database matches which is something that is currently ranging from 20-30 seconds depending on the manufacturer and with this changes it cuts 5-10 seconds by bypassing discovery all procedure of other members. If the dbs don't really match bt_gatt_client instance will attempt to rediscover the ranges that don't match. Luiz Augusto von Dentz 1 year ago 4 files, +44, -4
7e9816dd shared/gatt-db: Introduce gatt_db_clone This introduces gatt_db_clone which can be used to clonse/deep copy and existing database. Luiz Augusto von Dentz 1 year ago 2 files, +55, -0
09e39a7d shared/csip: Fix memory leak This fixes the following leak: 102 bytes in 6 blocks are definitely lost in loss record 660 of 909 at 0x484282F: malloc (vg_replace_malloc.c:446) by 0x5A078B: util_malloc (util.c:46) by 0x649162: read_sirk (csip.c:485) by 0x5C74FA: read_cb (gatt-client.c:2713) by 0x5C4137: handle_rsp (att.c:880) by 0x5C4137: can_read_data (att.c:1072) by 0x65DDA4: watch_callback (io-glib.c:157) by 0x49656AB: ??? (in /usr/lib64/libglib-2.0.so.0.8000.2) by 0x49C6707: ??? (in /usr/lib64/libglib-2.0.so.0.8000.2) by 0x496B666: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.8000.2) by 0x65FE3D: mainloop_run (mainloop-glib.c:66) by 0x6605A3: mainloop_run_with_signal (mainloop-notify.c:188) by 0x31DEFA: main (main.c:1468) Luiz Augusto von Dentz 1 year ago 1 file, +10, -1
60b482c3 Transport: Update bcast sink transport state to pending Once the broadcast source is detected and a transport is created for a BIS that has the configuration supported by the broadcast sink, this transport must be set in the pending state so the sound server know this transport has data available. Silviu Florian Barbulescu 1 year ago 1 file, +4, -1
cc8e6ef6 bap: Fix more memory leaks on error Error: RESOURCE_LEAK (CWE-772): [#def32] [important] profiles/audio/bap.c:1178:5: leaked_storage: Variable "path" going out of scope leaks the storage it points to. 1176| free(l3_caps); 1177| ret = false; 1178|-> goto group_fail; 1179| } 1180| Error: RESOURCE_LEAK (CWE-772): [#def33] [important] profiles/audio/bap.c:1199:5: leaked_storage: Variable "path" going out of scope leaks the storage it points to. 1197| 1198| if (matched_lpac == NULL || merged_caps == NULL) 1199|-> continue; 1200| 1201| create_stream_for_bis(bap_data, matched_lpac, qos, Bastien Nocera 1 year ago 1 file, +4, -1
1764cea5 obexd: Fix buffer overrun Don't access path at byte 2 when it might only contain a single byte. Error: OVERRUN (CWE-119): [#def27] [important] obexd/client/session.c:1142:2: overrun-buffer-val: Overrunning buffer pointed to by "first" of 1 bytes by passing it to a function which accesses it at byte offset 2. 1140| req->index++; 1141| 1142|-> p->req_id = g_obex_setpath(p->session->obex, first, setpath_cb, p, err); 1143| if (*err != NULL) 1144| return (*err)->code; Bastien Nocera 1 year ago 1 file, +1, -1
bd954700 sdp: Fix ineffective error guard The return value from gen_attridseq_pdu() can be -ENOMEM or the always positive return value from sdp_gen_pdu(), but we only guard against a single negative return value "-1" (-EPERM). Check for all negative values to avoid manipulating a negative length as a valid one. Error: INTEGER_OVERFLOW (CWE-190): [#def10] [important] lib/sdp.c:4097:2: overflow_sink: "t->reqsize + cstate_len", which might have underflowed, is passed to "sdp_send_req(session, t->reqbuf, t->reqsize + cstate_len)". 4095| reqhdr->plen = htons((t->reqsize + cstate_len) - sizeof(sdp_pdu_hdr_t)); 4096| 4097|-> if (sdp_send_req(session, t->reqbuf, t->reqsize + cstate_len) < 0) { 4098| SDPERR("Error sending data:%m"); 4099| t->err = errno; Error: INTEGER_OVERFLOW (CWE-190): [#def11] [important] lib/sdp.c:4492:3: overflow_sink: "reqsize", which might have underflowed, is passed to "sdp_send_req_w4_rsp(session, reqbuf, rspbuf, reqsize, &rspsize)". 4490| reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); 4491| rsphdr = (sdp_pdu_hdr_t *) rspbuf; 4492|-> status = sdp_send_req_w4_rsp(session, reqbuf, rspbuf, reqsize, &rspsize); 4493| if (rspsize < sizeof(sdp_pdu_hdr_t)) { 4494| SDPERR("Unexpected end of packet"); Bastien Nocera 1 year ago 1 file, +4, -4
6cf9117b shared/mainloop: Fix integer overflow signalfd_siginfo uses a u32 for the signal number, but siginfo_t uses a signed integer for it, so an (unlikely) big value for the signal number could result in a negative value being passed to the callbacks. Catch that and bail early. Error: INTEGER_OVERFLOW (CWE-190): [#def44] [important] src/shared/mainloop-notify.c:137:3: underflow: The cast of "si.ssi_signo" to a signed type could result in a negative number. 135| 136| if (data && data->func) 137|-> data->func(si.ssi_signo, data->user_data); 138| 139| return true; Bastien Nocera 1 year ago 1 file, +2, -1
c9fcea12 rfkill: Avoid using a signed int for an unsigned variable Error: INTEGER_OVERFLOW (CWE-190): [#def37] [important] src/rfkill.c:105:3: underflow: The cast of "event.idx" to a signed type could result in a negative number. 103| break; 104| 105|-> id = get_adapter_id_for_rfkill(event.idx); 106| 107| if (index == id) { Error: INTEGER_OVERFLOW (CWE-190): [#def38] [important] src/rfkill.c:157:2: underflow: The cast of "event.idx" to a signed type could result in a negative number. 155| return TRUE; 156| 157|-> id = get_adapter_id_for_rfkill(event.idx); 158| if (id < 0) 159| return TRUE; Bastien Nocera 1 year ago 1 file, +1, -1
ccec5e8e l2test: Add missing error checking send() might fail and return a negative len, catch that to avoid advancing the send buffer in the wrong direction and causing all sorts of problems. 977|-> len = send(sk, buf + sent, buflen, 0); 978| 979| sent += len; Bastien Nocera 1 year ago 1 file, +5, -0
aa54087f mgmt-tester: Fix buffer overrun Error: OVERRUN (CWE-119): [#def56] [important] tools/mgmt-tester.c:12674:2: overrun-local: Overrunning array "buf" of 513 bytes at byte offset 513 using index "read + 1" (which evaluates to 513). 12672| } 12673| /* Make sure buf is nul-terminated */ 12674|-> buf[read + 1] = '\0'; 12675| 12676| /* Verify if all devcoredump header fields are present */ Fixes: 49d06560692f ("mgmt-tester: Fix non-nul-terminated string") Bastien Nocera 1 year ago 1 file, +1, -1
24cf0493 rctest: Fix possible overrun Error: OVERRUN (CWE-119): [#def57] [important] tools/rctest.c:557:3: overrun-buffer-arg: Calling "send" with "buf" and "len" is suspicious because of the very large index, 18446744073709551615. The index may be due to a negative parameter being interpreted as unsigned. 555| } 556| len = read(fd, buf, data_size); 557|-> send(sk, buf, len, 0); 558| close(fd); 559| return; Bastien Nocera 1 year ago 1 file, +2, -1
684a17f7 test/example-gatt: fix deprecation warning Use GLib instead of GObject to fix deprecation warning. Remove python2 gobject import. Preston Hunt 1 year ago 2 files, +6, -12
3f747788 test-bap: Add Broadcast Source Release test BAP/BSRC/SCC/BV-37-C [Releases Broadcast] (page 176): Test Purpose: Verify that a Broadcast Source IUT can release a broadcast Audio Stream and transition from Configured state to Idle state. Pass verdict: The IUT stops transmitting periodic advertising. Test Summary ------------ BAP/BSRC/SCC/BV-37-C [Releases Broadcast] Passed Iulia Tanasescu 1 year ago 1 file, +47, -0
06a905d6 test-bap: Add Broadcast Source Disable test BAP/BSRC/SCC/BV-36-C [Disables Broadcast] (page 176): Test Purpose: Verify that a Broadcast Source IUT can disable a broadcast Audio Stream. Pass verdict: The IUT sends a BIG_TERMINATE_IND PDU. Test Summary ------------ BAP/BSRC/SCC/BV-36-C [Disables Broadcast] Passed Iulia Tanasescu 1 year ago 1 file, +43, -0
bb30b199 test-bap: Add Broadcast Source Establish test BAP/BSRC/SCC/BV-35-C [Establishes Broadcast] (page 175): Test Purpose: Verify that a Broadcast Source IUT can establish a broadcast Audio Stream. Pass verdict: The IUT sends AUX_SYNC_IND PDUs with an Extended Header containing BIGInfo in the ACAD field. The IUT sends BIS Data PDUs over the broadcast Audio Stream. Test Summary ------------ BAP/BSRC/SCC/BV-35-C [Establishes Broadcast] Passed Iulia Tanasescu 1 year ago 1 file, +45, -1
6cb268f4 test-bap: Update bsrc_state to just handle CONFIG state This updates bsrc_state to just handle the CONFIG stream state. Dedicated state changed callbacks will be implemented for tests that require streams to be established, disabled etc. Iulia Tanasescu 1 year ago 1 file, +34, -40
af2873b2 shared/bap: Fix potential stream access after free In bap_bcast_set_state, state->func might trigger the stream to be released, thus the stream would have been freed before reaching the switch. After calling stream->func, the stream reference should not be accessed anymore, apart from when the stream has not yet been released and those cases will be handled inside the switch. This commit also handles the case when stream ops might lead to a state machine that ends with stream release, so the stream should avoid being accessed after the ops are executed. Iulia Tanasescu 1 year ago 1 file, +17, -5
491e5b35 shared/bap: Remove DISABLING case from bcast state cb This removes the switch case for the DISABLING state from bap_bcast_set_state, since this state is not used for broadcast. Iulia Tanasescu 1 year ago 1 file, +0, -4
098ff00d doc: Add initial RFCOMM(7) documentation This adds initial documentation for RFCOMM sockets. Luiz Augusto von Dentz 1 year ago 2 files, +227, -2
f5e59893 doc: Add initial L2CAP(7) documentation This adds initial documentation for L2CAP sockets. Luiz Augusto von Dentz 1 year ago 2 files, +265, -0
75893035 bap: Update BAP Broadcast Source state machine states Update BAP Broadcast Source state machine states Silviu Florian Barbulescu 1 year ago 1 file, +17, -5
5da00f71 shared/bap: Update BAP Broadcast Source state machine Update BAP Broadcast Source state machine states to use BAP define states for source Idle, Config, Streaming, and an intermediary state enabling. Updated test-bap too. Silviu Florian Barbulescu 1 year ago 2 files, +22, -21
6e51acb0 test-bap: Rename num_str to streams This renames test_config.num_str to test_config.streams just be clearer on what is the intent of the field. Luiz Augusto von Dentz 1 year ago 1 file, +54, -54
c41943fe test-bap: Add Broadcast Sink STR MBIS tests 4.14.4 Broadcast Sink Receives Audio Data Over Multiple BISes (page 193): Test Purpose: Verify that a Broadcast Sink IUT can receive audio data over multiple BISes from a Broadcast Source. The verification is performed for each set of parameters in turn. Test Case Configuration: BAP/BSNK/STR/BV-18-C [BSNK, Multiple BISes, LC3 8_1] BAP/BSNK/STR/BV-19-C [BSNK, Multiple BISes, LC3 8_2] BAP/BSNK/STR/BV-20-C [BSNK, Multiple BISes, LC3 16_1] BAP/BSNK/STR/BV-21-C [BSNK, Multiple BISes, LC3 16_2] BAP/BSNK/STR/BV-22-C [BSNK, Multiple BISes, LC3 24_1] BAP/BSNK/STR/BV-23-C [BSNK, Multiple BISes, LC3 24_2] BAP/BSNK/STR/BV-24-C [BSNK, Multiple BISes, LC3 32_1] BAP/BSNK/STR/BV-25-C [BSNK, Multiple BISes, LC3 32_2] BAP/BSNK/STR/BV-26-C [BSNK, Multiple BISes, LC3 44.1_1] BAP/BSNK/STR/BV-27-C [BSNK, Multiple BISes, LC3 44.1_2] BAP/BSNK/STR/BV-28-C [BSNK, Multiple BISes, LC3 48_1] BAP/BSNK/STR/BV-29-C [BSNK, Multiple BISes, LC3 48_2] BAP/BSNK/STR/BV-30-C [BSNK, Multiple BISes, LC3 48_3] BAP/BSNK/STR/BV-31-C [BSNK, Multiple BISes, LC3 48_4] BAP/BSNK/STR/BV-32-C [BSNK, Multiple BISes, LC3 48_5] BAP/BSNK/STR/BV-33-C [BSNK, Multiple BISes, LC3 48_6] BAP/BSNK/STR/BV-34-C [BSNK, Multiple BISes, VS] Pass verdict: The IUT synchronizes to the Lower Tester (the Link Layer receives a BIS Data PDU). The host on the IUT receives an LE BIG Sync Established event. If the Codec ID is LC3, the IUT receives encoded LC3 audio data in BIS Data PDUs on each synchronized BIS. The audio data is formatted using the LC3 Media Packet format. If the Codec ID is a vendor-specific Codec ID, the IUT receives BIS Data PDUs on each synchronized BIS. The parameters included in the Codec_Specific_Configuration data are as defined in TSPX_VS_Codec_Specific_Configuration. If the Codec ID is LC3, each parameter included in Codec_Specific_Configuration data is formatted in an LTV structure with the length, type, and value specified in Table 4.85. Test Summary ------------ BAP/BSNK/STR/BV-18-C [BSNK, Multiple BISes, LC3 8_1] Passed BAP/BSNK/STR/BV-19-C [BSNK, Multiple BISes, LC3 8_2] Passed BAP/BSNK/STR/BV-20-C [BSNK, Multiple BISes, LC3 16_1] Passed BAP/BSNK/STR/BV-21-C [BSNK, Multiple BISes, LC3 16_2] Passed BAP/BSNK/STR/BV-22-C [BSNK, Multiple BISes, LC3 24_1] Passed BAP/BSNK/STR/BV-23-C [BSNK, Multiple BISes, LC3 24_2] Passed BAP/BSNK/STR/BV-24-C [BSNK, Multiple BISes, LC3 32_1] Passed BAP/BSNK/STR/BV-25-C [BSNK, Multiple BISes, LC3 32_2] Passed BAP/BSNK/STR/BV-26-C [BSNK, Multiple BISes, LC3 44.1_1] Passed BAP/BSNK/STR/BV-27-C [BSNK, Multiple BISes, LC3 44.1_2] Passed BAP/BSNK/STR/BV-28-C [BSNK, Multiple BISes, LC3 48_1] Passed BAP/BSNK/STR/BV-29-C [BSNK, Multiple BISes, LC3 48_2] Passed BAP/BSNK/STR/BV-30-C [BSNK, Multiple BISes, LC3 48_3] Passed BAP/BSNK/STR/BV-31-C [BSNK, Multiple BISes, LC3 48_4] Passed BAP/BSNK/STR/BV-32-C [BSNK, Multiple BISes, LC3 48_5] Passed BAP/BSNK/STR/BV-33-C [BSNK, Multiple BISes, LC3 48_6] Passed BAP/BSNK/STR/BV-34-C [BSNK, Multiple BISes, VS] Passed Iulia Tanasescu 1 year ago 1 file, +188, -0
25eaeeb7 test-bap: Add support for multiple bcast streams This adds support for implementing Broadcast tests that require multiple streams to be configured (for example, 4.14.4 Broadcast Sink Receives Audio Data Over Multiple BISes). The number of required streams is added inside the test_config struct. The bsnk_pac_added and the bsnk_state_str callbacks have been updated to support multiple streams. Iulia Tanasescu 1 year ago 1 file, +70, -15
41340a74 test-bap: Keep streams queue in test_data Some BAP test configurations require multiple streams to be created (for example, 4.14.4 Broadcast Sink Receives Audio Data Over Multiple BISes). This replaces the stream pointer inside test_data with a queue of streams, where each created stream is pushed. Unicast callbacks where the created stream needs to be accessed already pass the stream reference as parameter, so there is no need to access it from test_data. Iulia Tanasescu 1 year ago 1 file, +34, -22
a2438e46 test-bap: Add Broadcast Sink STR one BIS tests 4.14.2 Broadcast Audio Stream with One BIS - Sink (page 189): Test Purpose: Verify that a Broadcast Sink IUT can stream one BIS from a Broadcast Source. Verification is performed for each set of codec specific capabilities in turn. Test Case Configuration: BAP/BSNK/STR/BV-01-C [BSNK, LC3 8_1] BAP/BSNK/STR/BV-02-C [BSNK, LC3 8_2] BAP/BSNK/STR/BV-03-C [BSNK, LC3 16_1] BAP/BSNK/STR/BV-04-C [BSNK, LC3 16_2] BAP/BSNK/STR/BV-05-C [BSNK, LC3 24_1] BAP/BSNK/STR/BV-06-C [BSNK, LC3 24_2] BAP/BSNK/STR/BV-07-C [BSNK, LC3 32_1] BAP/BSNK/STR/BV-08-C [BSNK, LC3 32_2] BAP/BSNK/STR/BV-09-C [BSNK, LC3 44.1_1] BAP/BSNK/STR/BV-10-C [BSNK, LC3 44.1_2] BAP/BSNK/STR/BV-11-C [BSNK, LC3 48_1] BAP/BSNK/STR/BV-12-C [BSNK, LC3 48_2] BAP/BSNK/STR/BV-13-C [BSNK, LC3 48_3] BAP/BSNK/STR/BV-14-C [BSNK, LC3 48_4] BAP/BSNK/STR/BV-15-C [BSNK, LC3 48_5] BAP/BSNK/STR/BV-16-C [BSNK, LC3 48_6] BAP/BSNK/STR/BV-17-C [BSNK, VS] Pass verdict: The IUT synchronizes to the Lower Tester (the Link Layer receives a BIS Data PDU). The host on the IUT receives an LE BIG Sync Established event. If the Codec ID is LC3, the IUT receives BIS Data PDUs on the broadcast Audio Stream containing encoded LC3 audio data formatted using the LC3 Media Packet format. If the Codec ID is a vendor-specific Codec ID, the IUT receives BIS Data PDUs on the broadcast Audio Stream. The parameters included in the Codec_Specific_Configuration data are as defined in TSPX_VS_Codec_Specific_Configuration. If the Codec ID is LC3, each parameter included in Codec_Specific_Configuration data is formatted in an LTV structure with the length, type, and value specified in Table 4.81. Test Summary ------------ BAP/BSNK/STR/BV-01-C [BSNK, LC3 8_1] Passed BAP/BSNK/STR/BV-02-C [BSNK, LC3 8_2] Passed BAP/BSNK/STR/BV-03-C [BSNK, LC3 16_1] Passed BAP/BSNK/STR/BV-04-C [BSNK, LC3 16_2] Passed BAP/BSNK/STR/BV-05-C [BSNK, LC3 24_1] Passed BAP/BSNK/STR/BV-06-C [BSNK, LC3 24_2] Passed BAP/BSNK/STR/BV-07-C [BSNK, LC3 32_1] Passed BAP/BSNK/STR/BV-08-C [BSNK, LC3 32_2] Passed BAP/BSNK/STR/BV-09-C [BSNK, LC3 44.1_1] Passed BAP/BSNK/STR/BV-10-C [BSNK, LC3 44.1_2] Passed BAP/BSNK/STR/BV-11-C [BSNK, LC3 48_1] Passed BAP/BSNK/STR/BV-12-C [BSNK, LC3 48_2] Passed BAP/BSNK/STR/BV-13-C [BSNK, LC3 48_3] Passed BAP/BSNK/STR/BV-14-C [BSNK, LC3 48_4] Passed BAP/BSNK/STR/BV-15-C [BSNK, LC3 48_5] Passed BAP/BSNK/STR/BV-16-C [BSNK, LC3 48_6] Passed BAP/BSNK/STR/BV-17-C [BSNK, VS] Passed Iulia Tanasescu 1 year ago 1 file, +209, -0
e4f6c68f shared/uhid: Add special handling for non-keyboards This adds special handling for non-keyboards so they are destroyed when disconnected rather than keeping their device node around. Fixes: https://github.com/bluez/bluez/issues/848 Luiz Augusto von Dentz 1 year ago 9 files, +90, -42
db383a5b hog-lib: Add force parameter to bt_hog_detach This adds force parameter to bt_hog_detach which indicates if the bt_uhid_destroy shall be called. Luiz Augusto von Dentz 1 year ago 4 files, +9, -6
25d3b629 device: Add btd_device_get_icon This adds btd_device_get_icon which can be used to retriev the icon string of a device object. Luiz Augusto von Dentz 1 year ago 2 files, +6, -7
62d38d6c test-bap: Add Broadcast Sink SCC tests 4.13.2 Broadcast Sink Synchronizes to PA (page 177) Test Purpose: Verify that a Broadcast Sink IUT can synchronize to the PA associated with a broadcast Audio Stream transmitted by a Broadcast Source. Test Case Configuration: BAP/BSNK/SCC/BV-01-C [Sync to PA, LC3 8_1_1] BAP/BSNK/SCC/BV-02-C [Sync to PA, LC3 8_2_1] BAP/BSNK/SCC/BV-03-C [Sync to PA, LC3 16_1_1] BAP/BSNK/SCC/BV-04-C [Sync to PA, LC3 16_2_1] BAP/BSNK/SCC/BV-05-C [Sync to PA, LC3 24_1_1] BAP/BSNK/SCC/BV-06-C [Sync to PA, LC3 24_2_1] BAP/BSNK/SCC/BV-07-C [Sync to PA, LC3 32_1_1] BAP/BSNK/SCC/BV-08-C [Sync to PA, LC3 32_2_1] BAP/BSNK/SCC/BV-09-C [Sync to PA, LC3 44.1_1_1] BAP/BSNK/SCC/BV-10-C [Sync to PA, LC3 44.1_2_1] BAP/BSNK/SCC/BV-11-C [Sync to PA, LC3 48_1_1] BAP/BSNK/SCC/BV-12-C [Sync to PA, LC3 48_2_1] BAP/BSNK/SCC/BV-13-C [Sync to PA, LC3 48_3_1] BAP/BSNK/SCC/BV-14-C [Sync to PA, LC3 48_4_1] BAP/BSNK/SCC/BV-15-C [Sync to PA, LC3 48_5_1] BAP/BSNK/SCC/BV-16-C [Sync to PA, LC3 48_6_1] BAP/BSNK/SCC/BV-17-C [Sync to PA, LC3 8_1_2] BAP/BSNK/SCC/BV-18-C [Sync to PA, LC3 8_2_2] BAP/BSNK/SCC/BV-19-C [Sync to PA, LC3 16_1_2] BAP/BSNK/SCC/BV-20-C [Sync to PA, LC3 16_2_2] BAP/BSNK/SCC/BV-21-C [Sync to PA, LC3 24_1_2] BAP/BSNK/SCC/BV-22-C [Sync to PA, LC3 24_2_2] BAP/BSNK/SCC/BV-23-C [Sync to PA, LC3 32_1_2] BAP/BSNK/SCC/BV-24-C [Sync to PA, LC3 32_2_2] BAP/BSNK/SCC/BV-25-C [Sync to PA, LC3 44.1_1_2] BAP/BSNK/SCC/BV-26-C [Sync to PA, LC3 44.1_2_2] BAP/BSNK/SCC/BV-27-C [Sync to PA, LC3 48_1_2] BAP/BSNK/SCC/BV-28-C [Sync to PA, LC3 48_2_2] BAP/BSNK/SCC/BV-29-C [Sync to PA, LC3 48_3_2] BAP/BSNK/SCC/BV-30-C [Sync to PA, LC3 48_4_2] BAP/BSNK/SCC/BV-31-C [Sync to PA, LC3 48_5_2] BAP/BSNK/SCC/BV-32-C [Sync to PA, LC3 48_6_2] BAP/BSNK/SCC/BV-33-C [Sync to PA, VS] Pass verdict: The received AdvData field of AUX_SYNC_IND and optionally AUX_CHAIN_IND PDUs contains the configured BASE information. Test Summary ------------ BAP/BSNK/SCC/BV-01-C [Sync to PA, LC3 8_1_1] Passed BAP/BSNK/SCC/BV-02-C [Sync to PA, LC3 8_2_1] Passed BAP/BSNK/SCC/BV-03-C [Sync to PA, LC3 16_1_1] Passed BAP/BSNK/SCC/BV-04-C [Sync to PA, LC3 16_2_1] Passed BAP/BSNK/SCC/BV-05-C [Sync to PA, LC3 24_1_1] Passed BAP/BSNK/SCC/BV-06-C [Sync to PA, LC3 24_2_1] Passed BAP/BSNK/SCC/BV-07-C [Sync to PA, LC3 32_1_1] Passed BAP/BSNK/SCC/BV-08-C [Sync to PA, LC3 32_2_1] Passed BAP/BSNK/SCC/BV-09-C [Sync to PA, LC3 44.1_1_1] Passed BAP/BSNK/SCC/BV-10-C [Sync to PA, LC3 44.1_2_1] Passed BAP/BSNK/SCC/BV-11-C [Sync to PA, LC3 48_1_1] Passed BAP/BSNK/SCC/BV-12-C [Sync to PA, LC3 48_2_1] Passed BAP/BSNK/SCC/BV-13-C [Sync to PA, LC3 48_3_1] Passed BAP/BSNK/SCC/BV-14-C [Sync to PA, LC3 48_4_1] Passed BAP/BSNK/SCC/BV-15-C [Sync to PA, LC3 48_5_1] Passed BAP/BSNK/SCC/BV-16-C [Sync to PA, LC3 48_6_1] Passed BAP/BSNK/SCC/BV-17-C [Sync to PA, LC3 8_1_2] Passed BAP/BSNK/SCC/BV-18-C [Sync to PA, LC3 8_2_2] Passed BAP/BSNK/SCC/BV-19-C [Sync to PA, LC3 16_1_2] Passed BAP/BSNK/SCC/BV-20-C [Sync to PA, LC3 16_2_2] Passed BAP/BSNK/SCC/BV-21-C [Sync to PA, LC3 24_1_2] Passed BAP/BSNK/SCC/BV-22-C [Sync to PA, LC3 24_2_2] Passed BAP/BSNK/SCC/BV-23-C [Sync to PA, LC3 32_1_2] Passed BAP/BSNK/SCC/BV-24-C [Sync to PA, LC3 32_2_2] Passed BAP/BSNK/SCC/BV-25-C [Sync to PA, LC3 44.1_1_2] Passed BAP/BSNK/SCC/BV-26-C [Sync to PA, LC3 44.1_2_2] Passed BAP/BSNK/SCC/BV-27-C [Sync to PA, LC3 48_1_2] Passed BAP/BSNK/SCC/BV-28-C [Sync to PA, LC3 48_2_2] Passed BAP/BSNK/SCC/BV-29-C [Sync to PA, LC3 48_3_2] Passed BAP/BSNK/SCC/BV-30-C [Sync to PA, LC3 48_4_2] Passed BAP/BSNK/SCC/BV-31-C [Sync to PA, LC3 48_5_2] Passed BAP/BSNK/SCC/BV-32-C [Sync to PA, LC3 48_6_2] Passed BAP/BSNK/SCC/BV-33-C [Sync to PA, VS] Passed Iulia Tanasescu 1 year ago 1 file, +299, -0
94c1c776 test-bap: Make test_bsrc generic This makes test_bsrc more generic, to accommodate Broadcast Sink tests as well, following the unicast design for handling source/sink configurations. Iulia Tanasescu 1 year ago 1 file, +131, -51
61ed4b4b test-bap: Update caps to accommodate 8_1 config This adjusts the min SDU size in lc3_caps, to accommodate the 8_1 config. Iulia Tanasescu 1 year ago 1 file, +2, -2
cd354010 shared/bap: Add detach stream op Since a Broadcast Sink stream is not attached to an endpoint, bap_stream_detach must be adapted accordingly. This splits bap_stream_detach into dedicated stream op functions for ucast, bcast source and bcast sink. Iulia Tanasescu 1 year ago 1 file, +46, -9
Previous Next