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 methodAamp Player Instance MethodParameterResultSummaryJsonrpc example
org.rdk.player.openSession

sessionId: string
appName : string
traceUUID : string
sessionId : string
success : 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 : string
config : object
sessionId : string
success : 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 : string
success : boolean
sessionId: String
success : 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