Global

Methods

# AmcConstants()

Represent Playback Mode

Properties
Name Type Attributes Default Description
IMC_MODE_ADAPTIVE number <optional>
0

Represents the VOD Stream

IMC_MODE_LIVE number <optional>
1

Represents the Live Stream

# AmcConstants()

Represent Playback State

Properties
Name Type Attributes Default Description
IMC_STATE_PLAY_NONE number <optional>
0
IMC_STATE_PLAY_STARTED number <optional>
1
IMC_STATE_PLAY_PAUSED number <optional>
2
IMC_STATE_PLAY_RESUMED number <optional>
3
IMC_STATE_PLAY_STOPPED number <optional>
4
IMC_STATE_SEEKING number <optional>
5
IMC_STATE_PLAY_COMPLETED number <optional>
6
IMC_STATE_BUFFERING_STARTED number <optional>
7
IMC_STATE_BUFFERING_STOPPED number <optional>
8
IMC_STATE_DOWNLOAD_STARTED number <optional>
9
IMC_STATE_DOWNLOAD_STOPPED number <optional>
10
IMC_STATE_DOWNLOAD_COMPLETED number <optional>
11
IMC_STATE_DOWNLOAD_PAUSED number <optional>
12
IMC_STATE_DOWNLOAD_CANCELLED number <optional>
13
IMC_STATE_DOWNLOAD_PLAY_READY number <optional>
14
IMC_STATE_ADS_STARTED number <optional>
15
IMC_STATE_ADS_COMPLETED number <optional>
16
IMC_STATE_DONE number <optional>
17

# AmcConstants()

IMC status codes, 1xx codes

Properties
Name Type Attributes Default Description
IMC_STATUS_SUCCESS number <optional>
0
IMC_STATUS_FAILURE number <optional>
100
IMC_STATUS_FILE_FORMAT_UNKNOWN number <optional>
101
IMC_STATUS_NO_NETWORK number <optional>
102
IMC_STATUS_HTTP_CONNECTION_FAILED number <optional>
103
IMC_STATUS_HTTP_ERROR number <optional>
104
IMC_STATUS_INVALID_HTTP_RESPONSE number <optional>
105
IMC_STATUS_NO_ENOUGH_SPACE number <optional>
106
IMC_STATUS_DRMAGENT_FAILED number <optional>
107
IMC_STATUS_INVALID_IMCCONF number <optional>
108
IMC_STATUS_INVALID_URL number <optional>
109
IMC_STATUS_INVALID_MEDIA_UID number <optional>
110
IMC_STATUS_INVALID_OWNER_UID number <optional>
111
IMC_STATUS_INVALID_MODE number <optional>
112
IMC_STATUS_DOWNLOAD_FAILED number <optional>
113
IMC_STATUS_INVALID_STATE number <optional>
114
IMC_STATUS_MEDIA_PLAYER_ERROR number <optional>
115
IMC_STATUS_FILE_TOO_LARGE number <optional>
117
IMC_STATUS_EXCEED_MAX_BANDWIDTH number <optional>
118
IMC_STATUS_EXCEED_MAX_FILESIZE number <optional>
119
IMC_STATUS_DEVICE_REGISTERED number <optional>
120
IMC_STATUS_DEVICE_REGISTER_FAILED number <optional>
121
IMC_STATUS_MEDIA_PATH_UNKNOWN number <optional>
122
IMC_STATUS_MEDIA_INFO_PARSE_ERROR number <optional>
123
IMC_STATUS_MEDIA_NOT_FOUND number <optional>
124
IMC_STATUS_INVALID_PARAMETER number <optional>
125
IMC_STATUS_BELOW_MIN_BANDWIDTH number <optional>
126
IMC_STATUS_INVALID_BANDWIDTH_PARAMETERS number <optional>
127
IMC_STATUS_INSUFFICENT_BANDWIDTH number <optional>
128
IMC_STATUS_NO_BITRATE_FOUND number <optional>
129
IMC_STATUS_LIVESTREAM_DOWN number <optional>
130
IMC_STATUS_BAD_PREVIEW_PARAMETER number <optional>
131
IMC_STATUS_EXCEED_MAX_RATING number <optional>
132
IMC_STATUS_OS_VERSION_NOT_SUPPORTED number <optional>
133
IMC_STATUS_STREAM_BLACKOUT number <optional>
134
IMC_STATUS_OUT_OF_MEMORY number <optional>
135
IMC_STATUS_STSTOKEN_SET_IN_WRONG_STATE number <optional>
137
IMC_STATUS_MDSTOKEN_GET_IN_WRONG_STATE number <optional>
139
IMC_STATUS_STREAM_COUNT_ACC_UNREACHABLE number <optional>
140
IMC_STATUS_CONTENT_NOT_ALLOWED_OVER_AIRPLAY number <optional>
141

For iphone do not reuse

IMC_STATUS_INTERNAL_SERVER_ERROR number <optional>
143

HTTP status code 500

IMC_STATUS_MANIFEST_REDIRECT number <optional>
144

For IE proxy redirect handling

IMC_STATUS_MAX_SESSION_EXCEED number <optional>
145

# AmcConstants()

IMC DRM status codes, 2xx codes

Properties
Name Type Attributes Default Description
IMC_STATUS_DRMAGENT_DEVICE_NOT_REGISTERED number <optional>
200
IMC_STATUS_DRMAGENT_RE_REGISTER_DEVICE number <optional>
201
IMC_STATUS_DRMAGENT_INVALID_RIGHTS number <optional>
202
IMC_STATUS_DRMAGENT_UPDATE_FAILED number <optional>
203
IMC_STATUS_DRMAGENT_INVALID_MEDIA_ID number <optional>
204
IMC_STATUS_DRMAGENT_MISSING_RIGHTS number <optional>
205
IMC_STATUS_DRMAGENT_RIGHTS_EXPIRED number <optional>
206
IMC_STATUS_DRMAGENT_CLOCK_MOVED_BACK number <optional>
207
IMC_STATUS_DRMAGENT_INVALID_USER number <optional>
212
IMC_STATUS_DRMAGENT_BLOCKED_USER number <optional>
213
IMC_STATUS_DRMAGENT_INVALID_MESSAGE number <optional>
215
IMC_STATUS_DRMAGENT_MEDIA_NOT_YET_ACTIVE number <optional>
216
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_OUT_OF_HOME number <optional>
220
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_DESKTOP number <optional>
221

For iphone do not reuse

IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_AIRPLAY number <optional>
222

For iphone do not reuse

IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_SEEKFWD number <optional>
224
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_SEEKREV number <optional>
225
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_FF number <optional>
226
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_RW number <optional>
227
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_PAUSE number <optional>
228
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_RESUME number <optional>
229
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_RESTART_WINDOW number <optional>
230
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_RESTART_NOW number <optional>
231
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_SEEK_SKIP number <optional>
232
IMC_STATUS_DRMAGENT_NO_RIGHTS_FOR_TIMESHIFT number <optional>
233

# AmcConstants()

AMC HTML5 ERRORS 500xx

Properties
Name Type Attributes Default Description
IMC_STATUS_INVALID_DRM_TOKEN number <optional>
50000
IMC_STATUS_BROWSER_NOT_SUPPORTED number <optional>
50001
IMC_STATUS_BROWSER_VERSION_NOT_SUPPORTED number <optional>
50002
IMC_STATUS_INVALID_BEACON_RESPONSE number <optional>
50003
IMC_STATUS_EMPTY_PROGRAM_URL number <optional>
50004
IMC_STATUS_TIMELINE_GAP number <optional>
50005
IMC_STATUS_PLAYBACK_ERROR number <optional>
50006
IMC_STATUS_CAPABILITY_ERROR number <optional>
50007
IMC_STATUS_KEY_MESSAGE_ERROR number <optional>
50008
IMC_STATUS_KEY_SESSION_ERROR number <optional>
50009
IMC_STATUS_HLS_ERROR number <optional>
50010
IMC_STATUS_DECRYPTION_KEYERR_UNKNOWN number <optional>
50011
IMC_STATUS_DECRYPTION_KEYERR_CLIENT number <optional>
50012
IMC_STATUS_DECRYPTION_KEYERR_SERVICE number <optional>
50013
IMC_STATUS_DECRYPTION_KEYERR_OUTPUT number <optional>
50014
IMC_STATUS_DECRYPTION_KEYERR_HARDWARECHANGE number <optional>
50015
IMC_STATUS_DECRYPTION_KEYERR_DOMAIN number <optional>
50016
IMC_STATUS_XML_PARSER_ERROR number <optional>
50017
IMC_STATUS_CC_ERROR number <optional>
50018
IMC_STATUS_MEDIASOURCE_ERROR number <optional>
50019
IMC_STATUS_MANIFEST_CODEC_ERROR number <optional>
50020
IMC_STATUS_MANIFEST_PARSE_ERROR number <optional>
50021
IMC_STATUS_MANIFEST_NOSTREAMS number <optional>
50022
IMC_STATUS_INVALID_VIDEO_CONTAINER number <optional>
50023
IMC_STATUS_INVALID_DRM_ERROR number <optional>
50024

# AmcConstants()

PROGRAM ERRORS 5005x

Properties
Name Type Attributes Default Description
IMC_STATUS_PROGRAM_MISSING_MEDIAS number <optional>
50050
IMC_STATUS_PROGRAM_INVALID_ATTRIBUTES number <optional>
50051
IMC_STATUS_PROGRAM_QUERY_INVALID_TIME number <optional>
50052

# AmcConstants()

IHD (IN HOME DETECTION) ERRORS 5006x

Properties
Name Type Attributes Default Description
IMC_STATUS_IHD_INVALID_PARAMETER number <optional>
50060
IMC_STATUS_IHD_INVALID_STATUS_IN_RESPONSE number <optional>
50061

# AmcConstants()

Analytics ERRORS 5007x

Properties
Name Type Attributes Default Description
IMC_STATUS_AN_INVALID_PARAMETER number <optional>
50070

# AmcConstants()

ChromeCast ERRORS 6000x

Properties
Name Type Attributes Default Description
IMC_STATUS_CR_INVALID_MESSAGE number <optional>
60001

ChromeCast Receiver Errors

# AmcPlatform() → {Array}

supportedPlatforms(): List of platforms supported by AMC. Each set of platform constraints are tested against
the current detected platform and all specified constraints must match for it to be accepted.
A platform is supported if any of the platforms in the array match.

common os names:
"Windows", "Windows Server 2008 R2 / 7", "Windows Server 2008 / Vista", "Windows XP", "OS X",
"Ubuntu", "Debian", "Fedora", "Red Hat", "Android", "iOS", "Windows Phone", "Linux"

common browser names:
"Chrome", "Electron", "Firefox", "Firefox for iOS", "IE", "Microsoft Edge", "PhantomJS",
"Safari", "Opera Mini", "Opera", "Chrome Mobile", "Firefox Mobile", "IE Mobile" and "Opera Mobile"

Returns:
Type
Array

# AmcPlatform(v1, v2) → {boolean|number}

compareVersions(): compare versions of browser

Parameters:
Name Type Description
v1 string
v2 string
Returns:
Type
boolean | number

# AmcPlatform(otherSupportedPlatforms) → {boolean}

isSupported(): returns true if the detected platform is supported. The detected platform must match any of
the supported platforms in the supportedPlatforms array. An array of platforms may also
be specified as a parameter, which would be tested instead of the local supportedPlatforms

Parameters:
Name Type Description
otherSupportedPlatforms object
Returns:
Type
boolean
Example
[{ browser: 'Microsoft Edge', browserVersion: '40.15063' }];

# AmcPlatform() → {string}

platformHeader(): return the platform header value that corresponds to the current platform

Returns:
Type
string

# AmcPlatform() → {object}

platformInfo(): return the platform information corresponds to the current platform

Returns:
Type
object

# AmcPlatform() → {boolean}

isChrome(): verified Chrome browser or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isIE(): verified Internet Explorer browser or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isSafari(): verified Safari browser or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isEdge(): verified Microsoft Edge browser or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isFirefox(): verified Firefox browser or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isWindows(): verified Operation System is Windows or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isMac(): verified Operation System is Mac or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isLinux(): verified Operation System is Linux or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isAndroid(): verified Device is Android or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isChromeAfter64(): verified Chrome browser version ≥ to 64 or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isIEonWin8_1(): verified Internet Explorer browser at Windows8 OS or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isChromeCast(): verified Device is Chromecast Receiver Dongle/STB or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isWebOS(): verified Device is LG TV or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isTizenTV(): verified Device is Tizen TV or not

Returns:
Type
boolean

# AmcPlatform() → {boolean}

isXbox(): verified Device is Xbox or not

Returns:
Type
boolean

Events

# AMC_EVENT_AD_BREAK

This Event contains advertisement break information

Properties
Name Type Description
value1 object
Properties
Name Type Description
type string

AdMarker Event type

start string

AdMarker Event start time

end string

AdEvent Event duration

# AMC_EVENT_AD_FINISHED

This Event contains advertisement complete information

Properties
Name Type Description
value1 object
Properties
Name Type Description
id string

AdMarker Event id

type string

AdMarker Event type

messageData string

AdEvent Stream data

# AMC_EVENT_AD_MARKER_DATA

This event contains admarkers position & duration

Properties
Name Type Description
admarkers Array.<number>

contains position & duration

Example
[{position: 10000, duration: 30000}]; all the values are in millisecond

# AMC_EVENT_AD_QUARTILE

This Event contains advertisement quartile information

Properties
Name Type Description
value1 object
Properties
Name Type Description
id string

AdMarker Event id

type string

AdMarker Event type

messageData string

AdEvent Stream data

Example
{ "id": "2", "messageData": "https://mk-bang-mkp...midpoint", "type": "Midpoint" }

# AMC_EVENT_AD_STARTED

This Event contains advertisement start information

Properties
Name Type Description
value1 object
Properties
Name Type Description
id string

AdMarker Event id

type string

AdMarker Event type

messageData string

AdEvent Stream data

# AMC_EVENT_AUDIO_TRACKS_CHANGED

Audio track changed on player

Properties
Name Type Description
value1 object
Properties
Name Type Description
audioTracks Array.<string>

Array of available audio track names

currentAudioTrack string

Current audio track name

Example
{ value1: { audioTracks: ["Audio-dyHiAZ8-mp4a.40.2-eng", "Audio-dyHjAZ8-mp4a.40.2-spa"], currentAudioTrack: "Audio-dyHiAZ8-mp4a.40.2-eng" } }

# AMC_EVENT_BIT_RATE_CHANGED

Player bitrate change

Properties
Name Type Description
value1 number

Bitrate in bps

Example
{ value1: 1700000 }

# AMC_EVENT_DEVICE_REGISTERED

Device registration complete

# AMC_EVENT_ERROR

Generic error from amc manager

Properties
Name Type Description
code string

Error code

message string

Error message

# AMC_EVENT_INIT_COMPLETE

Amc manager initialization complete

# AMC_EVENT_METRICS_UPDATE

Player metrics updated

Properties
Name Type Description
value1 object
Properties
Name Type Description
audio object
Properties
Name Type Description
bandwidthValue number

Bitrate in bps

bufferLengthValue number

Audio buffer length

codec string

Audio codec

mediaType string

Media Type(Audio)

video object
Properties
Name Type Description
bandwidthValue number

Bitrate in bps

bufferLengthValue number

Video buffer length

codec string

Video codec

droppedFrames number

Dropped frams

frameRate string

Video frame rate

latency number

Playback latency in seconds

mediaType string

Media Type(Video)

resolution string

Video resolution

Example
{value1:{ audio:{ bandwidthValue: 96000, bufferLengthValue: 0, codec: "mp4a.40.2", mediaType: "audio"}, video:{ bandwidthValue: 0, bufferLengthValue: 0.06, codec: undefined, droppedFrames: 0, frameRate: undefined, latency: 105.532, mediaType: "video", resolution: "0x0"}}}

# AMC_EVENT_PERIOD_SWITCH

Player Period Switch

Properties
Name Type Description
value1 object
Properties
Name Type Description
sourcePeriod object
Properties
Name Type Description
periodId string

Id of the initial period

targetPeriod object
Properties
Name Type Description
periodId string

Id of the final period

timestamp number

Current timestamp

type string

Type of event

Example
{value1:{sourcePeriod:{periodId: "0-0-0"}, targetPeriod:{periodId: "0-0-1"}, timestamp: 1614839253529, type: "periodswitch"}}

# AMC_EVENT_PERIOD_SWITCHED

Player Period Switched

Properties
Name Type Description
value1 object
Properties
Name Type Description
sourcePeriod object
Properties
Name Type Description
periodId string

Id of the initial period

targetPeriod object
Properties
Name Type Description
periodId string

Id of the final period

timestamp number

Current timestamp

type string

Type of event

Example
{value1:{sourcePeriod:{periodId: "0-0-0"}, targetPeriod:{periodId: "0-0-1"}, timestamp: 1614839253529, type: "periodswitch"}}

# AMC_EVENT_PLAY_READY

Player ready

# AMC_EVENT_PLAYER_METADATA

Any metadata is encountered in the stream

Properties
Name Type Description
value1 object
Properties
Name Type Description
metadata object
Properties
Name Type Description
content string
properties object
Properties
Name Type Description
id string
messageData string
metadatatype string

Type of metadata

Example
{value1:{ metadata:{ content: undefined, properties: {  id: "1", messageData: "https://mk-bang-mkpz-01.cid.mr.tv3cloud.com/track?streamId=AdPersonalizationSTPZDashVOD&amp;device=mf_vod_dash_abr_gdrm_v1wv3_hd&amp;zoneid=1234_3&amp;channelId=Default_9003&amp;providerId=AdSystem1&amp;assetId=Default_7009&amp;duration=30.000&amp;elapsedTime=7.500&amp;tracking=http%3A%2F%2Ftracking%2Fad_30s%3Fe%3DfirstQuartile"}}, metadataType: "eventstream"}}

# AMC_EVENT_PLAYOUT_METRIC_UPDATE

Playout metrics updated

Properties
Name Type Description
value1 object
Properties
Name Type Description
vsppSessionId string

Vspp session ID

startPlayPosition number

StartPlayPosition

stopPlayPosition number

Stop Playposition

bytesTransferred number

BytesTransferred

transferDuration number

transferDuration

droppedFrames number

Dropped Video frames

bitrateVideoProfiles Array.<number>

Available Bitrate profiles

# AMC_EVENT_PROFILING

Current Time to load a specific Module or API response

# AMC_EVENT_PROGRAM_CHANGED

Program change

Properties
Name Type Description
value1 object
Properties
Name Type Description
duration number

Duration of program in seconds

muid string

Media Id of program

name string

Name of program

pid string

Program Id of program

start string

Start time of program

Example
{ value1: { duration: 900000, muid: "LIVE$2100010912", name: "fake_2100010913_423708", pid: "LIVE$2100010912_2021-03-03 17:45:00", start: "2021-03-03T17:45:00Z" } }

# AMC_EVENT_PROGRAM_QUERY_STATUS

Program query status change

Properties
Name Type Description
isProgramInfoAvailable boolean

Availability of program information

Example
{isProgramInfoAvailable: false}

# AMC_EVENT_PROGRAM_RESTRICTIONS

Playback control blocking PBRs check

Properties
Name Type Description
programRestrictions any

List of playback control blocking PBRs

Example
{programRestrictions: []}

# AMC_EVENT_SEEK_COMPLETE

Player seek complete

# AMC_EVENT_STATE_CHANGED

Player state change

Properties
Name Type Description
value1 number

Enum corresponding a WMC state

Example
{ value1: 1 }

# AMC_EVENT_TEXT_TRACKS_ADDED

Subtitle tracks added

Properties
Name Type Description
value1 object
Properties
Name Type Description
currentSubtitleTrack string

Current text track name

subtitleTracks Array.<string>

Array containing names of available text tracks

currentTextTrack string

Current text track name

textTracks Array.<string>

Array containing names of available text tracks

Example
{value1: {currentSubtitleTrack: "fra", subtitleTracks: ["fra"], currentTextTrack: "CC1", textTracks: ["CC1","sub0"]}}

# AMC_EVENT_TEXT_TRACKS_CHANGED

Subtitle track change

Properties
Name Type Description
value1 object
Properties
Name Type Description
currentSubtitleTrack string

Current text track name

subtitleTracks Array.<string>

Array containing names of available text tracks

currentTextTrack string

Current text track name

textTracks Array.<string>

Array containing names of available text tracks

Example
{value1: {currentSubtitleTrack: "fra", subtitleTracks: ["fra"], currentTextTrack: "CC1", textTracks: ["CC1","sub0"]}}

# AMC_EVENT_VIDEO_POSITION_CHANGED

Player video position change

Properties
Name Type Description
videoDuration number
videoPosition number
Example
{videoDuration: 867.6567900390625, videoPosition: 867.6567900390625}

# BEACON_FAIL_OPEN_STATUS

Beacon Fail Open mode

Properties
Name Type Description
isInBeaconFailOpenMode boolean

Determines whether WMC is executing in beacon fail open mode

isProgramInfoAvailable boolean

Determines the program information availability status

Example
{isInBeaconFailOpenMode: true, isProgramInfoAvailable: true}