D-Bus Interface: Stream Restore Extension

(Back to the toplevel D-Bus Interface page)

TODO: Explain how this extension works.

Objects and their interfaces:

  • /org/pulseaudio/stream_restore1
    • org.PulseAudio.Ext.StreamRestore1
    • org.freedesktop.DBus.Properties
    • org.freedesktop.DBus.Introspectable
  • /org/pulseaudio/stream_restore1/entryX
    • org.PulseAudio.Ext.StreamRestore1.RestoreEntry
    • org.freedesktop.DBus.Properties
    • org.freedesktop.DBus.Introspectable

org.PulseAudio.Ext.StreamRestore1

Properties

InterfaceRevision

  • Type: Uint32
  • Access: read

Similarly to the core API, the "major" version of the stream restore extension interface is embedded in the interface name: org.PulseAudio.Ext.StreamRestore1. When changes are made that break compatibility between old clients and new servers the major version is incremented. This property tells the "minor" version, that is, when new features are added to the interface, this version number is incremented so that new clients can check if the server they talk to supports the new features. This documentation defines revision 0.

Entries

  • Type: [ObjectPath]
  • Access: read

All stored policy entries.

Methods

AddEntry

  • Arguments: name : String, device : String, volume : [(Uint32, Uint32)], mute : Boolean, apply_immediately : Boolean
    • name: The entry name, formatted as specified somewhere (TODO: where?)
    • device: The device that the matching streams should use, or an empty string to not restore the device
    • volume: The volume as (channel position, volume) pairs that the matching streams should use, or an empty array to not restore the volume.
    • mute: Whether the matching streams should be muted
    • apply_immediately: Whether the new rule should be applied to exisiting streams as well as future streams
  • Returns: entry : ObjectPath
    • entry: Added entry object

Adds a new entry to the stream restore database. If there already is an entry with the same name, the old entry is replaced with the new. Or rather, the properties of the new entry replace the properties of the old entry - no new entry object is created.

GetEntryByName

  • Arguments: name : String
    • name: Entry name
  • Returns: entry : ObjectPath
    • entry: Stream restore entry object

Find the restore entry with the given name.

Signals

NewEntry

  • Parameters: entry : ObjectPath
    • entry: Added entry object

An entry was added.

EntryRemoved

  • Parameters: entry : ObjectPath
    • entry: Removed entry object

An entry was removed.

org.PulseAudio.Ext.StreamRestore1.RestoreEntry

Properties

Index

  • Type: Uint32
  • Access: read

The entry index. This index is specific to the D-Bus interface only: the entry name is the real key property, but entries are assigned an index for generating the object path.

Name

  • Type: String
  • Access: read

The entry name.

Device

  • Type: String
  • Access: read/write

The device to which matching streams are connected. May be an empty string, in which case this entry doesn't dictate the device.

When writing to this property, the change is applied immediately to existing streams.

Volume

  • Type: [(Uint32, Uint32)]
  • Access: read/write

The saved volume as (channel position, volume) pairs. May be an empty array, in which case this entry doesn't dictate the stream volume.

When writing to this property, the change is applied immediately to existing streams.

Mute

  • Type: Boolean
  • Access: read/write

The saved mute status.

When writing to this property, the change is applied immediately to existing streams.

Methods

Remove

Removes this entry from the stream restore database.

Signals

DeviceUpdated

  • Parameters: device : String
    • device: The new device

The restore entry was assigned a new device.

VolumeUpdated

  • Parameters: volume : [(Uint32, Uint32)]
    • volume: The new volume

The restore entry was assigned a new volume value.

MuteUpdated

  • Parameters: muted : Boolean
    • muted: The new mute state

The restore entry was assigned a new mute state.