some more rework

This commit is contained in:
Wim Taymans 2016-07-18 17:40:58 +02:00
parent ca4f3d84cd
commit eefe6aacb9
24 changed files with 849 additions and 2829 deletions

View file

@ -23,6 +23,27 @@
<!-- 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
@ -37,8 +58,81 @@
<arg type='a{sv}' name='properties' direction='in'/>
<arg type='o' name='node' direction='out'/>
</method>
<method name='LinkNodes'>
<arg type='o' name='src_node' direction='in' />
<arg type='o' name='dest_node' direction='in' />
<arg type='a{sv}' name='properties' direction='in'/>
<arg type='o' name='link' direction='out' />
</method>
</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' />
<!-- Start:
@requested_format: requested formats
@format: channel format
@properties: channel properties
Start the datatransfer on the channel with @requested_format.
-->
<method name='Start'>
<arg type='s' name='requested_format' direction='in'/>
<arg type='s' name='format' direction='out'/>
<arg type='a{sv}' name='properties' direction='out'/>
</method>
<!-- Stop:
Stop data transport on the channel
-->
<method name='Stop'/>
<!-- Remove:
Remove the channel
-->
<method name='Remove'/>
</interface>
<!--
org.pinos.Node1:
@short_description: A processing node
@ -52,6 +146,9 @@
<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' />
<!-- state: state of the node
-1 = the node is in error
0 = the node is suspended, this means that the node is not
@ -63,19 +160,6 @@
-->
<property name='State' type='u' access='read' />
<!-- CreatePort:
Create a new port
-->
<method name='CreatePort'>
<arg type='u' name='Direction' direction='in' />
<arg type='s' name='Name' direction='in' />
<arg type='a{sv}' name='properties' direction='in'/>
<arg type='s' name='possible_formats' direction='in'/>
<arg type='o' name='port' direction='out'/>
<arg type='h' name='fd' direction='out'/>
</method>
<!-- Activate:
Set the node ready for processing
@ -93,32 +177,15 @@
<method name='Remove'/>
</interface>
<!--
org.pinos.Port1:
@short_description: a Node1 input/output port
<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' />
A port on a Node1 can provide or consume data.
-->
<interface name='org.pinos.Port1'>
<!-- Name: the name of the port -->
<property name='Name' type='s' access='read' />
<!-- Node: the owner node of this port -->
<property name='Node' type='o' access='read' />
<!-- Direction: the direction of the port
0 = an input port
1 = an output port
-->
<property name='Direction' type='u' access='read' />
<!-- Peers: peer ports of this port -->
<property name='Peers' type='ao' access='read' />
<!-- Properties: extra port properties -->
<property name='Properties' type='a{sv}' access='read' />
<!-- PossibleFormats:
The possible formats of this port.
-->
<property name='PossibleFormats' type='s' access='readwrite' />
<!-- Format: the current streaming format -->
<property name='Format' type='s' access='read' />
<method name='Remove'/>