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,27 +14,28 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { addClassName } from "../../../../compat";
17
- import log from "../../../../log";
18
- import { REGXP_LENGTH } from "../regexps";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const compat_1 = require("../../../../compat");
19
+ const log_1 = require("../../../../log");
20
+ const regexps_1 = require("../regexps");
19
21
  /**
20
22
  * @param {HTMLElement} element
21
23
  * @param {string} padding
22
24
  */
23
- export default function applyPadding(element, padding) {
24
- var trimmedPadding = padding.trim();
25
- var splittedPadding = trimmedPadding.split(" ");
25
+ function applyPadding(element, padding) {
26
+ const trimmedPadding = padding.trim();
27
+ const splittedPadding = trimmedPadding.split(" ");
26
28
  if (splittedPadding.length < 1) {
27
29
  return;
28
30
  }
29
- var firstPadding = REGXP_LENGTH.exec(splittedPadding[0]);
31
+ const firstPadding = regexps_1.REGXP_LENGTH.exec(splittedPadding[0]);
30
32
  if (firstPadding === null) {
31
33
  return;
32
34
  }
33
35
  if (firstPadding[2] === "px" ||
34
36
  firstPadding[2] === "%" ||
35
37
  firstPadding[2] === "em") {
36
- var firstPaddingValue = firstPadding[1] + firstPadding[2];
38
+ const firstPaddingValue = firstPadding[1] + firstPadding[2];
37
39
  if (splittedPadding.length === 1) {
38
40
  element.style.padding = firstPaddingValue;
39
41
  }
@@ -46,7 +48,7 @@ export default function applyPadding(element, padding) {
46
48
  }
47
49
  }
48
50
  else if (firstPadding[2] === "c") {
49
- addClassName(element, "proportional-style");
51
+ (0, compat_1.addClassName)(element, "proportional-style");
50
52
  if (splittedPadding.length === 1) {
51
53
  element.setAttribute("data-proportional-padding-top", firstPadding[1]);
52
54
  element.setAttribute("data-proportional-padding-bottom", firstPadding[1]);
@@ -62,19 +64,19 @@ export default function applyPadding(element, padding) {
62
64
  }
63
65
  }
64
66
  else {
65
- log.warn("TTML Parser: unhandled padding unit:", firstPadding[2]);
67
+ log_1.default.warn("TTML Parser: unhandled padding unit:", firstPadding[2]);
66
68
  }
67
69
  if (splittedPadding.length === 1) {
68
70
  return;
69
71
  }
70
- var secondPadding = REGXP_LENGTH.exec(splittedPadding[1]);
72
+ const secondPadding = regexps_1.REGXP_LENGTH.exec(splittedPadding[1]);
71
73
  if (secondPadding === null) {
72
74
  return;
73
75
  }
74
76
  if (secondPadding[2] === "px" ||
75
77
  secondPadding[2] === "%" ||
76
78
  secondPadding[2] === "em") {
77
- var secondPaddingValue = secondPadding[1] + secondPadding[2];
79
+ const secondPaddingValue = secondPadding[1] + secondPadding[2];
78
80
  if (splittedPadding.length < 4) {
79
81
  element.style.paddingLeft = secondPaddingValue;
80
82
  element.style.paddingRight = secondPaddingValue;
@@ -84,7 +86,7 @@ export default function applyPadding(element, padding) {
84
86
  }
85
87
  }
86
88
  else if (secondPadding[2] === "c") {
87
- addClassName(element, "proportional-style");
89
+ (0, compat_1.addClassName)(element, "proportional-style");
88
90
  if (splittedPadding.length < 4) {
89
91
  element.setAttribute("data-proportional-padding-left", secondPadding[1]);
90
92
  element.setAttribute("data-proportional-padding-right", secondPadding[1]);
@@ -94,46 +96,47 @@ export default function applyPadding(element, padding) {
94
96
  }
95
97
  }
96
98
  else {
97
- log.warn("TTML Parser: unhandled padding unit:", secondPadding[2]);
99
+ log_1.default.warn("TTML Parser: unhandled padding unit:", secondPadding[2]);
98
100
  }
99
101
  if (splittedPadding.length === 2) {
100
102
  return;
101
103
  }
102
- var thirdPadding = REGXP_LENGTH.exec(splittedPadding[2]);
104
+ const thirdPadding = regexps_1.REGXP_LENGTH.exec(splittedPadding[2]);
103
105
  if (thirdPadding === null) {
104
106
  return;
105
107
  }
106
108
  if (thirdPadding[2] === "px" ||
107
109
  thirdPadding[2] === "%" ||
108
110
  thirdPadding[2] === "em") {
109
- var thirdPaddingValue = thirdPadding[1] + thirdPadding[2];
111
+ const thirdPaddingValue = thirdPadding[1] + thirdPadding[2];
110
112
  element.style.paddingBottom = thirdPaddingValue;
111
113
  }
112
114
  else if (thirdPadding[2] === "c") {
113
- addClassName(element, "proportional-style");
115
+ (0, compat_1.addClassName)(element, "proportional-style");
114
116
  element.setAttribute("data-proportional-padding-bottom", thirdPadding[1]);
115
117
  }
116
118
  else {
117
- log.warn("TTML Parser: unhandled padding unit:", thirdPadding[2]);
119
+ log_1.default.warn("TTML Parser: unhandled padding unit:", thirdPadding[2]);
118
120
  }
119
121
  if (splittedPadding.length === 3) {
120
122
  return;
121
123
  }
122
- var fourthPadding = REGXP_LENGTH.exec(splittedPadding[3]);
124
+ const fourthPadding = regexps_1.REGXP_LENGTH.exec(splittedPadding[3]);
123
125
  if (fourthPadding === null) {
124
126
  return;
125
127
  }
126
128
  if (fourthPadding[2] === "px" ||
127
129
  fourthPadding[2] === "%" ||
128
130
  fourthPadding[2] === "em") {
129
- var fourthPaddingValue = fourthPadding[1] + fourthPadding[2];
131
+ const fourthPaddingValue = fourthPadding[1] + fourthPadding[2];
130
132
  element.style.paddingLeft = fourthPaddingValue;
131
133
  }
132
134
  else if (fourthPadding[2] === "c") {
133
- addClassName(element, "proportional-style");
135
+ (0, compat_1.addClassName)(element, "proportional-style");
134
136
  element.setAttribute("data-proportional-padding-left", fourthPadding[1]);
135
137
  }
136
138
  else {
137
- log.warn("TTML Parser: unhandled padding unit:", fourthPadding[2]);
139
+ log_1.default.warn("TTML Parser: unhandled padding unit:", fourthPadding[2]);
138
140
  }
139
141
  }
142
+ exports.default = applyPadding;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,30 +14,22 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
17
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
18
- if (ar || !(i in from)) {
19
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
20
- ar[i] = from[i];
21
- }
22
- }
23
- return to.concat(ar || Array.prototype.slice.call(from));
24
- };
25
- import { addClassName } from "../../../../compat";
26
- import isNonEmptyString from "../../../../utils/is_non_empty_string";
27
- import objectAssign from "../../../../utils/object_assign";
28
- import { getStylingAttributes, } from "../get_styling";
29
- import { getParentDivElements, isLineBreakElement, isSpanElement, } from "../xml_utils";
30
- import applyExtent from "./apply_extent";
31
- import applyFontSize from "./apply_font_size";
32
- import applyLineHeight from "./apply_line_height";
33
- import applyOrigin from "./apply_origin";
34
- import applyPadding from "./apply_padding";
35
- import generateCSSTextOutline from "./generate_css_test_outline";
36
- import ttmlColorToCSSColor from "./ttml_color_to_css_color";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const compat_1 = require("../../../../compat");
19
+ const is_non_empty_string_1 = require("../../../../utils/is_non_empty_string");
20
+ const object_assign_1 = require("../../../../utils/object_assign");
21
+ const get_styling_1 = require("../get_styling");
22
+ const xml_utils_1 = require("../xml_utils");
23
+ const apply_extent_1 = require("./apply_extent");
24
+ const apply_font_size_1 = require("./apply_font_size");
25
+ const apply_line_height_1 = require("./apply_line_height");
26
+ const apply_origin_1 = require("./apply_origin");
27
+ const apply_padding_1 = require("./apply_padding");
28
+ const generate_css_test_outline_1 = require("./generate_css_test_outline");
29
+ const ttml_color_to_css_color_1 = require("./ttml_color_to_css_color");
37
30
  // Styling which can be applied to <span> from any level upper.
38
31
  // Added here as an optimization
39
- var SPAN_LEVEL_ATTRIBUTES = ["color",
32
+ const SPAN_LEVEL_ATTRIBUTES = ["color",
40
33
  "direction",
41
34
  "display",
42
35
  "fontFamily",
@@ -58,53 +51,53 @@ var SPAN_LEVEL_ATTRIBUTES = ["color",
58
51
  */
59
52
  function applyTextStyle(element, style, shouldTrimWhiteSpace) {
60
53
  // applies to span
61
- var color = style.color;
62
- if (isNonEmptyString(color)) {
63
- element.style.color = ttmlColorToCSSColor(color);
54
+ const color = style.color;
55
+ if ((0, is_non_empty_string_1.default)(color)) {
56
+ element.style.color = (0, ttml_color_to_css_color_1.default)(color);
64
57
  }
65
58
  // applies to body, div, p, region, span
66
- var backgroundColor = style.backgroundColor;
67
- if (isNonEmptyString(backgroundColor)) {
68
- element.style.backgroundColor = ttmlColorToCSSColor(backgroundColor);
59
+ const backgroundColor = style.backgroundColor;
60
+ if ((0, is_non_empty_string_1.default)(backgroundColor)) {
61
+ element.style.backgroundColor = (0, ttml_color_to_css_color_1.default)(backgroundColor);
69
62
  }
70
63
  // applies to span
71
- var textOutline = style.textOutline;
72
- if (isNonEmptyString(textOutline)) {
73
- var outlineData = textOutline
64
+ const textOutline = style.textOutline;
65
+ if ((0, is_non_empty_string_1.default)(textOutline)) {
66
+ const outlineData = textOutline
74
67
  .trim()
75
68
  .replace(/\s+/g, " ")
76
69
  .split(" ");
77
- var len = outlineData.length;
70
+ const len = outlineData.length;
78
71
  if (len === 3) {
79
- var outlineColor = ttmlColorToCSSColor(outlineData[0]);
80
- var thickness = outlineData[1];
72
+ const outlineColor = (0, ttml_color_to_css_color_1.default)(outlineData[0]);
73
+ const thickness = outlineData[1];
81
74
  element.style.textShadow =
82
- generateCSSTextOutline(outlineColor, thickness);
75
+ (0, generate_css_test_outline_1.default)(outlineColor, thickness);
83
76
  }
84
- else if (isNonEmptyString(color) && len === 1) {
85
- var thickness = outlineData[0];
86
- element.style.textShadow = generateCSSTextOutline(color, thickness);
77
+ else if ((0, is_non_empty_string_1.default)(color) && len === 1) {
78
+ const thickness = outlineData[0];
79
+ element.style.textShadow = (0, generate_css_test_outline_1.default)(color, thickness);
87
80
  }
88
81
  else if (len === 2) {
89
- var isFirstArgAColor = /^[#A-Z]/i.test(outlineData[0]);
90
- var isFirstArgANumber = /^[0-9]/.test(outlineData[0]);
82
+ const isFirstArgAColor = /^[#A-Z]/i.test(outlineData[0]);
83
+ const isFirstArgANumber = /^[0-9]/.test(outlineData[0]);
91
84
  // XOR-ing to be sure we get what we have
92
85
  if (isFirstArgAColor !== isFirstArgANumber) {
93
86
  if (isFirstArgAColor) {
94
- var outlineColor = ttmlColorToCSSColor(outlineData[0]);
95
- var thickness = outlineData[1];
96
- element.style.textShadow = generateCSSTextOutline(outlineColor, thickness);
87
+ const outlineColor = (0, ttml_color_to_css_color_1.default)(outlineData[0]);
88
+ const thickness = outlineData[1];
89
+ element.style.textShadow = (0, generate_css_test_outline_1.default)(outlineColor, thickness);
97
90
  }
98
- else if (isNonEmptyString(color)) {
99
- var thickness = outlineData[0];
100
- element.style.textShadow = generateCSSTextOutline(color, thickness);
91
+ else if ((0, is_non_empty_string_1.default)(color)) {
92
+ const thickness = outlineData[0];
93
+ element.style.textShadow = (0, generate_css_test_outline_1.default)(color, thickness);
101
94
  }
102
95
  }
103
96
  }
104
97
  }
105
98
  // applies to span
106
- var textDecoration = style.textDecoration;
107
- if (isNonEmptyString(textDecoration)) {
99
+ const textDecoration = style.textDecoration;
100
+ if ((0, is_non_empty_string_1.default)(textDecoration)) {
108
101
  switch (textDecoration) {
109
102
  case "noUnderline":
110
103
  case "noLineThrough":
@@ -120,8 +113,8 @@ function applyTextStyle(element, style, shouldTrimWhiteSpace) {
120
113
  }
121
114
  }
122
115
  // applies to span
123
- var fontFamily = style.fontFamily;
124
- if (isNonEmptyString(fontFamily)) {
116
+ const fontFamily = style.fontFamily;
117
+ if ((0, is_non_empty_string_1.default)(fontFamily)) {
125
118
  switch (fontFamily) {
126
119
  case "proportionalSansSerif":
127
120
  element.style.fontFamily =
@@ -145,32 +138,32 @@ function applyTextStyle(element, style, shouldTrimWhiteSpace) {
145
138
  }
146
139
  }
147
140
  // applies to span
148
- var fontStyle = style.fontStyle;
149
- if (isNonEmptyString(fontStyle)) {
141
+ const fontStyle = style.fontStyle;
142
+ if ((0, is_non_empty_string_1.default)(fontStyle)) {
150
143
  element.style.fontStyle = fontStyle;
151
144
  }
152
145
  // applies to span
153
- var fontWeight = style.fontWeight;
154
- if (isNonEmptyString(fontWeight)) {
146
+ const fontWeight = style.fontWeight;
147
+ if ((0, is_non_empty_string_1.default)(fontWeight)) {
155
148
  element.style.fontWeight = fontWeight;
156
149
  }
157
150
  // applies to span
158
- var fontSize = style.fontSize;
159
- if (isNonEmptyString(fontSize)) {
160
- applyFontSize(element, fontSize);
151
+ const fontSize = style.fontSize;
152
+ if ((0, is_non_empty_string_1.default)(fontSize)) {
153
+ (0, apply_font_size_1.default)(element, fontSize);
161
154
  }
162
155
  else {
163
- addClassName(element, "proportional-style");
156
+ (0, compat_1.addClassName)(element, "proportional-style");
164
157
  element.setAttribute("data-proportional-font-size", "1");
165
158
  }
166
159
  // applies to p, span
167
- var direction = style.direction;
168
- if (isNonEmptyString(direction)) {
160
+ const direction = style.direction;
161
+ if ((0, is_non_empty_string_1.default)(direction)) {
169
162
  element.style.direction = direction;
170
163
  }
171
164
  // applies to p, span
172
- var unicodeBidi = style.unicodeBidi;
173
- if (isNonEmptyString(unicodeBidi)) {
165
+ const unicodeBidi = style.unicodeBidi;
166
+ if ((0, is_non_empty_string_1.default)(unicodeBidi)) {
174
167
  switch (unicodeBidi) {
175
168
  case "bidiOverride":
176
169
  element.style.unicodeBidi = "bidi-override";
@@ -183,17 +176,17 @@ function applyTextStyle(element, style, shouldTrimWhiteSpace) {
183
176
  }
184
177
  }
185
178
  // applies to body, div, p, region, span
186
- var visibility = style.visibility;
187
- if (isNonEmptyString(visibility)) {
179
+ const visibility = style.visibility;
180
+ if ((0, is_non_empty_string_1.default)(visibility)) {
188
181
  element.style.visibility = visibility;
189
182
  }
190
183
  // applies to body, div, p, region, span
191
- var display = style.display;
184
+ const display = style.display;
192
185
  if (display === "none") {
193
186
  element.style.display = "none";
194
187
  }
195
188
  // applies to body, div, p, region, span
196
- var wrapOption = style.wrapOption;
189
+ const wrapOption = style.wrapOption;
197
190
  element.style.whiteSpace = wrapOption === "noWrap" ?
198
191
  (shouldTrimWhiteSpace ? "nowrap" : "pre") :
199
192
  (shouldTrimWhiteSpace ? "normal" : "pre-wrap");
@@ -208,32 +201,32 @@ function applyGeneralStyle(element, style) {
208
201
  element.style.color = "white";
209
202
  element.style.position = "absolute";
210
203
  // applies to tt, region
211
- var extent = style.extent;
212
- if (isNonEmptyString(extent)) {
213
- applyExtent(element, extent);
204
+ const extent = style.extent;
205
+ if ((0, is_non_empty_string_1.default)(extent)) {
206
+ (0, apply_extent_1.default)(element, extent);
214
207
  }
215
208
  // applies to region
216
- var writingMode = style.writingMode;
217
- if (isNonEmptyString(writingMode)) {
209
+ const writingMode = style.writingMode;
210
+ if ((0, is_non_empty_string_1.default)(writingMode)) {
218
211
  // TODO
219
212
  }
220
213
  // applies to region
221
- var overflow = style.overflow;
222
- element.style.overflow = isNonEmptyString(overflow) ? overflow :
214
+ const overflow = style.overflow;
215
+ element.style.overflow = (0, is_non_empty_string_1.default)(overflow) ? overflow :
223
216
  "hidden";
224
217
  // applies to region
225
- var padding = style.padding;
226
- if (isNonEmptyString(padding)) {
227
- applyPadding(element, padding);
218
+ const padding = style.padding;
219
+ if ((0, is_non_empty_string_1.default)(padding)) {
220
+ (0, apply_padding_1.default)(element, padding);
228
221
  }
229
222
  // applies to region
230
- var origin = style.origin;
231
- if (isNonEmptyString(origin)) {
232
- applyOrigin(element, origin);
223
+ const origin = style.origin;
224
+ if ((0, is_non_empty_string_1.default)(origin)) {
225
+ (0, apply_origin_1.default)(element, origin);
233
226
  }
234
227
  // applies to region
235
- var displayAlign = style.displayAlign;
236
- if (isNonEmptyString(displayAlign)) {
228
+ const displayAlign = style.displayAlign;
229
+ if ((0, is_non_empty_string_1.default)(displayAlign)) {
237
230
  element.style.display = "flex";
238
231
  element.style.flexDirection = "column";
239
232
  switch (displayAlign) {
@@ -249,17 +242,17 @@ function applyGeneralStyle(element, style) {
249
242
  }
250
243
  }
251
244
  // applies to region
252
- var opacity = style.opacity;
253
- if (isNonEmptyString(opacity)) {
245
+ const opacity = style.opacity;
246
+ if ((0, is_non_empty_string_1.default)(opacity)) {
254
247
  element.style.opacity = opacity;
255
248
  }
256
249
  // applies to body, div, p, region, span
257
- var visibility = style.visibility;
258
- if (isNonEmptyString(visibility)) {
250
+ const visibility = style.visibility;
251
+ if ((0, is_non_empty_string_1.default)(visibility)) {
259
252
  element.style.visibility = visibility;
260
253
  }
261
254
  // applies to body, div, p, region, span
262
- var display = style.display;
255
+ const display = style.display;
263
256
  if (display === "none") {
264
257
  element.style.display = "none";
265
258
  }
@@ -276,21 +269,21 @@ function applyPStyle(element, style) {
276
269
  // Doing this on the parent <p> elements seems to fix some CSS issues we had
277
270
  // with too large inner line breaks spacing when the text track element was
278
271
  // too small, for some reasons.
279
- addClassName(element, "proportional-style");
272
+ (0, compat_1.addClassName)(element, "proportional-style");
280
273
  element.setAttribute("data-proportional-font-size", "1");
281
274
  // applies to body, div, p, region, span
282
- var paragraphBackgroundColor = style.backgroundColor;
283
- if (isNonEmptyString(paragraphBackgroundColor)) {
284
- element.style.backgroundColor = ttmlColorToCSSColor(paragraphBackgroundColor);
275
+ const paragraphBackgroundColor = style.backgroundColor;
276
+ if ((0, is_non_empty_string_1.default)(paragraphBackgroundColor)) {
277
+ element.style.backgroundColor = (0, ttml_color_to_css_color_1.default)(paragraphBackgroundColor);
285
278
  }
286
279
  // applies to p
287
- var lineHeight = style.lineHeight;
288
- if (isNonEmptyString(lineHeight)) {
289
- applyLineHeight(element, lineHeight);
280
+ const lineHeight = style.lineHeight;
281
+ if ((0, is_non_empty_string_1.default)(lineHeight)) {
282
+ (0, apply_line_height_1.default)(element, lineHeight);
290
283
  }
291
284
  // applies to p
292
- var textAlign = style.textAlign;
293
- if (isNonEmptyString(textAlign)) {
285
+ const textAlign = style.textAlign;
286
+ if ((0, is_non_empty_string_1.default)(textAlign)) {
294
287
  switch (textAlign) {
295
288
  case "center":
296
289
  element.style.textAlign = "center";
@@ -320,17 +313,17 @@ function applyPStyle(element, style) {
320
313
  * @returns {HTMLElement}
321
314
  */
322
315
  function createTextElement(el, style, shouldTrimWhiteSpace) {
323
- var textElement = document.createElement("span");
324
- var textContent = el.textContent === null ? "" :
316
+ const textElement = document.createElement("span");
317
+ let textContent = el.textContent === null ? "" :
325
318
  el.textContent;
326
319
  if (shouldTrimWhiteSpace) {
327
320
  // 1. Trim leading and trailing whitespace.
328
321
  // 2. Collapse multiple spaces into one.
329
- var trimmed = textContent.trim();
322
+ let trimmed = textContent.trim();
330
323
  trimmed = trimmed.replace(/\s+/g, " ");
331
324
  textContent = trimmed;
332
325
  }
333
- var textNode = document.createTextNode(textContent);
326
+ const textNode = document.createTextNode(textContent);
334
327
  textElement.appendChild(textNode);
335
328
  textElement.className = "rxp-texttrack-span";
336
329
  applyTextStyle(textElement, style, shouldTrimWhiteSpace);
@@ -358,39 +351,39 @@ function generateTextContent(paragraph, regions, styles, paragraphStyle, shouldT
358
351
  * @returns {Array.<HTMLElement>}
359
352
  */
360
353
  function loop(node, style, spans, shouldTrimWhiteSpaceFromParent) {
361
- var childNodes = node.childNodes;
362
- var elements = [];
363
- for (var i = 0; i < childNodes.length; i++) {
364
- var currentNode = childNodes[i];
354
+ const childNodes = node.childNodes;
355
+ const elements = [];
356
+ for (let i = 0; i < childNodes.length; i++) {
357
+ const currentNode = childNodes[i];
365
358
  if (currentNode.nodeName === "#text") {
366
- var backgroundColor = getStylingAttributes(["backgroundColor"], spans, styles, regions).backgroundColor;
367
- if (isNonEmptyString(backgroundColor)) {
359
+ const { backgroundColor } = (0, get_styling_1.getStylingAttributes)(["backgroundColor"], spans, styles, regions);
360
+ if ((0, is_non_empty_string_1.default)(backgroundColor)) {
368
361
  style.backgroundColor = backgroundColor;
369
362
  }
370
363
  else {
371
364
  delete style.backgroundColor;
372
365
  }
373
- var el = createTextElement(currentNode, style, shouldTrimWhiteSpaceFromParent);
366
+ const el = createTextElement(currentNode, style, shouldTrimWhiteSpaceFromParent);
374
367
  elements.push(el);
375
368
  }
376
- else if (isLineBreakElement(currentNode)) {
377
- var br = document.createElement("BR");
369
+ else if ((0, xml_utils_1.isLineBreakElement)(currentNode)) {
370
+ const br = document.createElement("BR");
378
371
  elements.push(br);
379
372
  }
380
- else if (isSpanElement(currentNode) &&
373
+ else if ((0, xml_utils_1.isSpanElement)(currentNode) &&
381
374
  currentNode.nodeType === Node.ELEMENT_NODE &&
382
375
  currentNode.childNodes.length > 0) {
383
- var spaceAttribute = currentNode.getAttribute("xml:space");
384
- var shouldTrimWhiteSpaceOnSpan = isNonEmptyString(spaceAttribute) ? spaceAttribute === "default" :
376
+ const spaceAttribute = currentNode.getAttribute("xml:space");
377
+ const shouldTrimWhiteSpaceOnSpan = (0, is_non_empty_string_1.default)(spaceAttribute) ? spaceAttribute === "default" :
385
378
  shouldTrimWhiteSpaceFromParent;
386
379
  // compute the new applyable style
387
- var newStyle = objectAssign({}, style, getStylingAttributes(SPAN_LEVEL_ATTRIBUTES, [currentNode], styles, regions));
388
- elements.push.apply(elements, loop(currentNode, newStyle, __spreadArray([currentNode], spans, true), shouldTrimWhiteSpaceOnSpan));
380
+ const newStyle = (0, object_assign_1.default)({}, style, (0, get_styling_1.getStylingAttributes)(SPAN_LEVEL_ATTRIBUTES, [currentNode], styles, regions));
381
+ elements.push(...loop(currentNode, newStyle, [currentNode, ...spans], shouldTrimWhiteSpaceOnSpan));
389
382
  }
390
383
  }
391
384
  return elements;
392
385
  }
393
- return loop(paragraph, objectAssign({}, paragraphStyle), [], shouldTrimWhiteSpace);
386
+ return loop(paragraph, (0, object_assign_1.default)({}, paragraphStyle), [], shouldTrimWhiteSpace);
394
387
  }
395
388
  /**
396
389
  * @param {Element} paragraph
@@ -401,26 +394,25 @@ function generateTextContent(paragraph, regions, styles, paragraphStyle, shouldT
401
394
  * @param {Object}
402
395
  * @returns {HTMLElement}
403
396
  */
404
- export default function createElement(paragraph, body, regions, styles, paragraphStyle, _a) {
405
- var cellResolution = _a.cellResolution, shouldTrimWhiteSpace = _a.shouldTrimWhiteSpace;
406
- var divs = getParentDivElements(paragraph);
407
- var parentElement = document.createElement("DIV");
397
+ function createElement(paragraph, body, regions, styles, paragraphStyle, { cellResolution, shouldTrimWhiteSpace }) {
398
+ const divs = (0, xml_utils_1.getParentDivElements)(paragraph);
399
+ const parentElement = document.createElement("DIV");
408
400
  parentElement.className = "rxp-texttrack-region";
409
401
  parentElement.setAttribute("data-resolution-columns", String(cellResolution.columns));
410
402
  parentElement.setAttribute("data-resolution-rows", String(cellResolution.rows));
411
403
  applyGeneralStyle(parentElement, paragraphStyle);
412
404
  if (body !== null) {
413
405
  // applies to body, div, p, region, span
414
- var bodyBackgroundColor = getStylingAttributes(["backgroundColor"], __spreadArray(__spreadArray([], divs, true), [body], false), styles, regions).bodyBackgroundColor;
415
- if (isNonEmptyString(bodyBackgroundColor)) {
416
- parentElement.style.backgroundColor = ttmlColorToCSSColor(bodyBackgroundColor);
406
+ const { bodyBackgroundColor } = (0, get_styling_1.getStylingAttributes)(["backgroundColor"], [...divs, body], styles, regions);
407
+ if ((0, is_non_empty_string_1.default)(bodyBackgroundColor)) {
408
+ parentElement.style.backgroundColor = (0, ttml_color_to_css_color_1.default)(bodyBackgroundColor);
417
409
  }
418
410
  }
419
- var pElement = document.createElement("p");
411
+ const pElement = document.createElement("p");
420
412
  pElement.className = "rxp-texttrack-p";
421
413
  applyPStyle(pElement, paragraphStyle);
422
- var textContent = generateTextContent(paragraph, regions, styles, paragraphStyle, shouldTrimWhiteSpace);
423
- for (var i = 0; i < textContent.length; i++) {
414
+ const textContent = generateTextContent(paragraph, regions, styles, paragraphStyle, shouldTrimWhiteSpace);
415
+ for (let i = 0; i < textContent.length; i++) {
424
416
  pElement.appendChild(textContent[i]);
425
417
  }
426
418
  // NOTE:
@@ -449,3 +441,4 @@ export default function createElement(paragraph, body, regions, styles, paragrap
449
441
  parentElement.appendChild(pElement);
450
442
  return parentElement;
451
443
  }
444
+ exports.default = createElement;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,7 +14,8 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const is_non_empty_string_1 = require("../../../../utils/is_non_empty_string");
17
19
  /**
18
20
  * Try to replicate the textOutline TTML style property into CSS.
19
21
  *
@@ -24,9 +26,9 @@ import isNonEmptyString from "../../../../utils/is_non_empty_string";
24
26
  * @param {string|number} thickness
25
27
  * @returns {string}
26
28
  */
27
- export default function generateCSSTextOutline(color, thickness) {
28
- var thick = thickness;
29
- if (isNonEmptyString(thickness) && thickness.trim().endsWith("%")) {
29
+ function generateCSSTextOutline(color, thickness) {
30
+ let thick = thickness;
31
+ if ((0, is_non_empty_string_1.default)(thickness) && thickness.trim().endsWith("%")) {
30
32
  // As em and % are basically equivalent in CSS
31
33
  // (they both are relative to the font-size
32
34
  // of the current element)
@@ -34,8 +36,9 @@ export default function generateCSSTextOutline(color, thickness) {
34
36
  thick = thickness.trim().slice(0, -1);
35
37
  thick = (parseInt(thick, 10) / 100).toString() + "em";
36
38
  }
37
- return "-1px -1px ".concat(thick, " ").concat(color, ",") +
38
- "1px -1px ".concat(thick, " ").concat(color, ",") +
39
- "-1px 1px ".concat(thick, " ").concat(color, ",") +
40
- "1px 1px ".concat(thick, " ").concat(color);
39
+ return `-1px -1px ${thick} ${color},` +
40
+ `1px -1px ${thick} ${color},` +
41
+ `-1px 1px ${thick} ${color},` +
42
+ `1px 1px ${thick} ${color}`;
41
43
  }
44
+ exports.default = generateCSSTextOutline;
@@ -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 parseTTMLStringToDIV from "./parse_ttml_to_div";
21
- export default parseTTMLStringToDIV;
22
+ const parse_ttml_to_div_1 = require("./parse_ttml_to_div");
23
+ exports.default = parse_ttml_to_div_1.default;