mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
Add a client node again that uses the channel protocol but looks like a node in the graph.
202 lines
6.6 KiB
XML
202 lines
6.6 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' />
|
|
|
|
<!-- CreateChannel:
|
|
@node: the Node1 object path or / for default
|
|
@direction: the direction of the channel
|
|
0 = input channel
|
|
1 = output channel
|
|
@possible_formats: the possible formats that can be accepted
|
|
@properties: extra properties
|
|
@channel: the Channel object path
|
|
@fd: a file descriptor for data transfer
|
|
|
|
Create a new channel to communicate with @node with given @possible_formats
|
|
-->
|
|
<method name='CreateChannel'>
|
|
<arg type='s' name='node' direction='in'/>
|
|
<arg type='u' name='direction' direction='in'/>
|
|
<arg type='s' name='possible_formats' direction='in'/>
|
|
<arg type='a{sv}' name='properties' direction='in'/>
|
|
<arg type='o' name='channel' direction='out'/>
|
|
<arg type='h' name='fd' direction='out'/>
|
|
</method>
|
|
|
|
<!-- 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>
|
|
|
|
<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.Channel:
|
|
@short_description: Interface for input/output channel
|
|
|
|
This interface is used to control the input/output of a
|
|
node and start/stop the media transport.
|
|
-->
|
|
<interface name='org.pinos.Channel1'>
|
|
<!-- Owner: the owner node of this channel -->
|
|
<property name='Owner' type='o' access='read' />
|
|
<!-- type: type of the channel
|
|
0 = input channel
|
|
1 = output channel
|
|
-->
|
|
<property name='Direction' type='u' access='read' />
|
|
|
|
<property name='Node' type='o' access='read' />
|
|
|
|
<!-- Properties: extra channel properties -->
|
|
<property name='Properties' type='a{sv}' access='read' />
|
|
|
|
<!-- state: state of the channel
|
|
-1 = the channel is in error
|
|
0 = the channel is idle
|
|
1 = the channel is starting
|
|
2 = the channel is streaming
|
|
-->
|
|
<property name='State' type='u' access='read' />
|
|
|
|
<!-- PossibleFormats:
|
|
all possible formats of the channel. This is filtered
|
|
against the accepted_formats when creating the channel.
|
|
-->
|
|
<property name='PossibleFormats' type='s' access='read' />
|
|
|
|
<!-- Format: the current streaming format -->
|
|
<property name='Format' type='s' access='read' />
|
|
|
|
<!-- Remove:
|
|
|
|
Remove the channel
|
|
-->
|
|
<method name='Remove'/>
|
|
</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'/>
|
|
|
|
</interface>
|
|
</node>
|