This document will cover the SDK-specific error codes. The sources for these errors include:

   • Player Javascript components, and loading of said components    • Native ExoPlayer provider and the exceptions it may throw    • Native features such as Picture-In-Picture

The error codes follow a specific schema:

NameDescription
Severity   • Setup errors are delivered via a "setupError" event and are the most severe, these errors start with a 1. <br />    • Fatal errors are delivered via "error" events, these errors start with a 2. <br />    • Warning errors are delivered via "warning" events, these errors start with a 3.
Category <br /><br /> Sub-categoryCategories include features, providers, and other logical groups or components of the player.
TypeType of error identified by the last three digits of the error code.
CodeIdentifier for the error <br /><br /> Error code descriptions are listed on this page.

Use the sections below to help you troubleshoot and programmatically handle player-related issues.

## Setup Errors

<a name="misc"></a>

### Miscellaneous

CodeReasonDescriptionDisplayed Message
<a name='100000'></a> 100000An unknown setup error occurred.noneSorry, the video player failed to load.
<a name='100001'></a> 100001Setup took longer than 60 seconds to complete.Setup Timeout Error: Setup took longer than 30 seconds to complete.Sorry, the video player failed to load.
<a name='100011'></a> 100011Missing license key: the key was not found in the setup config or the `jwplayer.key` global.Error setting up player: Missing license keySorry, the video player failed to load.
<a name='100012'></a> 100012Invalid license key.Error setting up player: Invalid license keySorry, the video player failed to load.
<a name='100013'></a> 100013Expired license key.Error setting up player: Invalid license keySorry, the video player failed to load.
<a name='100014'></a> 100014License key is not supported in unlimited edition.-Sorry, the video player failed to load.

### Player

The player can still emit loading errors when trying to load web player assets such as `jwplayer.core.js` and the codes and error messages for those events are documented here: <a href="https://developer.jwplayer.com/jwplayer/docs/jw8-player-errors-reference#loading-javascript-components">Player errors reference</a>.

<a name="loading-js"></a>

### Loading JS Components

CodeReasonNameDisplayed Message
<a name='101134'></a> 101134`Native-playlistitem-callback.js` failed to load`NATIVE_PLAYLISTITEM_CALLBACK_ERR_CODE`Sorry, the video player failed to load
<a name='1011361'></a> 101136`Jscontext.compatibility.js` failed to load`CONTEXT_COMPATIBILITY_ERR_CODE`Failed to load a component of the player.
<a name='101137'></a> 101137`Jscontext.polyfills.js` failed to load`CONTEXT_POLYFILLS_ERR_CODE`Failed to load a component of the player.
<a name='104163'></a> 104163`Html5_provider_mobile.js` failed to load`HTML5_PROVIDER_ERR_CODE`Sorry, the video player failed to load
<a name='104164'></a> 104164`Native_provider_pool.js` failed to load`NATIVE_PROVIDER_POOL_ERR_CODE`Sorry, the video player failed to load

<br /> <hr />

## Player Errors

<a name="provider"></a>

### Provider

These errors are generated due to ExoPlayer exceptions.

<a name="misc"></a>

#### Miscellaneous

CodeReasonExceptionNameDisplayed Message
<a name='270000'></a> 270000Thrown to indicate that a method has been passed an illegal or inappropriate argument`IllegalArgumentException``ILLEGAL_ARGUMENT_ERROR`This video file cannot be played.
<a name='270001'></a> 270001Signals that an I/O exception of some sort has occurred`IOException``IO_ERROR`This video file cannot be played.

<a name="exoplayer2"></a>

#### Exoplayer2

CodeReasonExceptionNameDisplayed Message
<a name='270100'></a> 270100Thrown when a non-recoverable playback failure occurs`ExoPlaybackException``GENERIC_PLAYBACK_ERROR`This video file cannot be played.
<a name='270101'></a> 270101Thrown when an attempt is made to seek to a position that does not exist in the player's Timeline`IllegalSeekPositionException``ILLEGAL_SEEK_POSITION_ERROR`This video file cannot be played.
<a name='270102'></a> 270102Thrown when an error occurs parsing media data and metadata`ParserException``PARSER_ERROR`This video file cannot be played.

<a name="datasource"></a>

#### DataSource

CodeReasonExceptionNameDisplayed Message
<a name='271000'></a> 271000Thrown when an error is encountered when trying to read from a `HttpDataSource``HttpDataSourceException``GENERIC_HTTP_DATA_SOURCE_ERROR`This video file cannot be played.
<a name='271010'></a> 271010Thrown when cleartext HTTP traffic is not permitted`CleartextNotPermittedException``CLEARTEXT_NOT_ALLOWED_ERROR`This video file cannot be played.
<a name='271020'></a> 271020Thrown when the content type is invalid`InvalidContentTypeException``INVALID_CONTENT_TYPE_ERROR`This video file cannot be played.
<a name='271XXX'></a> 271XXXThrown when an attempt to open a connection results in a response code not in the 2xx range. Error code is generated by adding `271000+HttpStatusCode`. `HttpStatusCode` is within the range of `400-599``InvalidResponseCodeException``INVALID_RESPONSE_CODE_ERROR`This video file cannot be played
<a name='271403'></a> 271403Thrown when an attempt to access the requested resource is forbidden <table> <td style="background-color:#E4EDF3"><strong>NOTE</strong>: The server throws code `271403` when the requested resource is restricted by JWP content protection. Content protection methods include: - Geoblocking - DRM - URL signing </table>`InvalidResponseCodeException``INVALID_RESPONSE_CODE_ERROR`This video file cannot be played
<a name='271710'></a> 271710Thrown when an `IOException` is encountered reading a local asset.`AssetDataSourceException``ASSET_DATA_SOURCE_ERROR`This video file cannot be played.
<a name='271720'></a> 271720Thrown when an `IOException` is encountered reading from a content URI.`ContentDataSourceException``CONTENT_DATA_SOURCE_ERROR`This video file cannot be played.
<a name='271730'></a> 271730Thrown when a `FileDataSource` encounters an error reading a file.`FileDataSourceException``FILE_DATA_SOURCE_ERROR`This video file cannot be played.
<a name='271740'></a> 271740Thrown when an `IOException` is encountered reading from a raw resource.`RawResourceDataSourceException``RAW_DATA_SOURCE_ERROR`This video file cannot be played.

<a name="mediacodec"></a>

#### MediaCodec

CodeReasonExceptionNameDisplayed Message
<a name='272000'></a> 272000Thrown when a failure occurs in the decoder.`MediaCodecRenderer.DecoderException``GENERIC_DECODER_ERROR`This video file cannot be played.
<a name='272001'></a> 272001Thrown when a failure occurs instantiating a decoder.`MediaCodecRenderer.DecoderInitializationException``DECODER_INIT_ERROR`This video file cannot be played.
<a name='272002'></a> 272002Thrown when a failure occurs instantiating a decoder.`MediaCodecRenderer.DecoderInitializationException``DECODER_INIT_ERROR_UNSUPPORTED`This video file cannot be played.
<a name='272003'></a> 272003Thrown when an error occurs querying the device for its underlying media capabilities.`MediaCodecUtil.DecoderQueryException``DECODER_QUERY_ERROR`This video file cannot be played

### Media

<a name="source"></a>

#### Source

CodeReasonExceptionNameDisplayed Message

Thrown when a `ClippingMediaSource` cannot clip its wrapped source.`ClippingMediaSource.IllegalClippingException`none
<a name='274000'></a> 274000Thrown when a live playback falls behind the available media window.`BehindLiveWindowException``BEHIND_LIVE_WINDOW_ERROR`
<a name='274001'></a> 274001Thrown when a `MergingMediaSource` cannot merge its sources.`MergingMediaSource.IllegalMergeException``ILLEGAL_MERGE_ERROR`
<a name='274002'></a> 274002Thrown if the input format was not recognized.`UnrecognizedInputFormatException``INPUT_FORMAT_ERROR`

<a name="audio"></a>

#### Audio

CodeReasonExceptionNameDisplayed Message
<a name='274100'></a> 274100Thrown when an audio decoder error occurs.`AudioDecoderException``AUDIO_DECODER_ERROR`This video file cannot be played.
<a name='274101'></a> 274101Exception thrown when a processor can't be configured for a given input audio format.`AudioProcessor.UnhandledAudioFormatException``UNHANDLED_AUDIO_FORMAT_ERROR`
<a name='274001'></a> 274001Thrown when a `MergingMediaSource` cannot merge its sources.`MergingMediaSource.IllegalMergeException``ILLEGAL_MERGE_ERROR`This video file cannot be played.
<a name='274102'></a> 274102Thrown when a failure occurs configuring the sink.`AudioSink.ConfigurationException``AUDIOSINK_CONFIG_ERROR`This video file cannot be played.
<a name='274103'></a> 274103Thrown when a failure occurs initializing the sink.`AudioSink.InitializationException``AUDIOSINK_INIT_ERROR`This video file cannot be played.
<a name='274104'></a> 274104Thrown when a failure occurs writing to the sink.`AudioSink.WriteException``AUDIOSINK_WRITE_ERROR`This video file cannot be played.
<a name='274105'></a> 274105Thrown when the audio track has provided a spurious timestamp, if `DefaultAudioSink.failOnSpuriousAudioTimestamp` is set.`DefaultAudioSink.InvalidAudioTrackTimestampException``INVALID_AUDIO_TIMESTAMP_ERROR`This video file cannot be played.

<a name="hls"></a>

#### HLS

CodeReasonExceptionNameDisplayed Message
<a name='274200'></a> 274200Thrown when it is not possible to map a `TrackGroup` to a `SampleQueue`.`SampleQueueMappingException``SAMPLE_MAPPING_ERROR`
<a name='274201'></a> 274201Thrown when the media sequence of a new snapshot indicates the server has reset.`HlsPlaylistTracker.PlaylistResetException``HLS_PLAYLIST_RESET_ERROR`
<a name='274202'></a> 274202Thrown when a playlist is considered to be stuck due to a server side error.`HlsPlaylistTracker.PlaylistStuckException``HLS_PLAYLIST_STUCK_ERROR`

<a name="smoothstreaming"></a>

#### SmoothStreaming

CodeReasonExceptionNameDisplayed Message
<a name='274300'></a> 274300Thrown if a required field is missing.`SsManifestParser.MissingFieldException``SS_MISSING_FIELD_ERROR`

<a name="dash"></a>

#### DASH

CodeReasonExceptionNameDisplayed Message
<a name='274600'></a> 274600Thrown when a live playback's manifest is stale and a new manifest could not be loaded.`DashManifestStaleException``DASH_MANIFEST_STALE_ERROR`

<a name="drm"></a>

### DRM

CodeReasonExceptionNameDisplayed Message
<a name='276000'></a> 276000Thrown when a non-platform component fails to decrypt data.`DecryptionException``DRM_DECRYPTION_ERROR`There was a problem providing access to protected content.
<a name='276001'></a> 276001Signals that the `DrmInitData` does not contain scheme data for the required UUID.`DefaultDrmSessionManager.MissingSchemeDataException``DRM_MISSING_SCHEME_DATA_ERROR`There was a problem providing access to protected content.
<a name='276002'></a> 276002Wraps the throwable which is the cause of the error state.`DrmSession.DrmSessionException``DRM_SESSION_ERROR`There was a problem providing access to protected content.
<a name='276003'></a> 276003Thrown when the DRM keys loaded into an open session expire.`KeysExpiredException``DRM_KEY_EXPIRED_ERROR`There was a problem providing access to protected content.
<a name='276004'></a> 276004Thrown when the requested DRM scheme is not supported.`UnsupportedDrmException``DRM_UNSUPPORTED_ERROR`There was a problem providing access to protected content.
<a name='276005'></a> 276005Thrown when a crypto error occurs while queueing a secure input buffer.`CryptoException``DRM_CRYPTO_ERROR`There was a problem providing access to protected content.

<br /> <hr />

<a name="warnings"></a>

## Warnings

<a name="loading-js-warnings"></a>

### Loading JS Component

CodeReasonNameDisplayed Message
<a name='301138'></a> 301138`Mobile_workarounds.js` failed to load`MOBILE_WORK_AROUND_ERR_CODE`Failed to load a component of the player
<a name='304165'></a> 304165`Casting-provider-sdk.js` failed to load`CASTING_PROVIDER_ERR_CODE`Failed to load a component of the player
<a name='305010'></a> 305010`Casting-plugin-sdk.js` failed to load`CASTING_PLUGIN_ERR_CODE`Failed to load a component of the player
<a name='305011'></a> 305011`Dai-plugin-sdk.js` failed to load`DAI_PLUGIN_ERR_CODE`Failed to load a component of the player
<a name='305012'></a> 305012`Ima-plugin-sdk.js` failed to load`IMA_PLUGIN_ERR_CODE`Failed to load a component of the player
<a name='305013'></a> 305013`Related.js` failed to load`RELATED_PLUGIN_ERR_CODE`Failed to load a component of the player

<a name="native-warnings"></a>

### Native

<a name="pip-warnings"></a>

### PiP

CodeReasonNameDisplayed Message
<a name='309100'></a> 309100Default Pip unsupported error`ERROR_PIP_UNSUPPORTED`
<a name='309101'></a> 309101Warning for when PiP can't be registered due to low API level`ERROR_PIP_UNAVAILABLE_DUE_TO_API`
<a name='309102'></a> 309102PiP warning for when activity is not registered`ERROR_PIP_ACTIVITY_NOT_REGISTERED`Activity was not registered for picture in picture
<a name='309103'></a> 309103PiP warning for when entering PiP mode failed`ERROR_ENTERING_PIP_MODE_FAILED`There was an error entering picture in picture
<a name='309104'></a> 309104PiP warning for when the set aspect ratio is not within limits`ERROR_PIP_ASPECT_RATIO_OUTSIDE_LIMITS`The provided aspect ratio is too extreme and must be greater then 0.41. and less than 2.39. It will be replaced with the closest viable ratio
<a name='309105'></a> 309105PiP warning for when we attempt to enter PiP mode multiple times`ERROR_PIP_MODE_ALREADY_ENABLED`Attempting to enter PiP mode while PiP mode was already enabled.

<a name="metadata-warnings"></a>

### Metadata

<a name="subtitles-warnings"></a>

#### Subtitles

CodeReasonExceptionNameDisplayed Message
<a name='373100'></a> 373100Thrown when an error occurs decoding subtitle data.`SubtitleDecoderException``SUBTITLE_DECODE_ERROR`