# # BE dai-kpb pipeline # # All attributes defined herein are namespaced by alsatplg to # "Object.Pipeline.dai-kpb-be.N.attribute_name" # # Usage: dai-kpb-be pipeline object can be instantiated as: # # Object.Pipeline.dai-kpb-be."N" { # direction "playback" # period 1000 # time_domain "timer" # channels 2 # rate 48000 # } # # Where N is the unique pipeline ID within the same alsaconf node. # Class.Pipeline."dai-kpb-be" { DefineAttribute."index" {} attributes { !constructor [ "index" ] # # dai-kpb-be objects instantiated within the same alsaconf node must have # unique pipeline_id attribute # unique "instance" } Object.Widget { copier."1" { type dai_in node_type $HDA_LINK_OUTPUT_CLASS num_audio_formats 3 num_input_audio_formats 3 num_output_audio_formats 3 # 32-bit 48KHz 2ch Object.Base.audio_format.3 { in_bit_depth 32 in_valid_bit_depth 24 out_bit_depth 32 out_valid_bit_depth 24 } Object.Base.audio_format.1 { in_bit_depth 32 in_valid_bit_depth 32 out_bit_depth 32 out_valid_bit_depth 32 } # 32-bit 48KHz 4ch Object.Base.audio_format.2 { in_channels 4 in_bit_depth 32 in_valid_bit_depth 32 out_channels 4 out_bit_depth 32 out_valid_bit_depth 32 in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 in_ch_map $CHANNEL_MAP_3_POINT_1 out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 out_ch_map $CHANNEL_MAP_3_POINT_1 } } kpb."1" { num_audio_formats 2 num_input_audio_formats 2 num_output_audio_formats 2 Object.Base.audio_format.1 { in_rate 16000 out_rate 16000 obs 128 in_ch_cfg $CHANNEL_CONFIG_STEREO in_ch_map $CHANNEL_MAP_STEREO out_ch_cfg $CHANNEL_CONFIG_STEREO out_ch_map $CHANNEL_MAP_STEREO in_channels 2 out_channels 2 out_bit_depth 32 in_bit_depth 32 in_valid_bit_depth 32 out_valid_bit_depth 32 } Object.Base.audio_format.2 { in_rate 16000 out_rate 16000 obs 128 in_ch_cfg $CHANNEL_CONFIG_4_POINT_0 in_ch_map $CHANNEL_MAP_3_POINT_1 out_ch_cfg $CHANNEL_CONFIG_4_POINT_0 out_ch_map $CHANNEL_MAP_3_POINT_1 in_channels 4 out_channels 4 out_bit_depth 32 in_bit_depth 32 in_valid_bit_depth 32 out_valid_bit_depth 32 } } pipeline."1" { priority 0 lp_mode 0 } } Object.Base { route."1" { source "copier.DMIC.$index.1" sink "kpb.$index.1" } } time_domain "timer" dynamic_pipeline 1 channels 2 channels_min 2 channels_max 2 rate 48000 rate_min 48000 rate_max 48000 }