Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d264aba5 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

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

parents e4cd68da edc0536e
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -384,9 +384,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,
@@ -412,6 +414,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;
@@ -708,6 +714,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;
@@ -1280,6 +1296,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);