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 } } |
org.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 | 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.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 | 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 | 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 | 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}} | {"jsonrpc":"2.0","id":1,"result":{"success":true}} |
org.rdk.player.getState | GetState | None | state : PlayerState | Get current player state | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getState"} | {"jsonrpc":"2.0","id":1,"result":{"state":"playing"}} |
org.rdk.player.getPlaybackPosition | GetPlaybackPosition | None | position : Number | Get current playback position | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackPosition"} | {"jsonrpc":"2.0","id":1,"result":{"position":120.5}} |
org.rdk.player.getPlaybackDuration | GetPlaybackDuration | None | duration : Number | Get total stream duration | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackDuration"} | {"jsonrpc":"2.0","id":1,"result":{"duration":3600.0}} |
org.rdk.player.getPlaybackRate | GetPlaybackRate | None | rate : Number | Get current playback rate | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackRate"} | {"jsonrpc":"2.0","id":1,"result":{"rate":1.0}} |
org.rdk.player.isLive | IsLive | None | isLive :Boolean | Check if stream is live | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.isLive"} | {"jsonrpc":"2.0","id":1,"result":{"isLive":false}} |
org.rdk.player.setVideoMute | SetVideoMute | muted : boolean | success :
Boolean | Mute or unmute the video plane | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setVideoMute","params":{"muted":true}} | {"jsonrpc":"2.0","id":1,"result":{"success":true}} |
org.rdk.player.getVideoMute | GetVideoMute | None | muted :
Boolean | Get video mute state | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoMute"} | {"jsonrpc":"2.0","id":1,"result":{"muted":false}} |
org.rdk.player.setAudioVolume | SetAudioVolume | volume : integer | success :
Boolean | Set audio volume | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setAudioVolume","params":{"volume":80}} | {"jsonrpc":"2.0","id":1,"result":{"success":true}} |
org.rdk.player.getAudioVolume | GetAudioVolume | None | volume :
Integer | Get audio volume | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioVolume"} | {"jsonrpc":"2.0","id":1,"result":{"volume":80}} |
org.rdk.player.getAudioLanguage | GetAudioLanguage | None | language : string |
| {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioLanguage"} | {"jsonrpc":"2.0","id":1,"result":{"language":"en"}} |
org.rdk.player.getAvailableAudioTracks | GetAvailableAudioTracks | allTracks boolean | tracks :AudioTrack[] | List available audio tracks | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAvailableAudioTracks","params":{"allTracks":false}} | {"jsonrpc":"2.0","id":1,"result":{"tracks":[{"index":0,"language":"en","rendition":"main","label":"English","codec":"mp4a.40.2","type":"AUDIO_STEREO","channels":2,"bitrate":128000},{"index":1,"language":"fra","rendition":"main","label":"French","codec":"mp4a.40.2","type":"AUDIO_STEREO","channels":2,"bitrate":128000}]}} |
org.rdk.player.setAudioTrack | SetAudioTrack | trackId : integer | success :
Boolean | Select an audio track by index | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setAudioTrack","params":{"trackId":1}} | {"jsonrpc":"2.0","id":1,"result":{"success":true}} |
org.rdk.player.getAudioTrack | GetAudioTrack | None | trackId:integer | Get index of active audio track | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioTrack"} | {"jsonrpc":"2.0","id":1,"result":{"trackId":0}} |
org.rdk.player.getAudioTrackInfo | GetAudioTrackInfo | None | trackInfo:AudioTrack | Get details of active audio track | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioTrackInfo"} | {"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}}} |
org.rdk.player.setSubtitleMute | SetSubtitleMute | muted: boolean | success: boolean | Mute or unmute subtitles | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setSubtitleMute","params":{"muted":true}} | {"jsonrpc":"2.0","id":1,"result":{"success":true}} |
org.rdk.player.getAvailableTextTracks | GetAvailableTextTracks | allTracks : boolean
| tracks :
TextTrack[] | List available text/subtitle tracks | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAvailableTextTracks","params":{"allTracks":false}} | {"jsonrpc":"2.0","id":1,"result":{"tracks":[{"index":0,"language":"en","rendition":"main","label":"English","type":"SUBTITLES"},{"index":1,"language":"spa","rendition":"main","label":"Spanish","type":"SUBTITLES"}]}} |
org.rdk.player.setTextTrack | SetTextTrack | trackId : integer | success : boolean | Select a text track by index | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setTextTrack","params":{"trackId":0}} | {"jsonrpc":"2.0","id":1,"result":{"success":true}} |
org.rdk.player.getTextTrack | GetTextTrack | None | trackId : integer | Get index of active text track | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getTextTrack"} | {"jsonrpc":"2.0","id":1,"result":{"trackId":0}} |
org.rdk.player.getVideoBitrate | GetVideoBitrate | None | bitrate : integer | Get current video bitrate | {"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoBitrate"} | {"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"}} |