• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1CRAS dbus methods and signals.
2==============================
3
4Service		org.chromium.cras
5Interface	org.chromium.cras.Control
6Object Path	/org/chromium/cras
7
8Methods		void SetOutputVolume(int32 volume)
9
10			Sets the volume of the system.  Volume ranges from
11			0 to 100, and will be translated to dB based on the
12			output-specific volume curve.
13
14		void SetOutputNodeVolume(uint64 node_id, int32 volume)
15
16			Sets the volume of the given node.  Volume ranges from
17			0 to 100, and will be translated to dB based on the
18			output-specific volume curve.
19
20		void SwapLeftRight(uint64 node_id, boolean swap)
21
22			Swap the left and right channel of the given node.
23			Message will be dropped if this feature is not supported.
24
25		void SetOutputMute(boolean mute_on)
26
27			Sets the system output mute.
28
29		void SetOutputUserMute(boolean mute_on)
30
31			Sets the system output mute from user action.
32
33		void SetInputGain(int32 gain)
34
35			Sets the capture gain of the system. Gain is specified
36			in dBFS * 100.  For example 5dB of gain would be
37			specified with an argument of 500, while -10 would be
38			specified with -1000, and 11.5 maps to 1150.
39
40		void SetInputNodeGain(uint64 node_id, int32 gain)
41
42			Sets the capture gain of the node. Gain is specified
43			in dBFS * 100.  For example 5dB of gain would be
44			specified with an argument of 500, while -10 would be
45			specified with -1000, and 11.5 maps to 1150.
46
47		void SetInputMute(boolean mute_on)
48
49			Sets the capture mute state of the system.  Recordings
50			will be muted when this is set.
51
52		void GetVolumeState()
53
54			Returns the volume and capture gain as follows:
55				int32 output_volume (0-100)
56				boolean output_mute
57				int32 input_gain (in dBFS * 100)
58				boolean input_mute
59				boolean output_user_mute
60
61		{dict},{dict},... GetNodes()
62
63			Returns information about nodes. A node can be either
64			output or input but not both. An output node is
65			something like a speaker or a headphone, and an input
66			node is like a microphone.  The return value is a
67			sequence of dicts mapping from strings to variants
68			(e.g. signature "a{sv}a{sv}" for two nodes).  Each dict
69			contains information about a node.
70
71			Each dict contains the following properties:
72				boolean IsInput
73					false for output nodes, true for input
74					nodes.
75				uint64 Id
76					The id of this node. It is unique among
77					all nodes including both output and
78					input nodes.
79				string Type
80				        The type of this node. It can be one of
81				        following values:
82					/* for output nodes. */
83					"INTERNAL_SPEAKER","HEADPHONE", "HDMI",
84					/* for input nodes. */
85					"INTERNAL_MIC", "MIC",
86					/* for both output and input nodes. */
87					"USB", "BLUETOOTH", "UNKNOWN",
88				string Name
89					The name of this node. For example,
90					"Speaker" or "Internal Mic".
91				string DeviceName
92					The name of the device that this node
93					belongs to. For example,
94					"HDA Intel PCH: CA0132 Analog:0,0" or
95					"Creative SB Arena Headset".
96				uint64 StableDeviceId
97					The stable ID does not change due to
98					device plug/unplug or reboot.
99				uint64 StableDeviceIdNew
100					The new stable ID. Keeping both stable
101					ID and stable ID new is for backward
102					compatibility.
103				boolean Active
104					Whether this node is currently used
105					for output/input. There is one active
106					node for output and one active node for
107					input.
108				uint64 PluggedTime
109					The time that this device was plugged
110					in. This value is in microseconds.
111				string MicPositions
112					The string formed by floating numbers
113					describing the position of mic array.
114				string HotwordModels
115					A string of comma-separated hotword
116					language model locales supported by this
117					node. e.g. "en_au,en_gb,en_us"
118					The string is empty if the node type is
119					not HOTWORD.
120
121		void SetActiveOutputNode(uint64 node_id);
122
123			Requests the specified node to be used for
124			output. If node_id is 0 (which is not a valid
125			node id), cras will choose the active node
126			automatically.
127
128		void SetActiveInputNode(uint64 node_id);
129
130			Requests the specified node to be used for
131			input. If node_id is 0 (which is not a valid
132			node id), cras will choose the active node
133			automatically.
134
135		int32 GetNumberOfActiveStreams()
136
137			Returns the number of streams currently being
138			played or recorded.
139
140		int32 GetNumberOfActiveInputStreams()
141
142			Returns the number of streams currently using input hardware.
143
144		int32 GetNumberOfActiveOutputStreams()
145
146			Returns the number of streams currently using output hardware.
147
148		void SetGlobalOutputChannelRemix(int32 num_channels,
149						 array:double coefficient)
150
151			Sets the conversion matrix for global output channel
152			remixing. The coefficient array represents an N * N
153			conversion matrix M, where N is num_channels, with
154			M[i][j] = coefficient[i * N + j].
155			The remix is done by multiplying the conversion matrix
156			to each N-channel PCM data, i.e M * [L, R] = [L', R']
157			For example, coefficient [0.1, 0.9, 0.4, 0.6] will
158			result in:
159			L' = 0.1 * L + 0.9 * R
160			R' = 0.4 * L + 0.6 * R
161
162		int32 SetHotwordModel(uint64_t node_id, string model_name)
163
164			Set the hotword language model on the specified node.
165			The node must have type HOTWORD and the model_name must
166			be one of the supported locales returned by
167			GetNodes() HotwordModels string.
168			Returns 0 on success, or a negative errno on failure.
169
170Signals		OutputVolumeChanged(int32 volume)
171
172			Indicates that the output volume level has changed.
173
174		OutputMuteChanged(boolean muted, boolean user_muted)
175
176			Indicates that the output mute state has changed.  muted
177			is true if the system is muted by a system process, such
178			as suspend or device switch.  user_muted is set if the
179			system has been muted by user action such as the mute
180			key.
181
182		InputGainChanged(int32 gain)
183
184			Indicates what the system capture gain is now. gain
185			expressed in dBFS*100.
186
187		InputMuteChanged(boolean muted)
188
189			Indicates that the input mute state has changed.
190
191		NodesChanged()
192
193			Indicates that nodes are added/removed.
194
195		ActiveOutputNodeChanged(uint64 node_id)
196
197			Indicates that the active output node has changed.
198
199		ActiveInputNodeChanged(uint64 node_id)
200
201			Indicates that the active input node has changed.
202
203		OutputNodeVolumeChanged(uint64 node_id, int32 volume)
204
205			Indicates the volume of the given node.
206
207		NodeLeftRightSwappedChanged(uint64 node_id, boolean swapped)
208
209			Indicates the left and right channel swapping state of the
210			given node.
211
212		InputNodeGainChanged(uint64 node_id, int32 gain)
213
214			Indicates that the capture gain for the node is now gain
215			expressed in dBFS*100.
216
217		NumberOfActiveStreamsChanged(int32 num_active_streams)
218
219			Indicates the number of active streams has changed.
220