Networked Media Open Specifications

AMWA BCP-007-03: NMOS With MXL

Index↑


Introduction

MXL provides an open and non-proprietary exchange layer within Dynamic Media Facilities.

This document outlines how MXL enabled media functions can be managed through AMWA IS-04 and IS-05.

Use of Normative Language

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

Definitions

The NMOS terms ‘Controller’, ‘Node’, ‘Source’, ‘Flow’, ‘Sender’, ‘Receiver’ are used as defined in the NMOS Glossary.

MXL IS-04 Sources, Flows and Senders

Nodes that encapsulate media functions capable of MXL writing MUST expose Source, Flow and Sender resources in their IS-04 Node API.

Nodes compliant with this specification MUST implement IS-04 v1.3 or higher.

Sources

An MXL Source resource MUST set the format attribute to a value specified in the NMOS formats parameter register.

Examples of Source resources are provided in Examples.

Flows

An MXL Flow resource MUST set the format attribute to a value specified in the NMOS formats parameter register.

An MXL Flow resource MUST set the media_type attribute to a value specified in the NMOS media types parameter register.

Typical values used by MXL Flow resources for the media_type attribute include but are not limited to:

Examples of Flow resources are provided in Examples.

Senders

An MXL Sender resource MUST set the transport attribute to urn:x-nmos:transport:mxl.

An MXL Sender resource MUST expose an empty interface_bindings array.

An example Sender resource is provided in Examples.

Transport file usage

MXL does not require a transport file.

The manifest_href attribute of an MXL Sender MUST always be set to null.

The response for requests against the /transportfile endpoint of an MXL IS-05 Sender MUST always return a 404.

MXL IS-04 Receivers

Nodes that encapsulate media functions capable of MXL reading MUST expose a Receiver resource in their IS-04 Node API.

An MXL Receiver resource MUST set the transport attribute to urn:x-nmos:transport:mxl.

An MXL Receiver resource MUST expose an empty interface_bindings array.

An MXL Receiver resource MUST set the format attribute to a value specified in the NMOS formats parameter register.

An MXL Receiver resource MUST set the media_types attribute to at least one value. The values used MUST be specified in the NMOS media types parameter register.

Typical values used by MXL Receiver resources for the media_types attribute include but are not limited to:

The Receiver MUST express its limitations or preferences regarding the flows that it supports consuming by declaring constraints in accordance with the BCP-004-01 specification. The Receiver SHOULD express its constraints as precisely as possible, to enable a Controller to determine, with high confidence, the Receiver’s compatibility with available MXL flows. It is not always practical for the constraints to enumerate every type of flow a Receiver can or cannot consume; however, they SHOULD describe as many commonly used operating points as practical, along with any preferences.

The Receiver MUST use the constraint_sets parameter within the caps object to describe supported combinations of parameters, using the parameter constraints defined in the Capabilities Register of the NMOS Parameter Registers. The full details are described in BCP-004-01 NMOS Receiver Capabilities.

An example Receiver resource is provided in Examples.

MXL IS-05 Senders and Receivers

Nodes compliant with this specification MUST implement IS-05 v1.2 or higher.

Connection Management using IS-05 proceeds in the same manner as for any other transport, using MXL-specific transport parameters defined in MXL Sender transport parameters and MXL Receiver transport parameters.

The mxl_domain_id and mxl_flow_id transport parameters MUST be present in the IS-05 active, staged, and constraints endpoints of an MXL Sender and Receiver.

MXL Senders and Receivers MUST always use a single set of transport parameters in the transport parameters arrays in both the staged and active endpoints.

MXL Senders and Receivers MUST always use a single set of constraints in the constraints endpoint array.

Transport Parameters

Name Description
mxl_domain_id Specifies the MXL domain id where the MXL flow will be located. The Sender and Receiver list allowed values in the constraints endpoint; the special value auto lets the Sender or Receiver choose a domain automatically.
mxl_flow_id Specifies the MXL flow id which will be used for the write or read operation. The Sender and Receiver list allowed values in the constraints endpoint; the special value auto lets the Sender or Receiver choose a flow automatically.

Receivers

A PATCH request on the /staged endpoint of an MXL IS-05 Receiver is not expected to contain a transport file in the transport_file attribute.

A successful activation resulting in master_enable becoming true MUST start the MXL read operation.

A successful activation resulting in master_enable becoming false MUST stop the MXL read operation.

Senders

A successful activation resulting in master_enable becoming true MUST start the MXL write operation.

A successful activation resulting in master_enable becoming false MUST stop the MXL write operation.

Controllers

A controller MUST be able to discover MXL Senders and MXL Receivers by using the IS-04 Query API.

A controller MUST be able to connect an MXL Receiver to an MXL Sender by using the IS-05 API.

Controllers MUST support the BCP-004-01 Receiver Capabilities mechanism in order to evaluate the flow compatibility between MXL Senders and MXL Receivers.

Index↑