Home Reference Source

src/errors.ts

  1. export enum ErrorTypes {
  2. // Identifier for a network error (loading error / timeout ...)
  3. NETWORK_ERROR = 'networkError',
  4. // Identifier for a media Error (video/parsing/mediasource error)
  5. MEDIA_ERROR = 'mediaError',
  6. // EME (encrypted media extensions) errors
  7. KEY_SYSTEM_ERROR = 'keySystemError',
  8. // Identifier for a mux Error (demuxing/remuxing)
  9. MUX_ERROR = 'muxError',
  10. // Identifier for all other errors
  11. OTHER_ERROR = 'otherError',
  12. }
  13.  
  14. /**
  15. * @enum {ErrorDetails}
  16. * @typedef {string} ErrorDetail
  17. */
  18. export enum ErrorDetails {
  19. KEY_SYSTEM_NO_KEYS = 'keySystemNoKeys',
  20. KEY_SYSTEM_NO_ACCESS = 'keySystemNoAccess',
  21. KEY_SYSTEM_NO_SESSION = 'keySystemNoSession',
  22. KEY_SYSTEM_NO_CONFIGURED_LICENSE = 'keySystemNoConfiguredLicense',
  23. KEY_SYSTEM_LICENSE_REQUEST_FAILED = 'keySystemLicenseRequestFailed',
  24. KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED = 'keySystemServerCertificateRequestFailed',
  25. KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED = 'keySystemServerCertificateUpdateFailed',
  26. KEY_SYSTEM_SESSION_UPDATE_FAILED = 'keySystemSessionUpdateFailed',
  27. KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED = 'keySystemStatusOutputRestricted',
  28. KEY_SYSTEM_STATUS_INTERNAL_ERROR = 'keySystemStatusInternalError',
  29. // Identifier for a manifest load error - data: { url : faulty URL, response : { code: error code, text: error text }}
  30. MANIFEST_LOAD_ERROR = 'manifestLoadError',
  31. // Identifier for a manifest load timeout - data: { url : faulty URL, response : { code: error code, text: error text }}
  32. MANIFEST_LOAD_TIMEOUT = 'manifestLoadTimeOut',
  33. // Identifier for a manifest parsing error - data: { url : faulty URL, reason : error reason}
  34. MANIFEST_PARSING_ERROR = 'manifestParsingError',
  35. // Identifier for a manifest with only incompatible codecs error - data: { url : faulty URL, reason : error reason}
  36. MANIFEST_INCOMPATIBLE_CODECS_ERROR = 'manifestIncompatibleCodecsError',
  37. // Identifier for a level which contains no fragments - data: { url: faulty URL, reason: "no fragments found in level", level: index of the bad level }
  38. LEVEL_EMPTY_ERROR = 'levelEmptyError',
  39. // Identifier for a level load error - data: { url : faulty URL, response : { code: error code, text: error text }}
  40. LEVEL_LOAD_ERROR = 'levelLoadError',
  41. // Identifier for a level load timeout - data: { url : faulty URL, response : { code: error code, text: error text }}
  42. LEVEL_LOAD_TIMEOUT = 'levelLoadTimeOut',
  43. // Identifier for a level switch error - data: { level : faulty level Id, event : error description}
  44. LEVEL_SWITCH_ERROR = 'levelSwitchError',
  45. // Identifier for an audio track load error - data: { url : faulty URL, response : { code: error code, text: error text }}
  46. AUDIO_TRACK_LOAD_ERROR = 'audioTrackLoadError',
  47. // Identifier for an audio track load timeout - data: { url : faulty URL, response : { code: error code, text: error text }}
  48. AUDIO_TRACK_LOAD_TIMEOUT = 'audioTrackLoadTimeOut',
  49. // Identifier for a subtitle track load error - data: { url : faulty URL, response : { code: error code, text: error text }}
  50. SUBTITLE_LOAD_ERROR = 'subtitleTrackLoadError',
  51. // Identifier for a subtitle track load timeout - data: { url : faulty URL, response : { code: error code, text: error text }}
  52. SUBTITLE_TRACK_LOAD_TIMEOUT = 'subtitleTrackLoadTimeOut',
  53. // Identifier for fragment load error - data: { frag : fragment object, response : { code: error code, text: error text }}
  54. FRAG_LOAD_ERROR = 'fragLoadError',
  55. // Identifier for fragment load timeout error - data: { frag : fragment object}
  56. FRAG_LOAD_TIMEOUT = 'fragLoadTimeOut',
  57. // Identifier for a fragment decryption error event - data: {id : demuxer Id,frag: fragment object, reason : parsing error description }
  58. FRAG_DECRYPT_ERROR = 'fragDecryptError',
  59. // Identifier for a fragment parsing error event - data: { id : demuxer Id, reason : parsing error description }
  60. // will be renamed DEMUX_PARSING_ERROR and switched to MUX_ERROR in the next major release
  61. FRAG_PARSING_ERROR = 'fragParsingError',
  62. // Identifier for a remux alloc error event - data: { id : demuxer Id, frag : fragment object, bytes : nb of bytes on which allocation failed , reason : error text }
  63. REMUX_ALLOC_ERROR = 'remuxAllocError',
  64. // Identifier for decrypt key load error - data: { frag : fragment object, response : { code: error code, text: error text }}
  65. KEY_LOAD_ERROR = 'keyLoadError',
  66. // Identifier for decrypt key load timeout error - data: { frag : fragment object}
  67. KEY_LOAD_TIMEOUT = 'keyLoadTimeOut',
  68. // Triggered when an exception occurs while adding a sourceBuffer to MediaSource - data : { error : exception , mimeType : mimeType }
  69. BUFFER_ADD_CODEC_ERROR = 'bufferAddCodecError',
  70. // Triggered when source buffer(s) could not be created using level (manifest CODECS attribute), parsed media, or best guess codec(s) - data: { reason : error reason }
  71. BUFFER_INCOMPATIBLE_CODECS_ERROR = 'bufferIncompatibleCodecsError',
  72. // Identifier for a buffer append error - data: append error description
  73. BUFFER_APPEND_ERROR = 'bufferAppendError',
  74. // Identifier for a buffer appending error event - data: appending error description
  75. BUFFER_APPENDING_ERROR = 'bufferAppendingError',
  76. // Identifier for a buffer stalled error event
  77. BUFFER_STALLED_ERROR = 'bufferStalledError',
  78. // Identifier for a buffer full event
  79. BUFFER_FULL_ERROR = 'bufferFullError',
  80. // Identifier for a buffer seek over hole event
  81. BUFFER_SEEK_OVER_HOLE = 'bufferSeekOverHole',
  82. // Identifier for a buffer nudge on stall (playback is stuck although currentTime is in a buffered area)
  83. BUFFER_NUDGE_ON_STALL = 'bufferNudgeOnStall',
  84. // Identifier for an internal exception happening inside hls.js while handling an event
  85. INTERNAL_EXCEPTION = 'internalException',
  86. // Identifier for an internal call to abort a loader
  87. INTERNAL_ABORTED = 'aborted',
  88. // Uncategorized error
  89. UNKNOWN = 'unknown',
  90. }