From: cnx421 Date: Fri, 6 Nov 2020 07:35:04 +0000 (+0800) Subject: Fix for Multiplication overflow will be crash btstack X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fe969fc4808cd151b0bf8a6217d19c6a6096e64a;p=android-x86%2Fsystem-bt.git Fix for Multiplication overflow will be crash btstack When a2dp using LDAC ecoding PCM,if encoding thread is runned by deley after 2 secends, btstack will overflow .System will abort to crash by arm gcc code. Bug: 172590955 Tag: #stability Test: compile & verify basic functions working Test: pair to a support LDAC ecode BT headset Change-Id: Ie470bd51bfd7951d0c674b37aa6af7554cf9faa8 --- diff --git a/stack/a2dp/a2dp_vendor_ldac_encoder.cc b/stack/a2dp/a2dp_vendor_ldac_encoder.cc index 6114df487..0a1deb97a 100644 --- a/stack/a2dp/a2dp_vendor_ldac_encoder.cc +++ b/stack/a2dp/a2dp_vendor_ldac_encoder.cc @@ -587,8 +587,8 @@ static void a2dp_ldac_get_num_frame_iteration(uint8_t* num_of_iterations, a2dp_ldac_encoder_cb.ldac_feeding_state.last_frame_us = now_us; a2dp_ldac_encoder_cb.ldac_feeding_state.counter += - a2dp_ldac_encoder_cb.ldac_feeding_state.bytes_per_tick * us_this_tick / - (A2DP_LDAC_ENCODER_INTERVAL_MS * 1000); + a2dp_ldac_encoder_cb.ldac_feeding_state.bytes_per_tick * (us_this_tick / + (float) (A2DP_LDAC_ENCODER_INTERVAL_MS * 1000)); result = a2dp_ldac_encoder_cb.ldac_feeding_state.counter / pcm_bytes_per_frame;