| 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 |