-
Notifications
You must be signed in to change notification settings - Fork 7.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Now clearing errors on loadstart events. Added some default error messages.
- Loading branch information
Showing
6 changed files
with
82 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
/** | ||
* Custom MediaError to mimic the HTML5 MediaError | ||
* @param {Number} code The media error code | ||
*/ | ||
vjs.MediaError = function(code){ | ||
if (typeof code == 'number') { | ||
this.code = code; | ||
} else if (typeof code == 'string') { | ||
// default code is zero, so this is a custom error | ||
this.message = code; | ||
} else if (typeof code == 'object') { // object | ||
vjs.obj.merge(this, code); | ||
} | ||
|
||
if (!this.message) { | ||
this.message = vjs.MediaError.defaultMessages[this.code] || ''; | ||
} | ||
}; | ||
|
||
/** | ||
* The error code that refers two one of the defined | ||
* MediaError types | ||
* @type {Number} | ||
*/ | ||
vjs.MediaError.prototype.code = 0; | ||
|
||
/** | ||
* An optional message to be shown with the error. | ||
* Message is not part of the HTML5 video spec | ||
* but allows for more informative custom errors. | ||
* @type {String} | ||
*/ | ||
vjs.MediaError.prototype.message = ''; | ||
|
||
/** | ||
* An optional status code that can be set by plugins | ||
* to allow even more detail about the error. | ||
* For example the HLS plugin might provide the specific | ||
* HTTP status code that was returned when the error | ||
* occurred, then allowing a custom error overlay | ||
* to display more information. | ||
* @type {[type]} | ||
*/ | ||
vjs.MediaError.prototype.status = null; | ||
|
||
vjs.MediaError.errorTypes = [ | ||
'MEDIA_ERR_CUSTOM', // = 0 | ||
'MEDIA_ERR_ABORTED', // = 1 | ||
'MEDIA_ERR_NETWORK', // = 2 | ||
'MEDIA_ERR_DECODE', // = 3 | ||
'MEDIA_ERR_SRC_NOT_SUPPORTED', // = 4 | ||
'MEDIA_ERR_ENCRYPTED' // = 5 | ||
]; | ||
|
||
vjs.MediaError.defaultMessages = { | ||
1: 'You aborted the video playback', | ||
2: 'A network error caused the video download to fail part-way.', | ||
3: 'The video playback was aborted due to a corruption problem or because the video used features your browser did not support.', | ||
4: 'The video could not be loaded, either because the server or network failed or because the format is not supported.', | ||
5: 'The video is encrypted and we do not have the keys to decrypt it.' | ||
}; | ||
|
||
// Add types as properties on MediaError | ||
// e.g. MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4; | ||
for (var errNum = 0; errNum < vjs.MediaError.errorTypes.length; errNum++) { | ||
vjs.MediaError[vjs.MediaError.errorTypes[errNum]] = errNum; | ||
// values should be accessible on both the class and instance | ||
vjs.MediaError.prototype[vjs.MediaError.errorTypes[errNum]] = errNum; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters