From OpenHome

(Difference between revisions)
Jump to: navigation, search
(ProtocolInfo)
 
(5 intermediate revisions not shown)
Line 1: Line 1:
-
= Architectural Overview =
+
= Overview =
 +
A Songcast receiver plays audio broadcast from a [[Developer:SenderService|Songcast sender]].
 +
<br>The Receiver service provides the means for controlling a Receiver source.  If a device's [[Developer:ProductService|Product service]] reports a source of type <tt>Receiver</tt>, then that device is guaranteed to bear the Receiver service.
 +
= State Variables =
 +
== Metadata ==
 +
The metadata of the sender to listen to.  In the DIDL-lite format provided by the [[Developer:SenderService|Sender service]].
 +
== Uri ==
 +
The uri of the [[Developer:SenderService|Sender]] to listen to.  This must match the uri from the sender’s metadata.
 +
== ProtocolInfo ==
 +
Reports the protocols supported in the normal UPnP forum format – a comma separated list of elements of the form
-
The Receiver service provides the means for controlling a Receiver source. If a device's [[Developer:ProductService|Product service]] reports a source of type 'Receiver', then that device is guaranteed to bear the Receiver service.
+
<tt><protocol>:<network>:<contentFormat>:<additionalInfo></tt>
-
A receiver plays audio broadcast from a [[Developer:SenderService|sender]].
+
Supported <tt>protocol</tt> elements are <tt><ohz></tt>, <tt><ohm></tt> and <tt><ohu></tt>. Other elements are normally wildcards <tt>*</tt>
 +
== TransportState ==
 +
Report the current transport state, which can be: <tt>Playing</tt>, <tt>Waiting</tt>, <tt>Stopped</tt> or <tt>Buffering</tt>.
 +
<br>Note that network conditions may prevent a Receiver from accurately differentiating between <tt>Waiting</tt> and <tt>Buffering</tt> states.
= Actions =
= Actions =
 +
== Play ==
 +
Play audio from the current sender.
 +
== Stop ==
 +
Stop playing audio from the current sender.
 +
== SetSender ==
 +
Set the <tt>uri</tt> and <tt>metadata</tt> of the sender to listen to.
== Sender ==
== Sender ==
-
Report the Uri and Metadata of the sender this receiver is currently listening to.
+
Report the values of the <tt>Uri</tt> and <tt>Metadata</tt> state variables.
 +
== ProtocolInfo ==
 +
Report the value of the <tt>ProtocolInfo</tt> state variable.
 +
== TransportState ==
 +
Report the value of the <tt>TransportState</tt> state variable.
-
==SetSender==
+
= Receiver Service Description (XML) =
-
Set the Uri and Metadata of the sender to listen to.
+
-
 
+
-
The Metadata must have originated from a device bearing the [[Developer:SenderService|Sender service]].
+
-
 
+
-
The Uri must be the result of applying this receiver's ProtocolInfo to this Metadata.
+
-
 
+
-
==ProtocolInfo==
+
-
Report the receiver's protocol info.
+
-
 
+
-
==TransportState==
+
-
 
+
-
Report the current transport state, which can be: 'Playing', 'Paused', 'Stopped', or 'Buffering'.
+
-
 
+
-
==Play==
+
-
Play audio from the current sender
+
-
 
+
-
==Stop==
+
-
Stop playing audio from the current sender
+
-
 
+
-
= Technical Details =
+
<code>
<code>
     Domain  : av.openhome.org
     Domain  : av.openhome.org
Line 35: Line 37:
     Version : 1
     Version : 1
</code>
</code>
-
[http://oss.linn.co.uk/trac/browser/Main/LibUpnpCil/Services/Openhome/Receiver1.xml Receiver Service Description (XML)]
+
 
 +
<syntaxhighlight lang="xml">
 +
<?xml version="1.0"?>
 +
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
 +
    <specVersion>
 +
        <major>1</major>
 +
        <minor>0</minor>
 +
    </specVersion>
 +
    <actionList>
 +
        <action>
 +
            <name>Play</name>
 +
        </action>
 +
        <action>
 +
            <name>Stop</name>
 +
        </action>
 +
        <action>
 +
            <name>SetSender</name>
 +
            <argumentList>
 +
                <argument>
 +
                    <name>Uri</name>
 +
                    <direction>in</direction>
 +
                    <relatedStateVariable>Uri</relatedStateVariable>
 +
                </argument>
 +
                <argument>
 +
                    <name>Metadata</name>
 +
                    <direction>in</direction>
 +
                    <relatedStateVariable>Metadata</relatedStateVariable>
 +
                </argument>
 +
            </argumentList>
 +
        </action>
 +
        <action>
 +
            <name>Sender</name>
 +
            <argumentList>
 +
                <argument>
 +
                    <name>Uri</name>
 +
                    <direction>out</direction>
 +
                    <relatedStateVariable>Uri</relatedStateVariable>
 +
                </argument>
 +
                <argument>
 +
                    <name>Metadata</name>
 +
                    <direction>out</direction>
 +
                    <relatedStateVariable>Metadata</relatedStateVariable>
 +
                </argument>
 +
            </argumentList>
 +
        </action>
 +
        <action>
 +
            <name>ProtocolInfo</name>
 +
            <argumentList>
 +
                <argument>
 +
                    <name>Value</name>
 +
                    <direction>out</direction>
 +
                    <relatedStateVariable>ProtocolInfo</relatedStateVariable>
 +
                </argument>
 +
            </argumentList>
 +
        </action>
 +
        <action>
 +
            <name>TransportState</name>
 +
            <argumentList>
 +
                <argument>
 +
                    <name>Value</name>
 +
                    <direction>out</direction>
 +
                    <relatedStateVariable>TransportState</relatedStateVariable>
 +
                </argument>
 +
            </argumentList>
 +
        </action>
 +
    </actionList>
 +
   
 +
    <serviceStateTable>
 +
        <stateVariable sendEvents="yes">
 +
            <name>Uri</name>
 +
            <dataType>string</dataType>
 +
        </stateVariable>
 +
        <stateVariable sendEvents="yes">
 +
            <name>Metadata</name>
 +
            <dataType>string</dataType>
 +
        </stateVariable>
 +
        <stateVariable sendEvents="yes">
 +
            <name>TransportState</name>
 +
            <dataType>string</dataType>
 +
            <allowedValueList>
 +
                <allowedValue>Stopped</allowedValue>
 +
                <allowedValue>Playing</allowedValue>
 +
                <allowedValue>Waiting</allowedValue>
 +
                <allowedValue>Buffering</allowedValue>
 +
            </allowedValueList>
 +
        </stateVariable>
 +
        <stateVariable sendEvents="yes">
 +
            <name>ProtocolInfo</name>
 +
            <dataType>string</dataType>
 +
        </stateVariable>       
 +
    </serviceStateTable>
 +
</scpd>
 +
</syntaxhighlight>

Latest revision as of 11:12, 5 November 2013

Contents

Overview

A Songcast receiver plays audio broadcast from a Songcast sender.
The Receiver service provides the means for controlling a Receiver source. If a device's Product service reports a source of type Receiver, then that device is guaranteed to bear the Receiver service.

State Variables

Metadata

The metadata of the sender to listen to. In the DIDL-lite format provided by the Sender service.

Uri

The uri of the Sender to listen to. This must match the uri from the sender’s metadata.

ProtocolInfo

Reports the protocols supported in the normal UPnP forum format – a comma separated list of elements of the form

<protocol>:<network>:<contentFormat>:<additionalInfo>

Supported protocol elements are <ohz>, <ohm> and <ohu>. Other elements are normally wildcards *

TransportState

Report the current transport state, which can be: Playing, Waiting, Stopped or Buffering.
Note that network conditions may prevent a Receiver from accurately differentiating between Waiting and Buffering states.

Actions

Play

Play audio from the current sender.

Stop

Stop playing audio from the current sender.

SetSender

Set the uri and metadata of the sender to listen to.

Sender

Report the values of the Uri and Metadata state variables.

ProtocolInfo

Report the value of the ProtocolInfo state variable.

TransportState

Report the value of the TransportState state variable.

Receiver Service Description (XML)

   Domain  : av.openhome.org
   Name    : Receiver
   Version : 1

<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
    <specVersion>
        <major>1</major>
        <minor>0</minor>
    </specVersion>
    <actionList>
        <action>
            <name>Play</name>
        </action>
        <action>
            <name>Stop</name>
        </action>
        <action>
            <name>SetSender</name>
            <argumentList>
                <argument>
                    <name>Uri</name>
                    <direction>in</direction>
                    <relatedStateVariable>Uri</relatedStateVariable>
                </argument>
                <argument>
                    <name>Metadata</name>
                    <direction>in</direction>
                    <relatedStateVariable>Metadata</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>Sender</name>
            <argumentList>
                <argument>
                    <name>Uri</name>
                    <direction>out</direction>
                    <relatedStateVariable>Uri</relatedStateVariable>
                </argument>
                <argument>
                    <name>Metadata</name>
                    <direction>out</direction>
                    <relatedStateVariable>Metadata</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>ProtocolInfo</name>
            <argumentList>
                <argument>
                    <name>Value</name>
                    <direction>out</direction>
                    <relatedStateVariable>ProtocolInfo</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>TransportState</name>
            <argumentList>
                <argument>
                    <name>Value</name>
                    <direction>out</direction>
                    <relatedStateVariable>TransportState</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
    </actionList>
 
    <serviceStateTable>
        <stateVariable sendEvents="yes">
            <name>Uri</name>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable sendEvents="yes">
            <name>Metadata</name>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable sendEvents="yes">
            <name>TransportState</name>
            <dataType>string</dataType>
            <allowedValueList>
                <allowedValue>Stopped</allowedValue>
                <allowedValue>Playing</allowedValue>
                <allowedValue>Waiting</allowedValue>
                <allowedValue>Buffering</allowedValue>
            </allowedValueList>
        </stateVariable>
        <stateVariable sendEvents="yes">
            <name>ProtocolInfo</name>
            <dataType>string</dataType>
        </stateVariable>        
    </serviceStateTable>
</scpd>