# # Volume capture pipeline # # A simple pipeline. All attributes defined herein are namespaced by alsatplg to # "Object.Pipeline.volume-capture.N.attribute_name" # # Usage: this component can be used by declaring in the top-level topology conf file as follows: # # Object.Pipeline.volume-capture."N" { # format "s16le" # period 1000 # time_domain "timer" # channels 2 # rate 48000 # } # # and N is the unique pipeline_id for this pipeline object within the same alsaconf node. # # # (sink) host.N.capture <- buffer.N.1 <- volume.N.1 <- buffer.N.2 (source endpoint) # Class.Pipeline."volume-capture" { # include common pipeline attribute definitions attributes { # pipeline name is constructed as "volume-capture.1" !constructor [ "index" ] !mandatory [ "format" ] !immutable [ "direction" ] # # volume-capture objects instantiated within the same alsaconf node must have # unique index attribute # unique "instance" } Object.Widget { pipeline."1" {} host."capture" { type "aif_out" } buffer."1" { periods 2 caps "host" } pga."1" { ramp_step_ms 250 Object.Control.mixer.1 { Object.Base.tlv."vtlv_m50s1" { Object.Base.scale."m50s1" { min -5000 step 100 } } } } buffer."2" { periods 2 caps "dai" } } # Pipeline connections Object.Base { route."1" { source "buffer.$index.1" sink "host.$index.capture" } route."2" { source "pga.$index.1" sink "buffer.$index.1" } route."3" { source "buffer.$index.2" sink "pga.$index.1" } } # Default attribute values direction "capture" time_domain "timer" period 1000 channels 2 rate 48000 priority 0 core 0 frames 0 mips 5000 }