Software/PulseAudio/Documentation/Developer/Clients/DBus

PulseAudio's D-Bus interface

These pages should eventually contain the final D-Bus control interface specification. Currently it's just a draft, comments welcome.

Recent Changes

Overview

Previously the only D-Bus services PulseAudio provided were an implementation of the Device Reservation spec for sound cards and reservation of the org.pulseaudio.Server name on the session or system bus for server tracking purposes. Those features remain untouched, and this document doesn't have anything to do with them.

The new functionality consists of two parts: a server lookup service and the main control interface. When clients want to use the control interface, they have to first figure out where they should connect to. How to connect to the control interface is specified on the ConnectingToServer page. The main control interface is provided as a "D-Bus server". That is, it's not available on any bus, but instead clients make direct connections to PulseAudio.

Open Questions

Control API

The detailed descriptions are spread to separate pages, roughly one per object type. This page provides only a minimal reference and links to the details.

Notation

Property Lists

Property lists (not to be confused with D-Bus properties) are dictionaries that are associated with many objects. The keys are utf-8 strings and the values are arbitrary data (usually they are utf-8 strings too, though). Property lists are used to attach many kinds of metadata to the objects: names, descriptions, intended roles and so on. For now the best source of information about available properties is the proplist.h file documentation.

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Core|General Server Functionality]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Core#org.PulseAudio.Core1|org.PulseAudio.Core1]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Memstats|Memory Statistics]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Memstats#org.PulseAudio.Core1.Memstats|org.PulseAudio.Core1.Memstats]]

Properties:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Card|Cards]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Card#org.PulseAudio.Core1.Card|org.PulseAudio.Core1.Card]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/CardProfile|Card Profiles]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/CardProfile#org.PulseAudio.Core1.CardProfile|org.PulseAudio.Core1.CardProfile]]

Properties:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Device|Devices (Sinks and Sources)]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Device#org.PulseAudio.Core1.Device|org.PulseAudio.Core1.Device]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Device#org.PulseAudio.Core1.Sink|org.PulseAudio.Core1.Sink]]

Properties:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Device#org.PulseAudio.Core1.Source|org.PulseAudio.Core1.Source]]

Properties:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/DevicePort|Device Ports]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/DevicePort#org.PulseAudio.Core1.DevicePort|org.PulseAudio.Core1.DevicePort]]

Properties:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Stream|Streams]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Stream#org.PulseAudio.Core1.Stream|org.PulseAudio.Core1.Stream]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Sample|Samples]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Sample#org.PulseAudio.Core1.Sample|org.PulseAudio.Core1.Sample]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Module|Modules]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Module#org.PulseAudio.Core1.Module|org.PulseAudio.Core1.Module]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Client|Clients]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Client#org.PulseAudio.Core1.Client|org.PulseAudio.Core1.Client]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/StreamRestore|Stream Restore Extension]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/StreamRestore#org.PulseAudio.Ext.StreamRestore1|org.PulseAudio.Ext.StreamRestore1]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/StreamRestore#org.PulseAudio.Ext.StreamRestore1.RestoreEntry|org.PulseAudio.Ext.StreamRestore1.RestoreEntry]]

Properties:

Methods:

Signals:

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Enumerations|Enumerations]]

[[Software/PulseAudio/Documentation/Developer/Clients/DBus/Errors|Errors]]