mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-07 12:07:09 +03:00
fix BT source - release
This commit is contained in:
@@ -131,24 +131,29 @@ int32_t output_bt_data(uint8_t *data, int32_t len) {
|
||||
|
||||
// This is how the BTC layer calculates the number of bytes to
|
||||
// for us to send. (BTC_SBC_DEC_PCM_DATA_LEN * sizeof(OI_INT16) - availPcmBytes
|
||||
wanted_len=len;
|
||||
SET_MIN_MAX(len,req);
|
||||
TIME_MEASUREMENT_START(start_timer);
|
||||
LOCK;
|
||||
output.device_frames = 0; // todo: check if this is the right way do to this.
|
||||
|
||||
len /= BYTES_PER_FRAME;
|
||||
wanted_len = len;
|
||||
|
||||
output.device_frames = 0;
|
||||
output.updated = gettime_ms();
|
||||
output.frames_played_dmp = output.frames_played;
|
||||
|
||||
SET_MIN_MAX_SIZED(_buf_used(outputbuf),bt,outputbuf->size);
|
||||
|
||||
do {
|
||||
avail_data = _output_frames( wanted_len/BYTES_PER_FRAME )*BYTES_PER_FRAME; // Keep the transfer buffer full
|
||||
wanted_len-=avail_data;
|
||||
avail_data = _output_frames(wanted_len);
|
||||
wanted_len -= avail_data;
|
||||
} while (wanted_len > 0 && avail_data != 0);
|
||||
|
||||
if (wanted_len > 0) {
|
||||
SET_MIN_MAX(wanted_len, under);
|
||||
SET_MIN_MAX(wanted_len * BYTES_PER_FRAME, under);
|
||||
}
|
||||
output.frames_in_process = len-wanted_len;
|
||||
|
||||
output.frames_in_process = len - wanted_len;
|
||||
equalizer_process(data, (len - wanted_len) * BYTES_PER_FRAME, output.current_sample_rate);
|
||||
|
||||
UNLOCK;
|
||||
@@ -156,7 +161,7 @@ int32_t output_bt_data(uint8_t *data, int32_t len) {
|
||||
SET_MIN_MAX((len-wanted_len), rec);
|
||||
TIME_MEASUREMENT_START(start_timer);
|
||||
|
||||
return len-wanted_len;
|
||||
return (len - wanted_len) * BYTES_PER_FRAME;
|
||||
}
|
||||
|
||||
void output_bt_tick(void) {
|
||||
|
||||
Reference in New Issue
Block a user