Networked Media Open Specifications

Behaviour: Server Side

←Behaviour · Index↑ · Behaviour - Client Side→

Active Constraints of Sender

The initial state of Active Constraints of a Sender MUST be an empty constraint_sets array. This state indicates a Sender is unconstrained.

Non-empty constraint_sets array MUST be treated as unordered unless at least one Constraint Set has urn:x-nmos:cap:meta:preference attribute.

Active Constraints are satisfied when any of its Constraint Sets are satisfied in terms of BCP-004-01. Active Constraints are violated when at least one Parameter Constraint of each Constraint Set is not satisfied in terms of BCP-004-01.

Supported Constraints of Sender

A Sender MUST present the list of supported constraint set metadata and parameter constraints in the /supported endpoint. This list MUST include at least the constraint set metadata from the following list and at least those parameter constraints from the following list which are applicable to the format of the Flow associated with this Sender:

Status of Input

An Input has the following states:

Debug information expressed through debug property SHOULD assist no_signal state and MAY assist the other states.

Status of Sender

A Sender managed with IS-11 has the following states:

no_essence and awaiting_essence states MUST depend on the state of the Inputs associated with this Sender when the Essence is based exclusively on the signal from these Inputs.

Debug information expressed through debug property SHOULD assist no_essence and active_constraints_violation states and MAY assist the other states.

Status of Receiver

A Receiver managed with IS-11 has the following states:

Debug information expressed through debug property SHOULD assist unknown and non_compliant_stream states and MAY assist the other states.

Status of Output

An Output has the following states that describe the signal at this Output:

Debug information expressed through debug property SHOULD assist no_signal state and MAY assist the other states.

Preventing restrictions violation

At any time if State of an active Sender becomes active_constraints_violation, the Sender MUST become inactive. An inactive Sender in this state MUST NOT allow activations.

At any time if State of an active Receiver becomes non_compliant_stream, the Receiver SHOULD become inactive. An inactive Receiver in this state SHOULD NOT allow activations.

Signal altering indication

A Device SHOULD provide parent Flows and parent Sources to a Sender’s Flow and associated Source if the signal being transmitted from the Sender is not identical to the signal being captured from the Input(s).

Inputs

Properties

The /properties endpoint shows properties of the Input.

Base EDID

An Input MAY support Base EDID and MUST indicate it via base_edid_support property. The API documentation reflects how responses from /edid/base depend on this property.

Inputs that support Base EDID MAY additionally support adjusting Base EDID to internal capabilities (e.g. capabilities of an Input itself and Senders associated with this Input) via adjust_to_caps query parameter of a PUT /edid/base request. An Input MUST indicate support of adjust_to_caps query parameter via adjust_to_caps property presence in GET /properties responses.

There is no Base EDID at the initial state. If the Base EDID for an Input changes, then all Senders associated with this Input MUST update their versions (in registered mode this MUST update the registered resources).

Effective EDID

If Active Constraints of all Senders associated with this Input are empty and adjust_to_caps is equal to false or not supported, the Effective EDID is equal to the Base EDID.

If Active Constraints of all Senders associated with this Input are empty and adjust_to_caps is supported and equal to true, the Effective EDID is a combination of the Base EDID and the internal capabilities.

If Active Constraints of at least one Sender associated with this Input are not empty, the Effective EDID is a combination of the Base EDID, internal capabilities and Active Constraints of all Senders associated with this Input such that the baseband signal from the Input can be transmitted by the Senders without breaking Active Constraints.

If the Base EDID is not set, the Effective EDID is built on the basis of a default EDID defined for the Input by the manufacturer.

The /edid/effective endpoint allows a client to download the Effective EDID if it exists. If the Effective EDID for the Input changes and it is associated with any Senders, then all of the Senders in question MUST update their versions (in registered mode this MUST update the registered resources).

Outputs

Properties

The /properties endpoint shows properties of the Output.

EDID

The /edid endpoint allows a client to download the binary EDID if it exists. If the EDID information for the Output changes and it is associated with any Receivers, then all of the Receivers in question MUST update their versions (in registered mode this MUST update the registered resources).

←Behaviour · Index↑ · Behaviour - Client Side→