client: 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.
We are sending data in bursts of num ~= Transport_Latency/SDU_Interval
packets, in hopes that possibly larger timer interval makes things more
efficient.
Fix the data rate by sending num packets every num*SDU_Interval, so that
the average data rate is correct.
Also fix use of itimerspect.it_value with TFD_TIMER_ABSTIME. The value
set previously is going to always be in the past in CLOCK_MONOTONIC so
just set it to 1.
test-bap: Add Broadcast Source SCC tests
4.13.1 Broadcast Source Configures Broadcast Audio Stream (page 172):
Test Purpose:
Verify that a Broadcast Source IUT can configure a broadcast Audio
Stream with information defined by the values in its BASE structure.
Test Case Configuration:
BAP/BSRC/SCC/BV-01-C [Config Broadcast, LC3 8_1_1]
BAP/BSRC/SCC/BV-02-C [Config Broadcast, LC3 8_2_1]
BAP/BSRC/SCC/BV-03-C [Config Broadcast, LC3 16_1_1]
BAP/BSRC/SCC/BV-04-C [Config Broadcast, LC3 16_2_1]
BAP/BSRC/SCC/BV-05-C [Config Broadcast, LC3 24_1_1]
BAP/BSRC/SCC/BV-06-C [Config Broadcast, LC3 24_2_1]
BAP/BSRC/SCC/BV-07-C [Config Broadcast, LC3 32_1_1]
BAP/BSRC/SCC/BV-08-C [Config Broadcast, LC3 32_2_1]
BAP/BSRC/SCC/BV-09-C [Config Broadcast, LC3 44.1_1_1]
BAP/BSRC/SCC/BV-10-C [Config Broadcast, LC3 44.1_2_1]
BAP/BSRC/SCC/BV-11-C [Config Broadcast, LC3 48_1_1]
BAP/BSRC/SCC/BV-12-C [Config Broadcast, LC3 48_2_1]
BAP/BSRC/SCC/BV-13-C [Config Broadcast, LC3 48_3_1]
BAP/BSRC/SCC/BV-14-C [Config Broadcast, LC3 48_4_1]
BAP/BSRC/SCC/BV-15-C [Config Broadcast, LC3 48_5_1]
BAP/BSRC/SCC/BV-16-C [Config Broadcast, LC3 48_6_1]
BAP/BSRC/SCC/BV-17-C [Config Broadcast, LC3 8_1_2]
BAP/BSRC/SCC/BV-18-C [Config Broadcast, LC3 8_2_2]
BAP/BSRC/SCC/BV-19-C [Config Broadcast, LC3 16_1_2]
BAP/BSRC/SCC/BV-20-C [Config Broadcast, LC3 16_2_2]
BAP/BSRC/SCC/BV-21-C [Config Broadcast, LC3 24_1_2]
BAP/BSRC/SCC/BV-22-C [Config Broadcast, LC3 24_2_2]
BAP/BSRC/SCC/BV-23-C [Config Broadcast, LC3 32_1_2]
BAP/BSRC/SCC/BV-24-C [Config Broadcast, LC3 32_2_2]
BAP/BSRC/SCC/BV-25-C [Config Broadcast, LC3 44.1_1_2]
BAP/BSRC/SCC/BV-26-C [Config Broadcast, LC3 44.1_2_2]
BAP/BSRC/SCC/BV-27-C [Config Broadcast, LC3 48_1_2]
BAP/BSRC/SCC/BV-28-C [Config Broadcast, LC3 48_2_2]
BAP/BSRC/SCC/BV-29-C [Config Broadcast, LC3 48_3_2]
BAP/BSRC/SCC/BV-30-C [Config Broadcast, LC3 48_4_2]
BAP/BSRC/SCC/BV-31-C [Config Broadcast, LC3 48_5_2]
BAP/BSRC/SCC/BV-32-C [Config Broadcast, LC3 48_6_2]
BAP/BSRC/SCC/BV-33-C [Config Broadcast, VS]
Pass verdict:
The AdvData field of AUX_SYNC_IND and optionally
AUX_CHAIN_IND PDUs contains the configured BASE information.
Test Summary
------------
BAP/BSRC/SCC/BV-01-C [Config Broadcast, LC3 8_1_1] Passed
BAP/BSRC/SCC/BV-02-C [Config Broadcast, LC3 8_2_1] Passed
BAP/BSRC/SCC/BV-03-C [Config Broadcast, LC3 16_1_1] Passed
BAP/BSRC/SCC/BV-04-C [Config Broadcast, LC3 16_2_1] Passed
BAP/BSRC/SCC/BV-05-C [Config Broadcast, LC3 24_1_1] Passed
BAP/BSRC/SCC/BV-06-C [Config Broadcast, LC3 24_2_1] Passed
BAP/BSRC/SCC/BV-07-C [Config Broadcast, LC3 32_1_1] Passed
BAP/BSRC/SCC/BV-08-C [Config Broadcast, LC3 32_2_1] Passed
BAP/BSRC/SCC/BV-09-C [Config Broadcast, LC3 44.1_1_1] Passed
BAP/BSRC/SCC/BV-09-C [Config Broadcast, LC3 44.1_2_1] Passed
BAP/BSRC/SCC/BV-11-C [Config Broadcast, LC3 48_1_1] Passed
BAP/BSRC/SCC/BV-12-C [Config Broadcast, LC3 48_2_1] Passed
BAP/BSRC/SCC/BV-13-C [Config Broadcast, LC3 48_3_1] Passed
BAP/BSRC/SCC/BV-14-C [Config Broadcast, LC3 48_4_1] Passed
BAP/BSRC/SCC/BV-15-C [Config Broadcast, LC3 48_5_1] Passed
BAP/BSRC/SCC/BV-16-C [Config Broadcast, LC3 48_6_1] Passed
BAP/BSRC/SCC/BV-17-C [Config Broadcast, LC3 8_1_2] Passed
BAP/BSRC/SCC/BV-18-C [Config Broadcast, LC3 8_2_2] Passed
BAP/BSRC/SCC/BV-19-C [Config Broadcast, LC3 16_1_2] Passed
BAP/BSRC/SCC/BV-20-C [Config Broadcast, LC3 16_2_2] Passed
BAP/BSRC/SCC/BV-21-C [Config Broadcast, LC3 24_1_2] Passed
BAP/BSRC/SCC/BV-22-C [Config Broadcast, LC3 24_2_2] Passed
BAP/BSRC/SCC/BV-23-C [Config Broadcast, LC3 32_1_2] Passed
BAP/BSRC/SCC/BV-24-C [Config Broadcast, LC3 32_2_2] Passed
BAP/BSRC/SCC/BV-25-C [Config Broadcast, LC3 44.1_1_2] Passed
BAP/BSRC/SCC/BV-26-C [Config Broadcast, LC3 44.1_2_2] Passed
BAP/BSRC/SCC/BV-27-C [Config Broadcast, LC3 48_1_2] Passed
BAP/BSRC/SCC/BV-28-C [Config Broadcast, LC3 48_2_2] Passed
BAP/BSRC/SCC/BV-29-C [Config Broadcast, LC3 48_3_2] Passed
BAP/BSRC/SCC/BV-30-C [Config Broadcast, LC3 48_4_2] Passed
BAP/BSRC/SCC/BV-31-C [Config Broadcast, LC3 48_5_2] Passed
BAP/BSRC/SCC/BV-32-C [Config Broadcast, LC3 48_6_2] Passed
BAP/BSRC/SCC/BV-33-C [Config Broadcast, VS] Passed