D-Bus Interface: Devices (Sinks and Sources)

(Back to the toplevel D-Bus Interface page)

Objects and their interfaces:

  • /org/pulseaudio/core1/sinkX
      • org.PulseAudio.Core1.Device - org.PulseAudio.Core1.Sink - org.freedesktop.DBus.Properties - org.freedesktop.DBus.Introspectable
  • /org/pulseaudio/core1/sourceX
      • org.PulseAudio.Core1.Device - org.PulseAudio.Core1.Source - org.freedesktop.DBus.Properties - org.freedesktop.DBus.Introspectable

org.PulseAudio.Core1.Device

Properties

Index

  • Type: Uint32
  • Access: read The device index. Sink and source indices are separate, so it's perfectly normal to have two devices with the same index: the other device is a sink and the other is a source.

Name

  • Type: String
  • Access: read The device name.

Driver

  • Type: String
  • Access: read The driver that implements the device object. This is usually expressed as a source code file name, for example "module-alsa-card.c".

!OwnerModule

  • Type: ObjectPath
  • Access: read The module that owns this device. It's not guaranteed that any module claims ownership; in such case this property does not exist.

  • Errors:

Card

  • Type: ObjectPath
  • Access: read The card that this device belongs to. Not all devices are part of cards; in those cases this property does not exist.

  • Errors:

!SampleFormat

!SampleRate

  • Type: Uint32
  • Access: read The sample rate of the device.

Channels

Volume

  • Type: [Uint32]
  • Access: read/write The volume of the device. The array is matched against the Channels property: the first array element is the volume of the first channel in the Channels property, and so on.

There are two ways to adjust the volume. You can either adjust the overall volume by giving a single-value array, or you can precisely control the individual channels by passing an array containing a value for each channel.

!HasFlatVolume

  • Type: Boolean
  • Access: read Whether or not the device is configured to use the "flat volume" logic, that is, the device volume follows the maximum volume of all connected streams. Currently this is not implemented for sources, so for them this property is always false.

!HasConvertibleToDecibelVolume

  • Type: Boolean
  • Access: read If this is true, the volume values of the Volume property can be converted to decibels with pa_sw_volume_to_dB(). If you want to avoid the C API, the function does the conversion as follows:

  • If input = 0, then output = -200.0

  • Otherwise output = 20 * log10((input / 65536)3)

!BaseVolume

  • Type: Uint32
  • Access: read The volume level at which the device doesn't perform any amplification or attenuation.

!VolumeSteps

  • Type: Uint32
  • Access: read If the device doesn't support arbitrary volume values, this property tells the number of possible volume values. Otherwise this property has value 65537.

Mute

  • Type: Boolean
  • Access: read/write Whether or not the device is currently muted.

!HasHardwareVolume

  • Type: Boolean
  • Access: read Whether or not the device volume controls the hardware volume.

!HasHardwareMute

  • Type: Boolean
  • Access: read Whether or not muting the device controls the hardware mute state.

!ConfiguredLatency

  • Type: Uint64
  • Access: read The latency in microseconds that device has been configured to.

!HasDynamicLatency

  • Type: Boolean
  • Access: read Whether or not the device latency can be adjusted according to the needs of the connected streams.

Latency

  • Type: Uint64
  • Access: read The length of queued audio in the device buffer. Not all devices support latency querying; in those cases this property does not exist.

  • Errors:

!IsHardwareDevice

  • Type: Boolean
  • Access: read Whether or not this device is a hardware device.

!IsNetworkDevice

  • Type: Boolean
  • Access: read Whether or not this device is a network device.

State

Ports

  • Type: [ObjectPath]
  • Access: read All available device ports. May be empty.

!ActivePort

  • Type: ObjectPath
  • Access: read/write The currently active device port. This property doesn't exist if the device does not have any ports.

  • Errors:

!PropertyList

  • Type: {String -> [Byte]}
  • Access: read The device's property list.

Methods

Suspend

  • Arguments: suspend : Boolean
      • suspend: True to suspend, false to unsuspend Suspends or unsuspends the device.

!GetPortByName

  • Arguments: name : String
      • name: Port name
  • Returns: port : ObjectPath

      • port: Device port object Find the device port with the given name.
  • Errors:

Signals

!VolumeUpdated

  • Parameters: volume : [Uint32]
      • volume: The new volume values The device's volume was modified.

!MuteUpdated

  • Parameters: muted : Boolean
      • muted: The new mute state The device was muted or unmuted.

!StateUpdated

  • Parameters: state : Uint32
      • state: The new device state The device's state changed.

!ActivePortUpdated

  • Parameters: port : ObjectPath
      • port: Activated device port The active device port was changed.

!PropertyListUpdated

  • Parameters: property_list : {String -> [Byte]}
      • property_list: The new property list The device's property list was modified.

org.PulseAudio.Core1.Sink

Properties

!MonitorSource

  • Type: ObjectPath
  • Access: read The monitor source object of this sink.

org.PulseAudio.Core1.Source

Properties

!MonitorOfSink

  • Type: ObjectPath
  • Access: read The sink of which monitor source this source is. If this source is not a monitor source, this property does not exist.

  • Errors: