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

  }

}
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

    }

  }

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

  }

}
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"}}
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"}
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}}
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}}
org.rdk.player.setRate
SetRate
rate : numberovershootCorrection : integer
success: boolean
Set playback rate / trick-play speed
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.setRate","params":{"rate":2,"overshootCorrection":0}}
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}}
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}}
org.rdk.player.setRateAndSeek
SetRateAndSeek
rate : integerposition : 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,"method":"org.rdk.player.getState"}
org.rdk.player.getPlaybackPosition
GetPlaybackPosition
None
position : Number
Get current playback position
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackPosition"}
org.rdk.player.getPlaybackDuration
GetPlaybackDuration
None
duration : Number
Get total stream duration
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackDuration"}
org.rdk.player.getPlaybackRate
GetPlaybackRate
None
rate  : Number
Get current playback rate
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getPlaybackRate"}
org.rdk.player.isLive
IsLive
None
isLive :Boolean
Check if stream is live
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.isLive"}
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}}
org.rdk.player.getVideoMute
GetVideoMute
None
muted : 

Boolean
Get video mute state
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoMute"}
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}}
org.rdk.player.getAudioVolume
GetAudioVolume
None
volume : 

Integer
Get audio volume
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioVolume"}
org.rdk.player.getAudioLanguage
GetAudioLanguage




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}}
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}}
org.rdk.player.getAudioTrack
GetAudioTrack
None
trackId:integer
Get index of active audio track
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioTrack"}
org.rdk.player.getAudioTrackInfo
GetAudioTrackInfo
None
trackInfo:AudioTrack
Get details of active audio track
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getAudioTrackInfo"}
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}}
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}}
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}}
org.rdk.player.getTextTrack
GetTextTrack
None
trackId : integer
Get index of active text track
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getTextTrack"}
org.rdk.player.getVideoBitrate
GetVideoBitrate
None
bitrate : integer 
Get current video bitrate
{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoBitrate"}
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}}


org.rdk.player.getVideoBitrates


GetVideoBitrates
None 


bitrates : 

integer[]


List all available video bitrates


{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getVideoBitrates"}


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


org.rdk.player.getInitialBitrate


getInitialBitrat
 

None
bitrate : integer 
Set the startup bitrate hint


{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getInitialBitrate"}


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


org.rdk.player.getMinimumBitrate


GetMinimumBitrate
None


bitrate : integer 


Get the ABR minimum bitrate floor 


{"jsonrpc":"2.0","id":1,"method":"org.rdk.player.getMinimumBitrate"}