# # Volume capture pipeline with Highpass EQ IIR # # Capture pipeline with a EQ IIR filter. All attributes defined herein are namespaced by alsatplg to # "Object.Pipeline.eq-iir-volume--capture.attribute_name" # # Usage: this component can be used by declaring in the top-level topology conf file as follows: # # Object.Pipeline.eq-iir-volume--capture."N" { # format "s16le" # period 1000 # time_domain "timer" # channels 2 # rate 48000 # } # # Where N is a unique integer for pipeline ID in the same alsaconf node. # # # (source) host.N.capture <- buffer.N.1 <- volume.N.1 <- buffer.N.2 <- eqiir.N.1 <- buffer.N.3 (source endpoint) # Class.Pipeline."eq-iir-volume-capture" { # Include common pipeline attribute definitions attributes { !constructor [ "index" ] !mandatory [ "format" ] !immutable [ "direction" ] unique "instance" } Object.Widget { pipeline."1" {} host."capture" { type "aif_out" } buffer."1" { periods 2 caps "host" } pga."1" { # set TLV scale for volume control mixer Object.Control.mixer."1" { Object.Base.tlv."vtlv_m50s1" { Object.Base.scale."m50s1" { min -5000 step 100 } } } } buffer."2" { periods 2 caps "host" } eqiir."1" { # byte control for EQ IIR Object.Control.bytes."1" {} } buffer."3" { periods 2 caps "dai" } } # Pipeline connections Object.Base { route."1" { source buffer..1 sink host..capture } route."2" { source pga..1 sink buffer..1 } route."3" { source buffer..2 sink pga..1 } route."4" { source eqiir..1 sink buffer..2 } route."5" { source buffer..3 sink eqiir..1 } } direction "capture" time_domain "timer" period 1000 channels 2 rate 48000 priority 0 core 0 frames 0 mips 5000 }