You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 18 Next »
Every API maps one on one to a public method on the PlayerInstanceAAMP class declared in main_aamp.h in Aamp source code.
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 | { | { | |
org.rdk.player.configureSession | sessionId : stringconfig : object | sessionId : stringsuccess : boolean | Apply configuration to an open session | { | { | |
org.dk.player.closeSession | sessionId : stringsuccess : boolean | sessionId: Stringsuccess : boolean | Close and release a player session | { | { | |
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 : | 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 : | 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 : | 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 : | 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 : | 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 : | 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 : | 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 |
| 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"} |
|
rg.rdk.player.setLicenseServerURL | SetLicenseServerURL | url : | 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 | 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"}} |
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 | { | { | |
org.rdk.player.configureSession | sessionId : stringconfig : object | sessionId : stringsuccess : boolean | Apply configuration to an open session | { | { | |
org.dk.player.closeSession | sessionId : stringsuccess : boolean | sessionId: Stringsuccess : boolean | Close and release a player session | { | { | |
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 : | 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 : | 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 : | 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 : | 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 : | 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 : | 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 : | 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 |
| 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"} |
|
rg.rdk.player.setLicenseServerURL | SetLicenseServerURL | url : | 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 | 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":{"resolveStatus":true,"adId":"ad-001","startMS":60000,"durationMs":30000,"errorCode":"","errorDescription":""}} | |
org.rdk.player.onAdPlacementStart | Ad placement started | {"jsonrpc":"2.0","method":"org.rdk.player.onAdPlacementStart","params":{"adId":"ad-001","position":60000,"offset":0,"duration":30000,"errorCode":0}} |
org.rdk.player.onAdPlacementEnd | Ad placement ended | |
org.rdk.player.onAdPlacementError | Ad placement error | |
org.rdk.player.onAdPlacementProgress | Ad placement progress update | |
org.rdk.player.onID3Metadata | ID3 tag metadata extracted from stream | {"jsonrpc":"2.0","method":"org.rdk.player.onID3Metadata","params":{"data":"SUQzBAAAAAAAI1RTUFQ=","length":20}} |
org.rdk.player.onDrmMessage | DRM system message received | {"jsonrpc":"2.0","method":"org.rdk.player.onDrmMessage","params":{"data":"license renewal required"}} |
org.rdk.player.onContentGap | Content gap detected in stream | {"jsonrpc":"2.0","method":"org.rdk.player.onContentGap","params":{"timeMilliseconds":120000,"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.onContentProtectionDataUpdate | Content protection key data updated | {"jsonrpc":"2.0","method":"org.rdk.player.onContentProtectionDataUpdate","params":{"keyID":"AAECBA==","streamType":"video"}} |
org.rdk.player.onTuneTimeMetrics | {"jsonrpc":"2.0","method":"org.rdk.player.onTuneTimeMetrics","params":{"tuneMetricData":"{\"latency\":1500,\"fragmentDownloadTime\":200}"}} | |
org.rdk.player.onMonitorAVStatus | {"jsonrpc":"2.0","method":"org.rdk.player.onMonitorAVStatus","params":{"monitorAVStatus":"playing","videoPositionMS":12500,"audioPositionMS":12490,"timeInStateMS":5000,"droppedFrames":0}} | |
org.rdk.player.onMetricsData | {"jsonrpc":"2.0","method":"org.rdk.player.onMetricsData","params":{"type":1,"metricUUID":"550e8400-e29b-41d4-a716-446655440000","data":"{\"latency\":1200}"}} | |
org.rdk.player.onCCHandleReceived | {"jsonrpc":"2.0","method":"org.rdk.player.onCCHandleReceived","params":{"handle":12345}} |
DISCLAIMER: Please note that the use of the RDK Wiki is subject to its Privacy Policy & Terms of Use. In addition, this Wiki may be accessed by all RDK licensees and their contractors.
Powered by a free Atlassian Confluence Open Source Project License granted to RDKCentral. Evaluate Confluence today.