1# 2# BE dai-kpb pipeline 3# 4# All attributes defined herein are namespaced by alsatplg to 5# "Object.Pipeline.dai-kpb-be.N.attribute_name" 6# 7# Usage: dai-kpb-be pipeline object can be instantiated as: 8# 9# Object.Pipeline.dai-kpb-be."N" { 10# direction "playback" 11# period 1000 12# time_domain "timer" 13# channels 2 14# rate 48000 15# } 16# 17# Where N is the unique pipeline ID within the same alsaconf node. 18# 19 20<include/common/audio_format.conf> 21<include/components/copier.conf> 22<include/components/pipeline.conf> 23<include/components/kpb.conf> 24 25Class.Pipeline."dai-kpb-be" { 26 27 DefineAttribute."index" {} 28 29 <include/pipelines/pipeline-common.conf> 30 31 attributes { 32 !constructor [ 33 "index" 34 ] 35 36 # 37 # dai-kpb-be objects instantiated within the same alsaconf node must have 38 # unique pipeline_id attribute 39 # 40 unique "instance" 41 } 42 43 Object.Widget { 44 copier."1" { 45 type dai_in 46 node_type $HDA_LINK_OUTPUT_CLASS 47 num_audio_formats 3 48 num_input_audio_formats 3 49 num_output_audio_formats 3 50 # 32-bit 48KHz 2ch 51 Object.Base.audio_format.3 { 52 in_bit_depth 32 53 in_valid_bit_depth 24 54 out_bit_depth 32 55 out_valid_bit_depth 24 56 } 57 58 Object.Base.audio_format.1 { 59 in_bit_depth 32 60 in_valid_bit_depth 32 61 out_bit_depth 32 62 out_valid_bit_depth 32 63 } 64 # 32-bit 48KHz 4ch 65 Object.Base.audio_format.2 { 66 in_channels 4 67 in_bit_depth 32 68 in_valid_bit_depth 32 69 out_channels 4 70 out_bit_depth 32 71 out_valid_bit_depth 32 72 in_ch_cfg $CHANNEL_CONFIG_3_POINT_1 73 in_ch_map $CHANNEL_MAP_3_POINT_1 74 out_ch_cfg $CHANNEL_CONFIG_3_POINT_1 75 out_ch_map $CHANNEL_MAP_3_POINT_1 76 } 77 } 78 79 kpb."1" { 80 num_audio_formats 2 81 num_input_audio_formats 2 82 num_output_audio_formats 2 83 Object.Base.audio_format.1 { 84 in_rate 16000 85 out_rate 16000 86 obs 128 87 in_ch_cfg $CHANNEL_CONFIG_STEREO 88 in_ch_map $CHANNEL_MAP_STEREO 89 out_ch_cfg $CHANNEL_CONFIG_STEREO 90 out_ch_map $CHANNEL_MAP_STEREO 91 in_channels 2 92 out_channels 2 93 out_bit_depth 32 94 in_bit_depth 32 95 in_valid_bit_depth 32 96 out_valid_bit_depth 32 97 } 98 Object.Base.audio_format.2 { 99 in_rate 16000 100 out_rate 16000 101 obs 128 102 in_ch_cfg $CHANNEL_CONFIG_4_POINT_0 103 in_ch_map $CHANNEL_MAP_3_POINT_1 104 out_ch_cfg $CHANNEL_CONFIG_4_POINT_0 105 out_ch_map $CHANNEL_MAP_3_POINT_1 106 in_channels 4 107 out_channels 4 108 out_bit_depth 32 109 in_bit_depth 32 110 in_valid_bit_depth 32 111 out_valid_bit_depth 32 112 } 113 } 114 115 pipeline."1" { 116 priority 0 117 lp_mode 0 118 } 119 } 120 121 Object.Base { 122 route."1" { 123 source "copier.DMIC.$index.1" 124 sink "kpb.$index.1" 125 } 126 } 127 128 time_domain "timer" 129 dynamic_pipeline 1 130 channels 2 131 channels_min 2 132 channels_max 2 133 rate 48000 134 rate_min 48000 135 rate_max 48000 136} 137