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 | bitrates :
integer[]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"} |