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,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 MetaPlaylistPipelines from "./pipelines";
21
- export default MetaPlaylistPipelines;
22
+ const pipelines_1 = require("./pipelines");
23
+ exports.default = pipelines_1.default;
@@ -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 request from "../../utils/request";
17
- import callCustomManifestLoader from "../utils/call_custom_manifest_loader";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const request_1 = require("../../utils/request");
19
+ const call_custom_manifest_loader_1 = require("../utils/call_custom_manifest_loader");
18
20
  /**
19
21
  * Manifest loader triggered if there was no custom-defined one in the API.
20
22
  * @param {string} url
@@ -25,17 +27,19 @@ function regularManifestLoader(url, loaderOptions, cancelSignal) {
25
27
  if (url === undefined) {
26
28
  throw new Error("Cannot perform HTTP(s) request. URL not known");
27
29
  }
28
- return request({ url: url, responseType: "text",
29
- timeout: loaderOptions.timeout, cancelSignal: cancelSignal });
30
+ return (0, request_1.default)({ url,
31
+ responseType: "text",
32
+ timeout: loaderOptions.timeout,
33
+ cancelSignal });
30
34
  }
31
35
  /**
32
36
  * Generate a manifest loader for the application
33
37
  * @param {Function} [customManifestLoader]
34
38
  * @returns {Function}
35
39
  */
36
- export default function generateManifestLoader(_a) {
37
- var customManifestLoader = _a.customManifestLoader;
40
+ function generateManifestLoader({ customManifestLoader }) {
38
41
  return typeof customManifestLoader !== "function" ?
39
42
  regularManifestLoader :
40
- callCustomManifestLoader(customManifestLoader, regularManifestLoader);
43
+ (0, call_custom_manifest_loader_1.default)(customManifestLoader, regularManifestLoader);
41
44
  }
45
+ exports.default = generateManifestLoader;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,24 +14,14 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- var __assign = (this && this.__assign) || function () {
17
- __assign = Object.assign || function(t) {
18
- for (var s, i = 1, n = arguments.length; i < n; i++) {
19
- s = arguments[i];
20
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
- t[p] = s[p];
22
- }
23
- return t;
24
- };
25
- return __assign.apply(this, arguments);
26
- };
27
- import config from "../../config";
28
- import features from "../../features";
29
- import Manifest from "../../manifest";
30
- import parseMetaPlaylist from "../../parsers/manifest/metaplaylist";
31
- import isNullOrUndefined from "../../utils/is_null_or_undefined";
32
- import objectAssign from "../../utils/object_assign";
33
- import generateManifestLoader from "./manifest_loader";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const config_1 = require("../../config");
19
+ const features_1 = require("../../features");
20
+ const manifest_1 = require("../../manifest");
21
+ const metaplaylist_1 = require("../../parsers/manifest/metaplaylist");
22
+ const is_null_or_undefined_1 = require("../../utils/is_null_or_undefined");
23
+ const object_assign_1 = require("../../utils/object_assign");
24
+ const manifest_loader_1 = require("./manifest_loader");
34
25
  /**
35
26
  * Get base - real - content from an offseted metaplaylist content.
36
27
  * @param {Object} mplContext
@@ -38,17 +29,21 @@ import generateManifestLoader from "./manifest_loader";
38
29
  */
39
30
  function getOriginalContext(mplContext) {
40
31
  var _a;
41
- var segment = mplContext.segment;
32
+ const { segment } = mplContext;
42
33
  if (((_a = segment.privateInfos) === null || _a === void 0 ? void 0 : _a.metaplaylistInfos) === undefined) {
43
34
  throw new Error("MetaPlaylist: missing private infos");
44
35
  }
45
- var _b = segment.privateInfos.metaplaylistInfos, isLive = _b.isLive, periodStart = _b.periodStart, periodEnd = _b.periodEnd, manifestPublishTime = _b.manifestPublishTime;
46
- var originalSegment = segment.privateInfos.metaplaylistInfos.originalSegment;
36
+ const { isLive, periodStart, periodEnd, manifestPublishTime } = segment.privateInfos.metaplaylistInfos;
37
+ const { originalSegment } = segment.privateInfos.metaplaylistInfos;
47
38
  return { segment: originalSegment,
48
39
  type: mplContext.type,
49
40
  language: mplContext.language,
50
41
  mimeType: mplContext.mimeType,
51
- codecs: mplContext.codecs, isLive: isLive, periodStart: periodStart, periodEnd: periodEnd, manifestPublishTime: manifestPublishTime };
42
+ codecs: mplContext.codecs,
43
+ isLive,
44
+ periodStart,
45
+ periodEnd,
46
+ manifestPublishTime };
52
47
  }
53
48
  /**
54
49
  * @param {Object} transports
@@ -57,15 +52,15 @@ function getOriginalContext(mplContext) {
57
52
  * @returns {Object}
58
53
  */
59
54
  function getTransportPipelines(transports, transportName, options) {
60
- var initialTransport = transports[transportName];
55
+ const initialTransport = transports[transportName];
61
56
  if (initialTransport !== undefined) {
62
57
  return initialTransport;
63
58
  }
64
- var feature = features.transports[transportName];
59
+ const feature = features_1.default.transports[transportName];
65
60
  if (feature === undefined) {
66
- throw new Error("MetaPlaylist: Unknown transport ".concat(transportName, "."));
61
+ throw new Error(`MetaPlaylist: Unknown transport ${transportName}.`);
67
62
  }
68
- var transport = feature(options);
63
+ const transport = feature(options);
69
64
  transports[transportName] = transport;
70
65
  return transport;
71
66
  }
@@ -74,53 +69,52 @@ function getTransportPipelines(transports, transportName, options) {
74
69
  * @returns {Object}
75
70
  */
76
71
  function getMetaPlaylistPrivateInfos(segment) {
77
- var privateInfos = segment.privateInfos;
72
+ const { privateInfos } = segment;
78
73
  if ((privateInfos === null || privateInfos === void 0 ? void 0 : privateInfos.metaplaylistInfos) === undefined) {
79
74
  throw new Error("MetaPlaylist: Undefined transport for content for metaplaylist.");
80
75
  }
81
76
  return privateInfos.metaplaylistInfos;
82
77
  }
83
- export default function (options) {
84
- var transports = {};
85
- var manifestLoader = generateManifestLoader({
78
+ function default_1(options) {
79
+ const transports = {};
80
+ const manifestLoader = (0, manifest_loader_1.default)({
86
81
  customManifestLoader: options.manifestLoader,
87
82
  });
88
83
  // remove some options that we might not want to apply to the
89
84
  // other streaming protocols used here
90
- var otherTransportOptions = objectAssign({}, options, { manifestLoader: undefined });
91
- var manifestPipeline = {
85
+ const otherTransportOptions = (0, object_assign_1.default)({}, options, { manifestLoader: undefined });
86
+ const manifestPipeline = {
92
87
  loadManifest: manifestLoader,
93
- parseManifest: function (manifestData, parserOptions, onWarnings, cancelSignal, scheduleRequest) {
88
+ parseManifest(manifestData, parserOptions, onWarnings, cancelSignal, scheduleRequest) {
94
89
  var _a;
95
- var url = (_a = manifestData.url) !== null && _a !== void 0 ? _a : parserOptions.originalUrl;
96
- var responseData = manifestData.responseData;
97
- var mplParserOptions = { url: url, serverSyncInfos: options.serverSyncInfos };
98
- var parsed = parseMetaPlaylist(responseData, mplParserOptions);
90
+ const url = (_a = manifestData.url) !== null && _a !== void 0 ? _a : parserOptions.originalUrl;
91
+ const { responseData } = manifestData;
92
+ const mplParserOptions = { url,
93
+ serverSyncInfos: options.serverSyncInfos };
94
+ const parsed = (0, metaplaylist_1.default)(responseData, mplParserOptions);
99
95
  return handleParsedResult(parsed);
100
96
  function handleParsedResult(parsedResult) {
101
97
  if (parsedResult.type === "done") {
102
- var warnings = [];
103
- var manifest = new Manifest(parsedResult.value, options, warnings);
104
- return Promise.resolve({ manifest: manifest, warnings: warnings });
98
+ const warnings = [];
99
+ const manifest = new manifest_1.default(parsedResult.value, options, warnings);
100
+ return Promise.resolve({ manifest, warnings });
105
101
  }
106
- var parsedValue = parsedResult.value;
107
- var loaderProms = parsedValue.ressources.map(function (resource) {
108
- var transport = getTransportPipelines(transports, resource.transportType, otherTransportOptions);
102
+ const parsedValue = parsedResult.value;
103
+ const loaderProms = parsedValue.ressources.map((resource) => {
104
+ const transport = getTransportPipelines(transports, resource.transportType, otherTransportOptions);
109
105
  return scheduleRequest(loadSubManifest)
110
- .then(function (data) {
111
- return transport.manifest.parseManifest(data, __assign(__assign({}, parserOptions), { originalUrl: resource.url }), onWarnings, cancelSignal, scheduleRequest);
112
- });
106
+ .then((data) => transport.manifest.parseManifest(data, Object.assign(Object.assign({}, parserOptions), { originalUrl: resource.url }), onWarnings, cancelSignal, scheduleRequest));
113
107
  function loadSubManifest() {
114
108
  /*
115
109
  * Whether a ManifestLoader's timeout should be relied on here
116
110
  * is ambiguous.
117
111
  */
118
- var manOpts = { timeout: config.getCurrent().DEFAULT_REQUEST_TIMEOUT };
112
+ const manOpts = { timeout: config_1.default.getCurrent().DEFAULT_REQUEST_TIMEOUT };
119
113
  return transport.manifest.loadManifest(resource.url, manOpts, cancelSignal);
120
114
  }
121
115
  });
122
- return Promise.all(loaderProms).then(function (parsedReqs) {
123
- var loadedRessources = parsedReqs.map(function (e) { return e.manifest; });
116
+ return Promise.all(loaderProms).then(parsedReqs => {
117
+ const loadedRessources = parsedReqs.map(e => e.manifest);
124
118
  return handleParsedResult(parsedResult.value.continue(loadedRessources));
125
119
  });
126
120
  }
@@ -131,7 +125,7 @@ export default function (options) {
131
125
  * @returns {Object}
132
126
  */
133
127
  function getTransportPipelinesFromSegment(segment) {
134
- var transportType = getMetaPlaylistPrivateInfos(segment).transportType;
128
+ const { transportType } = getMetaPlaylistPrivateInfos(segment);
135
129
  return getTransportPipelines(transports, transportType, otherTransportOptions);
136
130
  }
137
131
  /**
@@ -141,23 +135,23 @@ export default function (options) {
141
135
  * @returns {Object}
142
136
  */
143
137
  function offsetTimeInfos(contentOffset, contentEnd, segmentResponse) {
144
- var offsetedSegmentOffset = segmentResponse.chunkOffset + contentOffset;
145
- if (isNullOrUndefined(segmentResponse.chunkData)) {
138
+ const offsetedSegmentOffset = segmentResponse.chunkOffset + contentOffset;
139
+ if ((0, is_null_or_undefined_1.default)(segmentResponse.chunkData)) {
146
140
  return { chunkInfos: segmentResponse.chunkInfos,
147
141
  chunkOffset: offsetedSegmentOffset,
148
142
  appendWindow: [undefined, undefined] };
149
143
  }
150
144
  // clone chunkInfos
151
- var chunkInfos = segmentResponse.chunkInfos, appendWindow = segmentResponse.appendWindow;
152
- var offsetedChunkInfos = chunkInfos === null ? null :
153
- objectAssign({}, chunkInfos);
145
+ const { chunkInfos, appendWindow } = segmentResponse;
146
+ const offsetedChunkInfos = chunkInfos === null ? null :
147
+ (0, object_assign_1.default)({}, chunkInfos);
154
148
  if (offsetedChunkInfos !== null) {
155
149
  offsetedChunkInfos.time += contentOffset;
156
150
  }
157
- var offsetedWindowStart = appendWindow[0] !== undefined ?
151
+ const offsetedWindowStart = appendWindow[0] !== undefined ?
158
152
  Math.max(appendWindow[0] + contentOffset, contentOffset) :
159
153
  contentOffset;
160
- var offsetedWindowEnd;
154
+ let offsetedWindowEnd;
161
155
  if (appendWindow[1] !== undefined) {
162
156
  offsetedWindowEnd = contentEnd !== undefined ?
163
157
  Math.min(appendWindow[1] + contentOffset, contentEnd) :
@@ -170,64 +164,64 @@ export default function (options) {
170
164
  chunkOffset: offsetedSegmentOffset,
171
165
  appendWindow: [offsetedWindowStart, offsetedWindowEnd] };
172
166
  }
173
- var audioPipeline = {
174
- loadSegment: function (wantedCdn, context, loaderOptions, cancelToken, callbacks) {
175
- var segment = context.segment;
176
- var audio = getTransportPipelinesFromSegment(segment).audio;
177
- var ogContext = getOriginalContext(context);
167
+ const audioPipeline = {
168
+ loadSegment(wantedCdn, context, loaderOptions, cancelToken, callbacks) {
169
+ const { segment } = context;
170
+ const { audio } = getTransportPipelinesFromSegment(segment);
171
+ const ogContext = getOriginalContext(context);
178
172
  return audio.loadSegment(wantedCdn, ogContext, loaderOptions, cancelToken, callbacks);
179
173
  },
180
- parseSegment: function (loadedSegment, context, initTimescale) {
181
- var segment = context.segment;
182
- var _a = getMetaPlaylistPrivateInfos(segment), contentStart = _a.contentStart, contentEnd = _a.contentEnd;
183
- var audio = getTransportPipelinesFromSegment(segment).audio;
184
- var ogContext = getOriginalContext(context);
185
- var parsed = audio.parseSegment(loadedSegment, ogContext, initTimescale);
174
+ parseSegment(loadedSegment, context, initTimescale) {
175
+ const { segment } = context;
176
+ const { contentStart, contentEnd } = getMetaPlaylistPrivateInfos(segment);
177
+ const { audio } = getTransportPipelinesFromSegment(segment);
178
+ const ogContext = getOriginalContext(context);
179
+ const parsed = audio.parseSegment(loadedSegment, ogContext, initTimescale);
186
180
  if (parsed.segmentType === "init") {
187
181
  return parsed;
188
182
  }
189
- var timeInfos = offsetTimeInfos(contentStart, contentEnd, parsed);
190
- return objectAssign({}, parsed, timeInfos);
183
+ const timeInfos = offsetTimeInfos(contentStart, contentEnd, parsed);
184
+ return (0, object_assign_1.default)({}, parsed, timeInfos);
191
185
  },
192
186
  };
193
- var videoPipeline = {
194
- loadSegment: function (wantedCdn, context, loaderOptions, cancelToken, callbacks) {
195
- var segment = context.segment;
196
- var video = getTransportPipelinesFromSegment(segment).video;
197
- var ogContext = getOriginalContext(context);
187
+ const videoPipeline = {
188
+ loadSegment(wantedCdn, context, loaderOptions, cancelToken, callbacks) {
189
+ const { segment } = context;
190
+ const { video } = getTransportPipelinesFromSegment(segment);
191
+ const ogContext = getOriginalContext(context);
198
192
  return video.loadSegment(wantedCdn, ogContext, loaderOptions, cancelToken, callbacks);
199
193
  },
200
- parseSegment: function (loadedSegment, context, initTimescale) {
201
- var segment = context.segment;
202
- var _a = getMetaPlaylistPrivateInfos(segment), contentStart = _a.contentStart, contentEnd = _a.contentEnd;
203
- var video = getTransportPipelinesFromSegment(segment).video;
204
- var ogContext = getOriginalContext(context);
205
- var parsed = video.parseSegment(loadedSegment, ogContext, initTimescale);
194
+ parseSegment(loadedSegment, context, initTimescale) {
195
+ const { segment } = context;
196
+ const { contentStart, contentEnd } = getMetaPlaylistPrivateInfos(segment);
197
+ const { video } = getTransportPipelinesFromSegment(segment);
198
+ const ogContext = getOriginalContext(context);
199
+ const parsed = video.parseSegment(loadedSegment, ogContext, initTimescale);
206
200
  if (parsed.segmentType === "init") {
207
201
  return parsed;
208
202
  }
209
- var timeInfos = offsetTimeInfos(contentStart, contentEnd, parsed);
210
- return objectAssign({}, parsed, timeInfos);
203
+ const timeInfos = offsetTimeInfos(contentStart, contentEnd, parsed);
204
+ return (0, object_assign_1.default)({}, parsed, timeInfos);
211
205
  },
212
206
  };
213
- var textTrackPipeline = {
214
- loadSegment: function (wantedCdn, context, loaderOptions, cancelToken, callbacks) {
215
- var segment = context.segment;
216
- var text = getTransportPipelinesFromSegment(segment).text;
217
- var ogContext = getOriginalContext(context);
207
+ const textTrackPipeline = {
208
+ loadSegment(wantedCdn, context, loaderOptions, cancelToken, callbacks) {
209
+ const { segment } = context;
210
+ const { text } = getTransportPipelinesFromSegment(segment);
211
+ const ogContext = getOriginalContext(context);
218
212
  return text.loadSegment(wantedCdn, ogContext, loaderOptions, cancelToken, callbacks);
219
213
  },
220
- parseSegment: function (loadedSegment, context, initTimescale) {
221
- var segment = context.segment;
222
- var _a = getMetaPlaylistPrivateInfos(segment), contentStart = _a.contentStart, contentEnd = _a.contentEnd;
223
- var text = getTransportPipelinesFromSegment(segment).text;
224
- var ogContext = getOriginalContext(context);
225
- var parsed = text.parseSegment(loadedSegment, ogContext, initTimescale);
214
+ parseSegment(loadedSegment, context, initTimescale) {
215
+ const { segment } = context;
216
+ const { contentStart, contentEnd } = getMetaPlaylistPrivateInfos(segment);
217
+ const { text } = getTransportPipelinesFromSegment(segment);
218
+ const ogContext = getOriginalContext(context);
219
+ const parsed = text.parseSegment(loadedSegment, ogContext, initTimescale);
226
220
  if (parsed.segmentType === "init") {
227
221
  return parsed;
228
222
  }
229
- var timeInfos = offsetTimeInfos(contentStart, contentEnd, parsed);
230
- return objectAssign({}, parsed, timeInfos);
223
+ const timeInfos = offsetTimeInfos(contentStart, contentEnd, parsed);
224
+ return (0, object_assign_1.default)({}, parsed, timeInfos);
231
225
  },
232
226
  };
233
227
  return { manifest: manifestPipeline,
@@ -235,3 +229,4 @@ export default function (options) {
235
229
  video: videoPipeline,
236
230
  text: textTrackPipeline };
237
231
  }
232
+ exports.default = default_1;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,9 +14,10 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import log from "../../log";
17
- import { getDurationFromTrun, getTRAF, } from "../../parsers/containers/isobmff";
18
- import { parseTfrf, parseTfxd, } from "./isobmff";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const log_1 = require("../../log");
19
+ const isobmff_1 = require("../../parsers/containers/isobmff");
20
+ const isobmff_2 = require("./isobmff");
19
21
  /**
20
22
  * Try to obtain time information from the given data.
21
23
  * @param {Uint8Array} data
@@ -24,24 +26,24 @@ import { parseTfrf, parseTfxd, } from "./isobmff";
24
26
  * @param {boolean} isLive
25
27
  * @returns {Object}
26
28
  */
27
- export default function extractTimingsInfos(data, isChunked, initTimescale, segment, isLive) {
29
+ function extractTimingsInfos(data, isChunked, initTimescale, segment, isLive) {
28
30
  var _a;
29
- var nextSegments = [];
30
- var chunkInfos;
31
- var tfxdSegment;
32
- var tfrfSegments;
31
+ const nextSegments = [];
32
+ let chunkInfos;
33
+ let tfxdSegment;
34
+ let tfrfSegments;
33
35
  if (isLive) {
34
- var traf = getTRAF(data);
36
+ const traf = (0, isobmff_1.getTRAF)(data);
35
37
  if (traf !== null) {
36
- tfrfSegments = parseTfrf(traf);
37
- tfxdSegment = parseTfxd(traf);
38
+ tfrfSegments = (0, isobmff_2.parseTfrf)(traf);
39
+ tfxdSegment = (0, isobmff_2.parseTfxd)(traf);
38
40
  }
39
41
  else {
40
- log.warn("smooth: could not find traf atom");
42
+ log_1.default.warn("smooth: could not find traf atom");
41
43
  }
42
44
  }
43
45
  if (tfrfSegments !== undefined) {
44
- for (var i = 0; i < tfrfSegments.length; i++) {
46
+ for (let i = 0; i < tfrfSegments.length; i++) {
45
47
  nextSegments.push({ time: tfrfSegments[i].time,
46
48
  duration: tfrfSegments[i].duration,
47
49
  timescale: initTimescale });
@@ -50,19 +52,22 @@ export default function extractTimingsInfos(data, isChunked, initTimescale, segm
50
52
  if (tfxdSegment !== undefined) {
51
53
  chunkInfos = { time: tfxdSegment.time / initTimescale,
52
54
  duration: tfxdSegment.duration / initTimescale };
53
- return { nextSegments: nextSegments, chunkInfos: chunkInfos, scaledSegmentTime: tfxdSegment.time };
55
+ return { nextSegments,
56
+ chunkInfos,
57
+ scaledSegmentTime: tfxdSegment.time };
54
58
  }
55
59
  if (isChunked || !segment.complete) {
56
- return { nextSegments: nextSegments, chunkInfos: null,
60
+ return { nextSegments,
61
+ chunkInfos: null,
57
62
  scaledSegmentTime: undefined };
58
63
  }
59
- var segmentDuration = segment.duration * initTimescale;
64
+ const segmentDuration = segment.duration * initTimescale;
60
65
  // we could always make a mistake when reading a container.
61
66
  // If the estimate is too far from what the segment seems to imply, take
62
67
  // the segment infos instead.
63
- var maxDecodeTimeDelta = Math.min(initTimescale * 0.9, segmentDuration / 4);
64
- var trunDuration = getDurationFromTrun(data);
65
- var scaledSegmentTime = ((_a = segment.privateInfos) === null || _a === void 0 ? void 0 : _a.smoothMediaSegment) !== undefined ?
68
+ const maxDecodeTimeDelta = Math.min(initTimescale * 0.9, segmentDuration / 4);
69
+ const trunDuration = (0, isobmff_1.getDurationFromTrun)(data);
70
+ const scaledSegmentTime = ((_a = segment.privateInfos) === null || _a === void 0 ? void 0 : _a.smoothMediaSegment) !== undefined ?
66
71
  segment.privateInfos.smoothMediaSegment.time :
67
72
  Math.round(segment.time * initTimescale);
68
73
  if (trunDuration !== undefined &&
@@ -74,5 +79,6 @@ export default function extractTimingsInfos(data, isChunked, initTimescale, segm
74
79
  chunkInfos = { time: segment.time,
75
80
  duration: segment.duration };
76
81
  }
77
- return { nextSegments: nextSegments, chunkInfos: chunkInfos, scaledSegmentTime: scaledSegmentTime };
82
+ return { nextSegments, chunkInfos, scaledSegmentTime };
78
83
  }
84
+ exports.default = extractTimingsInfos;
@@ -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 SmoothPipelines from "./pipelines";
21
- export default SmoothPipelines;
22
+ const pipelines_1 = require("./pipelines");
23
+ exports.default = pipelines_1.default;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,12 +14,14 @@
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
  * Returns `true` if the given Representation refers to segments in an MP4
18
20
  * container
19
21
  * @param {Representation} representation
20
22
  * @returns {Boolean}
21
23
  */
22
- export default function isMP4EmbeddedTrack(mimeType) {
24
+ function isMP4EmbeddedTrack(mimeType) {
23
25
  return typeof mimeType === "string" && mimeType.indexOf("mp4") >= 0;
24
26
  }
27
+ exports.default = isMP4EmbeddedTrack;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,10 +14,11 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { createBoxWithChildren } from "../../../parsers/containers/isobmff";
17
- import { createENCABox, createESDSBox, createFRMABox, createMP4ABox, createSCHMBox, createSMHDBox, createSTSDBox, createTENCBox, } from "./create_boxes";
18
- import createInitSegment from "./create_init_segment";
19
- import getAacesHeader from "./get_aaces_header";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const isobmff_1 = require("../../../parsers/containers/isobmff");
19
+ const create_boxes_1 = require("./create_boxes");
20
+ const create_init_segment_1 = require("./create_init_segment");
21
+ const get_aaces_header_1 = require("./get_aaces_header");
20
22
  /**
21
23
  * Return full audio initialization segment as Uint8Array.
22
24
  * @param {Number} timescale
@@ -30,23 +32,24 @@ import getAacesHeader from "./get_aaces_header";
30
32
  * @param {Array.<Object>} [pssList]
31
33
  * @returns {Uint8Array}
32
34
  */
33
- export default function createAudioInitSegment(timescale, channelsCount, sampleSize, packetSize, sampleRate, codecPrivateData, keyId) {
34
- var _codecPrivateData = codecPrivateData.length === 0 ?
35
- getAacesHeader(2, sampleRate, channelsCount) :
35
+ function createAudioInitSegment(timescale, channelsCount, sampleSize, packetSize, sampleRate, codecPrivateData, keyId) {
36
+ const _codecPrivateData = codecPrivateData.length === 0 ?
37
+ (0, get_aaces_header_1.default)(2, sampleRate, channelsCount) :
36
38
  codecPrivateData;
37
- var esds = createESDSBox(1, _codecPrivateData);
38
- var stsd = (function () {
39
+ const esds = (0, create_boxes_1.createESDSBox)(1, _codecPrivateData);
40
+ const stsd = (() => {
39
41
  if (keyId === undefined) {
40
- var mp4a = createMP4ABox(1, channelsCount, sampleSize, packetSize, sampleRate, esds);
41
- return createSTSDBox([mp4a]);
42
+ const mp4a = (0, create_boxes_1.createMP4ABox)(1, channelsCount, sampleSize, packetSize, sampleRate, esds);
43
+ return (0, create_boxes_1.createSTSDBox)([mp4a]);
42
44
  }
43
- var tenc = createTENCBox(1, 8, keyId);
44
- var schi = createBoxWithChildren("schi", [tenc]);
45
- var schm = createSCHMBox("cenc", 65536);
46
- var frma = createFRMABox("mp4a");
47
- var sinf = createBoxWithChildren("sinf", [frma, schm, schi]);
48
- var enca = createENCABox(1, channelsCount, sampleSize, packetSize, sampleRate, esds, sinf);
49
- return createSTSDBox([enca]);
45
+ const tenc = (0, create_boxes_1.createTENCBox)(1, 8, keyId);
46
+ const schi = (0, isobmff_1.createBoxWithChildren)("schi", [tenc]);
47
+ const schm = (0, create_boxes_1.createSCHMBox)("cenc", 65536);
48
+ const frma = (0, create_boxes_1.createFRMABox)("mp4a");
49
+ const sinf = (0, isobmff_1.createBoxWithChildren)("sinf", [frma, schm, schi]);
50
+ const enca = (0, create_boxes_1.createENCABox)(1, channelsCount, sampleSize, packetSize, sampleRate, esds, sinf);
51
+ return (0, create_boxes_1.createSTSDBox)([enca]);
50
52
  })();
51
- return createInitSegment(timescale, "audio", stsd, createSMHDBox(), 0, 0);
53
+ return (0, create_init_segment_1.default)(timescale, "audio", stsd, (0, create_boxes_1.createSMHDBox)(), 0, 0);
52
54
  }
55
+ exports.default = createAudioInitSegment;