audio: rate to 1.0 find glitch. [2/2]
PD#SWPL-187599
Problem:
rate 1.0 are bypassed in scaletempo.
Solution:
rate 1.0 not bypass in scaletempo.
Verify:
Yocto: :AP222
Change-Id: I8898a4d1ee8d2cb6ab4308c06a32c743a9d9acdc
Signed-off-by: xingri.gao <xingri.gao@amlogic.com>
diff --git a/audio_hal/aml_audio_scaletempo.c b/audio_hal/aml_audio_scaletempo.c
index 07d3b13..4e2ee3c 100644
--- a/audio_hal/aml_audio_scaletempo.c
+++ b/audio_hal/aml_audio_scaletempo.c
@@ -50,10 +50,12 @@
unsigned int best_off = 0;
int i, off;
unsigned int ret = 0;
-
+#if 0
if (1.0 == st->scale) {
ret = 0;
- } else {
+ } else
+#endif
+ {
pw = st->table_window;
po = st->buf_overlap;
po += st->samples_per_frame;
@@ -94,9 +96,12 @@
long i;
unsigned int ret = 0;
+#if 0
if (1.0 == st->scale) {
ret = 0;
- } else {
+ } else
+#endif
+ {
pw = st->table_window;
po = st->buf_overlap;
po += st->samples_per_frame;
@@ -142,9 +147,12 @@
float *po = st->buf_overlap;
float *pin = (float *)(st->buf_queue + bytes_off);
int i;
+#if 0
if (1.0 == st->scale) {
memcpy (pout, st->buf_queue, st->bytes_overlap);
- } else {
+ } else
+#endif
+ {
for (i = 0; i < st->samples_overlap; i++) {
*pout++ = *po - *pb++ * ( *po - *pin++ ); po++;
}
@@ -159,10 +167,12 @@
short *po = st->buf_overlap;
short *pin = (short *) (st->buf_queue + bytes_off);
int i;
-
+#if 0
if (1.0 == st->scale) {
memcpy (pout, st->buf_queue, st->bytes_overlap);
- } else {
+ } else
+#endif
+ {
for (i = 0; i < st->samples_overlap; i++) {
*pout++ = *po - ((*pb++ * (*po - *pin++)) >> 16);
po++;