mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-26 18:41:12 +00:00
btstack_sbc_decoder_bluedroid, plc: remove printfs, copy empty pcm data from decoder if plc not enabled
This commit is contained in:
parent
ee5b2fc6f6
commit
221839372a
@ -483,16 +483,13 @@ static void btstack_sbc_decoder_process_msbc_data(btstack_sbc_decoder_state_t *
|
||||
memmove(decoder_state->frame_buffer, decoder_state->frame_buffer + bytes_processed, decoder_state->bytes_in_frame_buffer);
|
||||
}
|
||||
|
||||
#if 0
|
||||
// ignore bad data before first sync
|
||||
if (!decoder_state->first_good_frame_found) return;
|
||||
|
||||
// PLC on>
|
||||
if (!plc_enabled) return;
|
||||
|
||||
|
||||
// PLC
|
||||
while (decoder_state->msbc_bad_bytes >= msbc_frame_size){
|
||||
printf("BAD Bytes %u\n", decoder_state->msbc_bad_bytes);
|
||||
// printf("BAD Bytes %u\n", decoder_state->msbc_bad_bytes);
|
||||
decoder_state->msbc_bad_bytes -= msbc_frame_size;
|
||||
state->bad_frames_nr++;
|
||||
|
||||
@ -501,6 +498,7 @@ static void btstack_sbc_decoder_process_msbc_data(btstack_sbc_decoder_state_t *
|
||||
OI_UINT32 bytes_in_frame_buffer = 57;
|
||||
|
||||
// printf("Bad-Before: bytes in buffer %u, pcm bytes %u\n", bytes_in_frame_buffer, decoder_state->pcm_bytes);
|
||||
|
||||
OI_STATUS status = status = OI_CODEC_SBC_DecodeFrame(&(decoder_state->decoder_context),
|
||||
&frame_data,
|
||||
&bytes_in_frame_buffer,
|
||||
@ -515,11 +513,14 @@ static void btstack_sbc_decoder_process_msbc_data(btstack_sbc_decoder_state_t *
|
||||
log_error("PLC: not all bytes of zero frame processed, left %u\n", bytes_in_frame_buffer);
|
||||
}
|
||||
|
||||
printf_hexdump(decoder_state->pcm_plc_data, decoder_state->pcm_bytes);
|
||||
|
||||
btstack_sbc_plc_bad_frame(&state->plc_state, decoder_state->pcm_plc_data, decoder_state->pcm_data);
|
||||
|
||||
printf_hexdump(decoder_state->pcm_data, decoder_state->pcm_bytes);
|
||||
// printf_hexdump(decoder_state->pcm_plc_data, decoder_state->pcm_bytes);
|
||||
|
||||
if (plc_enabled) {
|
||||
btstack_sbc_plc_bad_frame(&state->plc_state, decoder_state->pcm_plc_data, decoder_state->pcm_data);
|
||||
} else {
|
||||
memcpy(decoder_state->pcm_data, decoder_state->pcm_plc_data, decoder_state->pcm_bytes);
|
||||
}
|
||||
// printf_hexdump(decoder_state->pcm_data, decoder_state->pcm_bytes);
|
||||
|
||||
state->handle_pcm_data(decoder_state->pcm_data,
|
||||
btstack_sbc_decoder_num_samples_per_frame(state),
|
||||
@ -529,8 +530,6 @@ static void btstack_sbc_decoder_process_msbc_data(btstack_sbc_decoder_state_t *
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void btstack_sbc_decoder_process_data(btstack_sbc_decoder_state_t * state, int packet_status_flag, uint8_t * buffer, int size){
|
||||
|
@ -315,7 +315,7 @@ void btstack_sbc_plc_bad_frame(btstack_sbc_plc_state_t *plc_state, SAMPLE_FORMAT
|
||||
}
|
||||
|
||||
if (plc_state->nbf==1){
|
||||
printf("first bad frame\n");
|
||||
// printf("first bad frame\n");
|
||||
// Perform pattern matching to find where to replicate
|
||||
plc_state->bestlag = PatternMatch(plc_state->hist);
|
||||
}
|
||||
@ -333,7 +333,7 @@ void btstack_sbc_plc_bad_frame(btstack_sbc_plc_state_t *plc_state, SAMPLE_FORMAT
|
||||
|
||||
// Compute Scale Factor to Match Amplitude of Substitution Packet to that of Preceding Packet
|
||||
sf = AmplitudeMatch(plc_state->hist, plc_state->bestlag);
|
||||
printf("sf Apmlitude Match %f, new data %d, bestlag+M %d\n", sf, ZIRbuf[0], plc_state->hist[plc_state->bestlag]);
|
||||
// printf("sf Apmlitude Match %f, new data %d, bestlag+M %d\n", sf, ZIRbuf[0], plc_state->hist[plc_state->bestlag]);
|
||||
for (i=0;i<SBC_OLAL;i++){
|
||||
float left = ZIRbuf[i];
|
||||
float right = sf*plc_state->hist[plc_state->bestlag+i];
|
||||
@ -358,7 +358,7 @@ void btstack_sbc_plc_bad_frame(btstack_sbc_plc_state_t *plc_state, SAMPLE_FORMAT
|
||||
plc_state->hist[SBC_LHIST+i] = plc_state->hist[plc_state->bestlag+i];
|
||||
}
|
||||
} else {
|
||||
printf("succesive bad frame nr %d\n", plc_state->nbf);
|
||||
// printf("succesive bad frame nr %d\n", plc_state->nbf);
|
||||
for (;i<SBC_FS+SBC_RT+SBC_OLAL;i++){
|
||||
plc_state->hist[SBC_LHIST+i] = plc_state->hist[plc_state->bestlag+i];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user