CatchUp is not allowed.
FastForward is not allowed.
A general network error has occurred while downloading resource E.g.: the manifest or a segment of the stream.
When a segment request fails, the player tries to load the same segment of different quality from a different CDN, if provided. If all of the request fails, this error is thrown. For HLS streams, backup streams are used to get the same segment from a different origin.
For live streams, failed segment downloads are per default ignored and the player continues with the next segment instead of throwing an error.
Please look at the response of the failed network request to determine the exact reason of the failure.
Pause is not allowed.
The DRM certificate specified in the MKDrmConfig is not valid, the player was unable to parse the provided certificate or the network request for the certificate failed.
This error can be thrown under the following conditions:
Please verify that license and/or server certificate URLs are correct, and that the server certificate specified in the DRM config is valid, if one was specified.
The DRM License request failed.
This error occurs when a DRM license request fails and the player could not retrieve a valid license from the license server. It can occur for a multitude of different reasons, but the most common ones include:
Troubleshooting steps for license requests rejected by the DRM license server include:
Some Smart TVs also need special configuration options for PlayReady protected content playback. For example, most platforms required both plaintextChallenge and utf8message to be set, along with Content-Type headers. If those options are not set, DRM license requests may fail.
An example of such a MKPlayReadyDrmConfig, that needs to be used on most smart TVs, is shown below:
{
LA_URL: '<LA URL>',
utf8message: true,
plaintextChallenge: true,
headers: {
'Content-Type': 'text/xml',
}
}
No init data was found for the used key system in the manifest or the segments.
In order to start a DRM license request, DRM init data is needed. This init data may be present in the manifest, the segments of the stream, or both. If no init data could be found in the manifest or the segments, the player will be unable to start a DRM license request and therefore throw this error.
Please make sure that the DRM init data is present in the manifest and/or the segments of the stream.
The video element or an associated DRM Key Session has thrown a DRM key error.
This error is triggered by the key session or the video element when a DRM error is encountered during playback. There are multiple different possible causes for this error, but the most common ones are:
On certain platforms, a detailed error message is logged to the console, if one is available.
Unable to create or initialize a DRM key session.
This error might occur during the initialization of a DRM Media Key Session which is used to both start DRM license requests as well as providing the Content Decryption Module with the licenses returned by the license server.
As the DRM init data is used to generate Media Key Sessions, this error can be an indication of the init data being invalid or not supported on the current platform.
Please verify, that the init data provided to the player is valid.
Key size is not supported.
No supported Fairplay Key System is available.
This error occurs when an attempt is made to play back a Fairplay protected stream on a platform that doesn't support any of the required Fairplay Key Systems.
Please try to use a different DRM key system that is supported by the current platform. It is possible, and recommended, to define more than one key system configuration in the MKDrmConfig. The player will then choose the first key system, that is supported by the platform, and use it to play back the content.
The DRM Media Keys object could not be created or initialized.
The Media Keys object is associated to the video element and used to create Media Key Sessions, which are used to interface with the Content Decryption Module. This error might occur if the creation of the Media Keys, or attaching them the video element failed, which can happen because the key system is not supported by the platform or the data provided to create the instance is not valid.
Please check the logs to determine the exact reason of the failure.
When no DRM configuration was specified to playback a DRM protected source.
The current platform doesn't support any of the key systems specified in the MKSourceConfig that are required to play back the content.
Different platforms support different DRM key systems, and when multiple key system configurations are provided in the drm, the first supported one is chosen. If, however, the current platform doesn't support any of the key systems provided in the source config, this error will be thrown.
In order to support DRM protected content playback on most platforms it is recommended to supply at least a MKPlayReadyDrmConfig and a MKWidevineModularDrmConfig for DRM protected sources.
No license server URL (LA_URL) was specified to playback the DRM protected content.
Invalid header key/value pair encountered while parsing a PlayReady license request.
This error can occur, when the XML provided to the player through the DRM key-message event is malformed or contains invalid DRM request headers
The DRM protected content cannot be played back due to the device not being able to securely present the content.
This error can occur when an attempt is made to play back DRM protected content on a device or platform that is not capable of playing back the content in a secure manner. In most cases, this error occurs when a non-HDCP-capable monitor is connected to the system.
The security level required to play back DRM protected content can also be configured on the DRM license server side. In order to lessen the required security level, and to e.g. allow content playback on platforms that for example don't support hardware decryption, please contact you DRM provider
The Fairplay DRM certificate request failed.
This error occurs when the Fairplay certificate could not be loaded due to a network error. Please check the network response in the error to determine the exact failure reason.
Per default, the certificate request is retried once. The number of retries can be set using maxCertificateRequestRetries
The manifest download request timed out.
This error occurs when the manifest request was not completed within the default timeout of 20 seconds, and the request was therefore aborted, which is usually an indication of a poor network connection.
When the native player is used with an HLS source, the player expects playback to start within a default timeout of 10 seconds. Should playback not start within that time frame, this error is thrown as well.
Please check the network conditions and ensure, that the manifest is available and can be loaded.
The segment download timed out.
This error occurs when the segment download does not complete within the default timeout of 20 seconds, and the request was therefore aborted, which is usually an indication of a poor network connection.
When a segment download fails due to a timeout, the player will attempt to load the same segment again from a different CDN/origin. This error is not thrown when segment downloads fail for DASH live streams, as segments that couldn't be downloaded are skipped without throwing an error in that case.
Please check the network conditions and ensure, that the segments are available and can be loaded.
An error occurred while trying to demux or decode the content.
This error can occur when the browser or device is unable to either demux or decode the content. This can have a multitude of reasons, but it is usually an indication of there either being an issue with the asset itself, or the player not properly supporting the provided stream.
Furthermore, this error can be thrown whenever the video element throws a MEDIA_ERR_DECODE, which is also an indication of there being an underlying issue with the provided stream.
The player license server did not grant playback for the given player key as specified in the MKPlayerConfig.
The most common cause for this error is that an incorrect or non-existing player key was specified in the MKPlayerConfig.
No MKPlayerConfig was provided when attempting to create a player instance.
The MKPlayerConfig is used to set different configuration options. e.g. key, buffer or playback and is required when creating a player instance.
Example:
const config = {
key: "<PLAYER_KEY>",
playback: {
muted: false,
autoplay: false
}
};
The player build is domain-locked and not authorized to play content on the current domain.
For domain-locked players, a list of allowed domains is specified at build time, and the player is only allowed to play back on the specified domains or subdomains of them.
Please make sure that the host name matches the specified domain or is a subdomain of it.
The player is not allowed to play back content on the current domain.
This error is usually caused by the domain not being added to the list of allowed domains in the dashboard and can usually be resolved by adding the current domain to it.
An attempt was made to create a player instance with a container element that is not an instance of HTMLElement.
Some common causes for this error are:
document.getElementById(<id>), but using an incorrect IDPlease ensure that the container element is available before creating the player instance.
Could not initialize the rendering engine, which is either using the Media Source Extensions if the Html5 player type is used or the native video element playback capabilities if the Native player type is used.
This error occurs when the platform does not support the MKPlayerType and MKStreamType for the provided MKSourceConfig on the current platform, and is therefore unable to instantiate a suitable rendering engine.
It can also occur when no suitable rendering engine is available for the MKPlayerType and MKStreamType specified in the preferredTech.
Ensure the following to fix the issue:
The manifest could not be loaded.
The manifest network request failed, please check the network request's response for the failure reason. In case an HLS stream was being loaded, this error can occur when the master playlist request or any of the initial variant playlist requests failed.
The detailed failure reason can be found in the network request's response.
This error is only triggered after the manifest request has failed a certain number of retries, By default, manifest requests are retried 2 times.
The downloaded segment is empty.
This error occurs whenever an empty MP4 init-segment was downloaded, which usually indicates that there is an underlying issue with the stream. It is therefore recommended to check the segments of the stream - there may be an issue on the encoding side that caused empty segments to be generated.
The encryption method used by the source is not supported.
Currently, this error is thrown when an attempt is made to play back a SAMPLE-AES encrypted stream.
Consider using a different encryption method, if possible - for example AES-128.
The Technology selected through the forceTechnology parameter, that was passed to the load method, is not supported on the current platform.
An error was encountered while playing, or trying to play back an HLS stream.
This error can occur while loading an HLS stream, usually while loading or parsing of the variant playlists. For example, this error can be thrown when all network requests for all variant playlists fail. In case parsing of any of the loaded playlists fails, this error will also be thrown.
Furthermore, this error can also occur when an HLS source is played back with the native player and the video element throws a playback error. In this case a more detailed failure reason may be included in the error message, if exposed by the video element.
Please check the error message in the event for the exact reason of the failure.
The SourceConfig provided to the load method is invalid.
Ensure that the MKSourceConfig contains at least one valid source URL for any of the supported stream types on the current platform.
The downloaded manifest is invalid.
This error is fired when the downloaded manifest is not valid or could not be parsed. Different stream types might fail because of different validation issues in the manifest.
The current platform doesn't support any of the technologies needed to play back any of the sources provided in the MKSourceConfig.
The platform does not support any of the technologies needed to play back the provided source.
The error is fired when there is no support for any of the stream types on the current platform for the provided MKSourceConfig.
Different platforms support different MKPlayerType for a given MKStreamType in the MKSourceConfig.
The stream type is not supported.
When a more specific error could not be determined.
Playback is not allowed for AirPlay.
Playback is not allowed on android devices.
Playback is not allowed for casting.
Playback is not allowed on desktop devices.
Playback is not allowed over extended display (Ex: via HDMI)
Playback is not allowed on iOS devices.
Playback is not allowed when out of home network coverage.
Playback is not allowed on phone devices.
Playback is not allowed on STB devices.
Playback is not allowed on tablet devices.
RESTART is not allowed.
Resume is not allowed.
Rewind is not allowed.
SeekBackward is not allowed.
SeekForward is not allowed.
SeekSkip is not allowed.
TimeShift is not allowed.
Typically caused due to and error with one or more input parameters to the TVP Backend request or due to an internal error for which an appropriate error code and message could not be determined.
HTTP 4xx or 5xx error that occur during TVP requests.
Typically seen when the DeviceProfile header information passed to the TVP backend is not properly base64 encoded. Users of the MKPlayer SDK will typically not be able to see/reproduce this error as MKPlayer SDK ensures to pass the correct DeviceProfile header information to the TVP Backend.
The provided STS token is either missing or invalid.
Typically seen when the DeviceProfile header is missing from the headers in the HTTP request. Users of the MKPlayer SDK will typically not be able to see/reproduce this error as MKPlayer SDK ensures to pass the correct DeviceProfile header information to the TVP Backend.
Typically caused due to and error with one or more input parameters to the TVP Backend request or due to an internal error for which an appropriate error code and message could not be determined.
HTTP 4xx or 5xx error that occur during TVP requests.
Typically seen when the DeviceProfile header information passed to the TVP backend is not properly base64 encoded. Users of the MKPlayer SDK will typically not be able to see/reproduce this error as MKPlayer SDK ensures to pass the correct DeviceProfile header information to the TVP Backend.
Typically seen when the specified mediaId in the source configuration is not valid.
Typically seen when environmentConfig does not contain a valid ownerUid or when the applicationToken in the source configuration for Live source is missing.
Typically seen when the roll request does not carry the sessionId URL query parameter.
The provided STS token is either missing or invalid.
Typically seen when the DeviceProfile header is missing from the headers in the HTTP request. Users of the MKPlayer SDK will typically not be able to see/reproduce this error as MKPlayer SDK ensures to pass the correct DeviceProfile header information to the TVP Backend.
Typically seen when no mediaId was specified in the source configuration.
MKPlayer Error Codes.
The following error codes are to be expected from MKPlayer when an error occurs. Details about the error codes and its message with reason is as detailed below.
The error codes are divided into three categories:
MediaKind TV Platform (TVP) Backend errors
These error codes are typically surfaced when something goes wrong during the SDK and TVP Backend communication (via REST API).
These errors can be expected during playback of MKRegisteredSource content.
The errors surfaced for this category have the error code format 4-6X-[code]
Player errors
These errors codes are typically sufraced when something goes wrong during player setup, drm setup, network error when downloading content or any other playback related error.
These errros can be expected for all source types.
The errors surfaced for this category have the error code format 4-7x-[code]
Program entitlement/restrictions errors
These error codes are typically surfaced in an event when the source content being played as entitlements/restrictions set to prevent playback from starting.
These errors can be expected during playback of MKRegisteredSource content.
The error codes for this category have the error code format 4-80-[code]