ISO/IEC 29341-3-10:2015
(Main)Information technology — UPnP Device Architecture — Part 3-10: Audio Video Device Control Protocol — Audio Video Transport Service
Information technology — UPnP Device Architecture — Part 3-10: Audio Video Device Control Protocol — Audio Video Transport Service
This service definition is compliant with the UPnP Device Architecture version 1.0. This service type enables control over the transport of audio and video streams. The service type defines a ?common' model for A/V transport control suitable for a generic user interface. It can be used to control a wide variety of disc, tape and solid-state based media devices such as CD players, VCRs and MP3 players. A minimal implementation of this service can be used to control tuners. The service type is related to the ConnectionManager service type, which describes A/V connection setup procedures, and the ContentDirectory service, which offers meta-information about the resource stored on the media. AVTransport also offers an action to retrieve any meta data embedded in the resource itself. This service type does not offer scheduled recording.
Technologies de l'information — Architecture de dispositif UPnP — Partie 3-10: Protocole de contrôle de dispositif audio-vidéo — Service de transport audio-vidéo
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 29341-3-10
Second edition
2015-06-15
Information technology — UPnP
Device Architecture —
Part 3-10:
Audio Video Device Control Protocol —
Audio Video Transport Service
Technologies de l’information — Architecture de dispositif UPnP —
Partie 3-10: Protocole de contrôle de dispositif audio-vidéo — Service
de transport audio-vidéo
Reference number
©
ISO/IEC 2015
© ISO/IEC 2015
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2015 – All rights reserved
CONTENTS
Foreword . vi
Introduction . vii
1. Scope . 1
2. Service Modeling Definitions . 2
2.1. ServiceType . 2
2.2. State Variables . 2
2.2.1. TransportState . 6
2.2.2. TransportStatus . 7
2.2.3. PlaybackStorageMedium . 7
2.2.4. RecordStorageMedium . 7
2.2.5. PossiblePlaybackStorageMedia . 7
2.2.6. PossibleRecordStorageMedia . 7
2.2.7. CurrentPlayMode . 7
2.2.8. TransportPlaySpeed . 8
2.2.9. RecordMediumWriteStatus . 8
2.2.10. CurrentRecordQualityMode . 8
2.2.11. PossibleRecordQualityModes . 8
2.2.12. NumberOfTracks . 8
2.2.13. CurrentTrack . 8
2.2.14. CurrentTrackDuration . 9
2.2.15. CurrentMediaDuration . 9
2.2.16. CurrentTrackMetaData . 9
2.2.17. CurrentTrackURI . 9
2.2.18. AVTransportURI . 9
2.2.19. AVTransportURIMetaData . 9
2.2.20. NextAVTransportURI . 10
2.2.21. NextAVTransportURIMetaData . 10
2.2.22. RelativeTimePosition . 10
2.2.23. AbsoluteTimePosition . 10
2.2.24. RelativeCounterPosition . 10
2.2.25. AbsoluteCounterPosition . 10
2.2.26. CurrentTransportActions . 11
2.2.27. LastChange . 11
2.2.28. A_ARG_TYPE_SeekMode . 11
2.2.29. A_ARG_TYPE_SeekTarget . 11
2.2.30. A_ARG_TYPE_InstanceID . 11
2.3. Eventing and Moderation . 12
2.3.1. Event Model . 12
2.4. Actions . 14
2.4.1. SetAVTransportURI . 14
2.4.2. SetNextAVTransportURI. 16
2.4.3. GetMediaInfo . 17
2.4.4. GetTransportInfo . 18
2.4.5. GetPositionInfo . 19
2.4.6. GetDeviceCapabilities . 20
2.4.7. GetTransportSettings . 20
2.4.8. Stop . 21
2.4.9. Play . 22
2.4.10. Pause . 23
2.4.11. Record . 24
2.4.12. Seek . 25
ISO/IEC 2015 – All rights reserved iii
2.4.13. Next . 26
2.4.14. Previous . 27
2.4.15. SetPlayMode . 28
2.4.16. SetRecordQualityMode . 29
2.4.17. GetCurrentTransportActions . 30
2.4.18. Common Error Codes . 30
2.5. Theory of Operation . 31
2.5.1. TransportState Control . 31
2.5.2. Transport Settings . 32
2.5.3. Navigation . 32
2.5.4. AVTransportURI Concept . 32
2.5.5. AVTransport Abstraction. 33
2.5.6. Supporting multiple virtual Transports . 36
2.5.7. Playlist Playback . 37
3. XML Service Description . 38
4. Test . 48
5. “LastChange” State Variable Schema . 49
Annex A (normative) SetAVTransportURI protocol specifics . 56
A.1 Application to HTTP streaming . 56
A.1.1 AVTransportURI definition . 56
A.1.2 Implementation of SetAVTransportURI . 56
A.1.3 Cleanup . 56
A.2 Application to RTSP/RTP/UDP streaming . 56
A.2.1 AVTransportURI definition . 56
A.2.2 Implementation of SetAVTransportURI . 57
A.2.3 Cleanup . 57
A.2.4 Implementation of Transport controls . 57
A.3 Application to internal streaming . 58
A.3.1 AVTransportURI definition . 58
A.3.2 Implementation of SetAVTransportURI . 58
A.3.3 Cleanup . 58
A.4 Application to IEC61883 streaming . 58
A.4.1 AVTransportURI definition . 58
A.4.2 Implementation of SetAVTransportURI . 58
A.4.3 Cleanup . 59
A.5 Application to vendor-specific streaming . 60
A.5.1 AVTransportURI definition . 60
A.5.2 Implementation of SetAVTransportURI . 60
A.5.3 Cleanup . 60
iv ISO/IEC 2015 – All rights reserved
LIST OF TABLES
Table 1: State Variables . 2
Table 1.1: allowedValueList for TransportState . 3
Table 1.2: allowedValueList for PlaybackStorageMedium . 4
Table 1.3: allowedValueList for CurrentPlayMode . 5
Table 1.4: allowedValueList for RecordMediumWriteStatus . 5
Table 1.5: allowedValueList for CurrentRecordQualityMode . 5
Table 1.6: allowedValueRange for NumberOfTracks . 6
Table 1.7: allowedValueRange for CurrentTrack . 6
Table 1.8: allowedValueList for A_ARG_TYPE_SeekMode . 6
Table 2: Event Moderation . 12
Table 3: Actions . 14
Table 4: Arguments for SetAVTransportURI . 14
Table 5: Arguments for SetNextAVTransportURI . 16
Table 6: Arguments for GetMediaInfo . 17
Table 7: Arguments for GetTransportInfo . 18
Table 8: Arguments for GetPositionInfo . 19
Table 9: Arguments for GetDeviceCapabilities . 20
Table 10: Arguments for GetTransportSettings . 20
Table 11: Arguments for Stop . 21
Table 12: Arguments for Play . 22
Table 13: Arguments for Pause . 23
Table 14: Arguments for Record . 24
Table 15: Arguments for Seek . 25
Table 16: Arguments for Next . 26
Table 17: Arguments for Previous . 27
Table 18: Arguments for SetPlayMode . 28
Table 19: Arguments for SetRecordQualityMode . 29
Table 20: Arguments for GetCurrentTransportActions . 30
Table 21: Common Error Codes . 30
Table 22: Allowed AVTransportURIs . 33
ISO/IEC 2015 – All rights reserved v
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form
the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in
the development of International Standards through technical committees established by the respective organization
to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual
interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take
part in the work. In the field of information technology, ISO and IEC have established a joint technical committee,
ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are described in the
ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the different types of document
should be noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, Part
2 (see http://www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights.
ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any patent rights
identified during the development of the document will be in the Introduction and/or on the ISO list of patent
declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does not constitute
an endorsement.
For an explanation on the meaning of the ISO specific terms and expressions related to conformity assessment, as
well as information about ISO’s adherence to the WTO principles in the Technical Barriers to Trade (TBT) see the
following URL: Foreword – Supplementary information
ISO/IEC 29341-3-10 was prepared by UPnP Implementers Corporation and adopted, under the PAS procedure, by
joint technical committee ISO/IEC JTC 1. Information technology, in parallel with its approval by national bodies of
ISO and IEC.
This second edition replaces the first edition (ISO/IEC 29341-3-10:2008), which has been technically revised.
The list of all currently available parts of ISO/IEC 29341 series, under the general title Information technology —
UPnP Device Architecture, can be found on the ISO web site.
vi ISO/IEC 2015 – All rights reserved
Introduction
ISO and IEC draw attention to the fact that it is claimed that compliance with this document may involve the use of
patents as indicated below.
ISO and IEC take no position concerning the evidence, validity and scope of these patent rights. The holders of -
these patent rights have assured ISO and IEC that they are willing to negotiate licenses under reasonable and
non-discriminatory terms and conditions with applicants throughout the world. In this respect, the statements of the
holders of these patent rights are registered with ISO and IEC.
Intel Corporation has informed ISO and IEC that it has patent applications or granted patents.
Information may be obtained from:
Intel Corporation
Standards Licensing Department
5200 NE Elam Young Parkway
MS: JFS-98
USA – Hillsboro, Oregon 97124
Microsoft Corporation has informed ISO and IEC that it has patent applications or granted patents as listed below:
6101499 / US; 6687755 / US; 6910068 / US; 7130895 / US; 6725281 / US; 7089307 / US; 7069312 / US; 10/783
524 /US
Information may be obtained from:
Microsoft Corporation
One Microsoft Way
USA – Redmond WA 98052
Philips International B.V. has informed ISO and IEC that it has patent applications or granted patents.
Information may be obtained from:
Philips International B.V. – IP&S
High Tech campus, building 44 3A21
NL – 5656 Eindhoven
NXP B.V. (NL) has informed ISO and IEC that it has patent applications or granted patents.
Information may be obtained from:
NXP B.V. (NL)
High Tech campus 60
NL – 5656 AG Eindhoven
Matsushita Electric Industrial Co. Ltd. has informed ISO and IEC that it has patent applications or granted patents.
Information may be obtained from:
Matsushita Electric Industrial Co. Ltd.
1-3-7 Shiromi, Chuoh-ku
JP – Osaka 540-6139
Hewlett Packard Company has informed ISO and IEC that it has patent applications or granted patents as listed
below:
5 956 487 / US; 6 170 007 / US; 6 139 177 / US; 6 529 936 / US; 6 470 339 / US; 6 571 388 / US; 6 205 466 / US
Information may be obtained from:
Hewlett Packard Company
1501 Page Mill Road
USA – Palo Alto, CA 94304
Samsung Electronics Co. Ltd. has informed ISO and IEC that it has patent applications or granted patents.
Information may be obtained from:
ISO/IEC 2015 – All rights reserved vii
Digital Media Business, Samsung Electronics Co. Ltd.
416 Maetan-3Dong, Yeongtang-Gu,
KR – Suwon City 443-742
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights
other than those identified above. ISO and IEC shall not be held responsible for identifying any or all such patent
rights.
Original UPnP Document Reference may be made in this document to original UPnP documents. These
references are retained in order to maintain consistency between the specifications as published by ISO/IEC and
by UPnP Implementers Corporation. The following table indicates the original UPnP document titles and the
corresponding part of ISO/IEC 29341:
UPnP Document Title ISO/IEC 29341 Part
UPnP Device Architecture 1.0 ISO/IEC 29341-1
UPnP Basic:1 Device ISO/IEC 29341-2
UPnP AV Architecture:1 ISO/IEC 29341-3-1
UPnP MediaRenderer:1 Device ISO/IEC 29341-3-2
UPnP MediaServer:1 Device ISO/IEC 29341-3-3
UPnP AVTransport:1 Service ISO/IEC 29341-3-10
UPnP ConnectionManager:1 Service ISO/IEC 29341-3-11
UPnP ContentDirectory:1 Service ISO/IEC 29341-3-12
UPnP RenderingControl:1 Service ISO/IEC 29341-3-13
UPnP MediaRenderer:2 Device ISO/IEC 29341-4-2
UPnP MediaServer:2 Device ISO/IEC 29341-4-3
UPnP AV Datastructure Template:1 ISO/IEC 29341-4-4
UPnP AVTransport:2 Service ISO/IEC 29341-4-10
UPnP ConnectionManager:2 Service ISO/IEC 29341-4-11
UPnP ContentDirectory:2 Service ISO/IEC 29341-4-12
UPnP RenderingControl:2 Service ISO/IEC 29341-4-13
UPnP ScheduledRecording:1 ISO/IEC 29341-4-14
UPnP DigitalSecurityCamera:1 Device ISO/IEC 29341-5-1
UPnP DigitalSecurityCameraMotionImage:1 Service ISO/IEC 29341-5-10
UPnP DigitalSecurityCameraSettings:1 Service ISO/IEC 29341-5-11
UPnP DigitalSecurityCameraStillImage:1 Service ISO/IEC 29341-5-12
UPnP HVAC_System:1 Device ISO/IEC 29341-6-1
UPnP HVAC_ZoneThermostat:1 Device ISO/IEC 29341-6-2
UPnP ControlValve:1 Service ISO/IEC 29341-6-10
UPnP HVAC_FanOperatingMode:1 Service ISO/IEC 29341-6-11
UPnP FanSpeed:1 Service ISO/IEC 29341-6-12
UPnP HouseStatus:1 Service ISO/IEC 29341-6-13
UPnP HVAC_SetpointSchedule:1 Service ISO/IEC 29341-6-14
UPnP TemperatureSensor:1 Service ISO/IEC 29341-6-15
UPnP TemperatureSetpoint:1 Service ISO/IEC 29341-6-16
UPnP HVAC_UserOperatingMode:1 Service ISO/IEC 29341-6-17
UPnP BinaryLight:1 Device ISO/IEC 29341-7-1
UPnP DimmableLight:1 Device ISO/IEC 29341-7-2
UPnP Dimming:1 Service ISO/IEC 29341-7-10
UPnP SwitchPower:1 Service ISO/IEC 29341-7-11
UPnP InternetGatewayDevice:1 Device ISO/IEC 29341-8-1
UPnP LANDevice:1 Device ISO/IEC 29341-8-2
UPnP WANDevice:1 Device ISO/IEC 29341-8-3
UPnP WANConnectionDevice:1 Device ISO/IEC 29341-8-4
UPnP WLANAccessPointDevice:1 Device ISO/IEC 29341-8-5
UPnP LANHostConfigManagement:1 Service ISO/IEC 29341-8-10
UPnP Layer3Forwarding:1 Service ISO/IEC 29341-8-11
UPnP LinkAuthentication:1 Service ISO/IEC 29341-8-12
UPnP RadiusClient:1 Service ISO/IEC 29341-8-13
UPnP WANCableLinkConfig:1 Service ISO/IEC 29341-8-14
UPnP WANCommonInterfaceConfig:1 Service ISO/IEC 29341-8-15
UPnP WANDSLLinkConfig:1 Service ISO/IEC 29341-8-16
UPnP WANEthernetLinkConfig:1 Service ISO/IEC 29341-8-17
UPnP WANIPConnection:1 Service ISO/IEC 29341-8-18
UPnP WANPOTSLinkConfig:1 Service ISO/IEC 29341-8-19
UPnP WANPPPConnection:1 Service ISO/IEC 29341-8-20
UPnP WLANConfiguration:1 Service ISO/IEC 29341-8-21
UPnP Printer:1 Device ISO/IEC 29341-9-1
UPnP Scanner:1.0 Device ISO/IEC 29341-9-2
UPnP ExternalActivity:1 Service ISO/IEC 29341-9-10
UPnP Feeder:1.0 Service ISO/IEC 29341-9-11
UPnP PrintBasic:1 Service ISO/IEC 29341-9-12
viii ISO/IEC 2015 – All rights reserved
UPnP Document Title ISO/IEC 29341 Part
UPnP Scan:1 Service ISO/IEC 29341-9-13
UPnP QoS Architecture:1.0 ISO/IEC 29341-10-1
UPnP QosDevice:1 Service ISO/IEC 29341-10-10
UPnP QosManager:1 Service ISO/IEC 29341-10-11
UPnP QosPolicyHolder:1 Service ISO/IEC 29341-10-12
UPnP QoS Architecture:2 ISO/IEC 29341-11-1
UPnP QOS v2 Schema Files ISO/IEC 29341-11-2
UPnP QosDevice:2 Service ISO/IEC 29341-11-10
UPnP QosManager:2 Service ISO/IEC 29341-11-11
UPnP QosPolicyHolder:2 Service ISO/IEC 29341-11-12
UPnP RemoteUIClientDevice:1 Device ISO/IEC 29341-12-1
UPnP RemoteUIServerDevice:1 Device ISO/IEC 29341-12-2
UPnP RemoteUIClient:1 Service ISO/IEC 29341-12-10
UPnP RemoteUIServer:1 Service ISO/IEC 29341-12-11
UPnP DeviceSecurity:1 Service ISO/IEC 29341-13-10
UPnP SecurityConsole:1 Service ISO/IEC 29341-13-11
ISO/IEC 2015 – All rights reserved ix
INFORMATION TECHNOLOGY –
UPNP DEVICE ARCHITECTURE –
Part 3-10: Audio Video Device Control Protocol –
Audio Video Transport Service
1. Scope
This service definition is compliant with the UPnP Device Architecture version 1.0.
This service type enables control over the transport of audio and video streams. The service type defines a
‘common’ model for A/V transport control suitable for a generic user interface. It can be used to control a wide
variety of disc, tape and solid-state based media devices such as CD players, VCRs and MP3 players. A minimal
implementation of this service can be used to control tuners.
The service type is related to the ConnectionManager service type, which describes A/V connection setup
procedures, and the ContentDirectory service, which offers meta-information about the resource stored on the
media. AVTransport also offers an action to retrieve any meta data embedded in the resource itself.
This service type does not offer scheduled recording.
ISO/IEC 2015 – All rights reserved 1
2. Service Modeling Definitions
2.1. ServiceType
The following service type identifies a service that is compliant with this template:
urn:schemas-upnp-org:service:AVTransport:1
2.2. State Variables
Table 1: State Variables
Variable Name Req. or Data Allowed Value Default Eng.
Opt. Type Value Units
TransportState R string “STOPPED”
“PLAYING”
see Table 1.1
TransportStatus R string “OK”,
“ERROR_OCCURRED”
vendor-extensible
PlaybackStorageMedium R string see Table 1.2
RecordStorageMedium R string see Table 1.2
PossiblePlaybackStorageMedia R string CSV (string)
PossibleRecordStorageMedia R string CSV (string)
CurrentPlayMode R string “NORMAL” “NORM
AL”
see Table 1.3
TransportPlaySpeed R string “1” “1”
RecordMediumWriteStatus R string see Table 1.4
CurrentRecordQualityMode R string see Table 1.5
PossibleRecordQualityModes R string CSV (string)
NumberOfTracks R ui4 Min = 0
see Table 1.6
CurrentTrack R ui4 Min = 0
Step = 1
see Table 1.7
CurrentTrackDuration R string
CurrentMediaDuration R string
CurrentTrackMetaData R string
CurrentTrackURI R string
AVTransportURI R string
AVTransportURIMetaData R string
NextAVTransportURI R string
NextAVTransportURIMetaData R string
RelativeTimePosition R string
2 ISO/IEC 2015 – All rights reserved
Variable Name Req. or Data Allowed Value Default Eng.
Opt. Type Value Units
AbsoluteTimePosition R string
RelativeCounterPosition R i4
AbsoluteCounterPosition R i4
CurrentTransportActions O string CSV (string)
LastChange R string
A_ARG_TYPE_SeekMode R string “TRACK_NR” n/a
see Table 1.8
A_ARG_TYPE_SeekTarget R string n/a
A_ARG_TYPE_InstanceID R ui4 n/a
R = Required, O = Optional, X = Non-standard.
CSV stands for Comma-Separated Value list. The type between brackets denotes the UPnP data type used for
the elements inside the list. CSV is defined more formally in the ContentDirectory service template.
Table 1.1: allowedValueList for TransportState
Value Req. or Opt.
“STOPPED” R
“PLAYING” R
“TRANSITIONING” O
”PAUSED_PLAYBACK” O
“PAUSED_RECORDING” O
“RECORDING” O
“NO_MEDIA_PRESENT” O
ISO/IEC 2015 – All rights reserved 3
Table 1.2: allowedValueList for PlaybackStorageMedium
Value Req. or Opt.
“UNKNOWN” O
”DV” O
“MINI-DV” O
“VHS” O
”W-VHS” O
“S-VHS” O
“D-VHS” O
“VHSC” O
“VIDEO8” O
“HI8” O
“CD-ROM” O
“CD-DA” O
“CD-R” O
“CD-RW” O
“VIDEO-CD” O
”SACD” O
“MD-AUDIO” O
“MD-PICTURE” O
“DVD-ROM” O
“DVD-VIDEO” O
“DVD-R” O
“DVD+RW” O
“DVD-RW” O
“DVD-RAM” O
“DVD-AUDIO” O
“DAT” O
“LD” O
“HDD” O
“MICRO-MV” O
“NETWORK” O
4 ISO/IEC 2015 – All rights reserved
“NONE” O
“NOT_IMPLEMENTED” O
Vendor-defined O
Table 1.3: allowedValueList for CurrentPlayMode
Value Req. or Opt.
“NORMAL” R
“SHUFFLE” O
“REPEAT_ONE” O
“REPEAT_ALL” O
“RANDOM” O
“DIRECT_1” O
“INTRO” O
Vendor-defined O
Table 1.4: allowedValueList for RecordMediumWriteStatus
Value Req. or Opt.
“WRITABLE” O
”PROTECTED” O
“NOT_WRITABLE” O
“UNKNOWN” O
“NOT_IMPLEMENTED” O
Table 1.5: allowedValueList for CurrentRecordQualityMode
Value Req. or Opt.
“0:EP” O
“1:LP”. O
“2:SP” O
“0:BASIC” O
“1:MEDIUM” O
“2:HIGH” O
ISO/IEC 2015 – All rights reserved 5
“NOT_IMPLEMENTED” O
Vendor-defined O
Table 1.6: allowedValueRange for NumberOfTracks
Value Req. or Opt.
minimum 0 R
maximum vendor-defined R
Table 1.7: allowedValueRange for CurrentTrack
Value Req. or Opt.
minimum 0 R
maximum vendor-defined R
step 1 R
Table 1.8: allowedValueList for A_ARG_TYPE_SeekMode
Value Req. or Opt.
“TRACK_NR” R
“ABS_TIME” O
“REL_TIME” O
“ABS_COUNT” O
“REL_COUNT” O
“CHANNEL_FREQ” O
“TAPE-INDEX” O
“FRAME” O
2.2.1. TransportState
This state variable forms the ‘core’ of the AVTransport service. It defines the conceptually ‘top-level’ state of
the transport, e.g., whether it is playing, recording, etc. Device vendors do not need to implement all allowed
values of this variable, e.g., non-recordable media will not implement the RECORDING state.
6 ISO/IEC 2015 – All rights reserved
The “PAUSED_RECORDING” state is different from the “STOPPED” state in the sense that the transport is
already prepared for recording and may respond faster or more accurate. The “PAUSED_PLAYBACK” state is
different from the “PAUSED_RECORDING” state in the sense that in case the media contains video, it
indicates output of a still image. The other TransportState values are self explanatory.
Note that “dubbing” of media at various speeds is not supported in this version of the AVTransport, mainly
because there are no standards for cross-device dubbing speeds.
2.2.2. TransportStatus
During operation of the AVTransport service, asynchronous errors may occur that cannot be returned by a
normal action. For example, some time after playback of a stream has been started (via SetAVTransportURI and
Play actions), there may be network congestion or server problems causing hickups in the rendered media. These
types of situations can be signalled to control points by setting this state variable to value
“ERROR_OCCURRED”. More specific error descriptions may also be used, as vendor extensions. The
TransportState after an error has occurred is implementation-dependent; some implementations may go to
“STOPPED” while other implementations may be able to continue playing after an error. The time at which this
state variable returns to “OK” after an error situation is also implementation dependent.
2.2.3. PlaybackStorageMedium
Indicates the storage medium of the resource specified by AVTransportURI. If no resource is specified, then the
state variable is set to “NONE”. If AVTransportURI refers to a resource received from the UPnP network the
state variable is set to “NETWORK”. Device vendors may extend the specified allowed value list of this
variable. For example, various types of solid-state media formats may be added in a vendor-specific way.
Note that this variable is not intended for signal- or content-formats such as, e.g., MPEG2. Such type of
information is exposed by the ConnectionManager service associated with this service.
2.2.4. RecordStorageMedium
Indicates the storage medium where the resource specified by AVTransportURI will be recorded when a Record
action is issued. If no resource is specified, then the state variable is set to “NONE”. Device vendors may extend
the allowed value list of this variable. For example, various types of solid-state media formats may be added in a
vendor-specific way.
Note that this variable is not intended for signal- or content-formats such as, e.g., MPEG2. Such type of
information is exposed by the ConnectionManager service associated with this service. If the service
implementation doesn’t supported recording then this state variable must be set to value
“NOT_IMPLEMENTED”.
2.2.5. PossiblePlaybackStorageMedia
Contains a static, comma-separated list of storage media that the device can play. Recommended values are
defined in the allowed value list for variable PlaybackStorageMedium.
2.2.6. PossibleRecordStorageMedia
Contains a static, comma-separated list of storage media onto which the device can record. Recommended
values are defined in the allowed value list for variable RecordStorageMedium. If the service implementation
doesn’t supported recording then this state variable must be set to value “NOT_IMPLEMENTED”.
2.2.7. CurrentPlayMode
Indicates the current play mode (e.g., random play, repeated play, etc.). This notion is typical for CD-based
audio media, but is generally not supported by tape-based media. Value “DIRECT_1” indicates playing a single
ISO/IEC 2015 – All rights reserved 7
track and then stop (don’t play the next track). Value “INTRO” indicates playing a short sample (typically 10
seconds or so) of each track on the media. Other play mode values are self explanatory.
2.2.8. TransportPlaySpeed
String representation of a rational fraction, indicates the speed relative to normal speed. Example values are ‘1’,
‘1/2’, ‘2’, ‘-1’, ‘1/10’, etc. Actually supported speeds can be retrieved from the AllowedValueList of this state
variable in the AVTransport service description. Value ‘1’ is required, value ‘0’ is not allowed.
2.2.9. RecordMediumWriteStatus
Write protection status of currently loaded media. NOT_WRITABLE indicates an inherent ‘read-only’ media
(e.g., a DVD-ROM disc) or the device doesn’t support recording on the current media. PROTECTED indicates a
writable media that is currently write-protected (e.g., a protected VHS tape). If no media is loaded, the write
status will be “UNKNOWN”. If the service implementation doesn’t support recording then this state variable
must be set to value “NOT_IMPLEMENTED”.
2.2.10.CurrentRecordQualityMode
Indicates the currently set record quality mode. Such a setting takes the form of “Quality Ordinal:label”. The
Quality Ordinal indicates a particular relative quality level available in the device, from 0 (lowest quality) to n
(highest quality). The label associated with the ordinal provides a human-readable indication of the ordinal’s
meaning. If the service implementation doesn’t support recording then this state variable must be set to value
“NOT_IMPLEMENTED”.
2.2.11.PossibleRecordQualityModes
Contains a static, comma-separated list of recording quality modes that the device supports. For example, for an
analog VHS recorder, the string would be “0:EP,1:LP,2:SP”, while for a PVR the string would be
“0:BASIC,1:MEDIUM,2:HIGH”. The string specifics depend on the type of device containing the
AVTransport. Note that record quality modes are independent of the content-format that may be exposed to the
network through a ConnectionManager service. If the service implementation doesn’t support recording then
this state variable must be set to value “NOT_IMPLEMENTED”.
2.2.12.NumberOfTracks
Number of tracks controlled by the AVTransport instance. If no resource is associated with the AVTransport
instance (via SetAVTransportURI), and there is no ‘default’ resource (for example, a loaded disc) then
NumberOfTracks shall be 0. Otherwise, it shall be 1 or higher.
For tape-based media that do not support the notion of tracks, this state variable will always be ‘1’. For LD and
DVD media, a track is defined as a chapter number. For Tuners that provide an indexed list of channels, a track
is defined as an index number in such a list. This state variable has to be consistent with the resource identified
by AVTransportURI. For example, if AVTransportURI points to a single MP3 file, then NumberOfTracks shall
be 1. However, if AVTransportURI points to a playlist file, for example, then NumberOfTracks shall be equal to
the number of entries in the playlist.
2.2.13.CurrentTrack
If NumberOfTracks is 0, then CurrentTrack will be 0. Otherwise, this state variable will contain the sequence
number of the currently selected track, starting at value ‘1’, up to and including NumberOfTracks. For tape-
based media that do not support the notion of tracks, this state variable will always be ‘1’. For LD and DVD
media, the notion of track equals the notion of chapter number. For Tuners that provide an indexed list of
channels, the current track is defined as the current index number in such a list.
8 ISO/IEC 2015 – All rights reserved
2.2.14.CurrentTrackDuration
Duration of the current track, specified as a string of the following form:
H+:MM:SS[.F+] or H+:MM:SS[.F0/F1]
where :
H+ means one or more digits to indicate elapsed hours
MM means exactly 2 digits to indicate minutes (00 to 59)
SS means exactly 2 digits to indicate seconds (00 to 59)
[.F+] means optionally a dot followed by one or more digits to indicate fractions of seconds
[.F0/F1] means optionally a dot followed by a fraction, with F0 and F1 at least one digit long, and F0 < F1
The string may be preceded by an optional + or – sign, and the decimal point itself may be omitted if there are
no fractional second digits. This variable does not apply to Tuners. If the service implementation doesn’t support
track duration information then this state variable must be set to value “NOT_IMPLEMENTED”.
2.2.15.CurrentMediaDuration
Duration of the media, as identified by state variable AVTransportURI. In case the AVTransportURI represents
only 1 track, this state variable is equal to CurrentTrackDuration. The format of this variable is the same as the
format for CurrentTrackDuration, described above. If no content is associated with the AVTransport instance
(via SetAVTransportURI), and there is no ‘default’ content (for example, a loaded disc) then
CurrentMediaDuration shall be “00:00:00”. If the service implementation doesn’t support media duration
information then this state variable must be set to value “NOT_IMPLEMENTED”.
2.2.16.CurrentTrackMetaData
Metadata, in the form of a valid DIDL-Lite XML fragment (defined in the ContentDirectory service template),
associated with the resource pointed to by state variable CurrentTrackURI. The meta data may have been
extracted from state variable AVTransportURIMetaData, or extracted from the resource binary itself (e.g.,
embedded ID3 tags for MP3 audio). This is implementation dependent. If the service implementation doesn’t
support this feature then this state variable must be set to value “NOT_IMPLEMENTED”.
2.2.17.CurrentTrackURI
Reference, in the form of a URI, to the current track. The URI enables a control point to retrieve any meta data
associated with current track, such as, for example, title and author information, via the ContentDirectory
service.
2.2.18.AVTransportURI
Reference, in the form of a URI of the resource controlled by the AVTransport instance. This URI may refer to a
‘single’ item (e.g., a song) or to a collection of items (e.g., a playlist). In the single item case, the AVTransport
will have 1 ‘track’ and AVTransportURI is equal to CurrentTrackURI. In the ‘collection of items’ case, the
AVTransport will have multiple tracks, and AVTransportURI will remain constant during track changes. The
URI enables a control point to retrieve any meta data associated with the AVTransport instance, such as, for
example, title and author information, via the ContentDirectory service.
2.2.19.AVTransportURIMetaData
Metadata, in the form of a DIDL-Lite XML fragment (defined in the ContentDirectory service template),
associated with the resource pointed to by state variable AVTransportURI. See the ContentDirectory service
ISO/IEC 2015 – All rights reserved 9
specification for details. If the service implementation doesn’t support this feature then this state variable must
be set to value “NOT_IMPLEMENTED”.
2.2.20.NextAVTransportURI
AVTransportURI value to be played when the playback of the current AVTransportURI finishes. Setting this
variable ahead of time (via action SetNextAVTransportURI) enables a device to provide seamless transitions
between resources for certain streaming protocols that need buffering (e.g. HTTP GET). If the service
implementation doesn’t support this feature then this state variable must be set to value
“NOT_IMPLEMENTED”.
Do not confuse transitions between AVTransportURI and NextAVTransportURI with ‘track’ transitions. When
AVTransportURI is set to a playlist, for example, NextAVTransportURI will be played when the whole playlist
finishes, not when the current playlist entry (‘CurrentTrackURI’) finishes.
2.2.21.NextAVTransportURIMetaData
Metadata, in the form of a DIDL-Lite XML fragment (defined in the ContentDirectory service template),
associated with the resource pointed to by state variable NextAVTransportURI. See the ContentDirectory
service specification for details. If the service implementation doesn’t support this feature then this state variable
must be set to value “NOT_IMPLEMENTED”.
2.2.22.RelativeTimePosition
This state variable contains the current position, in terms of time, from the beginning of the current track. For
tape-based media that do not support multiple tracks on a single tape, this state vari
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.