This is an automated email from the ASF dual-hosted git repository.

andk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git


The following commit(s) were added to refs/heads/master by this push:
     new b84191ac apps/auracast_usb: Fix calculation for octets_per_frame and 
max_sdu
b84191ac is described below

commit b84191aca22abde7a980dc56bad5162ca467763c
Author: Andrzej Kaczmarek <[email protected]>
AuthorDate: Thu Aug 1 15:45:52 2024 +0200

    apps/auracast_usb: Fix calculation for octets_per_frame and max_sdu
---
 apps/auracast_usb/src/main.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/apps/auracast_usb/src/main.c b/apps/auracast_usb/src/main.c
index c64fca90..4ddb0b86 100644
--- a/apps/auracast_usb/src/main.c
+++ b/apps/auracast_usb/src/main.c
@@ -31,7 +31,6 @@
 #include "app_priv.h"
 
 #define BROADCAST_SID                       1
-#define BROADCAST_SDU_INTVL                 MYNEWT_VAL(LC3_FRAME_DURATION)
 
 #if (MYNEWT_VAL(LC3_SAMPLING_FREQ) == 8000)
 #define BROADCAST_SAMPLE_RATE               BLE_AUDIO_SAMPLING_RATE_8000_HZ
@@ -47,11 +46,17 @@
 BUILD_ASSERT(0, "Sample frequency not supported");
 #endif
 
-#define BROADCAST_MAX_SDU                   (BROADCAST_SDU_INTVL * \
-                                             MYNEWT_VAL(LC3_BITRATE) / \
-                                             (1000 * 1000 * 8) *   \
-                                             MYNEWT_VAL(AURACAST_CHAN_NUM) / \
-                                             MYNEWT_VAL(BIG_NUM_BIS))
+/* Note: values need to be adjusted if sampling frequency is 44100 (currently
+ *       not supported by app) or SDU interval is different from LC3 frame
+ *       length
+ */
+#define OCTETS_PER_CODEC_FRAME      (MYNEWT_VAL(LC3_BITRATE) / \
+                                     8 * MYNEWT_VAL(LC3_FRAME_DURATION) / \
+                                     1000000)
+#define BIG_SDU_INTERVAL            (MYNEWT_VAL(LC3_FRAME_DURATION))
+#define BIG_MAX_SDU                 (OCTETS_PER_CODEC_FRAME * \
+                                     MYNEWT_VAL(AURACAST_CHAN_NUM) / \
+                                     MYNEWT_VAL(BIG_NUM_BIS))
 
 #define BROADCASTER_INTERRUPT_TASK_PRIO  4
 #define BROADCASTER_INTERRUPT_TASK_STACK_SZ    512
@@ -104,14 +109,14 @@ base_create(void)
                                      BLE_AUDIO_SELECTED_FRAME_DURATION_10_MS :
                                      BLE_AUDIO_SELECTED_FRAME_DURATION_7_5_MS,
                                      BLE_AUDIO_LOCATION_FRONT_LEFT,
-                                     BROADCAST_MAX_SDU, );
+                                     OCTETS_PER_CODEC_FRAME, );
     uint8_t codec_spec_config_right_chan[] =
         BLE_AUDIO_BUILD_CODEC_CONFIG(BROADCAST_SAMPLE_RATE,
                                      MYNEWT_VAL(LC3_FRAME_DURATION) == 10000 ?
                                      BLE_AUDIO_SELECTED_FRAME_DURATION_10_MS :
                                      BLE_AUDIO_SELECTED_FRAME_DURATION_7_5_MS,
                                      BLE_AUDIO_LOCATION_FRONT_RIGHT,
-                                     BROADCAST_MAX_SDU, );
+                                     OCTETS_PER_CODEC_FRAME, );
 #else
     uint16_t chan_loc = BLE_AUDIO_LOCATION_FRONT_LEFT |
                         BLE_AUDIO_LOCATION_FRONT_RIGHT;
@@ -121,7 +126,7 @@ base_create(void)
                                      BLE_AUDIO_SELECTED_FRAME_DURATION_10_MS :
                                      BLE_AUDIO_SELECTED_FRAME_DURATION_7_5_MS,
                                      chan_loc,
-                                     BROADCAST_MAX_SDU * 2, );
+                                     OCTETS_PER_CODEC_FRAME, );
 
     struct ble_audio_bis *bis;
 #endif
@@ -239,8 +244,8 @@ auracast_create(void)
 {
     const char *program_info = "NimBLE Auracast Test";
     static struct ble_iso_big_params big_params = {
-        .sdu_interval = MYNEWT_VAL(LC3_FRAME_DURATION),
-        .max_sdu = BROADCAST_MAX_SDU,
+        .sdu_interval = BIG_SDU_INTERVAL,
+        .max_sdu = BIG_MAX_SDU,
         .max_transport_latency = MYNEWT_VAL(LC3_FRAME_DURATION) / 1000,
         .rtn = MYNEWT_VAL(BIG_RTN),
         .phy = MYNEWT_VAL(BIG_PHY),

Reply via email to