pipewire/pinos/dbus/org.pinos.xml
Wim Taymans 3c029cba53 more hacking
Move plugin API to separate directory for now
Add ringbuffer and way to get ringbuffer from a port
2016-07-25 10:50:05 +02:00

154 lines
4.9 KiB
XML

<!DOCTYPE node PUBLIC
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" >
<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
org.pinos.Daemon1:
@short_description: Main interface for the pinos daemon
Interface to get properties from the pinos daemon and to
establish a client connection.
-->
<interface name='org.pinos.Daemon1'>
<!-- UserName: Name of the user that started the daemon -->
<property name='UserName' type='s' access='read' />
<!-- HostName: Name of the machine the daemon is running on -->
<property name='HostName' type='s' access='read' />
<!-- Version: Version of the daemon -->
<property name='Version' type='s' access='read' />
<!-- Name: Name of the daemon -->
<property name='Name' type='s' access='read' />
<!-- Cookie: A random cookie for identifying this instance of Pinos -->
<property name='Cookie' type='u' access='read' />
<!-- Properties: Extra properties of the daemon -->
<property name='Properties' type='a{sv}' access='read' />
<!-- CreateNode:
@factory_name: the factory name to use for the node
@name: the name of the node
@Properties: extra properties
@node: the Node1 object path
Create a new Node with given name and properties
-->
<method name='CreateNode'>
<arg type='s' name='factory_name' direction='in' />
<arg type='s' name='name' direction='in' />
<arg type='a{sv}' name='properties' direction='in'/>
<arg type='o' name='node' direction='out'/>
</method>
<!-- CreateClientNode:
@name: the name of the node
@Properties: extra properties
@ports: the port descriptions
@node: the Node1 object path
Create a new Node with given name and properties and ports.
-->
<method name='CreateClientNode'>
<arg type='s' name='name' direction='in' />
<arg type='a{sv}' name='properties' direction='in'/>
<arg type='a(uusa{sv}s)' name='ports' direction='in'/>
<arg type='o' name='node' direction='out'/>
<arg type='h' name='fd' direction='out'/>
</method>
<method name='LinkNodes'>
<arg type='o' name='src_node' direction='in' />
<arg type='o' name='dest_node' direction='in' />
<arg type='s' name='format_filter' direction='in'/>
<arg type='a{sv}' name='properties' direction='in'/>
<arg type='o' name='link' direction='out' />
</method>
</interface>
<interface name='org.pinos.Client1'>
<!-- Sender: Sender of the client -->
<property name='Sender' type='s' access='read' />
<!-- Name: Properties of the client -->
<property name='Properties' type='a{sv}' access='read' />
</interface>
<!--
org.pinos.Node1:
@short_description: A processing node
A node is an object that can consume and/or produce media.
-->
<interface name='org.pinos.Node1'>
<!-- Name: the name of the node -->
<property name='Name' type='s' access='read' />
<!-- Owner: the owner path of this node -->
<property name='Owner' type='s' access='read' />
<!-- Properties: extra node properties -->
<property name='Properties' type='a{sv}' access='read' />
<property name='Ports' type='a(uu)' access='read' />
<method name='AddPort'>
<arg type='u' name='direction' direction='in'/>
<arg type='u' name='id' direction='in'/>
</method>
<method name='RemovePort'>
<arg type='u' name='id' direction='in'/>
</method>
<!-- state: state of the node
-1 = the node is in error
0 = the node is suspended, this means that the node is not
processing any data and has closed all devices if any
1 = the node is initializing
2 = the node is idle, this means no channel is consuming
the data. An idle node can become suspended.
3 = the node is running
-->
<property name='State' type='u' access='read' />
<!-- Activate:
Set the node ready for processing
-->
<method name='Activate'>
</method>
<method name='Deactivate'>
</method>
<!-- Remove:
Remove the node
-->
<method name='Remove'/>
</interface>
<interface name='org.pinos.Link1'>
<!-- Owner: the owner path of this link -->
<property name='Owner' type='s' access='read' />
<property name='SrcNode' type='o' access='read' />
<property name='DestNode' type='o' access='read' />
<property name='Properties' type='a{sv}' access='read' />
<property name='Format' type='s' access='read' />
<method name='Remove'/>
<method name='GetRingbuffer'>
<arg type='a{sv}' name='properties' direction='in'/>
<arg type='h' name='buffermem' direction='out'/>
<arg type='u' name='buffersize' direction='out'/>
<arg type='h' name='fd' direction='out'/>
</method>
</interface>
</node>