Constructor
(export) new Error(severity, category, code, …varArgs)
Creates a new Error.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
severity |
shaka.util.Error.Severity | ||
category |
shaka.util.Error.Category | ||
code |
shaka.util.Error.Code | ||
varArgs |
* |
<repeatable> |
- Implements:
- Extends:
- Error
- Source:
Extends
- Error
Members
(export, static) Category :number
Type:
- number
Properties:
Name | Value | Type | Description |
---|---|---|---|
NETWORK |
1 | number | Errors from the network stack. |
TEXT |
2 | number | Errors parsing text streams. |
MEDIA |
3 | number | Errors parsing or processing audio or video streams. |
MANIFEST |
4 | number | Errors parsing the Manifest. |
STREAMING |
5 | number | Errors related to streaming. |
DRM |
6 | number | Errors related to DRM. |
PLAYER |
7 | number | Miscellaneous errors from the player. |
CAST |
8 | number | Errors related to cast. |
STORAGE |
9 | number | Errors in the database storage (offline). |
- Source:
(export, static) Code :number
Type:
- number
Properties:
Name | Value | Type | Description |
---|---|---|---|
UNSUPPORTED_SCHEME |
1000 | number | A network request was made using an unsupported URI scheme.
error.data[0] is the URI. |
BAD_HTTP_STATUS |
1001 | number | An HTTP network request returned an HTTP status that indicated a failure.
error.data[0] is the URI. error.data[1] is the status code. error.data[2] is the response text, or null if the response could not be interpretted as text. error.data[3] is the map of response headers. error.data[4] is the NetworkingEngine.RequestType of the request, if one was provided. |
HTTP_ERROR |
1002 | number | An HTTP network request failed with an error, but not from the server.
error.data[0] is the URI. error.data[1] is the original error. error.data[2] is the NetworkingEngine.RequestType of the request. |
TIMEOUT |
1003 | number | A network request timed out.
error.data[0] is the URI. error.data[1] is the NetworkingEngine.RequestType of the request, if one was provided. |
MALFORMED_DATA_URI |
1004 | number | A network request was made with a malformed data URI.
error.data[0] is the URI. |
UNKNOWN_DATA_URI_ENCODING |
1005 | number | A network request was made with a data URI using an unknown encoding.
error.data[0] is the URI. |
REQUEST_FILTER_ERROR |
1006 | number | A request filter threw an error.
error.data[0] is the original error. |
RESPONSE_FILTER_ERROR |
1007 | number | A response filter threw an error.
error.data[0] is the original error. |
MALFORMED_TEST_URI |
1008 | number | A testing network request was made with a malformed URI. This error is only used by unit and integration tests. |
UNEXPECTED_TEST_REQUEST |
1009 | number | An unexpected network request was made to the FakeNetworkingEngine. This error is only used by unit and integration tests. |
INVALID_TEXT_HEADER |
2000 | number | The text parser failed to parse a text stream due to an invalid header. |
INVALID_TEXT_CUE |
2001 | number | The text parser failed to parse a text stream due to an invalid cue. |
UNABLE_TO_DETECT_ENCODING |
2003 | number | Was unable to detect the encoding of the response text. Suggest adding byte-order-markings to the response data. |
BAD_ENCODING |
2004 | number | The response data contains invalid Unicode character encoding. |
INVALID_XML |
2005 | number | The XML parser failed to parse an xml stream, or the XML lacks mandatory
elements for TTML.
error.data[0] is the URI associated with the XML. |
INVALID_MP4_TTML |
2007 | number | MP4 segment does not contain TTML. |
INVALID_MP4_VTT |
2008 | number | MP4 segment does not contain VTT. |
UNABLE_TO_EXTRACT_CUE_START_TIME |
2009 | number | When examining media in advance, we were unable to extract the cue time.
This should only be possible with HLS, where we do not have explicit
segment start times.
error.data[0] is the underlying exception or Error object. |
BUFFER_READ_OUT_OF_BOUNDS |
3000 | number | Some component tried to read past the end of a buffer. The segment index, init segment, or PSSH may be malformed. |
JS_INTEGER_OVERFLOW |
3001 | number | Some component tried to parse an integer that was too large to fit in a JavaScript number without rounding error. JavaScript can only natively represent integers up to 53 bits. |
EBML_OVERFLOW |
3002 | number | The EBML parser used to parse the WebM container encountered an integer, ID, or other field larger than the maximum supported by the parser. |
EBML_BAD_FLOATING_POINT_SIZE |
3003 | number | The EBML parser used to parse the WebM container encountered a floating- point field of a size not supported by the parser. |
MP4_SIDX_WRONG_BOX_TYPE |
3004 | number | The MP4 SIDX parser found the wrong box type. Either the segment index range is incorrect or the data is corrupt. |
MP4_SIDX_INVALID_TIMESCALE |
3005 | number | The MP4 SIDX parser encountered an invalid timescale. The segment index data may be corrupt. |
MP4_SIDX_TYPE_NOT_SUPPORTED |
3006 | number | The MP4 SIDX parser encountered a type of SIDX that is not supported. |
WEBM_CUES_ELEMENT_MISSING |
3007 | number | The WebM Cues parser was unable to locate the Cues element. The segment index data may be corrupt. |
WEBM_EBML_HEADER_ELEMENT_MISSING |
3008 | number | The WebM header parser was unable to locate the Ebml element. The init segment data may be corrupt. |
WEBM_SEGMENT_ELEMENT_MISSING |
3009 | number | The WebM header parser was unable to locate the Segment element. The init segment data may be corrupt. |
WEBM_INFO_ELEMENT_MISSING |
3010 | number | The WebM header parser was unable to locate the Info element. The init segment data may be corrupt. |
WEBM_DURATION_ELEMENT_MISSING |
3011 | number | The WebM header parser was unable to locate the Duration element. The init segment data may be corrupt or may have been incorrectly encoded. Shaka requires a duration in WebM DASH content. |
WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING |
3012 | number | The WebM Cues parser was unable to locate the Cue Track Positions element. The segment index data may be corrupt. |
WEBM_CUE_TIME_ELEMENT_MISSING |
3013 | number | The WebM Cues parser was unable to locate the Cue Time element. The segment index data may be corrupt. |
MEDIA_SOURCE_OPERATION_FAILED |
3014 | number | A MediaSource operation failed.
error.data[0] is a MediaError code from the video element. |
MEDIA_SOURCE_OPERATION_THREW |
3015 | number | A MediaSource operation threw an exception.
error.data[0] is the exception that was thrown. |
VIDEO_ERROR |
3016 | number | The video element reported an error.
error.data[0] is a MediaError code from the video element. On Edge & IE, error.data[1] is a Microsoft extended error code in hex. On Chrome, error.data[2] is a string with details on the error. |
QUOTA_EXCEEDED_ERROR |
3017 | number | A MediaSource operation threw QuotaExceededError and recovery failed. The
content cannot be played correctly because the segments are too large for
the browser/platform. This may occur when attempting to play very high
quality, very high bitrate content on low-end devices.
error.data[0] is the type of content which caused the error. |
TRANSMUXING_FAILED |
3018 | number | Mux.js did not invoke the callback signifying successful transmuxing. |
UNABLE_TO_GUESS_MANIFEST_TYPE |
4000 | number | The Player was unable to guess the manifest type based on file extension
or MIME type. To fix, try one of the following:
error.data[0] is the manifest URI. |
DASH_INVALID_XML |
4001 | number | The DASH Manifest contained invalid XML markup. |
DASH_NO_SEGMENT_INFO |
4002 | number | The DASH Manifest contained a Representation with insufficient segment information. |
DASH_EMPTY_ADAPTATION_SET |
4003 | number | The DASH Manifest contained an AdaptationSet with no Representations. |
DASH_EMPTY_PERIOD |
4004 | number | The DASH Manifest contained an Period with no AdaptationSets. |
DASH_WEBM_MISSING_INIT |
4005 | number | The DASH Manifest does not specify an init segment with a WebM container. |
DASH_UNSUPPORTED_CONTAINER |
4006 | number | The DASH Manifest contained an unsupported container format. |
DASH_PSSH_BAD_ENCODING |
4007 | number | The embedded PSSH data has invalid encoding. |
DASH_NO_COMMON_KEY_SYSTEM |
4008 | number | There is an AdaptationSet whose Representations do not have any common key-systems. |
DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED |
4009 | number | Having multiple key IDs per Representation is not supported. |
DASH_CONFLICTING_KEY_IDS |
4010 | number | The DASH Manifest specifies conflicting key IDs. |
UNPLAYABLE_PERIOD |
4011 | number | The manifest contains a period with no playable streams. Either the period was originally empty, or the streams within cannot be played on this browser or platform. |
RESTRICTIONS_CANNOT_BE_MET |
4012 | number | There exist some streams that could be decoded, but restrictions imposed
by the application or the key system prevent us from playing. This may
happen under the following conditions:
error.data[0] is a shaka.extern.RestrictionInfo object describing the kinds of restrictions that caused this error. |
NO_PERIODS |
4014 | number | No valid periods were found in the manifest. Please check that your manifest is correct and free of typos. |
HLS_PLAYLIST_HEADER_MISSING |
4015 | number | HLS playlist doesn't start with a mandory #EXTM3U tag. |
INVALID_HLS_TAG |
4016 | number | HLS tag has an invalid name that doesn't start with '#EXT'
error.data[0] is the invalid tag. |
HLS_INVALID_PLAYLIST_HIERARCHY |
4017 | number | HLS playlist has both Master and Media/Segment tags. |
DASH_DUPLICATE_REPRESENTATION_ID |
4018 | number | A Representation has an id that is the same as another Representation in the same Period. This makes manifest updates impossible since we cannot map the updated Representation to the old one. |
HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND |
4020 | number | HLS manifest has several #EXT-X-MAP tags. We can only support one at the moment. |
HLS_COULD_NOT_GUESS_MIME_TYPE |
4021 | number | HLS parser was unable to guess mime type of a stream.
error.data[0] is the stream file's extension. |
HLS_MASTER_PLAYLIST_NOT_PROVIDED |
4022 | number | No Master Playlist has been provided. Master playlist provides vital information about the streams (like codecs) that is required for MediaSource. We don't support directly providing a Media Playlist. |
HLS_REQUIRED_ATTRIBUTE_MISSING |
4023 | number | One of the required attributes was not provided, so the
HLS manifest is invalid.
error.data[0] is the missing attribute's name. |
HLS_REQUIRED_TAG_MISSING |
4024 | number | One of the required tags was not provided, so the
HLS manifest is invalid.
error.data[0] is the missing tag's name. |
HLS_COULD_NOT_GUESS_CODECS |
4025 | number | The HLS parser was unable to guess codecs of a stream.
error.data[0] is the list of all codecs for the variant. |
HLS_KEYFORMATS_NOT_SUPPORTED |
4026 | number | The HLS parser has encountered encrypted content with unsupported KEYFORMAT attributes. |
DASH_UNSUPPORTED_XLINK_ACTUATE |
4027 | number | The manifest parser only supports xlink links with xlink:actuate="onLoad". |
DASH_XLINK_DEPTH_LIMIT |
4028 | number | The manifest parser has hit its depth limit on xlink link chains. |
HLS_COULD_NOT_PARSE_SEGMENT_START_TIME |
4030 | number | The HLS parser was unable to parse segment start time from the media. |
CONTENT_UNSUPPORTED_BY_BROWSER |
4032 | number | The content container or codecs are not supported by this browser. For example, this could happen if the content is WebM, but your browser does not support the WebM container, or if the content uses HEVC, but your browser does not support the HEVC codec. This can also occur for multicodec or multicontainer manifests if none of the codecs or containers are supported by the browser. To see what your browser supports, you can check the JSON data dumped by http://support.shaka-player-demo.appspot.com/ |
CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM |
4033 | number | External text tracks cannot be added to live streams. |
HLS_AES_128_ENCRYPTION_NOT_SUPPORTED |
4034 | number | We do not support AES-128 encryption with HLS yet. |
INVALID_STREAMS_CHOSEN |
5005 | number | The StreamingEngine called onChooseStreams() but the callback receiver did not return the correct number or type of Streams. This can happen when there is multi-Period content where one Period is video+audio and another is video-only or audio-only. We don't support this case because it is incompatible with MSE. When the browser reaches the transition, it will pause, waiting for the audio stream. |
NO_RECOGNIZED_KEY_SYSTEMS |
6000 | number | The manifest indicated protected content, but the manifest parser was unable to determine what key systems should be used. |
REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE |
6001 | number | None of the requested key system configurations are available. This may
happen under the following conditions:
|
FAILED_TO_CREATE_CDM |
6002 | number | The browser found one of the requested key systems, but it failed to
create an instance of the CDM for some unknown reason.
error.data[0] is an error message string from the browser. |
FAILED_TO_ATTACH_TO_VIDEO |
6003 | number | The browser found one of the requested key systems and created an instance
of the CDM, but it failed to attach the CDM to the video for some unknown
reason.
error.data[0] is an error message string from the browser. |
INVALID_SERVER_CERTIFICATE |
6004 | number | The CDM rejected the server certificate supplied by the application.
The certificate may be malformed or in an unsupported format.
error.data[0] is an error message string from the browser. |
FAILED_TO_CREATE_SESSION |
6005 | number | The CDM refused to create a session for some unknown reason.
error.data[0] is an error message string from the browser. |
FAILED_TO_GENERATE_LICENSE_REQUEST |
6006 | number | The CDM was unable to generate a license request for the init data it was
given. The init data may be malformed or in an unsupported format.
error.data[0] is an error message string from the browser. error.data[1] is the error object from the browser. error.data[2] is a string with the extended error code, if available. |
LICENSE_REQUEST_FAILED |
6007 | number | The license request failed. This could be a timeout, a network failure, or
a rejection by the server.
error.data[0] is a shaka.util.Error from the networking engine. |
LICENSE_RESPONSE_REJECTED |
6008 | number | The license response was rejected by the CDM. The server's response may be
invalid or malformed for this CDM.
error.data[0] is an error message string from the browser. |
ENCRYPTED_CONTENT_WITHOUT_DRM_INFO |
6010 | number | The manifest does not specify any DRM info, but the content is encrypted. Either the manifest or the manifest parser are broken. |
NO_LICENSE_SERVER_GIVEN |
6012 | number | No license server was given for the key system signaled by the manifest.
A license server URI is required for every key system.
error.data[0] is the key system identifier. |
OFFLINE_SESSION_REMOVED |
6013 | number | A required offline session was removed. The content is not playable. |
EXPIRED |
6014 | number | The license has expired. This is triggered when all keys in the key status map have a status of 'expired'. |
LOAD_INTERRUPTED |
7000 | number | The call to Player.load() was interrupted by a call to Player.unload() or another call to Player.load(). |
OPERATION_ABORTED |
7001 | number | An internal error which indicates that an operation was aborted. This should not be seen by applications. |
NO_VIDEO_ELEMENT |
7002 | number | The call to Player.load() failed because the Player does not have a video element. The video element must either be provided to the constructor or to Player.attach() before Player.load() is called. |
CAST_API_UNAVAILABLE |
8000 | number | The Cast API is unavailable. This may be because of one of the following: 1. The browser may not have Cast support 2. The browser may be missing a necessary Cast extension 3. The Cast sender library may not be loaded in your app |
NO_CAST_RECEIVERS |
8001 | number | No cast receivers are available at this time. |
ALREADY_CASTING |
8002 | number | The library is already casting. |
UNEXPECTED_CAST_ERROR |
8003 | number | A Cast SDK error that we did not explicitly plan for has occurred.
Check data[0] and refer to the Cast SDK documentation for details.
error.data[0] is an error object from the Cast SDK. |
CAST_CANCELED_BY_USER |
8004 | number | The cast operation was canceled by the user.
error.data[0] is an error object from the Cast SDK. |
CAST_CONNECTION_TIMED_OUT |
8005 | number | The cast connection timed out.
error.data[0] is an error object from the Cast SDK. |
CAST_RECEIVER_APP_UNAVAILABLE |
8006 | number | The requested receiver app ID does not exist or is unavailable.
Check the requested app ID for typos.
error.data[0] is an error object from the Cast SDK. |
STORAGE_NOT_SUPPORTED |
9000 | number | Offline storage is not supported on this browser; it is required for offline support. |
INDEXED_DB_ERROR |
9001 | number | An unknown error occurred in the IndexedDB.
On Firefox, one common source for UnknownError calls is reverting Firefox to an old version. This makes the IndexedDB storage inaccessible for older versions. The only way to fix this is to delete the storage data in your profile. See https://mzl.la/2yCGWCm error.data[0] is the error object. |
DEPRECATED_OPERATION_ABORTED |
9002 | number | The storage operation was aborted. Deprecated in favor of more general OPERATION_ABORTED. |
REQUESTED_ITEM_NOT_FOUND |
9003 | number | The specified item was not found in the IndexedDB.
error.data[0] is the offline URI. |
MALFORMED_OFFLINE_URI |
9004 | number | A network request was made with a malformed offline URI.
error.data[0] is the URI. |
CANNOT_STORE_LIVE_OFFLINE |
9005 | number | The specified content is live or in-progress.
Live and in-progress streams cannot be stored offline.
error.data[0] is the URI. |
STORE_ALREADY_IN_PROGRESS |
9006 | number | There is already a store operation in-progress. Wait until it completes before starting another. |
NO_INIT_DATA_FOR_OFFLINE |
9007 | number | The specified manifest is encrypted but does not specify any init data.
Without init data specified in the manifest, the content will not be
playable offline.
error.data[0] is the URI. |
LOCAL_PLAYER_INSTANCE_REQUIRED |
9008 | number | shaka.offline.Storage was constructed with a Player proxy instead of a local player instance. To fix this, use Player directly with Storage instead of the results of CastProxy.prototype.getPlayer(). |
NEW_KEY_OPERATION_NOT_SUPPORTED |
9011 | number | The storage cell does not allow new operations that require new keys. |
KEY_NOT_FOUND |
9012 | number | A key was not found in a storage cell. |
MISSING_STORAGE_CELL |
9013 | number | A storage cell was not found. |
- Source:
(export, static) Severity :number
Type:
- number
Properties:
Name | Value | Type | Description |
---|---|---|---|
RECOVERABLE |
1 | number | An error occurred, but the Player is attempting to recover from the error. If the Player cannot ultimately recover, it still may not throw a CRITICAL error. For example, retrying for a media segment will never result in a CRITICAL error (the Player will just retry forever). |
CRITICAL |
2 | number | A critical error that the library cannot recover from. These usually cause the Player to stop loading or updating. A new manifest must be loaded to reset the library. |
- Source:
(export, non-null) data :Array.<*>
Type:
- Array.<*>
- Implements:
- Source:
(export) handled :boolean
Type:
- boolean
- Implements:
- Source:
(export, constant) message :string
A human-readable version of the category and code.
(Only available in uncompiled mode.)
Type:
- string
- Source:
(export, constant) stack :string
A stack-trace showing where the error occurred.
(Only available in uncompiled mode.)
Type:
- string
- Source: