summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/fsl_dsp_platform_compress.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/fsl/fsl_dsp_platform_compress.c')
-rw-r--r--sound/soc/fsl/fsl_dsp_platform_compress.c33
1 files changed, 31 insertions, 2 deletions
diff --git a/sound/soc/fsl/fsl_dsp_platform_compress.c b/sound/soc/fsl/fsl_dsp_platform_compress.c
index b60dd776cfe7..439066efe49e 100644
--- a/sound/soc/fsl/fsl_dsp_platform_compress.c
+++ b/sound/soc/fsl/fsl_dsp_platform_compress.c
@@ -197,6 +197,35 @@ static int dsp_platform_compr_set_params(struct snd_compr_stream *cstream,
goto err_comp0_create;
}
+ if (drv->codec_type == CODEC_AAC_DEC) {
+ s_param.id = XA_STREAM_TYPE;
+ if (params->codec.format == SND_AUDIOSTREAMFORMAT_MP4ADTS || params->codec.format == SND_AUDIOSTREAMFORMAT_MP2ADTS)
+ s_param.mixData.value = XA_STREAM_ADTS;
+ else if (params->codec.format == SND_AUDIOSTREAMFORMAT_ADIF)
+ s_param.mixData.value = XA_STREAM_ADIF;
+ else
+ s_param.mixData.value = XA_STREAM_RAW;
+ ret = xaf_comp_set_config(drv->client, &drv->component[0], 1, &s_param);
+ if (ret) {
+ dev_err(component->dev,
+ "set param[cmd:0x%x|val:0x%x] error, err = %d\n",
+ s_param.id, s_param.mixData.value, ret);
+ goto err_comp0_create;
+ }
+
+ /* ...set depth before init codec */
+ s_param.id = XA_DEPTH;
+ s_param.mixData.value = 16;
+ ret = xaf_comp_set_config(drv->client, &drv->component[0], 1, &s_param);
+ if (ret) {
+ dev_err(component->dev,
+ "set param[cmd:0x%x|val:0x%x] error, err = %d\n",
+ s_param.id, s_param.mixData.value, ret);
+ goto err_comp0_create;
+ }
+ }
+
+
/* ...add component into pipeline */
ret = xaf_comp_add(&drv->pipeline, &drv->component[0]);
if (ret) {
@@ -666,8 +695,8 @@ static struct snd_compr_codec_caps caps_aac = {
.descriptor[1].profiles = 0,
.descriptor[1].modes = 0,
.descriptor[1].formats =
- (SND_AUDIOSTREAMFORMAT_MP4ADTS |
- SND_AUDIOSTREAMFORMAT_RAW),
+ (SND_AUDIOSTREAMFORMAT_MP4ADTS | SND_AUDIOSTREAMFORMAT_MP2ADTS |
+ SND_AUDIOSTREAMFORMAT_ADIF | SND_AUDIOSTREAMFORMAT_RAW),
};
static int dsp_platform_compr_get_codec_caps(struct snd_compr_stream *cstream,