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,16 +14,18 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import log from "../../../log";
17
- var SEGMENT_ID = 0x18538067;
18
- var INFO_ID = 0x1549A966;
19
- var TIMECODESCALE_ID = 0x2AD7B1;
20
- var DURATION_ID = 0x4489;
21
- var CUES_ID = 0x1C53BB6B;
22
- var CUE_POINT_ID = 0xBB;
23
- var CUE_TIME_ID = 0xB3;
24
- var CUE_TRACK_POSITIONS_ID = 0xB7;
25
- var CUE_CLUSTER_POSITIONS_ID = 0xF1;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.getSegmentsFromCues = exports.getTimeCodeScale = void 0;
19
+ const log_1 = require("../../../log");
20
+ const SEGMENT_ID = 0x18538067;
21
+ const INFO_ID = 0x1549A966;
22
+ const TIMECODESCALE_ID = 0x2AD7B1;
23
+ const DURATION_ID = 0x4489;
24
+ const CUES_ID = 0x1C53BB6B;
25
+ const CUE_POINT_ID = 0xBB;
26
+ const CUE_TIME_ID = 0xB3;
27
+ const CUE_TRACK_POSITIONS_ID = 0xB7;
28
+ const CUE_CLUSTER_POSITIONS_ID = 0xF1;
26
29
  /**
27
30
  * Find the offsets of the value linked to the given element ID.
28
31
  * @param {number} elementID - ID for the searched element.
@@ -33,30 +36,29 @@ var CUE_CLUSTER_POSITIONS_ID = 0xF1;
33
36
  * ID will be searched.
34
37
  * @returns {Array.<number>|null}
35
38
  */
36
- function findNextElement(elementID, parents, buffer, _a) {
37
- var initialOffset = _a[0], maxOffset = _a[1];
38
- var currentOffset = initialOffset;
39
+ function findNextElement(elementID, parents, buffer, [initialOffset, maxOffset]) {
40
+ let currentOffset = initialOffset;
39
41
  while (currentOffset < maxOffset) {
40
- var parsedID = getEBMLID(buffer, currentOffset);
42
+ const parsedID = getEBMLID(buffer, currentOffset);
41
43
  if (parsedID == null) {
42
44
  return null;
43
45
  }
44
- var ebmlTagID = parsedID.value, ebmlTagLength = parsedID.length;
45
- var sizeOffset = currentOffset + ebmlTagLength;
46
- var parsedValue = getEBMLValue(buffer, sizeOffset);
46
+ const { value: ebmlTagID, length: ebmlTagLength } = parsedID;
47
+ const sizeOffset = currentOffset + ebmlTagLength;
48
+ const parsedValue = getEBMLValue(buffer, sizeOffset);
47
49
  if (parsedValue == null) {
48
50
  return null;
49
51
  }
50
- var valueLengthLength = parsedValue.length, valueLength = parsedValue.value;
51
- var valueOffset = sizeOffset + valueLengthLength;
52
- var valueEndOffset = valueOffset + valueLength;
52
+ const { length: valueLengthLength, value: valueLength } = parsedValue;
53
+ const valueOffset = sizeOffset + valueLengthLength;
54
+ const valueEndOffset = valueOffset + valueLength;
53
55
  if (ebmlTagID === elementID) {
54
56
  return [valueOffset, valueEndOffset];
55
57
  }
56
58
  else if (parents.length > 0) {
57
- for (var i = 0; i < parents.length; i++) {
59
+ for (let i = 0; i < parents.length; i++) {
58
60
  if (ebmlTagID === parents[i]) {
59
- var newParents = parents.slice(i + 1, parents.length);
61
+ const newParents = parents.slice(i + 1, parents.length);
60
62
  return findNextElement(elementID, newParents, buffer, [valueOffset, valueEndOffset]);
61
63
  }
62
64
  }
@@ -71,14 +73,15 @@ function findNextElement(elementID, parents, buffer, _a) {
71
73
  * @param {number} initialOffset
72
74
  * @returns {number|null}
73
75
  */
74
- export function getTimeCodeScale(buffer, initialOffset) {
75
- var timeCodeScaleOffsets = findNextElement(TIMECODESCALE_ID, [SEGMENT_ID, INFO_ID], buffer, [initialOffset, buffer.length]);
76
+ function getTimeCodeScale(buffer, initialOffset) {
77
+ const timeCodeScaleOffsets = findNextElement(TIMECODESCALE_ID, [SEGMENT_ID, INFO_ID], buffer, [initialOffset, buffer.length]);
76
78
  if (timeCodeScaleOffsets == null) {
77
79
  return null;
78
80
  }
79
- var length = timeCodeScaleOffsets[1] - timeCodeScaleOffsets[0];
81
+ const length = timeCodeScaleOffsets[1] - timeCodeScaleOffsets[0];
80
82
  return 1e9 / bytesToNumber(buffer, timeCodeScaleOffsets[0], length);
81
83
  }
84
+ exports.getTimeCodeScale = getTimeCodeScale;
82
85
  /**
83
86
  * Return the duration of the concerned media.
84
87
  * @param {Uint8Array} buffer
@@ -86,11 +89,11 @@ export function getTimeCodeScale(buffer, initialOffset) {
86
89
  * @returns {number|null}
87
90
  */
88
91
  function getDuration(buffer, initialOffset) {
89
- var timeCodeScaleOffsets = findNextElement(DURATION_ID, [SEGMENT_ID, INFO_ID], buffer, [initialOffset, buffer.length]);
92
+ const timeCodeScaleOffsets = findNextElement(DURATION_ID, [SEGMENT_ID, INFO_ID], buffer, [initialOffset, buffer.length]);
90
93
  if (timeCodeScaleOffsets == null) {
91
94
  return null;
92
95
  }
93
- var length = timeCodeScaleOffsets[1] - timeCodeScaleOffsets[0];
96
+ const length = timeCodeScaleOffsets[1] - timeCodeScaleOffsets[0];
94
97
  if (length === 4) {
95
98
  return get_IEEE754_32Bits(buffer, timeCodeScaleOffsets[0]);
96
99
  }
@@ -104,52 +107,52 @@ function getDuration(buffer, initialOffset) {
104
107
  * @param {number} initialOffset
105
108
  * @returns {Array.<Object>|null}
106
109
  */
107
- export function getSegmentsFromCues(buffer, initialOffset) {
108
- var segmentRange = findNextElement(SEGMENT_ID, [], buffer, [initialOffset, buffer.length]);
110
+ function getSegmentsFromCues(buffer, initialOffset) {
111
+ const segmentRange = findNextElement(SEGMENT_ID, [], buffer, [initialOffset, buffer.length]);
109
112
  if (segmentRange == null) {
110
113
  return null;
111
114
  }
112
- var segmentRangeStart = segmentRange[0], segmentRangeEnd = segmentRange[1];
113
- var timescale = getTimeCodeScale(buffer, segmentRangeStart);
115
+ const [segmentRangeStart, segmentRangeEnd] = segmentRange;
116
+ const timescale = getTimeCodeScale(buffer, segmentRangeStart);
114
117
  if (timescale == null) {
115
118
  return null;
116
119
  }
117
- var duration = getDuration(buffer, segmentRangeStart);
120
+ const duration = getDuration(buffer, segmentRangeStart);
118
121
  if (duration == null) {
119
122
  return null;
120
123
  }
121
- var cuesRange = findNextElement(CUES_ID, [], buffer, [segmentRangeStart, segmentRangeEnd]);
124
+ const cuesRange = findNextElement(CUES_ID, [], buffer, [segmentRangeStart, segmentRangeEnd]);
122
125
  if (cuesRange == null) {
123
126
  return null;
124
127
  }
125
- var rawInfos = [];
126
- var currentOffset = cuesRange[0];
128
+ const rawInfos = [];
129
+ let currentOffset = cuesRange[0];
127
130
  while (currentOffset < cuesRange[1]) {
128
- var cuePointRange = findNextElement(CUE_POINT_ID, [], buffer, [currentOffset, cuesRange[1]]);
131
+ const cuePointRange = findNextElement(CUE_POINT_ID, [], buffer, [currentOffset, cuesRange[1]]);
129
132
  if (cuePointRange == null) {
130
133
  break;
131
134
  }
132
- var cueTimeRange = findNextElement(CUE_TIME_ID, [], buffer, [cuePointRange[0], cuePointRange[1]]);
135
+ const cueTimeRange = findNextElement(CUE_TIME_ID, [], buffer, [cuePointRange[0], cuePointRange[1]]);
133
136
  if (cueTimeRange == null) {
134
137
  return null;
135
138
  }
136
- var time = bytesToNumber(buffer, cueTimeRange[0], cueTimeRange[1] - cueTimeRange[0]);
137
- var cueOffsetRange = findNextElement(CUE_CLUSTER_POSITIONS_ID, [CUE_TRACK_POSITIONS_ID], buffer, [cuePointRange[0], cuePointRange[1]]);
139
+ const time = bytesToNumber(buffer, cueTimeRange[0], cueTimeRange[1] - cueTimeRange[0]);
140
+ const cueOffsetRange = findNextElement(CUE_CLUSTER_POSITIONS_ID, [CUE_TRACK_POSITIONS_ID], buffer, [cuePointRange[0], cuePointRange[1]]);
138
141
  if (cueOffsetRange == null) {
139
142
  return null;
140
143
  }
141
- var rangeStart = bytesToNumber(buffer, cueOffsetRange[0], cueOffsetRange[1] - cueOffsetRange[0]) +
144
+ const rangeStart = bytesToNumber(buffer, cueOffsetRange[0], cueOffsetRange[1] - cueOffsetRange[0]) +
142
145
  segmentRangeStart;
143
- rawInfos.push({ time: time, rangeStart: rangeStart });
146
+ rawInfos.push({ time, rangeStart });
144
147
  currentOffset = cuePointRange[1];
145
148
  }
146
- var segments = [];
147
- for (var i = 0; i < rawInfos.length; i++) {
148
- var currentSegment = rawInfos[i];
149
+ const segments = [];
150
+ for (let i = 0; i < rawInfos.length; i++) {
151
+ const currentSegment = rawInfos[i];
149
152
  if (i === rawInfos.length - 1) {
150
153
  segments.push({
151
154
  time: currentSegment.time,
152
- timescale: timescale,
155
+ timescale,
153
156
  duration: i === 0 ? duration :
154
157
  duration - currentSegment.time,
155
158
  range: [currentSegment.rangeStart, Infinity],
@@ -158,7 +161,7 @@ export function getSegmentsFromCues(buffer, initialOffset) {
158
161
  else {
159
162
  segments.push({
160
163
  time: currentSegment.time,
161
- timescale: timescale,
164
+ timescale,
162
165
  duration: rawInfos[i + 1].time - currentSegment.time,
163
166
  range: [currentSegment.rangeStart, rawInfos[i + 1].rangeStart - 1],
164
167
  });
@@ -166,46 +169,47 @@ export function getSegmentsFromCues(buffer, initialOffset) {
166
169
  }
167
170
  return segments;
168
171
  }
172
+ exports.getSegmentsFromCues = getSegmentsFromCues;
169
173
  function getLength(buffer, offset) {
170
- for (var length_1 = 1; length_1 <= 8; length_1++) {
171
- if (buffer[offset] >= Math.pow(2, 8 - length_1)) {
172
- return length_1;
174
+ for (let length = 1; length <= 8; length++) {
175
+ if (buffer[offset] >= Math.pow(2, 8 - length)) {
176
+ return length;
173
177
  }
174
178
  }
175
179
  return undefined;
176
180
  }
177
181
  function getEBMLID(buffer, offset) {
178
- var length = getLength(buffer, offset);
182
+ const length = getLength(buffer, offset);
179
183
  if (length == null) {
180
- log.warn("webm: unrepresentable length");
184
+ log_1.default.warn("webm: unrepresentable length");
181
185
  return null;
182
186
  }
183
187
  if (offset + length > buffer.length) {
184
- log.warn("webm: impossible length");
188
+ log_1.default.warn("webm: impossible length");
185
189
  return null;
186
190
  }
187
- var value = 0;
188
- for (var i = 0; i < length; i++) {
191
+ let value = 0;
192
+ for (let i = 0; i < length; i++) {
189
193
  value = buffer[offset + i] * Math.pow(2, (length - i - 1) * 8) + value;
190
194
  }
191
- return { length: length, value: value };
195
+ return { length, value };
192
196
  }
193
197
  function getEBMLValue(buffer, offset) {
194
- var length = getLength(buffer, offset);
198
+ const length = getLength(buffer, offset);
195
199
  if (length == null) {
196
- log.warn("webm: unrepresentable length");
200
+ log_1.default.warn("webm: unrepresentable length");
197
201
  return null;
198
202
  }
199
203
  if (offset + length > buffer.length) {
200
- log.warn("webm: impossible length");
204
+ log_1.default.warn("webm: impossible length");
201
205
  return null;
202
206
  }
203
- var value = (buffer[offset] & (1 << (8 - length)) - 1) *
207
+ let value = (buffer[offset] & (1 << (8 - length)) - 1) *
204
208
  Math.pow(2, (length - 1) * 8);
205
- for (var i = 1; i < length; i++) {
209
+ for (let i = 1; i < length; i++) {
206
210
  value = buffer[offset + i] * Math.pow(2, (length - i - 1) * 8) + value;
207
211
  }
208
- return { length: length, value: value };
212
+ return { length, value };
209
213
  }
210
214
  /**
211
215
  * Convert a IEEE754 32 bits floating number as an Uint8Array into its
@@ -228,8 +232,8 @@ function get_IEEE754_64Bits(buffer, offset) {
228
232
  return new DataView(buffer.buffer).getFloat64(offset);
229
233
  }
230
234
  function bytesToNumber(buffer, offset, length) {
231
- var value = 0;
232
- for (var i = 0; i < length; i++) {
235
+ let value = 0;
236
+ for (let i = 0; i < length; i++) {
233
237
  value = buffer[offset + i] * Math.pow(2, (length - i - 1) * 8) + value;
234
238
  }
235
239
  return value;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,68 +14,69 @@
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 { le2toi, le4toi, } from "../../utils/byte_parsing";
21
- import { utf8ToStr } from "../../utils/string_parsing";
22
+ const byte_parsing_1 = require("../../utils/byte_parsing");
23
+ const string_parsing_1 = require("../../utils/string_parsing");
22
24
  /**
23
25
  * @param {UInt8Array} buf
24
26
  * @returns {Object}
25
27
  */
26
28
  function parseBif(buf) {
27
- var pos = 0;
28
- var length = buf.length;
29
- var fileFormat = utf8ToStr(buf.subarray(pos + 1, pos + 8));
29
+ let pos = 0;
30
+ const length = buf.length;
31
+ const fileFormat = (0, string_parsing_1.utf8ToStr)(buf.subarray(pos + 1, pos + 8));
30
32
  pos += 8;
31
33
  if (buf[0] !== 0x89 || fileFormat !== "BIF\r\n\u001a\n") {
32
34
  throw new Error("Invalid BIF file");
33
35
  }
34
- var minorVersion = buf[pos];
36
+ const minorVersion = buf[pos];
35
37
  pos += 1;
36
- var majorVersion = buf[pos];
38
+ const majorVersion = buf[pos];
37
39
  pos += 1;
38
- var patchVersion = buf[pos];
40
+ const patchVersion = buf[pos];
39
41
  pos += 1;
40
- var increVersion = buf[pos];
42
+ const increVersion = buf[pos];
41
43
  pos += 1;
42
- var version = [minorVersion, majorVersion, patchVersion, increVersion].join(".");
44
+ const version = [minorVersion, majorVersion, patchVersion, increVersion].join(".");
43
45
  if (majorVersion > 0) {
44
- throw new Error("Unhandled version: ".concat(majorVersion));
46
+ throw new Error(`Unhandled version: ${majorVersion}`);
45
47
  }
46
- var imageCount = le4toi(buf, pos);
48
+ const imageCount = (0, byte_parsing_1.le4toi)(buf, pos);
47
49
  pos += 4;
48
- var framewiseSeparation = le4toi(buf, pos);
50
+ const framewiseSeparation = (0, byte_parsing_1.le4toi)(buf, pos);
49
51
  pos += 4;
50
- var format = utf8ToStr(buf.subarray(pos, pos + 4));
52
+ const format = (0, string_parsing_1.utf8ToStr)(buf.subarray(pos, pos + 4));
51
53
  pos += 4;
52
- var width = le2toi(buf, pos);
54
+ const width = (0, byte_parsing_1.le2toi)(buf, pos);
53
55
  pos += 2;
54
- var height = le2toi(buf, pos);
56
+ const height = (0, byte_parsing_1.le2toi)(buf, pos);
55
57
  pos += 2;
56
- var aspectRatio = [buf[pos], buf[pos + 1]].join(":");
58
+ const aspectRatio = [buf[pos], buf[pos + 1]].join(":");
57
59
  pos += 2;
58
- var isVod = buf[pos] === 1;
60
+ const isVod = buf[pos] === 1;
59
61
  // bytes 0x1F to 0x40 is unused data for now
60
62
  pos = 0x40;
61
- var thumbs = [];
63
+ const thumbs = [];
62
64
  if (imageCount === 0) {
63
65
  throw new Error("bif: no images to parse");
64
66
  }
65
- var index = 0;
66
- var previousImageInfo = null;
67
+ let index = 0;
68
+ let previousImageInfo = null;
67
69
  while (pos < length) {
68
- var currentImageTimestamp = le4toi(buf, pos);
70
+ const currentImageTimestamp = (0, byte_parsing_1.le4toi)(buf, pos);
69
71
  pos += 4;
70
- var currentImageOffset = le4toi(buf, pos);
72
+ const currentImageOffset = (0, byte_parsing_1.le4toi)(buf, pos);
71
73
  pos += 4;
72
74
  if (previousImageInfo !== null) {
73
75
  // calculate for index-1
74
- var ts = previousImageInfo.timestamp * framewiseSeparation;
75
- var duration = framewiseSeparation;
76
- var data = buf.slice(previousImageInfo.offset, currentImageOffset);
77
- thumbs.push({ index: index, duration: duration, ts: ts, data: data });
76
+ const ts = previousImageInfo.timestamp * framewiseSeparation;
77
+ const duration = framewiseSeparation;
78
+ const data = buf.slice(previousImageInfo.offset, currentImageOffset);
79
+ thumbs.push({ index, duration, ts, data });
78
80
  index++;
79
81
  }
80
82
  if (currentImageTimestamp === 0xFFFFFFFF) {
@@ -83,6 +85,15 @@ function parseBif(buf) {
83
85
  previousImageInfo = { timestamp: currentImageTimestamp,
84
86
  offset: currentImageOffset };
85
87
  }
86
- return { fileFormat: "BIF", version: version, imageCount: imageCount, timescale: 1000, format: format, width: width, height: height, aspectRatio: aspectRatio, isVod: isVod, thumbs: thumbs };
88
+ return { fileFormat: "BIF",
89
+ version,
90
+ imageCount,
91
+ timescale: 1000,
92
+ format,
93
+ width,
94
+ height,
95
+ aspectRatio,
96
+ isVod,
97
+ thumbs };
87
98
  }
88
- export default parseBif;
99
+ exports.default = parseBif;
@@ -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 { SUPPORTED_ADAPTATIONS_TYPE } from "../../../../manifest";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const manifest_1 = require("../../../../manifest");
17
19
  /**
18
20
  * Attach trick mode tracks to adaptations by assigning to the trickModeTracks
19
21
  * property an array of trick mode track adaptations.
@@ -22,17 +24,13 @@ import { SUPPORTED_ADAPTATIONS_TYPE } from "../../../../manifest";
22
24
  * @returns {void}
23
25
  */
24
26
  function attachTrickModeTrack(adaptations, trickModeTracks) {
25
- for (var _i = 0, trickModeTracks_1 = trickModeTracks; _i < trickModeTracks_1.length; _i++) {
26
- var track = trickModeTracks_1[_i];
27
- var adaptation = track.adaptation, trickModeAttachedAdaptationIds = track.trickModeAttachedAdaptationIds;
28
- for (var _a = 0, trickModeAttachedAdaptationIds_1 = trickModeAttachedAdaptationIds; _a < trickModeAttachedAdaptationIds_1.length; _a++) {
29
- var trickModeAttachedAdaptationId = trickModeAttachedAdaptationIds_1[_a];
30
- for (var _b = 0, SUPPORTED_ADAPTATIONS_TYPE_1 = SUPPORTED_ADAPTATIONS_TYPE; _b < SUPPORTED_ADAPTATIONS_TYPE_1.length; _b++) {
31
- var adaptationType = SUPPORTED_ADAPTATIONS_TYPE_1[_b];
32
- var adaptationsByType = adaptations[adaptationType];
27
+ for (const track of trickModeTracks) {
28
+ const { adaptation, trickModeAttachedAdaptationIds } = track;
29
+ for (const trickModeAttachedAdaptationId of trickModeAttachedAdaptationIds) {
30
+ for (const adaptationType of manifest_1.SUPPORTED_ADAPTATIONS_TYPE) {
31
+ const adaptationsByType = adaptations[adaptationType];
33
32
  if (adaptationsByType !== undefined) {
34
- for (var _c = 0, adaptationsByType_1 = adaptationsByType; _c < adaptationsByType_1.length; _c++) {
35
- var adaptationByType = adaptationsByType_1[_c];
33
+ for (const adaptationByType of adaptationsByType) {
36
34
  if (adaptationByType.id === trickModeAttachedAdaptationId) {
37
35
  if (adaptationByType.trickModeTracks === undefined) {
38
36
  adaptationByType.trickModeTracks = [];
@@ -45,4 +43,4 @@ function attachTrickModeTrack(adaptations, trickModeTracks) {
45
43
  }
46
44
  }
47
45
  }
48
- export default attachTrickModeTrack;
46
+ exports.default = attachTrickModeTrack;
@@ -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 log from "../../../../log";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const log_1 = require("../../../../log");
17
19
  /**
18
20
  * Avoid periods to overlap.
19
21
  *
@@ -40,17 +42,17 @@ import log from "../../../../log";
40
42
  * @param {Array.<Object>} parsedPeriods
41
43
  * @return {Array.<Object>}
42
44
  */
43
- export default function flattenOverlappingPeriods(parsedPeriods) {
45
+ function flattenOverlappingPeriods(parsedPeriods) {
44
46
  if (parsedPeriods.length === 0) {
45
47
  return [];
46
48
  }
47
- var flattenedPeriods = [parsedPeriods[0]];
48
- for (var i = 1; i < parsedPeriods.length; i++) {
49
- var parsedPeriod = parsedPeriods[i];
50
- var lastFlattenedPeriod = flattenedPeriods[flattenedPeriods.length - 1];
49
+ const flattenedPeriods = [parsedPeriods[0]];
50
+ for (let i = 1; i < parsedPeriods.length; i++) {
51
+ const parsedPeriod = parsedPeriods[i];
52
+ let lastFlattenedPeriod = flattenedPeriods[flattenedPeriods.length - 1];
51
53
  while (lastFlattenedPeriod.duration === undefined ||
52
54
  (lastFlattenedPeriod.start + lastFlattenedPeriod.duration) > parsedPeriod.start) {
53
- log.warn("DASH: Updating overlapping Periods.", lastFlattenedPeriod === null || lastFlattenedPeriod === void 0 ? void 0 : lastFlattenedPeriod.start, parsedPeriod.start);
55
+ log_1.default.warn("DASH: Updating overlapping Periods.", lastFlattenedPeriod === null || lastFlattenedPeriod === void 0 ? void 0 : lastFlattenedPeriod.start, parsedPeriod.start);
54
56
  lastFlattenedPeriod.duration = parsedPeriod.start - lastFlattenedPeriod.start;
55
57
  lastFlattenedPeriod.end = parsedPeriod.start;
56
58
  if (lastFlattenedPeriod.duration > 0) {
@@ -72,3 +74,4 @@ export default function flattenOverlappingPeriods(parsedPeriods) {
72
74
  }
73
75
  return flattenedPeriods;
74
76
  }
77
+ exports.default = flattenOverlappingPeriods;
@@ -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 log from "../../../../log";
17
- import getMonotonicTimeStamp from "../../../../utils/monotonic_timestamp";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const log_1 = require("../../../../log");
19
+ const monotonic_timestamp_1 = require("../../../../utils/monotonic_timestamp");
18
20
  /**
19
21
  * Get difference between the server's clock, in milliseconds, and the
20
22
  * monotonically-raising timestamp used by the RxPlayer.
@@ -28,11 +30,12 @@ import getMonotonicTimeStamp from "../../../../utils/monotonic_timestamp";
28
30
  * @param {string} serverClock
29
31
  * @returns {number|undefined}
30
32
  */
31
- export default function getClockOffset(serverClock) {
32
- var httpOffset = Date.parse(serverClock) - getMonotonicTimeStamp();
33
+ function getClockOffset(serverClock) {
34
+ const httpOffset = Date.parse(serverClock) - (0, monotonic_timestamp_1.default)();
33
35
  if (isNaN(httpOffset)) {
34
- log.warn("DASH Parser: Invalid clock received: ", serverClock);
36
+ log_1.default.warn("DASH Parser: Invalid clock received: ", serverClock);
35
37
  return undefined;
36
38
  }
37
39
  return httpOffset;
38
40
  }
41
+ exports.default = getClockOffset;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,6 +14,8 @@
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 });
18
+ exports.getWEBMHDRInformation = void 0;
16
19
  /**
17
20
  * Extract the webm HDR information out of the codec string.
18
21
  * The syntax of the codec string is defined in VP Codec ISO Media File Format
@@ -20,17 +23,17 @@
20
23
  * @param {string} codecString
21
24
  * @returns {Object | undefined}
22
25
  */
23
- export function getWEBMHDRInformation(codecString) {
26
+ function getWEBMHDRInformation(codecString) {
24
27
  // cccc.PP.LL.DD.CC[.cp[.tc[.mc[.FF]]]]
25
- var _a = codecString.split("."), cccc = _a[0], _PP = _a[1], _LL = _a[2], DD = _a[3], _CC = _a[4], cp = _a[5], tc = _a[6], mc = _a[7];
28
+ const [cccc, _PP, _LL, DD, _CC, cp, tc, mc] = codecString.split(".");
26
29
  if (cccc !== "vp08" &&
27
30
  cccc !== "vp09" &&
28
31
  cccc !== "vp10") {
29
32
  return undefined;
30
33
  }
31
- var colorDepth;
32
- var eotf;
33
- var colorSpace;
34
+ let colorDepth;
35
+ let eotf;
36
+ let colorSpace;
34
37
  if (DD !== undefined &&
35
38
  DD === "10" ||
36
39
  DD === "12") {
@@ -54,5 +57,6 @@ export function getWEBMHDRInformation(codecString) {
54
57
  eotf === undefined) {
55
58
  return undefined;
56
59
  }
57
- return { colorDepth: colorDepth, eotf: eotf, colorSpace: colorSpace };
60
+ return { colorDepth, eotf, colorSpace };
58
61
  }
62
+ exports.getWEBMHDRInformation = getWEBMHDRInformation;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,16 +14,16 @@
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
  * @param {Object} mpdIR
18
20
  * @returns {string|undefined}
19
21
  */
20
- export default function getHTTPUTCTimingURL(mpdIR) {
21
- var UTCTimingHTTP = mpdIR.children.utcTimings
22
- .filter(function (utcTiming) {
23
- return (utcTiming.schemeIdUri === "urn:mpeg:dash:utc:http-iso:2014" ||
24
- utcTiming.schemeIdUri === "urn:mpeg:dash:utc:http-xsdate:2014") && utcTiming.value !== undefined;
25
- });
22
+ function getHTTPUTCTimingURL(mpdIR) {
23
+ const UTCTimingHTTP = mpdIR.children.utcTimings
24
+ .filter((utcTiming) => (utcTiming.schemeIdUri === "urn:mpeg:dash:utc:http-iso:2014" ||
25
+ utcTiming.schemeIdUri === "urn:mpeg:dash:utc:http-xsdate:2014") && utcTiming.value !== undefined);
26
26
  return UTCTimingHTTP.length > 0 ? UTCTimingHTTP[0].value :
27
27
  undefined;
28
28
  }
29
+ exports.default = getHTTPUTCTimingURL;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,18 +14,21 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import getMaximumPositions from "../../utils/get_maximum_positions";
17
- import getMinimumPosition from "../../utils/get_minimum_position";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const get_maximum_positions_1 = require("../../utils/get_maximum_positions");
19
+ const get_minimum_position_1 = require("../../utils/get_minimum_position");
18
20
  /**
19
21
  * @param {Object} periods
20
22
  * @returns {Array.<number>}
21
23
  */
22
- export default function getMinimumAndMaximumPositions(periods) {
24
+ function getMinimumAndMaximumPositions(periods) {
23
25
  if (periods.length === 0) {
24
26
  throw new Error("DASH Parser: no period available for a dynamic content");
25
27
  }
26
- var minimumSafePosition = getMinimumPosition(periods);
27
- var maxPositions = getMaximumPositions(periods);
28
- return { minimumSafePosition: minimumSafePosition, maximumSafePosition: maxPositions.safe,
28
+ const minimumSafePosition = (0, get_minimum_position_1.default)(periods);
29
+ const maxPositions = (0, get_maximum_positions_1.default)(periods);
30
+ return { minimumSafePosition,
31
+ maximumSafePosition: maxPositions.safe,
29
32
  maximumUnsafePosition: maxPositions.unsafe };
30
33
  }
34
+ exports.default = getMinimumAndMaximumPositions;