Skip to content

Commit

Permalink
Merge pull request #134 from AMWA-TV/base-edid-adjust-to-input-caps
Browse files Browse the repository at this point in the history
Add "adjust_to_caps" query parameter
  • Loading branch information
N-Nagorny committed Jul 31, 2023
2 parents 2b6458d + 49a62d3 commit e921cf3
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 2 deletions.
10 changes: 10 additions & 0 deletions APIs/StreamCompatibilityManagementAPI.raml
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,16 @@ mediaType: application/json
403:
put:
description: Set Base EDID
queryParameters:
adjust_to_caps:
description: >
Sets the value of "adjust_to_caps" Input's property.
If omitted, the value of the property is preserved.
If an implementation doesn't support the property,
this query parameter is always ignored.
type: boolean
required: false
example: true
body:
application/octet-stream:
type: file
Expand Down
4 changes: 4 additions & 0 deletions APIs/schemas/input.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
"device_id"
],
"properties": {
"adjust_to_caps": {
"description": "Whether the Input is configured to adjust Base EDID to internal capabilities. The property exists if the Input supports this feature",
"type": "boolean"
},
"base_edid_support": {
"description": "Whether the Input supports Base EDID",
"type": "boolean"
Expand Down
10 changes: 8 additions & 2 deletions docs/Behaviour - Server Side.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,19 @@ The `/properties` endpoint shows properties of the Input.

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

Effective EDID is such combination of Base EDID and Active Constraints of all Senders associated with this Input that the baseband signal from the Input can be transmitted by the Senders without breaking Active Constraints.
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 Base EDID is not set, Effective EDID is built on the basis of a default EDID defined for the Input by the manufacturer.
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).

Expand Down

0 comments on commit e921cf3

Please sign in to comment.