Roku · Schema
MediaPlayer
State of the active video player.
StreamingTelevisionMediaEntertainmentConnected TVConsumer Electronics
Properties
| Name | Type | Description |
|---|---|---|
| state | string | |
| error | boolean | |
| plugin | object | |
| format | object | |
| position | integer | Current playback position in milliseconds. |
| duration | integer | Total stream duration in milliseconds. |
| is_live | boolean | |
| runtime | integer | |
| buffering | object | |
| new_stream | object | |
| stream_segment | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/external-control-protocol-media-player-schema.json",
"title": "MediaPlayer",
"description": "State of the active video player.",
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"none",
"buffer",
"play",
"pause",
"stop",
"error",
"finished",
"startup",
"open"
]
},
"error": {
"type": "boolean"
},
"plugin": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"format": {
"type": "object",
"properties": {
"audio": {
"type": "string"
},
"captions": {
"type": "string"
},
"container": {
"type": "string"
},
"drm": {
"type": "string"
},
"video": {
"type": "string"
},
"videoRes": {
"type": "string"
}
}
},
"position": {
"type": "integer",
"description": "Current playback position in milliseconds."
},
"duration": {
"type": "integer",
"description": "Total stream duration in milliseconds."
},
"is_live": {
"type": "boolean"
},
"runtime": {
"type": "integer"
},
"buffering": {
"type": "object",
"properties": {
"current": {
"type": "integer"
},
"max": {
"type": "integer"
},
"target": {
"type": "integer"
}
}
},
"new_stream": {
"type": "object",
"properties": {
"speed": {
"type": "integer"
}
}
},
"stream_segment": {
"type": "object",
"properties": {
"bitrate": {
"type": "integer"
},
"media_sequence": {
"type": "integer"
},
"segment_type": {
"type": "string"
},
"time": {
"type": "integer"
}
}
}
}
}