Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-9-1 establishes the foundational device template for UPnP Audio/Video (AV) devices, defining the core architecture that all UPnP AV components follow. As the cornerstone of the UPnP AV specification suite, this standard describes how Media Servers, Media Renderers, and Control Points interact to enable seamless streaming of audio and video content across a home network. The template defines mandatory embedded services, state variables, and action sets that every compliant AV device must implement.
The AV Device Template adopts a modular design philosophy. Rather than prescribing a monolithic device definition, it defines a framework of reusable service components that can be combined to create Media Servers (content sources), Media Renderers (playback devices), and specialized AV devices. This flexibility has enabled the standard to remain relevant across multiple hardware generations, from early DLNA-certified media players to modern smart TVs and streaming boxes.
The AV Device Template defines three fundamental device types: MediaServer (urn:schemas-upnp-org:device:MediaServer), MediaRenderer (urn:schemas-upnp-org:device:MediaRenderer), and AVControlPoint (a logical device with no physical device type UDN). Each device type embeds specific required services. The MediaServer must implement ContentDirectory (for content browsing), ConnectionManager (for connection management), and AVTransport (for transport control). The MediaRenderer must implement RenderingControl (for volume/picture adjustment), ConnectionManager, and AVTransport.
The template specifies the device description document format using XML, defining standard elements such as friendlyName, manufacturer, modelName, UDN (Unique Device Name), and serviceList. All AV devices must include the UPnP Device Architecture v1.1 mandatory fields while also publishing the AV-specific service capabilities via the device description. This enables Control Points to discover and interact with AV devices without prior knowledge of their capabilities.
| Device Type | Required Services | Optional Services |
|---|---|---|
| MediaServer | ContentDirectory, ConnectionManager, AVTransport | RenderingControl, ScheduledRecording |
| MediaRenderer | RenderingControl, ConnectionManager, AVTransport | ContentDirectory (for local playback queues) |
| AVControlPoint | No required services (logical device) | All services are optional based on use case |
The service integration pattern in the AV Device Template follows a layered architecture. At the base layer, the UPnP Device Architecture provides discovery (SSDP), description (XML device/service schemas), control (SOAP), and eventing (GENA). Above this, the AV template defines the service hierarchy: mandatory services (required for all AV devices), conditional services (required when specific hardware capabilities exist), and optional services (enhancements like DLNA features).
A key design decision in the AV Device Template is the separation of transport control from content management. AVTransport handles play, pause, stop, seek, and speed control operations, while ContentDirectory manages content browsing, search, and metadata retrieval. This separation allows a single MediaServer to serve multiple independent streams to different Renderers simultaneously, each with independent transport state. The ConnectionManager service acts as the bridge, negotiating the streaming protocol (HTTP GET, RTSP, RTP) and data format between the source and sink.
The template also defines the concept of “AV scenarios” — predefined interaction patterns such as “two-box push” (Control Point commands MediaServer to send content to MediaRenderer) and “three-box” (Control Point orchestrates communication between separate MediaServer and MediaRenderer). These scenarios are not protocol extensions but documented usage patterns that guide application developers in implementing consistent user experiences.
Implementing a UPnP AV device based on this template requires careful attention to several engineering aspects. First, the device description XML must accurately reflect the device capabilities — under-reporting capabilities limits functionality, while over-reporting leads to failed connections when Control Points attempt unsupported operations. The recommended approach is to implement all mandatory services first (ContentDirectory, ConnectionManager, AVTransport), then add optional services incrementally.
For MediaServer implementations, the ContentDirectory service is the most performance-critical component. Its Browse() and Search() actions must handle large media collections efficiently. Implementing container-level caching, paginated results (with the requestedCount and startingIndex parameters), and incremental metadata updates through the SystemUpdateID state variable are essential for responsive user experiences. The template recommends using object-oriented container hierarchies with up to 16 levels of nesting for organizing content.
Interoperability testing is crucial because different vendors implement varying subsets of the AV specification. The standard provides conformance guidelines but does not mandate every optional feature. Device manufacturers should publish a Device Compatibility Matrix listing which AV scenarios, transport protocols (HTTP GET, RTSP, IEC 61883), and media formats (MPEG2, H.264, AAC, LPCM) their devices support. The UPnP AV certification program provides formal validation of baseline interoperability.