From 40f379c90bbd1c427fe2322215d4006de1f71d89 Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Thu, 12 Mar 2026 16:25:17 +0200 Subject: [PATCH 1/2] Tools: Topology: Move object formats for compress to include files This patch moves formats definitions for the objects in pipeline compr-playback to separate include files in new directory include/formats. It avoids duplication of same input and output formats several times and prepares to add new formats and sample rates later. Signed-off-by: Seppo Ingalsuo --- .../formats/compr_input_audio_formats.conf | 49 ++ .../formats/compr_output_audio_formats.conf | 49 ++ .../compr_output_audio_formats_s32.conf | 15 + .../topology2/platform/intel/compr.conf | 530 +----------------- 4 files changed, 125 insertions(+), 518 deletions(-) create mode 100644 tools/topology/topology2/include/formats/compr_input_audio_formats.conf create mode 100644 tools/topology/topology2/include/formats/compr_output_audio_formats.conf create mode 100644 tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf diff --git a/tools/topology/topology2/include/formats/compr_input_audio_formats.conf b/tools/topology/topology2/include/formats/compr_input_audio_formats.conf new file mode 100644 index 000000000000..40ecc89836f1 --- /dev/null +++ b/tools/topology/topology2/include/formats/compr_input_audio_formats.conf @@ -0,0 +1,49 @@ + # All input formats for e.g. host-copier + num_input_audio_formats 20 + CombineArrays.Object.Base.input_audio_format [ + { + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 8 ] + in_valid_bit_depth [ 8 ] + in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] + } + { + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 16 ] + in_valid_bit_depth [ 16 ] + } + { + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 24 ] + } + { + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 32 ] + } + ] diff --git a/tools/topology/topology2/include/formats/compr_output_audio_formats.conf b/tools/topology/topology2/include/formats/compr_output_audio_formats.conf new file mode 100644 index 000000000000..8f1ded71f20c --- /dev/null +++ b/tools/topology/topology2/include/formats/compr_output_audio_formats.conf @@ -0,0 +1,49 @@ + # Output audio formats for e.g. host-copier + num_output_audio_formats 20 + CombineArrays.Object.Base.output_audio_format [ + { + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 8 ] + out_valid_bit_depth [ 8 ] + out_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] + } + { + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 16 ] + out_valid_bit_depth [ 16 ] + } + { + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 32 ] + out_valid_bit_depth [ 24 ] + } + { + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 32 ] + out_valid_bit_depth [ 32 ] + } + ] diff --git a/tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf b/tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf new file mode 100644 index 000000000000..9aae1681baef --- /dev/null +++ b/tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf @@ -0,0 +1,15 @@ + # Output audio formats for e.g. module-copier, s32 + num_output_audio_formats 5 + CombineArrays.Object.Base.output_audio_format [ + { + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 32 ] + out_valid_bit_depth [ 32 ] + } + ] diff --git a/tools/topology/topology2/platform/intel/compr.conf b/tools/topology/topology2/platform/intel/compr.conf index ace7277675f4..a270fcb5e023 100644 --- a/tools/topology/topology2/platform/intel/compr.conf +++ b/tools/topology/topology2/platform/intel/compr.conf @@ -8,273 +8,20 @@ IncludeByKey.COMPRESSED_1 { Object.Widget.host-copier.1 { stream_name $COMPR_PCM_NAME pcm_id $COMPR_PCM_ID - - num_input_audio_formats 20 - CombineArrays.Object.Base.input_audio_format [ - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 8 ] - in_valid_bit_depth [ 8 ] - in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 16 ] - in_valid_bit_depth [ 16 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 24 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 32 ] - } - ] - - num_output_audio_formats 20 - CombineArrays.Object.Base.output_audio_format [ - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 8 ] - out_valid_bit_depth [ 8 ] - out_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 16 ] - out_valid_bit_depth [ 16 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 24 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 32 ] - } - ] + + } Object.Widget.decoder.1 { core_id 1 - - num_input_audio_formats 20 - CombineArrays.Object.Base.input_audio_format [ - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 8 ] - in_valid_bit_depth [ 8 ] - in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 16 ] - in_valid_bit_depth [ 16 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 24 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 32 ] - } - ] - - num_output_audio_formats 20 - CombineArrays.Object.Base.output_audio_format [ - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 8 ] - out_valid_bit_depth [ 8 ] - out_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 16 ] - out_valid_bit_depth [ 16 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 24 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 32 ] - } - ] + + } # converts the input to S32_LE Object.Widget.module-copier.2 { - num_input_audio_formats 20 - CombineArrays.Object.Base.input_audio_format [ - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 8 ] - in_valid_bit_depth [ 8 ] - in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 16 ] - in_valid_bit_depth [ 16 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 24 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 32 ] - } - ] - - num_output_audio_formats 5 - CombineArrays.Object.Base.output_audio_format [ - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 32 ] - } - ] + + } # converts the input to 48KHz @@ -367,273 +114,20 @@ IncludeByKey.COMPRESSED_2 { Object.Widget.host-copier.1 { stream_name $COMPR_2_PCM_NAME pcm_id $COMPR_2_PCM_ID - - num_input_audio_formats 20 - CombineArrays.Object.Base.input_audio_format [ - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 8 ] - in_valid_bit_depth [ 8 ] - in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 16 ] - in_valid_bit_depth [ 16 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 24 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 32 ] - } - ] - - num_output_audio_formats 20 - CombineArrays.Object.Base.output_audio_format [ - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 8 ] - out_valid_bit_depth [ 8 ] - out_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 16 ] - out_valid_bit_depth [ 16 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 24 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 32 ] - } - ] + + } Object.Widget.decoder.1 { core_id 1 - - num_input_audio_formats 20 - CombineArrays.Object.Base.input_audio_format [ - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 8 ] - in_valid_bit_depth [ 8 ] - in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 16 ] - in_valid_bit_depth [ 16 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 24 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 32 ] - } - ] - - num_output_audio_formats 20 - CombineArrays.Object.Base.output_audio_format [ - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 8 ] - out_valid_bit_depth [ 8 ] - out_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 16 ] - out_valid_bit_depth [ 16 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 24 ] - } - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 32 ] - } - ] + + } # converts the input to S32_LE Object.Widget.module-copier.2 { - num_input_audio_formats 20 - CombineArrays.Object.Base.input_audio_format [ - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 8 ] - in_valid_bit_depth [ 8 ] - in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 16 ] - in_valid_bit_depth [ 16 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 24 ] - } - { - in_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - in_bit_depth [ 32 ] - in_valid_bit_depth [ 32 ] - } - ] - - num_output_audio_formats 5 - CombineArrays.Object.Base.output_audio_format [ - { - out_rate [ - 8000 - 44100 - 48000 - 96000 - 192000 - ] - out_bit_depth [ 32 ] - out_valid_bit_depth [ 32 ] - } - ] + + } # converts the input to 48KHz From eff2fbb1b7b79a5ff30addf562fd837a50bdb0c0 Mon Sep 17 00:00:00 2001 From: Seppo Ingalsuo Date: Thu, 12 Mar 2026 17:54:58 +0200 Subject: [PATCH 2/2] Tools: Topology: Add selector to compress playback pipeline The purpose of this patch is to add conversion of possible mono output from decoder to stereo format in the selector (micsel) module. If the decoded output is stereo, the selector goes to pass-through mode with minimal impact to processing load. This patch adds the mono format to all needed objects (host-copier, decoder, module-copier, src, input of selector). Selector has single stereo, S32_LE, 48 kHz output format. Signed-off-by: Seppo Ingalsuo --- .../formats/compr_input_audio_formats.conf | 62 +++++++++++++++++- .../compr_input_audio_formats_s32_48k.conf | 29 +++++++++ ...r_input_output_formats_src_s32_to_48k.conf | 65 +++++++++++++++++++ .../formats/compr_output_audio_formats.conf | 61 ++++++++++++++++- .../compr_output_audio_formats_s32.conf | 18 ++++- ...r_output_audio_formats_s32_48k_stereo.conf | 10 +++ .../pipelines/cavs/compr-playback.conf | 7 ++ .../topology2/platform/intel/compr.conf | 22 ++++++- 8 files changed, 266 insertions(+), 8 deletions(-) create mode 100644 tools/topology/topology2/include/formats/compr_input_audio_formats_s32_48k.conf create mode 100644 tools/topology/topology2/include/formats/compr_input_output_formats_src_s32_to_48k.conf create mode 100644 tools/topology/topology2/include/formats/compr_output_audio_formats_s32_48k_stereo.conf diff --git a/tools/topology/topology2/include/formats/compr_input_audio_formats.conf b/tools/topology/topology2/include/formats/compr_input_audio_formats.conf index 40ecc89836f1..8d5694400988 100644 --- a/tools/topology/topology2/include/formats/compr_input_audio_formats.conf +++ b/tools/topology/topology2/include/formats/compr_input_audio_formats.conf @@ -1,6 +1,64 @@ - # All input formats for e.g. host-copier - num_input_audio_formats 20 + # All input formats for e.g. host-copier, decoder, + # and module-copier + num_input_audio_formats 40 CombineArrays.Object.Base.input_audio_format [ + { + in_channels [ 1 ] + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 8 ] + in_valid_bit_depth [ 8 ] + in_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] + in_ch_map [ $CHANNEL_MAP_MONO ] + in_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + in_channels [ 1 ] + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 16 ] + in_valid_bit_depth [ 16 ] + in_ch_map [ $CHANNEL_MAP_MONO ] + in_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + in_channels [ 1 ] + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 24 ] + in_ch_map [ $CHANNEL_MAP_MONO ] + in_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + in_channels [ 1 ] + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 32 ] + in_ch_map [ $CHANNEL_MAP_MONO ] + in_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } { in_rate [ 8000 diff --git a/tools/topology/topology2/include/formats/compr_input_audio_formats_s32_48k.conf b/tools/topology/topology2/include/formats/compr_input_audio_formats_s32_48k.conf new file mode 100644 index 000000000000..9ea5b19a2f16 --- /dev/null +++ b/tools/topology/topology2/include/formats/compr_input_audio_formats_s32_48k.conf @@ -0,0 +1,29 @@ + # Input formats for e.g. micsel + num_input_audio_formats 10 + CombineArrays.Object.Base.input_audio_format [ + { + in_channels [ 1 ] + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 32 ] + in_ch_map [ $CHANNEL_MAP_MONO ] + in_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + in_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 32 ] + } + ] diff --git a/tools/topology/topology2/include/formats/compr_input_output_formats_src_s32_to_48k.conf b/tools/topology/topology2/include/formats/compr_input_output_formats_src_s32_to_48k.conf new file mode 100644 index 000000000000..836855126233 --- /dev/null +++ b/tools/topology/topology2/include/formats/compr_input_output_formats_src_s32_to_48k.conf @@ -0,0 +1,65 @@ + # Input and output audio formats for SRC + num_input_audio_formats 28 + CombineArrays.Object.Base.input_audio_format [ + { + in_channels [ 1 ] + in_rate [ + 8000 + 11025 + 12000 + 16000 + 22050 + 24000 + 32000 + 44100 + 48000 + 64000 + 88200 + 96000 + 176400 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 32 ] + in_ch_map [ $CHANNEL_MAP_MONO ] + in_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + in_rate [ + 8000 + 11025 + 12000 + 16000 + 22050 + 24000 + 32000 + 44100 + 48000 + 64000 + 88200 + 96000 + 176400 + 192000 + ] + in_bit_depth [ 32 ] + in_valid_bit_depth [ 32 ] + } + ] + + num_output_audio_formats 2 + Object.Base.output_audio_format [ + { + out_channels 1 + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 32 + out_ch_map $CHANNEL_MAP_MONO + out_ch_cfg $CHANNEL_CONFIG_MONO + } + { + out_channels 2 + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + ] diff --git a/tools/topology/topology2/include/formats/compr_output_audio_formats.conf b/tools/topology/topology2/include/formats/compr_output_audio_formats.conf index 8f1ded71f20c..98d11fa51cbc 100644 --- a/tools/topology/topology2/include/formats/compr_output_audio_formats.conf +++ b/tools/topology/topology2/include/formats/compr_output_audio_formats.conf @@ -1,6 +1,63 @@ - # Output audio formats for e.g. host-copier - num_output_audio_formats 20 + # Output audio formats for e.g. host-copier and decoder + num_output_audio_formats 40 CombineArrays.Object.Base.output_audio_format [ + { + out_channels [ 1 ] + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 8 ] + out_valid_bit_depth [ 8 ] + out_sample_type [ $SAMPLE_TYPE_UNSIGNED_INTEGER ] + out_ch_map [ $CHANNEL_MAP_MONO ] + out_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + out_channels [ 1 ] + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 16 ] + out_valid_bit_depth [ 16 ] + out_ch_map [ $CHANNEL_MAP_MONO ] + out_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + out_channels [ 1 ] + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 32 ] + out_valid_bit_depth [ 24 ] + out_ch_map [ $CHANNEL_MAP_MONO ] + out_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } + { + out_channels [ 1 ] + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 32 ] + out_valid_bit_depth [ 32 ] + out_ch_map [ $CHANNEL_MAP_MONO ] + out_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } { out_rate [ 8000 diff --git a/tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf b/tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf index 9aae1681baef..e377afa38687 100644 --- a/tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf +++ b/tools/topology/topology2/include/formats/compr_output_audio_formats_s32.conf @@ -1,6 +1,20 @@ - # Output audio formats for e.g. module-copier, s32 - num_output_audio_formats 5 + # Output audio formats e.g. module-copier + num_output_audio_formats 10 CombineArrays.Object.Base.output_audio_format [ + { + out_channels [ 1 ] + out_rate [ + 8000 + 44100 + 48000 + 96000 + 192000 + ] + out_bit_depth [ 32 ] + out_valid_bit_depth [ 32 ] + out_ch_map [ $CHANNEL_MAP_MONO ] + out_ch_cfg [ $CHANNEL_CONFIG_MONO ] + } { out_rate [ 8000 diff --git a/tools/topology/topology2/include/formats/compr_output_audio_formats_s32_48k_stereo.conf b/tools/topology/topology2/include/formats/compr_output_audio_formats_s32_48k_stereo.conf new file mode 100644 index 000000000000..13ebd43e389d --- /dev/null +++ b/tools/topology/topology2/include/formats/compr_output_audio_formats_s32_48k_stereo.conf @@ -0,0 +1,10 @@ + # Micsel single format output + num_output_audio_formats 1 + Object.Base.output_audio_format [ + { + out_channels 2 + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + ] diff --git a/tools/topology/topology2/include/pipelines/cavs/compr-playback.conf b/tools/topology/topology2/include/pipelines/cavs/compr-playback.conf index 4e5d9761ccab..da2821534982 100644 --- a/tools/topology/topology2/include/pipelines/cavs/compr-playback.conf +++ b/tools/topology/topology2/include/pipelines/cavs/compr-playback.conf @@ -22,6 +22,7 @@ + Class.Pipeline."compr-playback" { @@ -59,6 +60,8 @@ Class.Pipeline."compr-playback" { src."1" {} + micsel."1" {} + gain."1" {} mixin."1" {} @@ -81,6 +84,10 @@ Class.Pipeline."compr-playback" { } { source src.$index.1 + sink micsel.$index.1 + } + { + source micsel.$index.1 sink gain.$index.1 } { diff --git a/tools/topology/topology2/platform/intel/compr.conf b/tools/topology/topology2/platform/intel/compr.conf index a270fcb5e023..14c07a0d974d 100644 --- a/tools/topology/topology2/platform/intel/compr.conf +++ b/tools/topology/topology2/platform/intel/compr.conf @@ -28,8 +28,17 @@ IncludeByKey.COMPRESSED_1 { # note: this is wrong for 96/192KHz HiRes audio!!!! Object.Widget.src.1 { rate_out 48000 + + } - + # converts the input to stereo + Object.Widget.micsel.1 { + Object.Control.bytes."1" { + name '$COMPR_PCM_NAME selector bytes' + + } + + } Object.Widget.gain.1 { @@ -134,8 +143,17 @@ IncludeByKey.COMPRESSED_2 { # note: this is wrong for 96/192KHz HiRes audio!!!! Object.Widget.src.1 { rate_out 48000 + + } - + # converts the input to stereo + Object.Widget.micsel.1 { + Object.Control.bytes."1" { + name '$COMPR_2_PCM_NAME selector bytes' + + } + + } Object.Widget.gain.1 {