Versions Compared

Key

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

...

Inline Table Editing
bitrates : 
integer[]
JSON-RPC method
Aamp Player Instance Method
Parameter
Result
Summary
Jsonrpc Request example
Jsonrpc response example
org.rdk.player.openSession

sessionId: stringappName : stringtraceUUID : string
sessionId : stringsuccess : boolean
Open a new player session
{

  "jsonrpc": "2.0",

  "id": 1,

  "method": "org.rdk.player.openSession",

  "params": {

    "sessionId": "sess-abc-001",

    "appName": "MyStreamingApp",

    "traceUUID": "550e8400-e29b-41d4-a716-446655440000"

  }

}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "sessionId": "sess-abc-001",
    "success": true
  }
}
org.rdk.player.configureSession

sessionId : stringconfig : object
sessionId : stringsuccess : boolean
Apply configuration to an open session
{

  "jsonrpc": "2.0",

  "id": 2,

  "method": "org.rdk.player.configureSession",

  "params": {

    "sessionId": "sess-abc-001",

    "config": {

      "networkTimeout": 10,

      "downloadBuffer": 30,

      "preferredDRM": "widevine",

      "initialBitrate": 2000000

    }

  }

}
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "sessionId": "sess-abc-001",
    "success": true
  }
}
orgorg.dk.player.closeSession

sessionId : stringsuccess : boolean
sessionId: Stringsuccess : boolean
Close and release a player session
{

  "jsonrpc": "2.0",

  "id": 3,

  "method": "org.rdk.player.closeSession",

  "params": {

    "sessionId": "sess-abc-001"

  }

}
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "sessionId": "sess-abc-001",
    "success": true
  }
}
org.rdk.player.tune
org.rdk.player.tune
Tune
url : StringautoPlay : booleancontentType : StringtraceUUID : String
success : boolean
Instructs the AAMP  to tune to the given URL.
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.tune","params":{"url":"https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd","autoPlay":true,"contentType":"VOD"}}

{"jsonrpc":"2.0","id":4,"result":{"success":true}}

org.org.rdk.player.stop
Stop
None
success :boolean
Stops the current playback and releases decoder resources. The player returns to the idle state.
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.stop"}

{"jsonrpc":"2.0","id":5,"result":{"success":true}}

org.rdk.player.seek
Seek
position : numberkeepPaused : boolean
success : boolean
Seeks to an absolute position in the stream
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.seek","params":{"position":120.0,"keepPaused":false}}

{"jsonrpc":"2.0","id":5,"result":{"success":true}}

org.rdk.player.seekToLive
org.rdk.player.seekToLive
SeekToLive
keepPaused : boolean
success : boolean
Seek to the live edge
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.seekToLive","params":{"keepPaused":false}}
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.setRate
SetRate
rate : number overshootCorrection : integer
success: boolean
Set playback rate / trick-play speed
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setRate","params":{"rate":2,"overshootCorrection":0}}
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.setPlaybackSpeed
SetPlaybackSpeed
org.rdk.player.setPlaybackSpeed
SetPlaybackSpeed
speed : number
success: boolean
Sets the playback speed directly 
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setPlaybackSpeed","params":{"speed":0.5}}
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.pauseAt
PauseAt
position : number
success : boolean
Schedule a pause at a future position
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.pauseAt","params":{"position":300.0}}
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.setRateAndSeek
SetRateAndSeek
org.rdk.player.setRateAndSeek
SetRateAndSeek
rate : integer position : number
success:boolean
Atomically set rate and seek
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setRateAndSeek","params":{"rate":1,"position":60.0}}
org.rdk.player.getState
GetState
None
state : PlayerState
Get current player state
{"jsonrpc":"2.0","id":1,"methodresult":"org.rdk.player.getState"{"success":true}}
org.rdk.player.getPlaybackPositiongetState
GetPlaybackPositionGetState
None
positionstate : Number PlayerState
Get current playbackplayer positionstate
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackPositiongetState"}
org.rdk.player.getPlaybackDuration
GetPlaybackDuration
None
duration : Number
Get total stream duration
{"jsonrpc":"2.0","id":1,"methodresult":{"state":"org.rdk.player.getPlaybackDurationplaying"}}
org.rdk.player.getPlaybackRategetPlaybackPosition
GetPlaybackRateGetPlaybackPosition
None
rateposition  : Number
Get current playback rateposition
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackRategetPlaybackPosition"}
{"jsonrpc":"2.0","id":1,"result":{"position":120.5}}
org.rdk.player.getPlaybackDuration
GetPlaybackDuration
None
duration : Number
Get total stream duration
org.rdk.player.isLive
IsLive
None
isLive :Boolean
Check if stream is live
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.isLivegetPlaybackDuration"}
org.rdk.player.setVideoMute
SetVideoMute
muted : booleansuccess : 
Boolean
Mute or unmute the video plane
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setVideoMute","paramsresult":{"mutedduration":true3600.0}}
org.rdk.player.getVideoMutegetPlaybackRate
GetVideoMuteGetPlaybackRate
None
mutedrate  :  NumberBoolean
Get videocurrent muteplayback staterate
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoMutegetPlaybackRate"}
org.rdk.player.setAudioVolume
SetAudioVolume
volume : integersuccess : 
Boolean
Set audio volume
{"jsonrpc":"2.0","id":1,"methodresult":{"org.rdk.player.setAudioVolume","params":{"volume":80rate":1.0}}
org.rdk.player.getAudioVolumeisLive
GetAudioVolumeIsLive
None
volumeisLive : 
IntegerBoolean
Check if stream is liveGet audio volume
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioVolume"}.isLive"}
{"jsonrpc":"2.0","id":1,"result":{"isLive":false}}
org.rdk.player.getAudioLanguagesetVideoMute
GetAudioLanguageSetVideoMute
None
languagemuted : string
org.rdk.player.getAvailableAudioTracks
GetAvailableAudioTracks
allTracks boolean
tracks :AudioTrack[]
boolean
success : 

Boolean
Mute or unmute the video planeList available audio tracks
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAvailableAudioTrackssetVideoMute","params":{"allTracksmuted":falsetrue}}
org.rdk.player.setAudioTrack
SetAudioTrack
trackId : integersuccess : 
Boolean
Select an audio track by index
{"jsonrpc":"2.0","id":1,"methodresult":"org.rdk.player.setAudioTrack","params":{"trackId":1{"success":true}}
org.rdk.player.getAudioTrackgetVideoMute
GetAudioTrackGetVideoMute
None
trackId:integermuted : 

Boolean
Get indexvideo of active audio trackmute state
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioTrackgetVideoMute"}
org.rdk.player.getAudioTrackInfo
GetAudioTrackInfo
None
trackInfo:AudioTrack
Get details of active audio track
{"jsonrpc":"2.0","id":1,"methodresult":"org.rdk.player.getAudioTrackInfo"{"muted":false}}
org.rdk.player.setSubtitleMutesetAudioVolume
SetSubtitleMuteSetAudioVolume
mutedvolume : booleaninteger
success : boolean 

Boolean
Set audio volumeMute or unmute subtitles
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setSubtitleMutesetAudioVolume","params":{"mutedvolume":true80}}
org.rdk.player.getAvailableTextTracks
GetAvailableTextTracks
allTracks : boolean
 tracks : 
TextTrack[]
List available text/subtitle tracks
{"jsonrpc":"2.0","id":1,"methodresult":"org.rdk.player.getAvailableTextTracks","params":{"allTracks":false{"success":true}}
org.rdk.player.setTextTrackgetAudioVolume
GetAudioVolume
SetTextTrackNone
trackIdvolume : integer
success : boolean
 

Integer
Get audio volumeSelect a text track by index
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setTextTrack","params.getAudioVolume"}
{"jsonrpc":"2.0","id":1,"result":{"trackIdvolume":080}}
org.rdk.player.getTextTrackgetAudioLanguage
GetTextTrackGetAudioLanguage
None
trackIdlanguage : integerGet index of active text trackstring

{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getTextTrack"}getAudioLanguage"}
 
 
{"jsonrpc":"2.0","id":1,"result":{"language":"en"}}
org.rdk.player.getVideoBitrategetAvailableAudioTracks
GetVideoBitrateGetAvailableAudioTracksNone
allTracks boolean
bitratetracks : integer AudioTrack[]
List available audio tracksGet current video bitrate
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoBitrate"}
org.rdk.player.setVideoBitrate
SetVideoBitrate
bitrate : integer
success : boolean
getAvailableAudioTracks","params":{"allTracks":false}}
 
Lock the video bitrate{"jsonrpc":"2.0","id":1,"result":{"methodtracks":"org.rdk.player.setVideoBitrate","params":{"bitrate":2000000}}
org.rdk.player.getVideoBitrates
GetVideoBitrates
None 
List all available video bitrates
{"jsonrpc":"2.0","id[{"index":0,"language":"en","rendition":"main","label":"English","codec":"mp4a.40.2","type":"AUDIO_STEREO","channels":2,"bitrate":128000},{"index":1,"methodlanguage":"org.rdk.player.getVideoBitrates"}fra","rendition":"main","label":"French","codec":"mp4a.40.2","type":"AUDIO_STEREO","channels":2,"bitrate":128000}]}}
org.rdk.player.setInitialBitratesetAudioTrack
SetInitialBitrateSetAudioTrack
bitratetrackId : integer
success : : boolean

Boolean
Select an audio track by indexSet the startup bitrate hint
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setInitialBitratesetAudioTrack","params":{"bitratetrackId":20000001}}
org.rdk.player.getInitialBitrate
getInitialBitrat
 

None
bitrate : integer 
Set the startup bitrate hint
{"jsonrpc":"2.0","id":1,"methodresult":"org.rdk.player.getInitialBitrate"}{"success":true}}
org.rdk.player.setMinimumBitrategetAudioTrack
SetMinimumBitrate
bitrate : integer 
success : boolean
GetAudioTrack
None
trackId:integer
Get index of active audio trackSet the ABR minimum bitrate floor
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setMinimumBitrate","paramsgetAudioTrack"}
 
{"jsonrpc":"2.0","id":1,"result":{"bitratetrackId":8000000}}
org.rdk.player.getMinimumBitrategetAudioTrackInfo
GetMinimumBitrateGetAudioTrackInfo
None
bitrate trackInfo: integer AudioTrack
Get thedetails ABRof minimumactive bitrateaudio floor track
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getMinimumBitrategetAudioTrackInfo"}
org.rdk.player.setMaximumBitrate
SetMaximumBitrate
bitrate : integer
success : boolean
Set the ABR maximum bitrate ceiling
 
{"jsonrpc":"2.0","id":1,"result":{"trackInfo":{"index":0,"language":"en","rendition":"main","label":"English","codec":"mp4a.40.2","type":"AUDIO_STEREO","channels":2,"bitrate":128000}{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setMaximumBitrate","params":{"bitrate":8000000}}
org.rdk.player.getMaximumBitratesetSubtitleMute
getMaximumBitrate
SetSubtitleMute
muted: boolean
successNone
bitrate : integer boolean
GetMute theor ABR maximum bitrate ceilingunmute subtitles
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getMaximumBitrate"}
rg.rdk.player.setLicenseServerURL
SetLicenseServerURL
setSubtitleMute","params":{"muted":true}}
 
url : 
string
success : boolean 
Set the DRM license server URL
{"jsonrpc":"2.0","id":1,"methodresult":"org.rdk.player.setLicenseServerURL","params":{"url":"https://license.example.com/widevine"{"success":true}}
org.rdk.player.getDRM
GetDRM
getAvailableTextTracks
GetAvailableTextTracks
allTracks : boolean

 
tracks : 

TextTrack[]
List available text/subtitle tracksNone
drm : string 
Get active DRM system
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getDRM"}
org.rdk.player.setPreferredDRM
SetPreferredDRM
getAvailableTextTracks","params":{"allTracks":false}}
 
drmType : string
 
success : boolean
Set the preferred DRM system
{"jsonrpc":"2.0","id":1,"methodresult":{"tracks":"org.rdk.player.setPreferredDRM","params":{"drmType":"widevine"}}
org.rdk.player.initAAMPConfig
InitAAMPConfig
config : object
 success : boolean
Apply AAMP configuration
{"jsonrpc":"2.0","id[{"index":0,"language":"en","rendition":"main","label":"English","type":"SUBTITLES"},{"index":1,"methodlanguage":"org.rdk.player.initAAMPConfigspa","paramsrendition":{"config"main","label":{"networkTimeoutSpanish":10,"downloadBuffertype":30"SUBTITLES"}]}}
rgorg.rdk.player.getAAMPConfigsetTextTrack
GetAAMPConfig
SetTextTrack
trackId : integer
successNone
config : object
boolean
Select a text track by indexGet current AAMP configuration
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAAMPConfig"}
org.rdk.player.setAppName
SetAppName
setTextTrack","params":{"trackId":0}}
 
name : string
 
success : boolean
Set the application name
{"jsonrpc":"2.0","id":1,"methodresult":{"success":true}}
org.rdk.player.setAppName","params":{"name":"MyStreamingApp"}}
org.rdk.player.setPreferredLanguages
SetPreferredLanguages
getTextTrack
GetTextTrack
None
trackId : integer
Get index of active text tracklanguageList  : string
rendition : string
codecList : string
labelList : string
success : boolean
Set preferred audio/text language preferences
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setPreferredLanguages","params":getTextTrack"}
 
{"languageListjsonrpc":"en,fra,spa2.0","renditionid":"main"1,"typeresult":{"AUDIO_STEREO","codecList":"mp4a.40.2"trackId":0}}
org.rdk.player.getPreferredLanguagesgetVideoBitrate
GetPreferredLanguagesGetVideoBitrate
None 
languageListbitrate : sting
 integer 
Get thecurrent preferredvideo language listbitrate
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPreferredLanguagesgetVideoBitrate"}

Events and Notifications

...

 
{"jsonrpc":"2.0","id":1,"result":{"bitrate":4000000}}
org.rdk.player.setVideoBitrate
SetVideoBitrate
bitrate : integer
success : boolean
Lock the video bitrate
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setVideoBitrate","params":{"bitrate":2000000}}
 
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.getVideoBitrates
GetVideoBitrates
None 
bitrates : 

integer[]
List all available video bitrates
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoBitrates"}
 
{"jsonrpc":"2.0","id":1,"result":{"bitrates":[800000,2000000,4000000,8000000]}}
org.rdk.player.setInitialBitrate
SetInitialBitrate
bitrate : integer
success  : boolean
Set the startup bitrate hint
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setInitialBitrate","params":{"bitrate":2000000}}
 
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.getInitialBitrate
getInitialBitrat
 

None
bitrate : integer 
Set the startup bitrate hint
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getInitialBitrate"}
 
{"jsonrpc":"2.0","id":1,"result":{"bitrate":2000000}}
org.rdk.player.setMinimumBitrate
SetMinimumBitrate
bitrate : integer 
success : boolean
Set the ABR minimum bitrate floor
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setMinimumBitrate","params":{"bitrate":800000}}
 
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.getMinimumBitrate
GetMinimumBitrate
None
bitrate : integer 
Get the ABR minimum bitrate floor 
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getMinimumBitrate"}
 
{"jsonrpc":"2.0","id":1,"result":{"bitrate":800000}}
org.rdk.player.setMaximumBitrate
SetMaximumBitrate
bitrate : integer
success : boolean
Set the ABR maximum bitrate ceiling
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setMaximumBitrate","params":{"bitrate":8000000}}
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
 
org.rdk.player.getMaximumBitrate
getMaximumBitrate
None
bitrate : integer 
Get the ABR maximum bitrate ceiling
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getMaximumBitrate"}
 

{"jsonrpc":"2.0","id":1,"result":{"bitrate":8000000}}
rg.rdk.player.setLicenseServerURL
SetLicenseServerURL
url : 

string
success : boolean 
Set the DRM license server URL
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setLicenseServerURL","params":{"url":"https://license.example.com/widevine"}}
 
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.getDRM
GetDRM
None
drm : string 
Get active DRM system
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getDRM"}
 
{"jsonrpc":"2.0","id":1,"result":{"drm":"widevine"}}
org.rdk.player.setPreferredDRM
SetPreferredDRM
drmType : string

 
success : boolean
Set the preferred DRM system
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setPreferredDRM","params":{"drmType":"widevine"}}
 
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
rg.rdk.player.getAAMPConfig
GetAAMPConfig
None
config : object
Get current AAMP configuration
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAAMPConfig"}
 
{"jsonrpc":"2.0","id":1,"result":{"config":{"networkTimeout":10,"downloadBuffer":30}}}
org.rdk.player.setAppName
SetAppName
name : string

 
success : boolean
Set the application name
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setAppName","params":{"name":"MyStreamingApp"}}
 
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.setPreferredLanguages
SetPreferredLanguages
languageList  : string

rendition : string

codecList : string

labelList : string
success : boolean
Set preferred audio/text language preferences
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setPreferredLanguages","params":{"languageList":"en,fra,spa","rendition":"main","type":"AUDIO_STEREO","codecList":"mp4a.40.2"}}
 
{"jsonrpc":"2.0","id":1,"result":{"success":true}}
org.rdk.player.getPreferredLanguages
GetPreferredLanguages
None

 
languageList : sting

 
Get the preferred language list
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPreferredLanguages"}
 
{"jsonrpc":"2.0","id":1,"result":{"languageList":"en,fra"}}
Events and Notifications

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:

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

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

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}}






Event
Description
Response
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}}
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"}}
org.rdk.player.onAdReservationStart
Ad reservation start event
{"jsonrpc":"2.0","method":"org.rdk.player.onAdReservationStart","params":{"adBreakId":"break-001","position":120000}}
org.rdk.player.onTimedMetadata



{"jsonrpc":"2.0","method":"org.rdk.player.onTimedMetadata","params":{"name":"#EXT-X-CUE","id":"cue-001","timeMilliseconds":5000,"durationMilliSeconds":30000,"content":"/DAlAAAAAA=="}}
org.rdk.player.onBulkTimedMetadata



{"jsonrpc":"2.0

...

"

...

,"method":"org.rdk.player.

...

onBulkTimedMetadata","params":{"metadata":"[{

...

\"name\":\"#EXT-X-CUE\",\"time\":5000}]"}}
org.rdk.player.

...

onSupportedSpeedsChanged



{"jsonrpc":"2.0","

...

method":

...

"org.rdk.player.onSupportedSpeedsChanged","

...

params":{"

...

supportedSpeedCount":13,"supportedSpeeds":[-64,-32,-16,-8,-4,-2,1,2,4,8,16,32,64]}}
org.rdk.player.onAdResolved



{"jsonrpc":"2.0

...

"

...

,"method":"org.rdk.player.

...

onAdResolved","params":{"

...

EventDescriptionResponse
org.rdk.player.onTuned
Tune succeeded and playback is ready
{"jsonrpc":"2.0","method":"org.rdk.player.onTuned","params":{resolveStatus":true,"adId":"ad-001","startMS":60000,"durationMs":30000,"errorCode":"","errorDescription":""}}
org.rdk.player.onTuneFailedonAdPlacementStart


TuneAd failed and playback is not readyplacement started
{"jsonrpc":"2.0","method":"org.rdk.player.onTuneFailedonAdPlacementStart","params":{"descriptionadId":"ad-001","position":"Manifest download failed"60000,"offset":0,"codeduration":1030000,"shouldRetryerrorCode":true0}}
org.rdk.player.onStateChangedonAdPlacementEnd


Ad placement ended

org.rdk.player.onAdPlacementError


Ad placement error

New player lifecycle state
{"jsonrpc":"2.0","method":"org.rdk.player.onStateChanged","params":{"state":"playing"}}onAdPlacementProgress


Ad placement progress update

org.rdk.player.onProgress
Periodic playback progress
onID3Metadata


 ID3 tag metadata extracted from stream
{"jsonrpc":"2.0","method":"org.rdk.player.onProgressonID3Metadata","params":{"positionMsdata":12500,"durationMsSUQzBAAAAAAAI1RTUFQ=":3600000,"speed":1,"startMs":0,"endMs":3600000,"videoBufferedMs":8000,"audioBufferedMs":8000,"liveLatencyMs":0,"profileBitrate":4000000,"networkBitrate":6000000length":20}}
org.rdk.player.onBitrateChangedonDrmMessage


DRM system message received
ABR switches to a different video profile
{"jsonrpc":"2.0","method":"org.rdk.player.onBitrateChangedonDrmMessage","params":{"bitratedata":2000000,"width":1280,"height":720,"description":"NetworkCongestion""license renewal required"}}
org.rdk.player.onMediaMetadataonContentGap


Content gap detected in stream
Stream metadata is parsed after a tune completes
{"jsonrpc":"2.0","method":"org.rdk.player.onMediaMetadataonContentGap","params":{"durationMstimeMilliseconds":3600000120000,"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]durationMilliSeconds":5000}}
org.rdk.player.onHTTPResponseHeader


Matched HTTP response header received
{"jsonrpc":"2.0","method":"org.rdk.player.onHTTPResponseHeader","params":{"header":"X-CDN-Provider","response":"Akamai"}}
org.rdk.player.onSpeedChanged
Effective playback speed changes (e.g. trick-play, pause, resume)
onContentProtectionDataUpdate


Content protection key data updated
{"jsonrpc":"2.0","method":"org.rdk.player.onSpeedChangedonContentProtectionDataUpdate","params":{"speed":2"keyID":"AAECBA==","streamType":"video"}}
org.rdk.player.onBufferingChanged
Player enters or exits a buffering stall
.player.onTuneTimeMetrics



{"jsonrpc":"2.0","method":"org.rdk.player.onBufferingChangedonTuneTimeMetrics","params":{"tuneMetricData":"{"buffering":true\"latency\":1500,\"fragmentDownloadTime\":200}"}}


org.rdk.player.onSeeked
A seek operation completes and playback resumes at the new position
onMonitorAVStatus



{"jsonrpc":"2.0","method":"org.rdk.player.onSeekedonMonitorAVStatus","params":{"positionMs":120000"monitorAVStatus":"playing","videoPositionMS":12500,"audioPositionMS":12490,"timeInStateMS":5000,"droppedFrames":0}}


org.rdk.player.onDrmMetadata
DRM system reports an access status update
onMetricsData



{"jsonrpc":"2.0","method":"org.rdk.player.onDrmMetadataonMetricsData","params":{"accessStatus":"Authorized"type":1,"metricUUID":"550e8400-e29b-41d4-a716-446655440000","data":"{\"latency\":1200}"}}
org.rdk.player.onAnomaly
Fired when AAMP raises an internal diagnostic report
onCCHandleReceived

{"jsonrpc":"2.0","method":"org.rdk.player.onAnomalyonCCHandleReceived","params":{"severityhandle":1,"message":"Segment download stalled; retrying"12345}}