ASoc: msm: qdsp6v2: Fix audio noise issue during incall recording
The timestamp API is called even when timestamp flag is not set. Correct the read API calls based on timestamp flag. CRs-fixed: 1107319 Change-Id: Ic40b166e9ddd42f20fecadcd4eafe187b3ff8785 Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
This commit is contained in:
parent
3145cd4109
commit
355f0c4d27
4 changed files with 16 additions and 10 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -270,7 +270,7 @@ int q6asm_open_read_v3(struct audio_client *ac, uint32_t format,
|
||||||
uint16_t bits_per_sample);
|
uint16_t bits_per_sample);
|
||||||
|
|
||||||
int q6asm_open_read_v4(struct audio_client *ac, uint32_t format,
|
int q6asm_open_read_v4(struct audio_client *ac, uint32_t format,
|
||||||
uint16_t bits_per_sample);
|
uint16_t bits_per_sample, bool ts_mode);
|
||||||
|
|
||||||
int q6asm_open_write(struct audio_client *ac, uint32_t format
|
int q6asm_open_write(struct audio_client *ac, uint32_t format
|
||||||
/*, uint16_t bits_per_sample*/);
|
/*, uint16_t bits_per_sample*/);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -1242,8 +1242,13 @@ static int msm_compr_configure_dsp_for_capture(struct snd_compr_stream *cstream)
|
||||||
pr_debug("%s: stream_id %d bits_per_sample %d\n",
|
pr_debug("%s: stream_id %d bits_per_sample %d\n",
|
||||||
__func__, ac->stream_id, bits_per_sample);
|
__func__, ac->stream_id, bits_per_sample);
|
||||||
|
|
||||||
ret = q6asm_open_read_v4(prtd->audio_client, FORMAT_LINEAR_PCM,
|
if (prtd->codec_param.codec.flags & COMPRESSED_TIMESTAMP_FLAG) {
|
||||||
bits_per_sample);
|
ret = q6asm_open_read_v4(prtd->audio_client, FORMAT_LINEAR_PCM,
|
||||||
|
bits_per_sample, true);
|
||||||
|
} else {
|
||||||
|
ret = q6asm_open_read_v4(prtd->audio_client, FORMAT_LINEAR_PCM,
|
||||||
|
bits_per_sample, false);
|
||||||
|
}
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
pr_err("%s: q6asm_open_read failed:%d\n", __func__, ret);
|
pr_err("%s: q6asm_open_read failed:%d\n", __func__, ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -423,7 +423,7 @@ static int msm_pcm_capture_prepare(struct snd_pcm_substream *substream)
|
||||||
prtd->audio_client->perf_mode);
|
prtd->audio_client->perf_mode);
|
||||||
|
|
||||||
ret = q6asm_open_read_v4(prtd->audio_client, FORMAT_LINEAR_PCM,
|
ret = q6asm_open_read_v4(prtd->audio_client, FORMAT_LINEAR_PCM,
|
||||||
bits_per_sample);
|
bits_per_sample, false);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
pr_err("%s: q6asm_open_read failed\n", __func__);
|
pr_err("%s: q6asm_open_read failed\n", __func__);
|
||||||
q6asm_audio_client_free(prtd->audio_client);
|
q6asm_audio_client_free(prtd->audio_client);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
|
||||||
* Author: Brian Swetland <swetland@google.com>
|
* Author: Brian Swetland <swetland@google.com>
|
||||||
*
|
*
|
||||||
* This software is licensed under the terms of the GNU General Public
|
* This software is licensed under the terms of the GNU General Public
|
||||||
|
@ -2441,13 +2441,14 @@ EXPORT_SYMBOL(q6asm_open_read_v3);
|
||||||
* @ac: Client session handle
|
* @ac: Client session handle
|
||||||
* @format: encoder format
|
* @format: encoder format
|
||||||
* @bits_per_sample: bit width of capture session
|
* @bits_per_sample: bit width of capture session
|
||||||
|
* @ts_mode: timestamp mode
|
||||||
*/
|
*/
|
||||||
int q6asm_open_read_v4(struct audio_client *ac, uint32_t format,
|
int q6asm_open_read_v4(struct audio_client *ac, uint32_t format,
|
||||||
uint16_t bits_per_sample)
|
uint16_t bits_per_sample, bool ts_mode)
|
||||||
{
|
{
|
||||||
return __q6asm_open_read(ac, format, bits_per_sample,
|
return __q6asm_open_read(ac, format, bits_per_sample,
|
||||||
PCM_MEDIA_FORMAT_V4 /*media fmt block ver*/,
|
PCM_MEDIA_FORMAT_V4 /*media fmt block ver*/,
|
||||||
true/*ts_mode*/);
|
ts_mode);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(q6asm_open_read_v4);
|
EXPORT_SYMBOL(q6asm_open_read_v4);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue