@@ -48,7 +48,7 @@ ssize_t cap_initiator_pa_data_add(struct bt_data *data_array, const size_t data_
48
48
#include <zephyr/bluetooth/audio/bap_lc3_preset.h>
49
49
#include <zephyr/bluetooth/audio/cap.h>
50
50
51
- unsigned long bap_get_recv_stats_interval (void );
51
+ unsigned long bap_get_stats_interval (void );
52
52
53
53
#if defined(CONFIG_LIBLC3 )
54
54
#include "lc3.h"
@@ -61,7 +61,7 @@ unsigned long bap_get_recv_stats_interval(void);
61
61
#define LC3_MAX_NUM_SAMPLES_STEREO (LC3_MAX_NUM_SAMPLES_MONO * 2U)
62
62
#endif /* CONFIG_LIBLC3 */
63
63
64
- #define LOCATION BT_AUDIO_LOCATION_FRONT_LEFT | BT_AUDIO_LOCATION_FRONT_RIGHT
64
+ #define LOCATION BT_AUDIO_LOCATION_FRONT_LEFT
65
65
#define CONTEXT \
66
66
(BT_AUDIO_CONTEXT_TYPE_UNSPECIFIED | BT_AUDIO_CONTEXT_TYPE_CONVERSATIONAL | \
67
67
BT_AUDIO_CONTEXT_TYPE_MEDIA | \
@@ -75,15 +75,6 @@ struct named_lc3_preset {
75
75
struct bt_bap_lc3_preset preset ;
76
76
};
77
77
78
- const struct named_lc3_preset * bap_get_named_preset (bool is_unicast , enum bt_audio_dir dir ,
79
- const char * preset_arg );
80
-
81
- size_t bap_get_rx_streaming_cnt (void );
82
- int bap_usb_init (void );
83
- int bap_usb_add_frame_to_usb (enum bt_audio_location lc3_chan_allocation , const int16_t * frame ,
84
- size_t frame_size , uint32_t ts );
85
- void bap_usb_clear_frames_to_usb (void );
86
-
87
78
struct shell_stream {
88
79
struct bt_cap_stream stream ;
89
80
struct bt_audio_codec_cfg codec_cfg ;
@@ -106,11 +97,20 @@ struct shell_stream {
106
97
/* The uptime tick measured when stream was connected */
107
98
int64_t connected_at_ticks ;
108
99
uint16_t seq_num ;
109
- struct k_work_delayable audio_send_work ;
110
- bool active ;
111
100
#if defined(CONFIG_LIBLC3 )
112
101
atomic_t lc3_enqueue_cnt ;
102
+ bool active ;
103
+ size_t encoded_cnt ;
113
104
size_t lc3_sdu_cnt ;
105
+ lc3_encoder_mem_48k_t lc3_encoder_mem ;
106
+ lc3_encoder_t lc3_encoder ;
107
+ #if defined(CONFIG_USB_DEVICE_AUDIO )
108
+ /* Indicates where to read left USB data in the ring buffer */
109
+ size_t left_read_idx ;
110
+ /* Indicates where to read right USB data in the ring buffer */
111
+ size_t right_read_idx ;
112
+ size_t right_ring_buf_fail_cnt ;
113
+ #endif /* CONFIG_USB_DEVICE_AUDIO */
114
114
#endif /* CONFIG_LIBLC3 */
115
115
} tx ;
116
116
#endif /* CONFIG_BT_AUDIO_TX */
@@ -119,6 +119,7 @@ struct shell_stream {
119
119
struct {
120
120
struct bt_iso_recv_info last_info ;
121
121
size_t empty_sdu_pkts ;
122
+ size_t valid_sdu_pkts ;
122
123
size_t lost_pkts ;
123
124
size_t err_pkts ;
124
125
size_t dup_psn ;
@@ -134,6 +135,26 @@ struct shell_stream {
134
135
};
135
136
};
136
137
138
+ const struct named_lc3_preset * bap_get_named_preset (bool is_unicast , enum bt_audio_dir dir ,
139
+ const char * preset_arg );
140
+
141
+ size_t bap_get_rx_streaming_cnt (void );
142
+ size_t bap_get_tx_streaming_cnt (void );
143
+ void bap_foreach_stream (void (* func )(struct shell_stream * sh_stream , void * data ), void * data );
144
+
145
+ int bap_usb_init (void );
146
+
147
+ int bap_usb_add_frame_to_usb (enum bt_audio_location lc3_chan_allocation , const int16_t * frame ,
148
+ size_t frame_size , uint32_t ts );
149
+ void bap_usb_clear_frames_to_usb (void );
150
+ uint16_t get_next_seq_num (struct bt_bap_stream * bap_stream );
151
+ struct shell_stream * shell_stream_from_bap_stream (struct bt_bap_stream * bap_stream );
152
+ struct bt_bap_stream * bap_stream_from_shell_stream (struct shell_stream * sh_stream );
153
+ bool bap_usb_can_get_full_sdu (struct shell_stream * sh_stream );
154
+ void bap_usb_get_frame (struct shell_stream * sh_stream , enum bt_audio_location chan_alloc ,
155
+ int16_t buffer []);
156
+ size_t bap_usb_get_frame_size (const struct shell_stream * sh_stream );
157
+
137
158
struct broadcast_source {
138
159
bool is_cap ;
139
160
union {
0 commit comments