On 3/22/2018 17:55, Xiuli Pan wrote:
From: Pan Xiuli xiuli.pan@linux.intel.com
For passthrough PCM, we can only support the SSP DAI format as PCM capabilities.
On BYT, pulseaudio will try 16bit wav on 24bit pass through PCM. And it will fail since no enough data is passed to DAI. And S16_LE format should not be supported by this 24bit pass through PCM.
Hi Liam,
Is my understanding on pass through pipeline is wrong?
Thanks Xiuli
Signed-off-by: Pan Xiuli xiuli.pan@linux.intel.com
Test with: Mininow max rt5651 and GP-MRB nocodec and CNL nocodec SOF 1.1-stable: 480407f4745a2edf9c51e3a14be7533970122f23 SOF-Tool 1.1-stable: 105c88febf1b974b9f03b02712dbc154eff5eb4d https://github.com/plbossart/sound/tree/topic/sof-v4.14: 95d77adbaadc44b28c8975a3714f70824d1a8529
topology/sof/pipe-passthrough-capture.m4 | 2 +- topology/sof/pipe-passthrough-playback.m4 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/topology/sof/pipe-passthrough-capture.m4 b/topology/sof/pipe-passthrough-capture.m4 index 203003c..c6850f9 100644 --- a/topology/sof/pipe-passthrough-capture.m4 +++ b/topology/sof/pipe-passthrough-capture.m4 @@ -44,4 +44,4 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Capture PCM_ID # PCM Configuration #
-PCM_CAPABILITIES(Passthrough Capture PCM_ID, `S32_LE,S24_LE,S16_LE', 48000, 48000, 2, 4, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Capture PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), 48000, 48000, 2, 4, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-passthrough-playback.m4 b/topology/sof/pipe-passthrough-playback.m4 index a2a88ad..e2cd645 100644 --- a/topology/sof/pipe-passthrough-playback.m4 +++ b/topology/sof/pipe-passthrough-playback.m4 @@ -44,4 +44,4 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Playback PCM_I # PCM Configuration #
-PCM_CAPABILITIES(Passthrough Playback PCM_ID, `S32_LE,S24_LE,S16_LE', 48000, 48000, 2, 4, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Playback PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), 48000, 48000, 2, 4, 2, 16, 192, 16384, 65536, 65536)