Skip to content

Commit a11b2e5

Browse files
authored
Merge pull request #11 from ebu/feat/add-accessToPublicInternet
feat: add accessToPublicInternet to RenderCharacteristics
2 parents fb7fb7d + b044222 commit a11b2e5

File tree

5 files changed

+59
-1
lines changed

5 files changed

+59
-1
lines changed

v1/specification/docs/Specification.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ The RenderRequirement object contains the following fields:
137137
| resolution.width | NumberConstraint | | | Specifies renderer width resolution requirement. |
138138
| resolution.height | NumberConstraint | | | Specifies renderer height resolution requirement. |
139139
| frameRate | NumberConstraint | | | Specifies renderer frameRate requirement. |
140+
| accessToPublicInternet | BooleanConstraint | | | Specifies requirement on whether the renderer has access to the public internet or not. |
140141

141142
##### NumberConstraint
142143

@@ -162,6 +163,18 @@ It contains the following fields:
162163
| exact | string | | | A string specifying a specific, required, value the property must have to be considered acceptable. |
163164
| ideal | string, string[] | | | A string (or an array of strings), specifying ideal values for the property. If possible, one of the listed values will be used, but if it's not possible, the user agent will use the closest possible match. |
164165

166+
167+
##### BooleanConstraint
168+
169+
A BooleanConstraint is an object that describes a constraints for a boolean value.
170+
(This is inspired by https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constrainboolean)
171+
It contains the following fields:
172+
173+
| Field | Type | Required | Default | Description |
174+
|-------------------|------------------|:--------:|:-------:|-----------------------------------------------------------|
175+
| exact | boolean | | | A boolean specifying a specific, required, value the property must have to be considered acceptable. |
176+
| ideal | boolean | | | A boolean specifying an ideal value for the property. If possible, this value will be used, but if it's not possible, the user agent will use the closest possible match. |
177+
165178
#### Vendor-specific fields
166179

167180
Vendor-specific fields are additional fields that are not part of this specification, but used for vendor-specific means.

v1/specification/json-schemas/graphics/schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@
9999
"frameRate": {
100100
"description": "If set, specifies requirements for frame rate of the Renderer. Example: 60 fps",
101101
"$ref": "https://ograf.ebu.io/v1/specification/json-schemas/lib/constraints/number.json"
102+
},
103+
"accessToPublicInternet": {
104+
"description": "If set, specifies requirement on whether the renderer has access to the public internet or not.",
105+
"$ref": "https://ograf.ebu.io/v1/specification/json-schemas/lib/constraints/boolean.json"
102106
}
103107

104108
},
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://ograf.ebu.io/v1/specification/json-schemas/lib/constraints/boolean.json",
4+
"type": "object",
5+
"description": "The boolean constraint is used to specify a constraint for a boolean property. (Inspired by https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constrainboolean)",
6+
"properties": {
7+
"exact": {
8+
"description": "A boolean specifying a specific, required, value the property must have to be considered acceptable.",
9+
"type": "boolean"
10+
},
11+
"ideal": {
12+
"description": "A boolean specifying an ideal value for the property. If possible, this value will be used, but if it's not possible, the user agent will use the closest possible match.",
13+
"type": "boolean"
14+
}
15+
},
16+
"patternProperties": {
17+
"^v_.*": {}
18+
},
19+
"additionalProperties": false
20+
}

v1/typescript-definitions/src/definitions/render.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ export type RenderCharacteristics = {
1212
/** Which frameRate the renderer will be rendering in. Examples: 50, 60, 29.97 */
1313
frameRate?: number;
1414

15+
/** Whether the renderer has access to the public internet (so the graphic can fetch resources) */
16+
accessToPublicInternet?: boolean
17+
1518
// Ideas for future:
1619
// webcamInputs
17-
// accessToPublicInternet?: boolean // Whether the renderer has access to the public internet (so the graphic can fetch resources)
1820
// keyer?: boolean; //
1921

2022
} & VendorExtend;

v1/typescript-definitions/src/generated/graphics-manifest.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,7 @@ export interface HttpsOgrafEbuIoV1SpecificationJsonSchemasGraphicsSchemaJson {
524524
[k: string]: unknown;
525525
};
526526
frameRate?: HttpsOgrafEbuIoV1SpecificationJsonSchemasLibConstraintsNumberJson1;
527+
accessToPublicInternet?: HttpsOgrafEbuIoV1SpecificationJsonSchemasLibConstraintsBooleanJson;
527528
/**
528529
* This interface was referenced by `undefined`'s JSON-Schema definition
529530
* via the `patternProperty` "^v_.*".
@@ -617,3 +618,21 @@ export interface HttpsOgrafEbuIoV1SpecificationJsonSchemasLibConstraintsNumberJs
617618
*/
618619
[k: `v_${string}`]: unknown;
619620
}
621+
/**
622+
* If set, specifies requirement on whether the renderer has access to the public internet or not.
623+
*/
624+
export interface HttpsOgrafEbuIoV1SpecificationJsonSchemasLibConstraintsBooleanJson {
625+
/**
626+
* A boolean specifying a specific, required, value the property must have to be considered acceptable.
627+
*/
628+
exact?: boolean;
629+
/**
630+
* A boolean specifying an ideal value for the property. If possible, this value will be used, but if it's not possible, the user agent will use the closest possible match.
631+
*/
632+
ideal?: boolean;
633+
/**
634+
* This interface was referenced by `HttpsOgrafEbuIoV1SpecificationJsonSchemasLibConstraintsBooleanJson`'s JSON-Schema definition
635+
* via the `patternProperty` "^v_.*".
636+
*/
637+
[k: `v_${string}`]: unknown;
638+
}

0 commit comments

Comments
 (0)