Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Subscription

All `org.rdk.player.on*` notifications are opt-in. Subscribe per client; each connection has its own independent subscription set.

After subscribing, the server pushes matching events as JSON-RPC notifications.
eg:

{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.subscribe","params":{"event":"org.rdk.player.onProgress"}}

Unsubscribe

eg:

Request
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.unsubscribe","params":{"event":"org.rdk.player.onProgress"}}

Response
{"jsonrpc":"2.0","id":1,"result":{"success":true}}




EventDescriptionResponse
org.rdk.player.onTuned
Tune succeeded and playback is ready
{"jsonrpc":"2.0","method":"org.rdk.player.onTuned","params":{}}
org.rdk.player.onTuneFailed
Tune failed and playback is not ready
{"jsonrpc":"2.0","method":"org.rdk.player.onTuneFailed","params":{"description":"Manifest download failed","code":10,"shouldRetry":true}}
org.rdk.player.onStateChanged
New player lifecycle state
{"jsonrpc":"2.0","method":"org.rdk.player.onStateChanged","params":{"state":"playing"}}
org.rdk.player.onProgress
Periodic playback progress
{"jsonrpc":"2.0","method":"org.rdk.player.onProgress","params":{"positionMs":12500,"durationMs":3600000,"speed":1,"startMs":0,"endMs":3600000,"videoBufferedMs":8000,"audioBufferedMs":8000,"liveLatencyMs":0,"profileBitrate":4000000,"networkBitrate":6000000}}
rg
org.rdk.player.onBitrateChanged
ABR switches to a different video profile
{"jsonrpc":"2.0","method":"org.rdk.player.onBitrateChanged","params":{"bitrate":2000000,"width":1280,"height":720,"description":"NetworkCongestion"}}
org.rdk.player.onMediaMetadata
Stream metadata is parsed after a tune completes
{"jsonrpc":"2.0","method":"org.rdk.player.onMediaMetadata","params":{"durationMs":3600000,"width":1920,"height":1080,"hasDrm":true,"isLive":false,"drmType":"widevine","languages":["en","fra"],"bitrates":[800000,2000000,4000000,8000000],"speeds":[-64,-32,-16,-8,-4,-2,1,2,4,8,16,32,64]}}
org.rdk.player.onSpeedChanged
Effective playback speed changes (e.g. trick-play, pause, resume)
{"jsonrpc":"2.0","method":"org.rdk.player.onSpeedChanged","params":{"speed":2}}
org.rdk.player.onBufferingChanged
Player enters or exits a buffering stall
{"jsonrpc":"2.0","method":"org.rdk.player.onBufferingChanged","params":{"buffering":true}}
org.rdk.player.onSeeked
A seek operation completes and playback resumes at the new position
{"jsonrpc":"2.0","method":"org.rdk.player.onSeeked","params":{"positionMs":120000}}
org.rdk.player.onDrmMetadata
DRM system reports an access status update
{"jsonrpc":"2.0","method":"org.rdk.player.onDrmMetadata","params":{"accessStatus":"Authorized"}}
org.rdk.player.onAnomaly
Fired when AAMP raises an internal diagnostic report
{"jsonrpc":"2.0","method":"org.rdk.player.onAnomaly","params":{"severity":1,"message":"Segment download stalled; retrying"}}