The PulseAudio/PipeWire application ID.
Human-readable description of the stream.
Icon name representing this stream.
Numeric stream identifier.
Whether the stream is currently muted.
Check if service has been disposed
Internal stream name.
Current stream state: "closed", "ready", "connecting", or "failed".
The underlying Gvc.MixerStream instance.
Volume level as a float from 0.0 to maxStreamVolume (default 1.5).
Sets the volume level, clamped between 0 and maxStreamVolume.
Optionalstream: MixerStreamCreates a Binding for a property on this service.
The property to bind
A Binding that can be used in widget constructors
Notifies listeners that a property changed and emits the 'changed' signal.
The property name that changed
ReadonlycloseUnbinds the underlying stream and emits the "closed" signal.
Connects a callback to a signal on this service.
The signal name (defaults to 'changed')
The callback to invoke when the signal is emitted
The signal connection ID
Creates an incremental list binding that reuses existing widgets.
Instead of recreating all widgets on every update, this method caches widgets by a key function and only creates new widgets for new items, destroying widgets for removed items.
A Binding that produces an array of widgets
ProtecteddisconnectClean up all tracked signal connections Call this in service-specific dispose implementations
Dispose of service resources Override in subclasses to add specific cleanup
Emits a signal, warning if the signal was not registered via Service.register.
The warning is cheap (a Set lookup per emit) and helps catch typos
and missing signal declarations that silently break .bind().
ProtectedretryReadonlysetBinds this wrapper to a Gvc.MixerStream, forwarding property change signals.
The mixer stream to bind, or null to unbind
ProtectedtrackTrack a signal connection for automatic cleanup
The object the signal is connected to (defaults to this)
The signal connection ID
Track a signal connection for automatic cleanup
The signal connection ID
Updates a property value and emits a notify signal if the value changed.
Performs a deep equality check via JSON serialization to avoid unnecessary notifications.
The property name in kebab-case
The new value
StaticimportStaticpspecStaticregister
Audio Stream
Represents a single audio stream (sink, source, application, or recorder).