fix BT source - release

This commit is contained in:
Philippe G
2020-10-28 17:46:46 -07:00
parent 67ea623ba3
commit 0503d03e64
2 changed files with 13 additions and 8 deletions

View File

@@ -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) {