UNPKG

@firebolt-js/provider-sdk

Version:
2,156 lines 111 kB
{ "openrpc": "1.2.4", "info": { "title": "Firebolt Provider SDK", "version": "0.18.0-proposed.1", "x-module-descriptions": { "BroadcastPlayer": "A module for controlling and accessing media over broadcast", "Player": "A module for providing and using media player capabilities. This handles operations that would be associated with any player generically", "StreamingPlayer": "A module for controlling and accessing media over streaming" }, "x-interface-names": {} }, "methods": [ { "name": "Player.onRequestLoad", "summary": "Registers as a provider for when new media should be loaded into the player", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/PlayerMediaSession", "examples": [ { "mediaSessionId": "sess1" } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false } ], "result": { "name": "loadRequest", "summary": "The request to load new media", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/components/schemas/PlayerLoadProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": { "playerId": "app1:123", "locator": "https://cdn.rdkcentral.com/media/assets/asset.hls" } } } } ] }, { "name": "Player.onRequestPlay", "summary": "Registers as a provider for when media should start playing", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/PlayerMediaSession", "examples": [ { "mediaSessionId": "sess1" } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false } ], "result": { "name": "playRequest", "summary": "The request to start playing media", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/x-schemas/Player/PlayerProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": { "playerId": "app1:123" } } } } ] }, { "name": "Player.onRequestStop", "summary": "Registers as a provider for when media should stop playing", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/PlayerMediaSession", "examples": [ { "mediaSessionId": "sess1" } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false } ], "result": { "name": "stopRequest", "summary": "The request to stop playing media", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/x-schemas/Player/PlayerProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": { "playerId": "app1:123" } } } } ] }, { "name": "Player.onRequestStatus", "summary": "Registers as a provider for when player status needs to be provided", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/PlayerStatus", "examples": [ { "mediaSessionId": "sess1", "state": "IDLE" } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false } ], "result": { "name": "statusRequest", "summary": "The request to get the status of a player", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/x-schemas/Player/PlayerProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": { "playerId": "123" } } } } ] }, { "name": "Player.onRequestProgress", "summary": "Registers as a provider for when player progress needs to be provided", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/PlayerProgress", "examples": [ { "speed": 1, "startPosition": 0, "position": 5000, "endPosition": 3600000, "liveSyncTime": "2021-04-23T18:25:43.511Z" } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false } ], "result": { "name": "progressRequest", "summary": "The request to stop playing media", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/x-schemas/Player/PlayerProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": { "playerId": "123" } } } } ] }, { "name": "Player.provideStatus", "tags": [ { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base" } ], "summary": "Tells listeners the current status of a player", "params": [ { "name": "playerId", "summary": "The id of the player the status is for", "schema": { "type": "string" }, "required": true }, { "name": "status", "summary": "The status", "schema": { "$ref": "#/components/schemas/PlayerStatus" }, "required": true } ], "result": { "name": "providedResponse", "schema": { "const": null } }, "examples": [ { "name": "Default example #1", "params": [ { "name": "playerId", "value": "123" }, { "name": "status", "value": { "mediaSessionId": "sess2", "state": "BLOCKED", "blockedReason": "CONTENT_NOT_FOUND" } } ], "result": { "name": "providedResponse", "value": null } } ] }, { "name": "Player.provideProgress", "tags": [ { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base" } ], "summary": "Tells listeners the current progress of a player", "params": [ { "name": "playerId", "summary": "The id of the player the progress is for", "schema": { "type": "string" }, "required": true }, { "name": "progress", "summary": "The progress", "schema": { "$ref": "#/components/schemas/PlayerProgress" }, "required": true } ], "result": { "name": "providedResponse", "schema": { "const": null } }, "examples": [ { "name": "Default example #1", "params": [ { "name": "playerId", "value": "123" }, { "name": "progress", "value": { "speed": 1, "startPosition": 0, "position": 5000, "endPosition": 3600000, "liveSyncTime": "2021-04-23T18:25:43.511Z" } } ], "result": { "name": "providedResponse", "value": null } } ] }, { "name": "Player.loadResponse", "summary": "Internal API for Load Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/PlayerMediaSession", "examples": [ { "mediaSessionId": "sess1" } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-response-for": "onRequestLoad" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example #1", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess1" } } } ], "result": { "name": "result", "value": null } }, { "name": "Example #2", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess2" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.loadError", "summary": "Internal API for Load Provider to send back error.", "params": [ { "name": "error", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-error-for": "onRequestLoad" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example 1", "params": [ { "name": "error", "value": { "correlationId": "123", "result": { "code": 1, "message": "Error" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.playResponse", "summary": "Internal API for Play Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/PlayerMediaSession", "examples": [ { "mediaSessionId": "sess1" } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-response-for": "onRequestPlay" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example #1", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess1" } } } ], "result": { "name": "result", "value": null } }, { "name": "Example #2", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess2" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.playError", "summary": "Internal API for Play Provider to send back error.", "params": [ { "name": "error", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-error-for": "onRequestPlay" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example 1", "params": [ { "name": "error", "value": { "correlationId": "123", "result": { "code": 1, "message": "Error" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.stopResponse", "summary": "Internal API for Stop Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/PlayerMediaSession", "examples": [ { "mediaSessionId": "sess1" } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-response-for": "onRequestStop" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example #1", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess1" } } } ], "result": { "name": "result", "value": null } }, { "name": "Example #2", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess2" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.stopError", "summary": "Internal API for Stop Provider to send back error.", "params": [ { "name": "error", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-error-for": "onRequestStop" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example 1", "params": [ { "name": "error", "value": { "correlationId": "123", "result": { "code": 1, "message": "Error" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.statusResponse", "summary": "Internal API for Status Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/PlayerStatus", "examples": [ { "mediaSessionId": "sess1", "state": "IDLE" } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-response-for": "onRequestStatus" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example #1", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess1", "state": "IDLE" } } } ], "result": { "name": "result", "value": null } }, { "name": "Example #2", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "mediaSessionId": "sess2", "state": "BLOCKED", "blockedReason": "CONTENT_NOT_FOUND" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.statusError", "summary": "Internal API for Status Provider to send back error.", "params": [ { "name": "error", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-error-for": "onRequestStatus" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example 1", "params": [ { "name": "error", "value": { "correlationId": "123", "result": { "code": 1, "message": "Error" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.progressResponse", "summary": "Internal API for Progress Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/PlayerProgress", "examples": [ { "speed": 1, "startPosition": 0, "position": 5000, "endPosition": 3600000, "liveSyncTime": "2021-04-23T18:25:43.511Z" } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-response-for": "onRequestProgress" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example #1", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "speed": 1, "startPosition": 0, "position": 5000, "endPosition": 3600000, "liveSyncTime": "2021-04-23T18:25:43.511Z" } } } ], "result": { "name": "result", "value": null } }, { "name": "Example #2", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "speed": 3, "startPosition": 5000, "position": 10000, "endPosition": 3600000, "liveSyncTime": "2021-04-23T18:25:43.511Z" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "Player.progressError", "summary": "Internal API for Progress Provider to send back error.", "params": [ { "name": "error", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:base", "x-allow-focus": false, "x-error-for": "onRequestProgress" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example 1", "params": [ { "name": "error", "value": { "correlationId": "123", "result": { "code": 1, "message": "Error" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "BroadcastPlayer.onRequestCreate", "summary": "Registers as a provider for creating player instances", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/BroadcastPlayerInstance", "examples": [ { "playerId": "123", "windowId": "456" } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:broadcast", "x-allow-focus": false } ], "result": { "name": "createRequest", "summary": "The request to create a new player", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/components/schemas/BroadcastPlayerCreateProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": {} } } } ] }, { "name": "BroadcastPlayer.onRequestStatus", "summary": "Registers as a provider for when broadcast player status needs to be provided", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/BroadcastPlayerStatus", "examples": [ { "locked": false, "frequency": 695000000, "signalStrength": 90, "signalQuality": 90 } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:broadcast", "x-allow-focus": false } ], "result": { "name": "statusRequest", "summary": "The request to get the status of a player", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/x-schemas/Player/PlayerProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": { "playerId": "123" } } } } ] }, { "name": "BroadcastPlayer.provideStatus", "tags": [ { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:broadcast" } ], "summary": "Tells listeners the current broadcast status of a player", "params": [ { "name": "playerId", "summary": "The id of the player the status is for", "schema": { "type": "string" }, "required": true }, { "name": "status", "summary": "The status", "schema": { "$ref": "#/components/schemas/BroadcastPlayerStatus" }, "required": true } ], "result": { "name": "providedResponse", "schema": { "const": null } }, "examples": [ { "name": "Default example #1", "params": [ { "name": "playerId", "value": "123" }, { "name": "status", "value": { "locked": false, "frequency": 695000000, "signalStrength": 90, "signalQuality": 90 } } ], "result": { "name": "providedResponse", "value": null } } ] }, { "name": "BroadcastPlayer.createResponse", "summary": "Internal API for Create Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/BroadcastPlayerInstance", "examples": [ { "playerId": "123", "windowId": "456" } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:broadcast", "x-allow-focus": false, "x-response-for": "onRequestCreate" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example #1", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "playerId": "123", "windowId": "456" } } } ], "result": { "name": "result", "value": null } }, { "name": "Example #2", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "playerId": "abc", "windowId": "def" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "BroadcastPlayer.createError", "summary": "Internal API for Create Provider to send back error.", "params": [ { "name": "error", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:broadcast", "x-allow-focus": false, "x-error-for": "onRequestCreate" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example 1", "params": [ { "name": "error", "value": { "correlationId": "123", "result": { "code": 1, "message": "Error" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "BroadcastPlayer.statusResponse", "summary": "Internal API for Status Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/BroadcastPlayerStatus", "examples": [ { "locked": false, "frequency": 695000000, "signalStrength": 90, "signalQuality": 90 } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:broadcast", "x-allow-focus": false, "x-response-for": "onRequestStatus" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example", "params": [ { "name": "response", "value": { "correlationId": "123", "result": { "locked": false, "frequency": 1, "signalStrength": 90, "signalQuality": 90 } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "BroadcastPlayer.statusError", "summary": "Internal API for Status Provider to send back error.", "params": [ { "name": "error", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:broadcast", "x-allow-focus": false, "x-error-for": "onRequestStatus" } ], "result": { "name": "result", "schema": { "type": "null" } }, "examples": [ { "name": "Example 1", "params": [ { "name": "error", "value": { "correlationId": "123", "result": { "code": 1, "message": "Error" } } } ], "result": { "name": "result", "value": null } } ] }, { "name": "StreamingPlayer.onRequestCreate", "summary": "Registers as a provider for creating player instances", "params": [ { "name": "listen", "required": true, "schema": { "type": "boolean" } } ], "tags": [ { "name": "rpc-only" }, { "name": "event", "x-response": { "$ref": "#/components/schemas/StreamingPlayerInstance", "examples": [ { "playerId": "123", "windowId": "456" } ] }, "x-error": { "type": "object", "additionalProperties": false, "required": [ "code", "message" ], "properties": { "code": { "title": "errorObjectCode", "description": "A Number that indicates the error type that occurred. This MUST be an integer. The error codes from and including -32768 to -32000 are reserved for pre-defined errors. These pre-defined errors SHOULD be assumed to be returned from any JSON-RPC api.", "type": "integer" }, "message": { "title": "errorObjectMessage", "description": "A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.", "type": "string" }, "data": { "title": "errorObjectData", "description": "A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.)." } } } }, { "name": "capabilities", "x-provides": "xrn:firebolt:capability:player:streaming", "x-allow-focus": false } ], "result": { "name": "createRequest", "summary": "The request to create a new player", "schema": { "anyOf": [ { "$ref": "#/x-schemas/Types/ListenResponse" }, { "$ref": "#/components/schemas/StreamingPlayerCreateProviderRequest" } ] } }, "examples": [ { "name": "Default Example", "params": [ { "name": "listen", "value": true } ], "result": { "name": "Default Result", "value": { "correlationId": "abc", "parameters": {} } } } ] }, { "name": "StreamingPlayer.createResponse", "summary": "Internal API for Create Provider to send back response.", "params": [ { "name": "response", "required": true, "schema": { "allOf": [ { "$ref": "#/x-schemas/Types/ProviderResponse" }, { "type": "object", "properties": { "result": { "$ref": "#/components/schemas/StreamingPlayerInstance", "examples": [ { "playerId": "123", "windowId": "456" } ] } } } ] } } ], "tags": [ { "name": "rpc-only" }, { "na