Merge "ASoC: msm: Add playback support for AC3/EC3 in compress driver"

This commit is contained in:
Linux Build Service Account
2013-11-20 20:13:41 -08:00
committed by Gerrit - the friendly Code Review server
+21 -1
View File
@@ -372,9 +372,11 @@ static void populate_codec_list(struct msm_compr_audio *prtd)
COMPR_PLAYBACK_MIN_NUM_FRAGMENTS;
prtd->compr_cap.max_fragments =
COMPR_PLAYBACK_MAX_NUM_FRAGMENTS;
prtd->compr_cap.num_codecs = 2;
prtd->compr_cap.num_codecs = 4;
prtd->compr_cap.codecs[0] = SND_AUDIOCODEC_MP3;
prtd->compr_cap.codecs[1] = SND_AUDIOCODEC_AAC;
prtd->compr_cap.codecs[2] = SND_AUDIOCODEC_AC3;
prtd->compr_cap.codecs[3] = SND_AUDIOCODEC_EAC3;
}
static int msm_compr_send_media_format_block(struct snd_compr_stream *cstream,
@@ -400,6 +402,10 @@ static int msm_compr_send_media_format_block(struct snd_compr_stream *cstream,
if (ret < 0)
pr_err("%s: CMD Format block failed\n", __func__);
break;
case FORMAT_AC3:
break;
case FORMAT_EAC3:
break;
default:
pr_debug("%s, unsupported format, skip", __func__);
break;
@@ -685,6 +691,16 @@ static int msm_compr_set_params(struct snd_compr_stream *cstream,
break;
}
case SND_AUDIOCODEC_AC3: {
prtd->codec = FORMAT_AC3;
break;
}
case SND_AUDIOCODEC_EAC3: {
prtd->codec = FORMAT_EAC3;
break;
}
default:
pr_err("codec not supported, id =%d\n", params->codec.id);
return -EINVAL;
@@ -1226,6 +1242,10 @@ static int msm_compr_get_codec_caps(struct snd_compr_stream *cstream,
(SND_AUDIOSTREAMFORMAT_MP4ADTS |
SND_AUDIOSTREAMFORMAT_RAW);
break;
case SND_AUDIOCODEC_AC3:
break;
case SND_AUDIOCODEC_EAC3:
break;
default:
pr_err("%s: Unsupported audio codec %d\n",
__func__, codec->codec);