1#
2# Low Latency playback pipeline with demux and volume.
3#
4# All attributes defined herein are namespaced by alsatplg to
5# "Object.Pipeline.volume-demux-playback.N.attribute_name"
6#
7# Usage: this component can be used by declaring in the top-level topology conf file as follows:
8#
9# 	Object.Pipeline.volume-demux-playback."N" {
10#		format		"s16le"
11#		period		1000
12#		time_domain	"timer"
13#		channels	2
14#		rate		48000
15#	}
16#
17# Where N is a unique integer for pipeline ID in the same alsaconf node.
18#
19
20#
21# (source) host.N.playback -> buffer.N.1 -> volume.N.1 -> buffer.N.2 -> muxdemux.N.1 -> buffer.N.3 (sink endpoint)
22#
23Class.Pipeline."volume-demux-playback" {
24	# Include common pipeline attribute definitions
25	<include/pipelines/pipeline-common.conf>
26
27	attributes {
28		!constructor [
29			"index"
30		]
31		!mandatory [
32			"channels"
33		]
34		!immutable [
35			"direction"
36		]
37		unique	"index"
38	}
39
40	Object.Widget {
41		pipeline."1" {}
42
43		host."playback" {
44			type		"aif_in"
45		}
46
47		buffer."1" {
48			periods	2
49			caps		"host"
50		}
51
52		pga."1" {
53			# set TLV scale for volume control mixer
54			Object.Control.mixer."1" {
55				Object.Base.tlv."vtlv_m64s2" {
56					Object.Base.scale."m64s2" {}
57				}
58			}
59		}
60
61		buffer."2" {
62			periods	2
63			caps		"comp"
64		}
65
66		muxdemux."1" {
67			# byte control for muxemux widget
68			Object.Control.bytes."0" {
69				max	304
70			}
71		}
72
73		buffer."3" {
74			periods	2
75			caps		"comp"
76		}
77	}
78
79	# Pipeline connections
80	Object.Base {
81		route."1" {
82			sink	buffer..1
83			source  host..playback
84		}
85
86		route."2" {
87			sink	pga..1
88			source	buffer..1
89		}
90
91		route."3" {
92			sink	buffer..2
93			source	pga..1
94		}
95
96		route."4" {
97			sink	muxdemux..1
98			source	buffer..2
99		}
100
101		route."5" {
102			sink	buffer..3
103			source	muxdemux..1
104		}
105	}
106
107	# default attribute values for volume-demux-playback pipeline
108	direction 	"playback"
109	time_domain	"timer"
110	period		1000
111	channels	2
112	rate		48000
113	priority	0
114	core 		0
115	frames		0
116	mips		5000
117}
118