<scpd>
    <serviceStateTable xmlns:coherence="urn:schemas-beebits-net:service-1-0">
        <stateVariable>
            <name>TransportState</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
            <allowedValueList coherence:X_withVendorDefines="True">
                <allowedValue>STOPPED</allowedValue>
                <allowedValue>PLAYING</allowedValue>
            </allowedValueList>
        </stateVariable>
        <stateVariable>
            <name>TransportStatus</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
            <allowedValueList coherence:X_withVendorDefines="True">
                <allowedValue>OK</allowedValue>
                <allowedValue>ERROR_OCCURRED</allowedValue>
            </allowedValueList>
        </stateVariable>
        <stateVariable>
            <name>PlaybackStorageMedium</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
	<stateVariable>
            <name>RecordStorageMedium</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>PossiblePlaybackStorageMedia</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>PossibleRecordStorageMedia</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>CurrentPlayMode</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
            <allowedValueList>
                <allowedValue>NORMAL</allowedValue>
            </allowedValueList>
            <defaultValue>NORMAL</defaultValue>
        </stateVariable>
        <stateVariable>
            <name>TransportPlaySpeed</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
	    <allowedValueList coherence:X_withVendorDefines="True">
                <allowedValue>1</allowedValue>
            </allowedValueList>
        </stateVariable>
        <stateVariable>
            <sendEventsAttribute>no</sendEventsAttribute>
            <name>RecordMediumWriteStatus</name>
            <dataType>string</dataType>
         </stateVariable>
        <stateVariable>
            <name>CurrentRecordQualityMode</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
          </stateVariable>
        <stateVariable>
            <name>PossibleRecordQualityModes</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>NumberOfTracks</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>ui4</dataType>
		<allowedValueRange coherence:X_withVendorDefines="True">
			<minimum>0</minimum>
		</allowedValueRange>
         </stateVariable>
        <stateVariable>
            <name>CurrentTrack</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>ui4</dataType>
		<allowedValueRange coherence:X_withVendorDefines="True">
			<minimum>0</minimum>
			<step>1</step>
		</allowedValueRange>
        </stateVariable>
        <stateVariable>
            <name>CurrentTrackDuration</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
	  <stateVariable>
            <name>CurrentMediaDuration</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>CurrentTrackMetaData</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>CurrentTrackURI</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>AVTransportURI</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>AVTransportURIMetaData</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>NextAVTransportURI</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>NextAVTransportURIMetaData</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>RelativeTimePosition</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>AbsoluteTimePosition</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>RelativeCounterPosition</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>i4</dataType>
        </stateVariable>
        <stateVariable>
            <name>AbsoluteCounterPosition</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>i4</dataType>
        </stateVariable>
        <stateVariable>
		<Optional/>
            <name>CurrentTransportActions</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>LastChange</name>
            <sendEventsAttribute>yes</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>A_ARG_TYPE_SeekMode</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
            <allowedValueList>
                 <allowedValue>TRACK_NR</allowedValue>
            </allowedValueList>
        </stateVariable>
        <stateVariable>
            <name>A_ARG_TYPE_SeekTarget</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>string</dataType>
        </stateVariable>
        <stateVariable>
            <name>A_ARG_TYPE_InstanceID</name>
            <sendEventsAttribute>no</sendEventsAttribute>
            <dataType>ui4</dataType>
        </stateVariable>
    </serviceStateTable>
    <actionList  xmlns:coherence="urn:schemas-beebits-net:service-1-0">
        <action>
            <name>SetAVTransportURI</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>CurrentURI</name>
                    <direction>in</direction>                    <relatedStateVariable>AVTransportURI</relatedStateVariable>
                </argument>
                <argument>
                    <name>CurrentURIMetaData</name>
                    <direction>in</direction>                    <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>	<Optional/>
            <name>SetNextAVTransportURI</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>NextURI</name>
                    <direction>in</direction>                    <relatedStateVariable>NextAVTransportURI</relatedStateVariable>
                </argument>
                <argument>
                    <name>NextURIMetaData</name>
                    <direction>in</direction>                    <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>GetMediaInfo</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                 <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>NrTracks</name>
                    <direction>out</direction>                    <relatedStateVariable>NumberOfTracks</relatedStateVariable>
                </argument>
<argument>
                    <name>MediaDuration</name>
                    <direction>out</direction>                    <relatedStateVariable>CurrentMediaDuration</relatedStateVariable>
                </argument>
                <argument>
                    <name>CurrentURI</name>
                    <direction>out</direction>                    <relatedStateVariable>AVTransportURI</relatedStateVariable>
                </argument>
		    <argument>
                    <name>CurrentURIMetaData</name>
                    <direction>out</direction>                    <relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
                </argument>
                <argument>
                    <name>NextURI</name>
                    <direction>out</direction>                    <relatedStateVariable>NextAVTransportURI</relatedStateVariable>
                </argument>
		    <argument>
                    <name>NextURIMetaData</name>
                    <direction>out</direction>                    <relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>
                </argument>
                <argument>
                    <name>PlayMedium</name>
                    <direction>out</direction>                    <relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>
                </argument>
<argument>
                    <name>RecordMedium</name>
                    <direction>out</direction>                    <relatedStateVariable>RecordStorageMedium</relatedStateVariable>
                </argument>
                <argument>
                    <name>WriteStatus</name>
                    <direction>out</direction>                    <relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>GetTransportInfo</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>CurrentTransportState</name>
                    <direction>out</direction>                    <relatedStateVariable>TransportState</relatedStateVariable>
                </argument>
                <argument>
                    <name>CurrentTransportStatus</name>
                    <direction>out</direction>                    <relatedStateVariable>TransportStatus</relatedStateVariable>
                </argument>
                <argument>
                    <name>CurrentSpeed</name>
                    <direction>out</direction>                    <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>GetPositionInfo</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>Track</name>
                    <direction>out</direction>                    <relatedStateVariable>CurrentTrack</relatedStateVariable>
                </argument>
                <argument>
                    <name>TrackDuration</name>
                    <direction>out</direction>                    <relatedStateVariable>CurrentTrackDuration</relatedStateVariable>
                </argument>
                <argument>
                    <name>TrackMetaData</name>
                    <direction>out</direction>                    <relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>
                </argument>
                <argument>
                    <name>TrackURI</name>
                    <direction>out</direction>                    <relatedStateVariable>CurrentTrackURI</relatedStateVariable>
                </argument>
                <argument>
                    <name>RelTime</name>
                    <direction>out</direction>                    <relatedStateVariable>RelativeTimePosition</relatedStateVariable>
                </argument>
                <argument>
                    <name>AbsTime</name>
                    <direction>out</direction>                    <relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>
                </argument>
                <argument>
                    <name>RelCount</name>
                    <direction>out</direction>                    <relatedStateVariable>RelativeCounterPosition</relatedStateVariable>
                </argument>
                <argument>
                    <name>AbsCount</name>
                    <direction>out</direction>                    <relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>GetDeviceCapabilities</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>PlayMedia</name>
                    <direction>out</direction>                    <relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable>
                </argument>
                <argument>
                    <name>RecMedia</name>
                    <direction>out</direction>                    <relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable>
                </argument>
                <argument>
                    <name>RecQualityModes</name>
                    <direction>out</direction>                    <relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>GetTransportSettings</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>PlayMode</name>
                    <direction>out</direction>                    <relatedStateVariable>CurrentPlayMode</relatedStateVariable>
                </argument>
                <argument>
                    <name>RecQualityMode</name>
                    <direction>out</direction>                 <relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>Stop</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>
            <name>Play</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>Speed</name>
                    <direction>in</direction>                    <relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action coherence:X_needs_backend="True">	<Optional/>
            <name>Pause</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action coherence:X_needs_backend="True">	<Optional/>
            <name>Record</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action coherence:X_needs_backend="True">
            <name>Seek</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>Unit</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable>
                </argument>
                <argument>
                    <name>Target</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action coherence:X_needs_backend="True">
            <name>Next</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action coherence:X_needs_backend="True">
            <name>Previous</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>	<Optional coherence:X_needs_backend="True"/>
            <name>SetPlayMode</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>NewPlayMode</name>
                    <direction>in</direction>                    <relatedStateVariable>CurrentPlayMode</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
        <action>	<Optional coherence:X_needs_backend="True"/>
            <name>SetRecordQualityMode</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>NewRecordQualityMode</name>
                    <direction>in</direction>                    <relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable>
                </argument>
            </argumentList>
        </action>

        <action>	<Optional/>
            <name>GetCurrentTransportActions</name>
            <argumentList>
                <argument>
                    <name>InstanceID</name>
                    <direction>in</direction>                    <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
                </argument>
                <argument>
                    <name>Actions</name>
                    <direction>out</direction>                    <relatedStateVariable>CurrentTransportActions</relatedStateVariable>
                </argument>
            </argumentList>
        </action>
    </actionList>
</scpd>
