rx-player 4.0.0-dev.2023092900 → 4.0.0-dev.2023102700

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/CHANGELOG.md +221 -12
  2. package/FILES.md +0 -4
  3. package/MAINTAINERS.md +1 -0
  4. package/README.md +0 -21
  5. package/VERSION +1 -1
  6. package/dist/_esm5.processed/compat/add_class_name.js +6 -3
  7. package/dist/_esm5.processed/compat/add_text_track.js +11 -8
  8. package/dist/_esm5.processed/compat/browser_compatibility_types.js +13 -9
  9. package/dist/_esm5.processed/compat/browser_detection.js +49 -34
  10. package/dist/_esm5.processed/compat/browser_version.js +11 -8
  11. package/dist/_esm5.processed/compat/can_patch_isobmff.js +6 -3
  12. package/dist/_esm5.processed/compat/can_rely_on_video_visibility_and_size.js +9 -6
  13. package/dist/_esm5.processed/compat/can_reuse_media_keys.js +6 -3
  14. package/dist/_esm5.processed/compat/change_source_buffer_type.js +6 -3
  15. package/dist/_esm5.processed/compat/clear_element_src.js +12 -9
  16. package/dist/_esm5.processed/compat/eme/close_session.js +45 -106
  17. package/dist/_esm5.processed/compat/eme/constants.js +6 -3
  18. package/dist/_esm5.processed/compat/eme/custom_key_system_access.js +18 -22
  19. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +78 -102
  20. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +16 -6
  21. package/dist/_esm5.processed/compat/eme/custom_media_keys/moz_media_keys_constructor.js +18 -15
  22. package/dist/_esm5.processed/compat/eme/custom_media_keys/ms_media_keys_constructor.js +7 -5
  23. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +70 -88
  24. package/dist/_esm5.processed/compat/eme/custom_media_keys/types.js +2 -1
  25. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +91 -117
  26. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +7 -7
  27. package/dist/_esm5.processed/compat/eme/eme-api-implementation.js +82 -83
  28. package/dist/_esm5.processed/compat/eme/generate_key_request.js +36 -31
  29. package/dist/_esm5.processed/compat/eme/get_init_data.js +28 -25
  30. package/dist/_esm5.processed/compat/eme/get_uuid_kid_from_keystatus_kid.js +8 -5
  31. package/dist/_esm5.processed/compat/eme/get_webkit_fairplay_initdata.js +17 -14
  32. package/dist/_esm5.processed/compat/eme/index.js +13 -7
  33. package/dist/_esm5.processed/compat/eme/load_session.js +26 -69
  34. package/dist/_esm5.processed/compat/enable_audio_track.js +7 -4
  35. package/dist/_esm5.processed/compat/event_listeners.js +130 -102
  36. package/dist/_esm5.processed/compat/get_start_date.js +7 -4
  37. package/dist/_esm5.processed/compat/global_scope.js +7 -5
  38. package/dist/_esm5.processed/compat/has_issues_with_high_media_source_duration.js +6 -3
  39. package/dist/_esm5.processed/compat/index.js +47 -24
  40. package/dist/_esm5.processed/compat/is_codec_supported.js +8 -5
  41. package/dist/_esm5.processed/compat/is_debug_mode_enabled.js +4 -1
  42. package/dist/_esm5.processed/compat/is_node.js +5 -3
  43. package/dist/_esm5.processed/compat/is_seeking_approximate.js +5 -3
  44. package/dist/_esm5.processed/compat/is_vtt_cue.js +6 -3
  45. package/dist/_esm5.processed/compat/is_worker.js +3 -1
  46. package/dist/_esm5.processed/compat/make_vtt_cue.js +10 -7
  47. package/dist/_esm5.processed/compat/on_height_width_change.js +25 -22
  48. package/dist/_esm5.processed/compat/patch_webkit_source_buffer.js +19 -17
  49. package/dist/_esm5.processed/compat/remove_cue.js +12 -9
  50. package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +7 -4
  51. package/dist/_esm5.processed/compat/should_reload_media_source_on_decipherability_update.js +4 -1
  52. package/dist/_esm5.processed/compat/should_renew_media_key_system_access.js +6 -3
  53. package/dist/_esm5.processed/compat/should_unset_media_keys.js +6 -3
  54. package/dist/_esm5.processed/compat/should_validate_metadata.js +6 -3
  55. package/dist/_esm5.processed/compat/should_wait_for_data_before_loaded.js +6 -3
  56. package/dist/_esm5.processed/compat/should_wait_for_have_enough_data.js +6 -3
  57. package/dist/_esm5.processed/config.js +15 -14
  58. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +123 -94
  59. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.js +43 -42
  60. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.js +37 -44
  61. package/dist/_esm5.processed/core/adaptive/index.js +4 -2
  62. package/dist/_esm5.processed/core/adaptive/network_analyzer.js +75 -74
  63. package/dist/_esm5.processed/core/adaptive/utils/bandwidth_estimator.js +24 -23
  64. package/dist/_esm5.processed/core/adaptive/utils/ewma.js +13 -12
  65. package/dist/_esm5.processed/core/adaptive/utils/filter_by_bitrate.js +9 -6
  66. package/dist/_esm5.processed/core/adaptive/utils/filter_by_resolution.js +18 -19
  67. package/dist/_esm5.processed/core/adaptive/utils/get_buffer_levels.js +10 -7
  68. package/dist/_esm5.processed/core/adaptive/utils/last_estimate_storage.js +8 -7
  69. package/dist/_esm5.processed/core/adaptive/utils/pending_requests_store.js +26 -23
  70. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.js +25 -23
  71. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +6 -3
  72. package/dist/_esm5.processed/core/api/debug/buffer_graph.js +41 -40
  73. package/dist/_esm5.processed/core/api/debug/buffer_size_graph.js +31 -30
  74. package/dist/_esm5.processed/core/api/debug/constants.js +4 -1
  75. package/dist/_esm5.processed/core/api/debug/index.js +4 -2
  76. package/dist/_esm5.processed/core/api/debug/modules/general_info.js +64 -72
  77. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +49 -46
  78. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +15 -12
  79. package/dist/_esm5.processed/core/api/debug/render.js +16 -13
  80. package/dist/_esm5.processed/core/api/debug/utils.js +18 -13
  81. package/dist/_esm5.processed/core/api/index.js +7 -4
  82. package/dist/_esm5.processed/core/api/option_utils.js +85 -58
  83. package/dist/_esm5.processed/core/api/playback_observer.js +135 -124
  84. package/dist/_esm5.processed/core/api/public_api.js +610 -684
  85. package/dist/_esm5.processed/core/api/track_management/index.js +19 -3
  86. package/dist/_esm5.processed/core/api/track_management/media_element_tracks_store.js +233 -247
  87. package/dist/_esm5.processed/core/api/track_management/track_dispatcher.js +45 -58
  88. package/dist/_esm5.processed/core/api/track_management/tracks_store.js +300 -324
  89. package/dist/_esm5.processed/core/api/utils.js +32 -24
  90. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.js +155 -185
  91. package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +42 -81
  92. package/dist/_esm5.processed/core/decrypt/clear_on_stop.js +15 -12
  93. package/dist/_esm5.processed/core/decrypt/content_decryptor.js +392 -510
  94. package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +44 -90
  95. package/dist/_esm5.processed/core/decrypt/create_session.js +90 -149
  96. package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +24 -67
  97. package/dist/_esm5.processed/core/decrypt/find_key_system.js +94 -155
  98. package/dist/_esm5.processed/core/decrypt/get_key_system_configuration.js +6 -3
  99. package/dist/_esm5.processed/core/decrypt/get_media_keys.js +59 -109
  100. package/dist/_esm5.processed/core/decrypt/index.js +26 -7
  101. package/dist/_esm5.processed/core/decrypt/init_media_keys.js +17 -59
  102. package/dist/_esm5.processed/core/decrypt/session_events_listener.js +84 -155
  103. package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +50 -103
  104. package/dist/_esm5.processed/core/decrypt/types.js +5 -2
  105. package/dist/_esm5.processed/core/decrypt/utils/are_init_values_compatible.js +22 -19
  106. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.js +40 -61
  107. package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.js +17 -61
  108. package/dist/_esm5.processed/core/decrypt/utils/clean_old_stored_persistent_info.js +8 -5
  109. package/dist/_esm5.processed/core/decrypt/utils/get_drm_system_id.js +8 -5
  110. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +23 -23
  111. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.js +15 -12
  112. package/dist/_esm5.processed/core/decrypt/utils/key_id_comparison.js +14 -21
  113. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +26 -27
  114. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +206 -310
  115. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.js +8 -6
  116. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +103 -102
  117. package/dist/_esm5.processed/core/decrypt/utils/serializable_bytes.js +13 -12
  118. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.js +18 -16
  119. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.js +37 -56
  120. package/dist/_esm5.processed/core/fetchers/index.js +7 -3
  121. package/dist/_esm5.processed/core/fetchers/manifest/index.js +4 -2
  122. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +233 -313
  123. package/dist/_esm5.processed/core/fetchers/segment/index.js +4 -2
  124. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.js +12 -9
  125. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +218 -234
  126. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +20 -19
  127. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.js +73 -74
  128. package/dist/_esm5.processed/core/fetchers/utils/error_selector.js +8 -5
  129. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +210 -261
  130. package/dist/_esm5.processed/core/init/directfile_content_initializer.js +73 -99
  131. package/dist/_esm5.processed/core/init/index.js +5 -1
  132. package/dist/_esm5.processed/core/init/media_source_content_initializer.js +256 -320
  133. package/dist/_esm5.processed/core/init/types.js +7 -24
  134. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.js +109 -135
  135. package/dist/_esm5.processed/core/init/utils/create_media_source.js +35 -30
  136. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.js +12 -10
  137. package/dist/_esm5.processed/core/init/utils/end_of_stream.js +30 -26
  138. package/dist/_esm5.processed/core/init/utils/get_initial_time.js +41 -38
  139. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.js +13 -10
  140. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.js +29 -26
  141. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.js +30 -27
  142. package/dist/_esm5.processed/core/init/utils/media_source_duration_updater.js +58 -60
  143. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +140 -161
  144. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/are_same_stream_events.js +3 -1
  145. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/index.js +4 -2
  146. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +28 -30
  147. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.js +71 -90
  148. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/types.js +2 -1
  149. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.js +16 -13
  150. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +75 -126
  151. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +130 -147
  152. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/index.js +4 -2
  153. package/dist/_esm5.processed/core/segment_buffers/implementations/index.js +20 -3
  154. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +106 -125
  155. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/index.js +4 -2
  156. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/parsers.js +11 -8
  157. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +48 -47
  158. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/types.js +2 -1
  159. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/update_proportional_elements.js +18 -15
  160. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +22 -15
  161. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/index.js +4 -2
  162. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +65 -82
  163. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/parsers.js +11 -8
  164. package/dist/_esm5.processed/core/segment_buffers/implementations/types.js +19 -17
  165. package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +23 -22
  166. package/dist/_esm5.processed/core/segment_buffers/index.js +13 -6
  167. package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.js +24 -22
  168. package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +8 -3
  169. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +151 -150
  170. package/dist/_esm5.processed/core/segment_buffers/inventory/types.js +2 -1
  171. package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +9 -4
  172. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +82 -89
  173. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +118 -166
  174. package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +31 -28
  175. package/dist/_esm5.processed/core/stream/adaptation/index.js +19 -3
  176. package/dist/_esm5.processed/core/stream/adaptation/types.js +2 -1
  177. package/dist/_esm5.processed/core/stream/index.js +4 -2
  178. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.js +14 -16
  179. package/dist/_esm5.processed/core/stream/orchestrator/index.js +4 -2
  180. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +175 -222
  181. package/dist/_esm5.processed/core/stream/period/index.js +19 -3
  182. package/dist/_esm5.processed/core/stream/period/period_stream.js +172 -216
  183. package/dist/_esm5.processed/core/stream/period/types.js +2 -1
  184. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +34 -33
  185. package/dist/_esm5.processed/core/stream/representation/index.js +19 -3
  186. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +80 -68
  187. package/dist/_esm5.processed/core/stream/representation/types.js +2 -1
  188. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.js +33 -84
  189. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.js +32 -29
  190. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.js +126 -145
  191. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.js +32 -88
  192. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +61 -48
  193. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +71 -69
  194. package/dist/_esm5.processed/core/stream/representation/utils/get_segment_priority.js +8 -5
  195. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.js +22 -63
  196. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.js +49 -86
  197. package/dist/_esm5.processed/default_config.js +4 -2
  198. package/dist/_esm5.processed/errors/assertion_error.js +10 -26
  199. package/dist/_esm5.processed/errors/custom_loader_error.js +12 -28
  200. package/dist/_esm5.processed/errors/encrypted_media_error.js +16 -32
  201. package/dist/_esm5.processed/errors/error_codes.js +9 -4
  202. package/dist/_esm5.processed/errors/error_message.js +5 -2
  203. package/dist/_esm5.processed/errors/format_error.js +9 -7
  204. package/dist/_esm5.processed/errors/index.js +25 -11
  205. package/dist/_esm5.processed/errors/is_known_error.js +14 -11
  206. package/dist/_esm5.processed/errors/media_error.js +17 -33
  207. package/dist/_esm5.processed/errors/network_error.js +21 -37
  208. package/dist/_esm5.processed/errors/other_error.js +15 -31
  209. package/dist/_esm5.processed/errors/request_error.js +17 -33
  210. package/dist/_esm5.processed/experimental/features/dash_wasm.js +14 -11
  211. package/dist/_esm5.processed/experimental/features/debug_element.js +7 -4
  212. package/dist/_esm5.processed/experimental/features/index.d.ts +1 -0
  213. package/dist/_esm5.processed/experimental/features/index.js +11 -3
  214. package/dist/_esm5.processed/experimental/features/local.js +9 -6
  215. package/dist/_esm5.processed/experimental/features/metaplaylist.js +9 -6
  216. package/dist/_esm5.processed/experimental/index.js +5 -2
  217. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/dash.js +6 -3
  218. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/metaplaylist.js +6 -3
  219. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.js +7 -3
  220. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +22 -16
  221. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +22 -19
  222. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +6 -3
  223. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.js +2 -1
  224. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +125 -186
  225. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.js +11 -27
  226. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +76 -119
  227. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +24 -15
  228. package/dist/_esm5.processed/experimental/tools/index.js +11 -5
  229. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.js +38 -43
  230. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +31 -34
  231. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.js +21 -18
  232. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/index.js +4 -2
  233. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/log.js +5 -3
  234. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +20 -17
  235. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +21 -18
  236. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +13 -10
  237. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +16 -13
  238. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.js +16 -14
  239. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +14 -11
  240. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +14 -11
  241. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +19 -16
  242. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +11 -8
  243. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.js +5 -2
  244. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.js +25 -22
  245. package/dist/_esm5.processed/experimental/tools/parseBIFThumbnails.js +7 -4
  246. package/dist/_esm5.processed/features/add_features.js +11 -8
  247. package/dist/_esm5.processed/features/features_object.js +4 -2
  248. package/dist/_esm5.processed/features/index.js +7 -4
  249. package/dist/_esm5.processed/features/list/dash.js +11 -8
  250. package/dist/_esm5.processed/features/list/directfile.js +9 -5
  251. package/dist/_esm5.processed/features/list/eme.js +7 -4
  252. package/dist/_esm5.processed/features/list/html_sami_parser.js +9 -6
  253. package/dist/_esm5.processed/features/list/html_srt_parser.js +9 -6
  254. package/dist/_esm5.processed/features/list/html_text_buffer.js +7 -4
  255. package/dist/_esm5.processed/features/list/html_ttml_parser.js +9 -6
  256. package/dist/_esm5.processed/features/list/html_vtt_parser.js +9 -6
  257. package/dist/_esm5.processed/features/list/index.js +31 -14
  258. package/dist/_esm5.processed/features/list/native_sami_parser.js +9 -6
  259. package/dist/_esm5.processed/features/list/native_srt_parser.js +9 -6
  260. package/dist/_esm5.processed/features/list/native_text_buffer.js +7 -4
  261. package/dist/_esm5.processed/features/list/native_ttml_parser.js +9 -6
  262. package/dist/_esm5.processed/features/list/native_vtt_parser.js +9 -6
  263. package/dist/_esm5.processed/features/list/smooth.js +9 -6
  264. package/dist/_esm5.processed/features/types.js +2 -1
  265. package/dist/_esm5.processed/index.js +24 -9
  266. package/dist/_esm5.processed/log.js +5 -3
  267. package/dist/_esm5.processed/manifest/adaptation.js +52 -55
  268. package/dist/_esm5.processed/manifest/index.js +32 -13
  269. package/dist/_esm5.processed/manifest/manifest.js +112 -134
  270. package/dist/_esm5.processed/manifest/period.js +38 -42
  271. package/dist/_esm5.processed/manifest/representation.js +78 -61
  272. package/dist/_esm5.processed/manifest/representation_index/index.js +5 -2
  273. package/dist/_esm5.processed/manifest/representation_index/static.js +43 -42
  274. package/dist/_esm5.processed/manifest/representation_index/types.js +2 -1
  275. package/dist/_esm5.processed/manifest/types.js +5 -2
  276. package/dist/_esm5.processed/manifest/update_period_in_place.js +38 -48
  277. package/dist/_esm5.processed/manifest/update_periods.js +59 -69
  278. package/dist/_esm5.processed/manifest/utils.js +14 -9
  279. package/dist/_esm5.processed/minimal.js +9 -7
  280. package/dist/_esm5.processed/parsers/containers/isobmff/constants.js +4 -1
  281. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.js +14 -10
  282. package/dist/_esm5.processed/parsers/containers/isobmff/drm/index.js +5 -1
  283. package/dist/_esm5.processed/parsers/containers/isobmff/drm/playready.js +15 -11
  284. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +48 -40
  285. package/dist/_esm5.processed/parsers/containers/isobmff/index.js +27 -6
  286. package/dist/_esm5.processed/parsers/containers/isobmff/read.js +20 -14
  287. package/dist/_esm5.processed/parsers/containers/isobmff/take_pssh_out.js +25 -20
  288. package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +130 -112
  289. package/dist/_esm5.processed/parsers/containers/matroska/index.js +6 -1
  290. package/dist/_esm5.processed/parsers/containers/matroska/utils.js +67 -63
  291. package/dist/_esm5.processed/parsers/images/bif.js +40 -29
  292. package/dist/_esm5.processed/parsers/manifest/dash/common/attach_trickmode_track.js +10 -12
  293. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +10 -7
  294. package/dist/_esm5.processed/parsers/manifest/dash/common/get_clock_offset.js +8 -5
  295. package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.js +10 -6
  296. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +7 -6
  297. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +10 -6
  298. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.js +14 -9
  299. package/dist/_esm5.processed/parsers/manifest/dash/common/index.js +10 -4
  300. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +73 -67
  301. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +9 -4
  302. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +32 -25
  303. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/index.js +11 -5
  304. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +81 -70
  305. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +130 -123
  306. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +15 -12
  307. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +35 -32
  308. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +14 -9
  309. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +30 -22
  310. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/index.js +4 -2
  311. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +14 -11
  312. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +131 -129
  313. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +16 -10
  314. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/utils.js +7 -3
  315. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.js +19 -18
  316. package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.js +18 -17
  317. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +111 -111
  318. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_availability_start_time.js +4 -1
  319. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +86 -85
  320. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +97 -82
  321. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +39 -37
  322. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +61 -69
  323. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +12 -9
  324. package/dist/_esm5.processed/parsers/manifest/dash/index.js +8 -1
  325. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/index.js +4 -2
  326. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +66 -62
  327. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +7 -4
  328. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.js +7 -4
  329. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.js +22 -19
  330. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +22 -19
  331. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +11 -8
  332. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.js +38 -34
  333. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.js +34 -30
  334. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +44 -40
  335. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +24 -21
  336. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentList.js +15 -12
  337. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +21 -18
  338. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.js +6 -3
  339. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +12 -9
  340. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +60 -64
  341. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +33 -27
  342. package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.js +2 -1
  343. package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.js +2 -1
  344. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/index.js +4 -2
  345. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +192 -238
  346. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +67 -62
  347. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +8 -4
  348. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +11 -7
  349. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +17 -13
  350. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +29 -24
  351. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +38 -33
  352. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +37 -32
  353. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +43 -38
  354. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +9 -5
  355. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +16 -12
  356. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +11 -7
  357. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +20 -16
  358. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +11 -7
  359. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +11 -7
  360. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/index.js +5 -1
  361. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +10 -6
  362. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +22 -20
  363. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.js +2 -1
  364. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.js +6 -2
  365. package/dist/_esm5.processed/parsers/manifest/index.js +17 -1
  366. package/dist/_esm5.processed/parsers/manifest/local/index.js +4 -2
  367. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +30 -27
  368. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +71 -84
  369. package/dist/_esm5.processed/parsers/manifest/local/types.js +2 -1
  370. package/dist/_esm5.processed/parsers/manifest/metaplaylist/index.js +4 -2
  371. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +75 -72
  372. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +52 -52
  373. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +200 -176
  374. package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +13 -8
  375. package/dist/_esm5.processed/parsers/manifest/smooth/index.js +7 -4
  376. package/dist/_esm5.processed/parsers/manifest/smooth/parse_C_nodes.js +17 -14
  377. package/dist/_esm5.processed/parsers/manifest/smooth/parse_protection_node.js +17 -15
  378. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +102 -98
  379. package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +49 -48
  380. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +10 -7
  381. package/dist/_esm5.processed/parsers/manifest/smooth/utils/parseBoolean.js +4 -1
  382. package/dist/_esm5.processed/parsers/manifest/smooth/utils/reduceChildren.js +6 -3
  383. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.js +5 -1
  384. package/dist/_esm5.processed/parsers/manifest/types.js +2 -1
  385. package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.js +27 -24
  386. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +10 -7
  387. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.js +8 -5
  388. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.js +8 -5
  389. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.js +15 -12
  390. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.js +15 -12
  391. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +31 -22
  392. package/dist/_esm5.processed/parsers/manifest/utils/is_segment_still_available.js +9 -6
  393. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +38 -45
  394. package/dist/_esm5.processed/parsers/texttracks/index.js +2 -1
  395. package/dist/_esm5.processed/parsers/texttracks/sami/html.js +45 -43
  396. package/dist/_esm5.processed/parsers/texttracks/sami/native.js +41 -39
  397. package/dist/_esm5.processed/parsers/texttracks/srt/find_end_of_cue_block.js +7 -4
  398. package/dist/_esm5.processed/parsers/texttracks/srt/get_cue_blocks.js +11 -8
  399. package/dist/_esm5.processed/parsers/texttracks/srt/html.js +32 -29
  400. package/dist/_esm5.processed/parsers/texttracks/srt/native.js +16 -13
  401. package/dist/_esm5.processed/parsers/texttracks/srt/parse_cue.js +21 -18
  402. package/dist/_esm5.processed/parsers/texttracks/srt/parse_timestamp.js +10 -7
  403. package/dist/_esm5.processed/parsers/texttracks/ttml/get_parameters.js +37 -30
  404. package/dist/_esm5.processed/parsers/texttracks/ttml/get_styling.js +48 -48
  405. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.js +14 -11
  406. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +7 -2
  407. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +15 -12
  408. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +15 -12
  409. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_line_height.js +11 -8
  410. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +15 -12
  411. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_padding.js +25 -22
  412. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.js +117 -124
  413. package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +11 -8
  414. package/dist/_esm5.processed/parsers/texttracks/ttml/html/index.js +4 -2
  415. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.js +12 -8
  416. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_ttml_to_div.js +14 -11
  417. package/dist/_esm5.processed/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +10 -7
  418. package/dist/_esm5.processed/parsers/texttracks/ttml/native/index.js +4 -2
  419. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.js +38 -35
  420. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +11 -8
  421. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.js +58 -58
  422. package/dist/_esm5.processed/parsers/texttracks/ttml/regexps.js +27 -13
  423. package/dist/_esm5.processed/parsers/texttracks/ttml/resolve_styles_inheritance.js +18 -18
  424. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.js +28 -26
  425. package/dist/_esm5.processed/parsers/texttracks/ttml/xml_utils.js +37 -25
  426. package/dist/_esm5.processed/parsers/texttracks/types.js +2 -1
  427. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_cue_blocks.js +12 -9
  428. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_style_blocks.js +14 -11
  429. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/convert_payload_to_html.js +11 -8
  430. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.js +8 -5
  431. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +60 -60
  432. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.js +30 -27
  433. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/index.js +4 -2
  434. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_style_block.js +23 -26
  435. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_webvtt_to_div.js +20 -17
  436. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.js +23 -18
  437. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/index.js +4 -2
  438. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +19 -16
  439. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/set_settings_on_cue.js +20 -17
  440. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.js +8 -5
  441. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.js +26 -18
  442. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_timestamp.js +10 -7
  443. package/dist/_esm5.processed/parsers/texttracks/webvtt/utils.js +15 -7
  444. package/dist/_esm5.processed/public_types.js +2 -1
  445. package/dist/_esm5.processed/tools/TextTrackRenderer/index.js +13 -6
  446. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +26 -24
  447. package/dist/_esm5.processed/tools/index.js +6 -4
  448. package/dist/_esm5.processed/tools/string_utils.js +10 -1
  449. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +16 -24
  450. package/dist/_esm5.processed/transports/dash/construct_segment_url.js +6 -3
  451. package/dist/_esm5.processed/transports/dash/extract_complete_chunks.js +17 -14
  452. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.js +19 -16
  453. package/dist/_esm5.processed/transports/dash/index.js +4 -2
  454. package/dist/_esm5.processed/transports/dash/init_segment_loader.js +47 -27
  455. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.js +23 -16
  456. package/dist/_esm5.processed/transports/dash/manifest_parser.js +68 -60
  457. package/dist/_esm5.processed/transports/dash/pipelines.js +20 -17
  458. package/dist/_esm5.processed/transports/dash/segment_loader.js +49 -39
  459. package/dist/_esm5.processed/transports/dash/segment_parser.js +58 -39
  460. package/dist/_esm5.processed/transports/dash/text_loader.js +36 -30
  461. package/dist/_esm5.processed/transports/dash/text_parser.js +39 -29
  462. package/dist/_esm5.processed/transports/index.js +17 -1
  463. package/dist/_esm5.processed/transports/local/index.js +4 -2
  464. package/dist/_esm5.processed/transports/local/pipelines.js +26 -23
  465. package/dist/_esm5.processed/transports/local/segment_loader.js +26 -23
  466. package/dist/_esm5.processed/transports/local/segment_parser.js +36 -25
  467. package/dist/_esm5.processed/transports/local/text_parser.js +42 -27
  468. package/dist/_esm5.processed/transports/metaplaylist/index.js +4 -2
  469. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.js +11 -7
  470. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +91 -96
  471. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +26 -20
  472. package/dist/_esm5.processed/transports/smooth/index.js +4 -2
  473. package/dist/_esm5.processed/transports/smooth/is_mp4_embedded_track.js +4 -1
  474. package/dist/_esm5.processed/transports/smooth/isobmff/create_audio_init_segment.js +22 -19
  475. package/dist/_esm5.processed/transports/smooth/isobmff/create_boxes.js +92 -67
  476. package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.js +29 -26
  477. package/dist/_esm5.processed/transports/smooth/isobmff/create_traf_box.js +9 -6
  478. package/dist/_esm5.processed/transports/smooth/isobmff/create_video_init_segment.js +23 -20
  479. package/dist/_esm5.processed/transports/smooth/isobmff/get_aaces_header.js +10 -7
  480. package/dist/_esm5.processed/transports/smooth/isobmff/index.js +13 -6
  481. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfrf.js +19 -16
  482. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfxd.js +9 -6
  483. package/dist/_esm5.processed/transports/smooth/isobmff/patch_segment.js +41 -38
  484. package/dist/_esm5.processed/transports/smooth/pipelines.js +106 -96
  485. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +2 -2
  486. package/dist/_esm5.processed/transports/smooth/segment_loader.js +149 -153
  487. package/dist/_esm5.processed/transports/smooth/utils.js +7 -3
  488. package/dist/_esm5.processed/transports/types.js +2 -1
  489. package/dist/_esm5.processed/transports/utils/byte_range.js +6 -4
  490. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +23 -18
  491. package/dist/_esm5.processed/transports/utils/check_isobmff_integrity.js +14 -11
  492. package/dist/_esm5.processed/transports/utils/find_complete_box.js +11 -8
  493. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.js +22 -14
  494. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +13 -10
  495. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +4 -1
  496. package/dist/_esm5.processed/transports/utils/parse_text_track.js +40 -26
  497. package/dist/_esm5.processed/utils/are_arrays_of_numbers_equal.js +5 -2
  498. package/dist/_esm5.processed/utils/are_codecs_compatible.js +11 -9
  499. package/dist/_esm5.processed/utils/array_find.js +7 -4
  500. package/dist/_esm5.processed/utils/array_find_index.js +6 -3
  501. package/dist/_esm5.processed/utils/array_includes.js +12 -11
  502. package/dist/_esm5.processed/utils/assert.js +13 -9
  503. package/dist/_esm5.processed/utils/assert_unreachable.js +6 -3
  504. package/dist/_esm5.processed/utils/base64.js +23 -18
  505. package/dist/_esm5.processed/utils/byte_parsing.js +30 -17
  506. package/dist/_esm5.processed/utils/cancellable_sleep.js +8 -5
  507. package/dist/_esm5.processed/utils/create_cancellable_promise.js +7 -4
  508. package/dist/_esm5.processed/utils/deep_merge.js +10 -21
  509. package/dist/_esm5.processed/utils/event_emitter.js +24 -24
  510. package/dist/_esm5.processed/utils/flat_map.js +7 -4
  511. package/dist/_esm5.processed/utils/get_fuzzed_delay.js +6 -3
  512. package/dist/_esm5.processed/utils/hash_buffer.js +7 -4
  513. package/dist/_esm5.processed/utils/id_generator.js +6 -3
  514. package/dist/_esm5.processed/utils/initialization_segment_cache.js +11 -12
  515. package/dist/_esm5.processed/utils/is_non_empty_string.js +4 -1
  516. package/dist/_esm5.processed/utils/is_null_or_undefined.js +4 -1
  517. package/dist/_esm5.processed/utils/languages/ISO_639-1_to_ISO_639-3.js +4 -2
  518. package/dist/_esm5.processed/utils/languages/ISO_639-2_to_ISO_639-3.js +4 -2
  519. package/dist/_esm5.processed/utils/languages/index.js +7 -3
  520. package/dist/_esm5.processed/utils/languages/normalize.js +26 -20
  521. package/dist/_esm5.processed/utils/logger.js +24 -23
  522. package/dist/_esm5.processed/utils/monotonic_timestamp.js +4 -1
  523. package/dist/_esm5.processed/utils/noop.js +4 -1
  524. package/dist/_esm5.processed/utils/object_assign.js +8 -10
  525. package/dist/_esm5.processed/utils/object_values.js +6 -3
  526. package/dist/_esm5.processed/utils/ranges.js +94 -71
  527. package/dist/_esm5.processed/utils/reference.js +48 -52
  528. package/dist/_esm5.processed/utils/request/fetch.js +79 -109
  529. package/dist/_esm5.processed/utils/request/index.js +9 -4
  530. package/dist/_esm5.processed/utils/request/xhr.js +49 -37
  531. package/dist/_esm5.processed/utils/resolve_url.js +18 -18
  532. package/dist/_esm5.processed/utils/retry_promise_with_backoff.js +34 -81
  533. package/dist/_esm5.processed/utils/sleep.js +5 -2
  534. package/dist/_esm5.processed/utils/slice_uint8array.js +3 -1
  535. package/dist/_esm5.processed/utils/sorted_list.js +37 -40
  536. package/dist/_esm5.processed/utils/starts_with.js +5 -2
  537. package/dist/_esm5.processed/utils/string_parsing.js +84 -73
  538. package/dist/_esm5.processed/utils/take_first_set.js +9 -10
  539. package/dist/_esm5.processed/utils/task_canceller.js +51 -71
  540. package/dist/_esm5.processed/utils/warn_once.js +7 -4
  541. package/dist/_esm5.processed/utils/weak_map_memory.js +12 -11
  542. package/dist/_esm5.processed/utils/wrapInPromise.js +5 -2
  543. package/dist/mpd-parser.wasm +0 -0
  544. package/dist/rx-player.js +43758 -45493
  545. package/dist/rx-player.min.js +1 -1
  546. package/jest.config.js +1 -22
  547. package/package.json +22 -23
  548. package/scripts/build/constants.d.ts +1 -23
  549. package/scripts/build/generate_build.js +1 -1
  550. package/scripts/check_nodejs_import_compatibility.js +1 -1
  551. package/scripts/update-version +1 -4
  552. package/sonar-project.properties +1 -1
  553. package/src/compat/event_listeners.ts +8 -8
  554. package/src/compat/global_scope.ts +2 -0
  555. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +3 -3
  556. package/src/core/adaptive/adaptive_representation_selector.ts +27 -9
  557. package/src/core/adaptive/buffer_based_chooser.ts +1 -1
  558. package/src/core/adaptive/network_analyzer.ts +5 -4
  559. package/src/core/api/public_api.ts +2 -2
  560. package/src/core/api/track_management/track_dispatcher.ts +2 -1
  561. package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +1 -1
  562. package/src/core/fetchers/cdn_prioritizer.ts +1 -1
  563. package/src/experimental/features/__tests__/index.test.ts +19 -0
  564. package/src/experimental/features/index.ts +1 -0
  565. package/src/features/list/__tests__/index.test.ts +49 -0
  566. package/src/index.ts +28 -3
  567. package/src/transports/smooth/segment_loader.ts +4 -4
  568. package/src/typings/globals.d.ts +0 -42
  569. package/src/utils/request/fetch.ts +1 -1
  570. package/src/utils/request/xhr.ts +1 -1
  571. package/tsconfig.json +1 -1
  572. package/tsconfig.modules.json +3 -3
  573. package/dist/_esm5.processed/features/initialize_features.d.ts +0 -19
  574. package/dist/_esm5.processed/features/initialize_features.js +0 -108
  575. package/src/features/__tests__/initialize_features.test.ts +0 -657
  576. package/src/features/initialize_features.ts +0 -129
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,31 +14,33 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import objectValues from "../../../../utils/object_values";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const object_values_1 = require("../../../../utils/object_values");
17
19
  /**
18
20
  * Construct a DOM attribute reflecting given cue settings
19
21
  * @param {Partial<Record<string, string>>} settings
20
22
  * @returns {Attr}
21
23
  */
22
- export default function createStyleAttribute(settings) {
23
- var pAttr = document.createAttribute("style");
24
+ function createStyleAttribute(settings) {
25
+ const pAttr = document.createAttribute("style");
24
26
  pAttr.value = getAttrValue(settings);
25
27
  return pAttr;
26
28
  }
27
- var getAttrValue = function (settings) {
28
- var hasSettings = settings !== undefined && objectValues(settings).length !== 0;
29
+ exports.default = createStyleAttribute;
30
+ const getAttrValue = (settings) => {
31
+ const hasSettings = settings !== undefined && (0, object_values_1.default)(settings).length !== 0;
29
32
  if (!hasSettings) {
30
33
  return "text-align:center";
31
34
  }
32
- var xPositioning = getPositioningX(settings);
33
- var yPositioning = getPositioningY(settings);
35
+ const xPositioning = getPositioningX(settings);
36
+ const yPositioning = getPositioningY(settings);
34
37
  return ("position: absolute;" +
35
38
  "margin: 0;" +
36
- "transform: translate(".concat(xPositioning.offset, "%,").concat(yPositioning.offset, "%);") +
37
- "width: ".concat(getSizePercentage(settings.size), "%;") +
38
- "left: ".concat(xPositioning.position, "%;") +
39
- "top: ".concat(yPositioning.position !== null ? "".concat(yPositioning.position, "%") : "auto", ";") +
40
- "text-align: ".concat(getAlignValue(settings.align), ";"));
39
+ `transform: translate(${xPositioning.offset}%,${yPositioning.offset}%);` +
40
+ `width: ${getSizePercentage(settings.size)}%;` +
41
+ `left: ${xPositioning.position}%;` +
42
+ `top: ${yPositioning.position !== null ? `${yPositioning.position}%` : "auto"};` +
43
+ `text-align: ${getAlignValue(settings.align)};`);
41
44
  };
42
45
  var PositionAlignment;
43
46
  (function (PositionAlignment) {
@@ -57,90 +60,87 @@ var LineAlignment;
57
60
  LineAlignment["CENTER"] = "center";
58
61
  LineAlignment["END"] = "end";
59
62
  })(LineAlignment || (LineAlignment = {}));
60
- var getPositioningX = function (settings) {
63
+ const getPositioningX = (settings) => {
61
64
  return {
62
65
  position: getXPositionPercentage(settings),
63
66
  offset: getXOffsetPercentage(settings),
64
67
  };
65
68
  };
66
- var getXPositionPercentage = function (settings) {
67
- var _a;
68
- var positionPercentage = getPercentageValue(settings.position);
69
+ const getXPositionPercentage = (settings) => {
70
+ const positionPercentage = getPercentageValue(settings.position);
69
71
  if (positionPercentage !== null) {
70
72
  return positionPercentage;
71
73
  }
72
- var align = getAlignValue(settings.align);
73
- var alignMap = (_a = {},
74
- _a[Align.LEFT] = 0,
75
- _a[Align.CENTER] = 50,
76
- _a[Align.RIGHT] = 100,
77
- _a);
74
+ const align = getAlignValue(settings.align);
75
+ const alignMap = {
76
+ [Align.LEFT]: 0,
77
+ [Align.CENTER]: 50,
78
+ [Align.RIGHT]: 100,
79
+ };
78
80
  return alignMap[align];
79
81
  };
80
- var getXOffsetPercentage = function (settings) {
81
- var _a, _b;
82
- var getPositionAlignment = function (positionSetting) {
83
- var positionRegex = /,(line-left|line-right|center)/;
84
- var matches = positionRegex.exec(positionSetting);
82
+ const getXOffsetPercentage = (settings) => {
83
+ const getPositionAlignment = (positionSetting) => {
84
+ const positionRegex = /,(line-left|line-right|center)/;
85
+ const matches = positionRegex.exec(positionSetting);
85
86
  if (!Array.isArray(matches) || matches.length < 2) {
86
87
  return null;
87
88
  }
88
89
  return matches[1];
89
90
  };
90
- var positionAlignmentMap = (_a = {},
91
- _a[PositionAlignment.LINE_LEFT] = 0,
92
- _a[PositionAlignment.CENTER] = -50,
93
- _a[PositionAlignment.LINE_RIGHT] = -100,
94
- _a);
95
- var positionAlignment = settings.position !== undefined ?
91
+ const positionAlignmentMap = {
92
+ [PositionAlignment.LINE_LEFT]: 0,
93
+ [PositionAlignment.CENTER]: -50,
94
+ [PositionAlignment.LINE_RIGHT]: -100,
95
+ };
96
+ const positionAlignment = settings.position !== undefined ?
96
97
  getPositionAlignment(settings.position) :
97
98
  null;
98
99
  if (positionAlignment !== null) {
99
100
  return positionAlignmentMap[positionAlignment];
100
101
  }
101
- var alignMap = (_b = {},
102
- _b[Align.LEFT] = 0,
103
- _b[Align.CENTER] = -50,
104
- _b[Align.RIGHT] = -100,
105
- _b);
106
- var align = settings.align !== undefined ?
102
+ const alignMap = {
103
+ [Align.LEFT]: 0,
104
+ [Align.CENTER]: -50,
105
+ [Align.RIGHT]: -100,
106
+ };
107
+ const align = settings.align !== undefined ?
107
108
  getAlignValue(settings.align)
108
109
  : Align.CENTER;
109
110
  return alignMap[align];
110
111
  };
111
- var getPositioningY = function (settings) {
112
+ const getPositioningY = (settings) => {
112
113
  return {
113
114
  position: getYPositionPercentage(settings.line),
114
115
  offset: getYOffsetPercentage(settings.line),
115
116
  };
116
117
  };
117
- var getYPositionPercentage = function (lineSetting) {
118
+ const getYPositionPercentage = (lineSetting) => {
118
119
  return getPercentageValue(lineSetting);
119
120
  };
120
- var getYOffsetPercentage = function (lineSetting) {
121
- var _a;
122
- var getLineAlignment = function (line) {
123
- var positionRegex = /,(start|center|end)/;
124
- var matches = positionRegex.exec(line);
121
+ const getYOffsetPercentage = (lineSetting) => {
122
+ const getLineAlignment = (line) => {
123
+ const positionRegex = /,(start|center|end)/;
124
+ const matches = positionRegex.exec(line);
125
125
  if (!Array.isArray(matches) || matches.length < 2) {
126
126
  return null;
127
127
  }
128
128
  return matches[1];
129
129
  };
130
- var lineAlignmentMap = (_a = {},
131
- _a[LineAlignment.START] = 0,
132
- _a[LineAlignment.CENTER] = -50,
133
- _a[LineAlignment.END] = -100,
134
- _a);
130
+ const lineAlignmentMap = {
131
+ [LineAlignment.START]: 0,
132
+ [LineAlignment.CENTER]: -50,
133
+ [LineAlignment.END]: -100,
134
+ };
135
135
  if (lineSetting === undefined) {
136
136
  return lineAlignmentMap[LineAlignment.START];
137
137
  }
138
- var lineAlignment = getLineAlignment(lineSetting);
138
+ const lineAlignment = getLineAlignment(lineSetting);
139
139
  return lineAlignment !== null ?
140
140
  lineAlignmentMap[lineAlignment] :
141
141
  lineAlignmentMap[LineAlignment.START];
142
142
  };
143
- var getAlignValue = function (alignSetting) {
143
+ const getAlignValue = (alignSetting) => {
144
144
  switch (alignSetting) {
145
145
  case "left":
146
146
  case "start":
@@ -152,22 +152,22 @@ var getAlignValue = function (alignSetting) {
152
152
  return "center";
153
153
  }
154
154
  };
155
- var getSizePercentage = function (sizeSetting) {
156
- var defaultSize = 100;
155
+ const getSizePercentage = (sizeSetting) => {
156
+ const defaultSize = 100;
157
157
  return getPercentageValueOrDefault(sizeSetting, defaultSize);
158
158
  };
159
- var getPercentageValueOrDefault = function (percentageString, defaultValue) {
160
- var value = getPercentageValue(percentageString);
159
+ const getPercentageValueOrDefault = (percentageString, defaultValue) => {
160
+ const value = getPercentageValue(percentageString);
161
161
  return value !== null ?
162
162
  value :
163
163
  defaultValue;
164
164
  };
165
- var getPercentageValue = function (percentageString) {
165
+ const getPercentageValue = (percentageString) => {
166
166
  if (percentageString === undefined) {
167
167
  return null;
168
168
  }
169
- var percentageValueRegex = /^([\d.]+)%/;
170
- var matches = percentageValueRegex.exec(percentageString);
169
+ const percentageValueRegex = /^([\d.]+)%/;
170
+ const matches = percentageValueRegex.exec(percentageString);
171
171
  if (!Array.isArray(matches) || matches.length < 2) {
172
172
  return null;
173
173
  }
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,8 +14,9 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import arrayIncludes from "../../../../utils/array_includes";
17
- import isNonEmptyString from "../../../../utils/is_non_empty_string";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const array_includes_1 = require("../../../../utils/array_includes");
19
+ const is_non_empty_string_1 = require("../../../../utils/is_non_empty_string");
18
20
  /**
19
21
  * Construct an HTMLElement/TextNode representing the given node and apply
20
22
  * the right styling on it.
@@ -23,61 +25,62 @@ import isNonEmptyString from "../../../../utils/is_non_empty_string";
23
25
  * @param {Array.<string>} styleClasses
24
26
  * @returns {Node}
25
27
  */
26
- export default function createStyledElement(baseNode, styleElements) {
27
- var HTMLTags = ["u", "i", "b"];
28
- var authorizedNodeNames = ["u", "i", "b", "c", "#text"];
29
- var mainNodeName = baseNode.nodeName.toLowerCase().split(".")[0];
30
- var nodeWithStyle;
31
- if (arrayIncludes(authorizedNodeNames, mainNodeName)) {
28
+ function createStyledElement(baseNode, styleElements) {
29
+ const HTMLTags = ["u", "i", "b"];
30
+ const authorizedNodeNames = ["u", "i", "b", "c", "#text"];
31
+ const mainNodeName = baseNode.nodeName.toLowerCase().split(".")[0];
32
+ let nodeWithStyle;
33
+ if ((0, array_includes_1.default)(authorizedNodeNames, mainNodeName)) {
32
34
  if (mainNodeName === "#text") {
33
- var linifiedText = baseNode.wholeText
35
+ const linifiedText = baseNode.wholeText
34
36
  .split("\n");
35
37
  nodeWithStyle = document.createElement("span");
36
- for (var i = 0; i < linifiedText.length; i++) {
38
+ for (let i = 0; i < linifiedText.length; i++) {
37
39
  if (i > 0) {
38
40
  nodeWithStyle.appendChild(document.createElement("br"));
39
41
  }
40
42
  if (linifiedText[i].length > 0) {
41
- var textNode = document.createTextNode(linifiedText[i]);
43
+ const textNode = document.createTextNode(linifiedText[i]);
42
44
  nodeWithStyle.appendChild(textNode);
43
45
  }
44
46
  }
45
47
  }
46
48
  else {
47
- var nodeClasses = baseNode.nodeName.toLowerCase().split(".");
48
- var styleContents_1 = [];
49
- nodeClasses.forEach(function (nodeClass) {
50
- if (isNonEmptyString(styleElements[nodeClass])) {
51
- styleContents_1.push(styleElements[nodeClass]);
49
+ const nodeClasses = baseNode.nodeName.toLowerCase().split(".");
50
+ const styleContents = [];
51
+ nodeClasses.forEach(nodeClass => {
52
+ if ((0, is_non_empty_string_1.default)(styleElements[nodeClass])) {
53
+ styleContents.push(styleElements[nodeClass]);
52
54
  }
53
55
  });
54
- if (styleContents_1.length !== 0) { // If style must be applied
55
- var attr_1 = document.createAttribute("style");
56
- styleContents_1.forEach(function (styleContent) {
57
- attr_1.value += styleContent;
56
+ if (styleContents.length !== 0) { // If style must be applied
57
+ const attr = document.createAttribute("style");
58
+ styleContents.forEach((styleContent) => {
59
+ attr.value += styleContent;
58
60
  });
59
- var nameClass = arrayIncludes(HTMLTags, mainNodeName) ?
61
+ const nameClass = (0, array_includes_1.default)(HTMLTags, mainNodeName) ?
60
62
  mainNodeName : "span";
61
63
  nodeWithStyle = document.createElement(nameClass);
62
- nodeWithStyle.setAttributeNode(attr_1);
64
+ nodeWithStyle.setAttributeNode(attr);
63
65
  }
64
66
  else { // If style mustn't be applied. Rebuild element with tag name
65
- var elementTag = !arrayIncludes(HTMLTags, mainNodeName) ?
67
+ const elementTag = !(0, array_includes_1.default)(HTMLTags, mainNodeName) ?
66
68
  "span" : mainNodeName;
67
69
  nodeWithStyle = document.createElement(elementTag);
68
70
  }
69
- for (var j = 0; j < baseNode.childNodes.length; j++) {
70
- var child = createStyledElement(baseNode.childNodes[j], styleElements);
71
+ for (let j = 0; j < baseNode.childNodes.length; j++) {
72
+ const child = createStyledElement(baseNode.childNodes[j], styleElements);
71
73
  nodeWithStyle.appendChild(child);
72
74
  }
73
75
  }
74
76
  }
75
77
  else {
76
78
  nodeWithStyle = document.createElement("span");
77
- for (var j = 0; j < baseNode.childNodes.length; j++) {
78
- var child = createStyledElement(baseNode.childNodes[j], styleElements);
79
+ for (let j = 0; j < baseNode.childNodes.length; j++) {
80
+ const child = createStyledElement(baseNode.childNodes[j], styleElements);
79
81
  nodeWithStyle.appendChild(child);
80
82
  }
81
83
  }
82
84
  return nodeWithStyle;
83
85
  }
86
+ exports.default = createStyledElement;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,10 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
16
18
  /**
17
19
  * /!\ This file is feature-switchable.
18
20
  * It always should be imported through the `features` object.
19
21
  */
20
- import parseWebVTTToDiv from "./parse_webvtt_to_div";
21
- export default parseWebVTTToDiv;
22
+ const parse_webvtt_to_div_1 = require("./parse_webvtt_to_div");
23
+ exports.default = parse_webvtt_to_div_1.default;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,60 +14,56 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import isNonEmptyString from "../../../../utils/is_non_empty_string";
17
- import createDefaultStyleElements from "./create_default_style_elements";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const is_non_empty_string_1 = require("../../../../utils/is_non_empty_string");
19
+ const create_default_style_elements_1 = require("./create_default_style_elements");
18
20
  /**
19
21
  * Parse style element from WebVTT.
20
22
  * @param {Array.<Array.<string>>} styleBlocks
21
23
  * @return {Object}
22
24
  */
23
- export default function parseStyleBlocks(styleBlocks) {
24
- var classes = createDefaultStyleElements();
25
- var global = "";
26
- styleBlocks.forEach(function (styleBlock) {
25
+ function parseStyleBlocks(styleBlocks) {
26
+ const classes = (0, create_default_style_elements_1.default)();
27
+ let global = "";
28
+ styleBlocks.forEach((styleBlock) => {
27
29
  if (styleBlock.length >= 2) {
28
- var _loop_1 = function (index) {
29
- var line = styleBlock[index];
30
+ for (let index = 1; index < styleBlock.length; index++) {
31
+ let line = styleBlock[index];
30
32
  if (Array.isArray(/::cue {/.exec(line))) {
31
33
  line = styleBlock[++index];
32
- while (isNonEmptyString(line) && (!(Array.isArray(/}/.exec(line)) ||
34
+ while ((0, is_non_empty_string_1.default)(line) && (!(Array.isArray(/}/.exec(line)) ||
33
35
  line.length === 0))) {
34
36
  global += line;
35
37
  line = styleBlock[++index];
36
38
  }
37
39
  }
38
40
  else {
39
- var classNames = [];
40
- var cueClassLine = /::cue\(\.?(.*?)\)(?:,| {)/.exec(line);
41
- while (isNonEmptyString(line) && Array.isArray(cueClassLine)) {
41
+ const classNames = [];
42
+ let cueClassLine = /::cue\(\.?(.*?)\)(?:,| {)/.exec(line);
43
+ while ((0, is_non_empty_string_1.default)(line) && Array.isArray(cueClassLine)) {
42
44
  classNames.push(cueClassLine[1]);
43
45
  line = styleBlock[++index];
44
46
  cueClassLine = /::cue\(\.?(.*?)\)(?:,| {)/.exec(line);
45
47
  }
46
- var styleContent_1 = "";
47
- while (isNonEmptyString(line) && (!(Array.isArray(/}/.exec(line)) ||
48
+ let styleContent = "";
49
+ while ((0, is_non_empty_string_1.default)(line) && (!(Array.isArray(/}/.exec(line)) ||
48
50
  line.length === 0))) {
49
- styleContent_1 += line;
51
+ styleContent += line;
50
52
  line = styleBlock[++index];
51
53
  }
52
- classNames.forEach(function (className) {
53
- var styleElement = classes[className];
54
+ classNames.forEach((className) => {
55
+ const styleElement = classes[className];
54
56
  if (styleElement === undefined) {
55
- classes[className] = styleContent_1;
57
+ classes[className] = styleContent;
56
58
  }
57
59
  else {
58
- classes[className] += styleContent_1;
60
+ classes[className] += styleContent;
59
61
  }
60
62
  });
61
63
  }
62
- out_index_1 = index;
63
- };
64
- var out_index_1;
65
- for (var index = 1; index < styleBlock.length; index++) {
66
- _loop_1(index);
67
- index = out_index_1;
68
64
  }
69
65
  }
70
66
  });
71
- return { classes: classes, global: global };
67
+ return { classes, global };
72
68
  }
69
+ exports.default = parseStyleBlocks;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,12 +14,13 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import getCueBlocks from "../get_cue_blocks";
17
- import getStyleBlocks from "../get_style_blocks";
18
- import parseCueBlock from "../parse_cue_block";
19
- import { getFirstLineAfterHeader } from "../utils";
20
- import parseStyleBlocks from "./parse_style_block";
21
- import toHTML from "./to_html";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const get_cue_blocks_1 = require("../get_cue_blocks");
19
+ const get_style_blocks_1 = require("../get_style_blocks");
20
+ const parse_cue_block_1 = require("../parse_cue_block");
21
+ const utils_1 = require("../utils");
22
+ const parse_style_block_1 = require("./parse_style_block");
23
+ const to_html_1 = require("./to_html");
22
24
  /**
23
25
  * Parse WebVTT from text. Returns an array with:
24
26
  * - start : start of current cue, in seconds
@@ -33,23 +35,24 @@ import toHTML from "./to_html";
33
35
  * @param {Number} timeOffset - Offset to add to start and end times, in seconds
34
36
  * @return {Array.<Object>}
35
37
  */
36
- export default function parseWebVTT(text, timeOffset) {
37
- var newLineChar = /\r\n|\n|\r/g; // CRLF|LF|CR
38
- var linified = text.split(newLineChar);
39
- var cuesArray = [];
38
+ function parseWebVTT(text, timeOffset) {
39
+ const newLineChar = /\r\n|\n|\r/g; // CRLF|LF|CR
40
+ const linified = text.split(newLineChar);
41
+ const cuesArray = [];
40
42
  if (/^WEBVTT( |\t|\n|\r|$)/.exec(linified[0]) === null) {
41
43
  throw new Error("Can't parse WebVTT: Invalid File.");
42
44
  }
43
- var firstLineAfterHeader = getFirstLineAfterHeader(linified);
44
- var styleBlocks = getStyleBlocks(linified, firstLineAfterHeader);
45
- var cueBlocks = getCueBlocks(linified, firstLineAfterHeader);
46
- var styles = parseStyleBlocks(styleBlocks);
47
- for (var i = 0; i < cueBlocks.length; i++) {
48
- var cueObject = parseCueBlock(cueBlocks[i], timeOffset);
45
+ const firstLineAfterHeader = (0, utils_1.getFirstLineAfterHeader)(linified);
46
+ const styleBlocks = (0, get_style_blocks_1.default)(linified, firstLineAfterHeader);
47
+ const cueBlocks = (0, get_cue_blocks_1.default)(linified, firstLineAfterHeader);
48
+ const styles = (0, parse_style_block_1.default)(styleBlocks);
49
+ for (let i = 0; i < cueBlocks.length; i++) {
50
+ const cueObject = (0, parse_cue_block_1.default)(cueBlocks[i], timeOffset);
49
51
  if (cueObject != null) {
50
- var htmlCue = toHTML(cueObject, styles);
52
+ const htmlCue = (0, to_html_1.default)(cueObject, styles);
51
53
  cuesArray.push(htmlCue);
52
54
  }
53
55
  }
54
56
  return cuesArray;
55
57
  }
58
+ exports.default = parseWebVTT;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,10 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import isNonEmptyString from "../../../../utils/is_non_empty_string";
17
- import convertPayloadToHTML from "./convert_payload_to_html";
18
- import createStyleAttribute from "./create_style_attribute";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const is_non_empty_string_1 = require("../../../../utils/is_non_empty_string");
19
+ const convert_payload_to_html_1 = require("./convert_payload_to_html");
20
+ const create_style_attribute_1 = require("./create_style_attribute");
19
21
  /**
20
22
  * Parse cue block into an object with the following properties:
21
23
  * - start {number}: start time at which the cue should be displayed
@@ -28,10 +30,10 @@ import createStyleAttribute from "./create_style_attribute";
28
30
  * @param {Array.<Object>} classes
29
31
  * @returns {Object|undefined}
30
32
  */
31
- export default function toHTML(cueObj, styling) {
32
- var start = cueObj.start, end = cueObj.end, settings = cueObj.settings, header = cueObj.header, payload = cueObj.payload;
33
- var region = document.createElement("div");
34
- var regionAttr = document.createAttribute("style");
33
+ function toHTML(cueObj, styling) {
34
+ const { start, end, settings, header, payload } = cueObj;
35
+ const region = document.createElement("div");
36
+ const regionAttr = document.createAttribute("style");
35
37
  regionAttr.value =
36
38
  "width:100%;" +
37
39
  "height:100%;" +
@@ -41,30 +43,33 @@ export default function toHTML(cueObj, styling) {
41
43
  "align-items:center;";
42
44
  region.setAttributeNode(regionAttr);
43
45
  // Get content, format and apply style.
44
- var pElement = document.createElement("p");
45
- var pAttr = createStyleAttribute(settings);
46
+ const pElement = document.createElement("p");
47
+ const pAttr = (0, create_style_attribute_1.default)(settings);
46
48
  pElement.setAttributeNode(pAttr);
47
- var spanElement = document.createElement("span");
48
- var attr = document.createAttribute("style");
49
+ const spanElement = document.createElement("span");
50
+ const attr = document.createAttribute("style");
49
51
  // set color and background-color default values, as indicated in:
50
52
  // https://www.w3.org/TR/webvtt1/#applying-css-properties
51
53
  attr.value =
52
54
  "background-color:rgba(0,0,0,0.8);" +
53
55
  "color:white;";
54
56
  spanElement.setAttributeNode(attr);
55
- var global = styling.global, classes = styling.classes;
56
- var localStyle = isNonEmptyString(header) ? classes[header] :
57
+ const { global, classes } = styling;
58
+ const localStyle = (0, is_non_empty_string_1.default)(header) ? classes[header] :
57
59
  undefined;
58
- var styles = [global, localStyle]
59
- .filter(function (s) { return s !== undefined; })
60
+ const styles = [global, localStyle]
61
+ .filter((s) => s !== undefined)
60
62
  .join("");
61
63
  attr.value += styles;
62
64
  spanElement.setAttributeNode(attr);
63
- convertPayloadToHTML(payload.join("\n"), classes)
64
- .forEach(function (element) {
65
+ (0, convert_payload_to_html_1.default)(payload.join("\n"), classes)
66
+ .forEach(element => {
65
67
  spanElement.appendChild(element);
66
68
  });
67
69
  region.appendChild(pElement);
68
70
  pElement.appendChild(spanElement);
69
- return { start: start, end: end, element: region };
71
+ return { start,
72
+ end,
73
+ element: region };
70
74
  }
75
+ exports.default = toHTML;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,10 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
16
18
  /**
17
19
  * /!\ This file is feature-switchable.
18
20
  * It always should be imported through the `features` object.
19
21
  */
20
- import parseVTTStringToVTTCues from "./parse_vtt_to_cues";
21
- export default parseVTTStringToVTTCues;
22
+ const parse_vtt_to_cues_1 = require("./parse_vtt_to_cues");
23
+ exports.default = parse_vtt_to_cues_1.default;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,16 +14,17 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
16
18
  /**
17
19
  * /!\ This file is feature-switchable.
18
20
  * It always should be imported through the `features` object.
19
21
  */
20
- import { isVTTCue, } from "../../../../compat/index";
21
- import getCueBlocks from "../get_cue_blocks";
22
- import parseCueBlock from "../parse_cue_block";
23
- import { getFirstLineAfterHeader } from "../utils";
24
- import setSettingsOnCue from "./set_settings_on_cue";
25
- import toNativeCue from "./to_native_cue";
22
+ const index_1 = require("../../../../compat/index");
23
+ const get_cue_blocks_1 = require("../get_cue_blocks");
24
+ const parse_cue_block_1 = require("../parse_cue_block");
25
+ const utils_1 = require("../utils");
26
+ const set_settings_on_cue_1 = require("./set_settings_on_cue");
27
+ const to_native_cue_1 = require("./to_native_cue");
26
28
  // Simple VTT to ICompatVTTCue parser:
27
29
  // Just parse cues and associated settings.
28
30
  // Does not take into consideration STYLE and REGION blocks.
@@ -33,22 +35,22 @@ import toNativeCue from "./to_native_cue";
33
35
  * @param {Number} timeOffset
34
36
  * @returns {Array.<ICompatVTTCue|TextTrackCue>}
35
37
  */
36
- export default function parseVTTStringToVTTCues(vttStr, timeOffset) {
38
+ function parseVTTStringToVTTCues(vttStr, timeOffset) {
37
39
  // WEBVTT authorize CRLF, LF or CR as line terminators
38
- var lines = vttStr.split(/\r\n|\n|\r/);
40
+ const lines = vttStr.split(/\r\n|\n|\r/);
39
41
  if (!(/^WEBVTT($| |\t)/.test(lines[0]))) {
40
42
  throw new Error("Can't parse WebVTT: Invalid file.");
41
43
  }
42
- var firstLineAfterHeader = getFirstLineAfterHeader(lines);
43
- var cueBlocks = getCueBlocks(lines, firstLineAfterHeader);
44
- var cues = [];
45
- for (var i = 0; i < cueBlocks.length; i++) {
46
- var cueObject = parseCueBlock(cueBlocks[i], timeOffset);
44
+ const firstLineAfterHeader = (0, utils_1.getFirstLineAfterHeader)(lines);
45
+ const cueBlocks = (0, get_cue_blocks_1.default)(lines, firstLineAfterHeader);
46
+ const cues = [];
47
+ for (let i = 0; i < cueBlocks.length; i++) {
48
+ const cueObject = (0, parse_cue_block_1.default)(cueBlocks[i], timeOffset);
47
49
  if (cueObject != null) {
48
- var nativeCue = toNativeCue(cueObject);
50
+ const nativeCue = (0, to_native_cue_1.default)(cueObject);
49
51
  if (nativeCue != null) {
50
- if (isVTTCue(nativeCue)) {
51
- setSettingsOnCue(cueObject.settings, nativeCue);
52
+ if ((0, index_1.isVTTCue)(nativeCue)) {
53
+ (0, set_settings_on_cue_1.default)(cueObject.settings, nativeCue);
52
54
  }
53
55
  cues.push(nativeCue);
54
56
  }
@@ -56,3 +58,4 @@ export default function parseVTTStringToVTTCues(vttStr, timeOffset) {
56
58
  }
57
59
  return cues;
58
60
  }
61
+ exports.default = parseVTTStringToVTTCues;