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