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,11 +14,13 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import noop from "../../../../../../utils/noop";
17
- import { parseString } from "../utils";
18
- import { generateBaseUrlAttrParser } from "./BaseURL";
19
- import { generatePeriodAttrParser, generatePeriodChildrenParser, } from "./Period";
20
- import { generateSchemeAttrParser } from "./Scheme";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateMPDAttrParser = exports.generateMPDChildrenParser = void 0;
19
+ const noop_1 = require("../../../../../../utils/noop");
20
+ const utils_1 = require("../utils");
21
+ const BaseURL_1 = require("./BaseURL");
22
+ const Period_1 = require("./Period");
23
+ const Scheme_1 = require("./Scheme");
21
24
  /**
22
25
  * Generate a "children parser" once inside an `MPD` node.
23
26
  * @param {Object} mpdChildren
@@ -26,68 +29,69 @@ import { generateSchemeAttrParser } from "./Scheme";
26
29
  * @param {ArrayBuffer} fullMpd
27
30
  * @returns {Function}
28
31
  */
29
- export function generateMPDChildrenParser(mpdChildren, linearMemory, parsersStack, fullMpd) {
32
+ function generateMPDChildrenParser(mpdChildren, linearMemory, parsersStack, fullMpd) {
30
33
  return function onRootChildren(nodeId) {
31
34
  switch (nodeId) {
32
35
  case 15 /* TagName.BaseURL */: {
33
- var baseUrl = { value: "", attributes: {} };
36
+ const baseUrl = { value: "", attributes: {} };
34
37
  mpdChildren.baseURLs.push(baseUrl);
35
- var childrenParser = noop; // BaseURL have no sub-element
36
- var attributeParser = generateBaseUrlAttrParser(baseUrl, linearMemory);
38
+ const childrenParser = noop_1.default; // BaseURL have no sub-element
39
+ const attributeParser = (0, BaseURL_1.generateBaseUrlAttrParser)(baseUrl, linearMemory);
37
40
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
38
41
  break;
39
42
  }
40
43
  case 2 /* TagName.Period */: {
41
- var period = { children: { adaptations: [],
44
+ const period = { children: { adaptations: [],
42
45
  baseURLs: [],
43
46
  eventStreams: [] },
44
47
  attributes: {} };
45
48
  mpdChildren.periods.push(period);
46
- var childrenParser = generatePeriodChildrenParser(period.children, linearMemory, parsersStack, fullMpd);
47
- var attributeParser = generatePeriodAttrParser(period.attributes, linearMemory);
49
+ const childrenParser = (0, Period_1.generatePeriodChildrenParser)(period.children, linearMemory, parsersStack, fullMpd);
50
+ const attributeParser = (0, Period_1.generatePeriodAttrParser)(period.attributes, linearMemory);
48
51
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
49
52
  break;
50
53
  }
51
54
  case 3 /* TagName.UtcTiming */: {
52
- var utcTiming = {};
55
+ const utcTiming = {};
53
56
  mpdChildren.utcTimings.push(utcTiming);
54
- var childrenParser = noop; // UTCTiming have no sub-element
55
- var attributeParser = generateSchemeAttrParser(utcTiming, linearMemory);
57
+ const childrenParser = noop_1.default; // UTCTiming have no sub-element
58
+ const attributeParser = (0, Scheme_1.generateSchemeAttrParser)(utcTiming, linearMemory);
56
59
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
57
60
  break;
58
61
  }
59
62
  default:
60
63
  // Allows to make sure we're not mistakenly closing a re-opened
61
64
  // tag.
62
- parsersStack.pushParsers(nodeId, noop, noop);
65
+ parsersStack.pushParsers(nodeId, noop_1.default, noop_1.default);
63
66
  break;
64
67
  }
65
68
  };
66
69
  }
67
- export function generateMPDAttrParser(mpdChildren, mpdAttrs, linearMemory) {
68
- var dataView;
69
- var textDecoder = new TextDecoder();
70
+ exports.generateMPDChildrenParser = generateMPDChildrenParser;
71
+ function generateMPDAttrParser(mpdChildren, mpdAttrs, linearMemory) {
72
+ let dataView;
73
+ const textDecoder = new TextDecoder();
70
74
  return function onMPDAttribute(attr, ptr, len) {
71
75
  switch (attr) {
72
76
  case 0 /* AttributeName.Id */:
73
- mpdAttrs.id = parseString(textDecoder, linearMemory.buffer, ptr, len);
77
+ mpdAttrs.id = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
74
78
  break;
75
79
  case 2 /* AttributeName.Profiles */:
76
- mpdAttrs.profiles = parseString(textDecoder, linearMemory.buffer, ptr, len);
80
+ mpdAttrs.profiles = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
77
81
  break;
78
82
  case 33 /* AttributeName.Type */:
79
- mpdAttrs.type = parseString(textDecoder, linearMemory.buffer, ptr, len);
83
+ mpdAttrs.type = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
80
84
  break;
81
85
  case 34 /* AttributeName.AvailabilityStartTime */:
82
- var startTime = parseString(textDecoder, linearMemory.buffer, ptr, len);
86
+ const startTime = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
83
87
  mpdAttrs.availabilityStartTime = new Date(startTime).getTime() / 1000;
84
88
  break;
85
89
  case 35 /* AttributeName.AvailabilityEndTime */:
86
- var endTime = parseString(textDecoder, linearMemory.buffer, ptr, len);
90
+ const endTime = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
87
91
  mpdAttrs.availabilityEndTime = new Date(endTime).getTime() / 1000;
88
92
  break;
89
93
  case 36 /* AttributeName.PublishTime */:
90
- var publishTime = parseString(textDecoder, linearMemory.buffer, ptr, len);
94
+ const publishTime = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
91
95
  mpdAttrs.publishTime = new Date(publishTime).getTime() / 1000;
92
96
  break;
93
97
  case 68 /* AttributeName.MediaPresentationDuration */:
@@ -119,20 +123,20 @@ export function generateMPDAttrParser(mpdChildren, mpdAttrs, linearMemory) {
119
123
  mpdAttrs.maxSubsegmentDuration = dataView.getFloat64(ptr, true);
120
124
  break;
121
125
  case 66 /* AttributeName.Location */:
122
- var location_1 = parseString(textDecoder, linearMemory.buffer, ptr, len);
123
- mpdChildren.locations.push(location_1);
126
+ const location = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
127
+ mpdChildren.locations.push(location);
124
128
  break;
125
129
  case 70 /* AttributeName.Namespace */:
126
- var xmlNs = { key: "", value: "" };
130
+ const xmlNs = { key: "", value: "" };
127
131
  dataView = new DataView(linearMemory.buffer);
128
- var offset = ptr;
129
- var keySize = dataView.getUint32(offset);
132
+ let offset = ptr;
133
+ const keySize = dataView.getUint32(offset);
130
134
  offset += 4;
131
- xmlNs.key = parseString(textDecoder, linearMemory.buffer, offset, keySize);
135
+ xmlNs.key = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, offset, keySize);
132
136
  offset += keySize;
133
- var valSize = dataView.getUint32(offset);
137
+ const valSize = dataView.getUint32(offset);
134
138
  offset += 4;
135
- xmlNs.value = parseString(textDecoder, linearMemory.buffer, offset, valSize);
139
+ xmlNs.value = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, offset, valSize);
136
140
  if (mpdAttrs.namespaces === undefined) {
137
141
  mpdAttrs.namespaces = [xmlNs];
138
142
  }
@@ -143,3 +147,4 @@ export function generateMPDAttrParser(mpdChildren, mpdAttrs, linearMemory) {
143
147
  }
144
148
  };
145
149
  }
150
+ exports.generateMPDAttrParser = generateMPDAttrParser;
@@ -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
  */
16
- import noop from "../../../../../../utils/noop";
17
- import { parseString } from "../utils";
18
- import { generateAdaptationSetAttrParser, generateAdaptationSetChildrenParser, } from "./AdaptationSet";
19
- import { generateBaseUrlAttrParser } from "./BaseURL";
20
- import { generateEventStreamAttrParser, generateEventStreamChildrenParser, } from "./EventStream";
21
- import { generateSegmentTemplateAttrParser } from "./SegmentTemplate";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generatePeriodAttrParser = exports.generatePeriodChildrenParser = void 0;
19
+ const noop_1 = require("../../../../../../utils/noop");
20
+ const utils_1 = require("../utils");
21
+ const AdaptationSet_1 = require("./AdaptationSet");
22
+ const BaseURL_1 = require("./BaseURL");
23
+ const EventStream_1 = require("./EventStream");
24
+ const SegmentTemplate_1 = require("./SegmentTemplate");
22
25
  /**
23
26
  * Generate a "children parser" once inside a `Perod` node.
24
27
  * @param {Object} periodChildren
@@ -27,61 +30,62 @@ import { generateSegmentTemplateAttrParser } from "./SegmentTemplate";
27
30
  * @param {ArrayBuffer} fullMpd
28
31
  * @returns {Function}
29
32
  */
30
- export function generatePeriodChildrenParser(periodChildren, linearMemory, parsersStack, fullMpd) {
33
+ function generatePeriodChildrenParser(periodChildren, linearMemory, parsersStack, fullMpd) {
31
34
  return function onRootChildren(nodeId) {
32
35
  switch (nodeId) {
33
36
  case 4 /* TagName.AdaptationSet */: {
34
- var adaptationObj = { children: { baseURLs: [],
37
+ const adaptationObj = { children: { baseURLs: [],
35
38
  representations: [] },
36
39
  attributes: {} };
37
40
  periodChildren.adaptations.push(adaptationObj);
38
- var childrenParser = generateAdaptationSetChildrenParser(adaptationObj.children, linearMemory, parsersStack);
39
- var attributeParser = generateAdaptationSetAttrParser(adaptationObj.attributes, linearMemory);
41
+ const childrenParser = (0, AdaptationSet_1.generateAdaptationSetChildrenParser)(adaptationObj.children, linearMemory, parsersStack);
42
+ const attributeParser = (0, AdaptationSet_1.generateAdaptationSetAttrParser)(adaptationObj.attributes, linearMemory);
40
43
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
41
44
  break;
42
45
  }
43
46
  case 15 /* TagName.BaseURL */: {
44
- var baseUrl = { value: "", attributes: {} };
47
+ const baseUrl = { value: "", attributes: {} };
45
48
  periodChildren.baseURLs.push(baseUrl);
46
- var childrenParser = noop;
47
- var attributeParser = generateBaseUrlAttrParser(baseUrl, linearMemory);
49
+ const childrenParser = noop_1.default;
50
+ const attributeParser = (0, BaseURL_1.generateBaseUrlAttrParser)(baseUrl, linearMemory);
48
51
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
49
52
  break;
50
53
  }
51
54
  case 5 /* TagName.EventStream */: {
52
- var eventStream = { children: { events: [] }, attributes: {} };
55
+ const eventStream = { children: { events: [] }, attributes: {} };
53
56
  periodChildren.eventStreams.push(eventStream);
54
- var childrenParser = generateEventStreamChildrenParser(eventStream.children, linearMemory, parsersStack, fullMpd);
55
- var attrParser = generateEventStreamAttrParser(eventStream.attributes, linearMemory);
57
+ const childrenParser = (0, EventStream_1.generateEventStreamChildrenParser)(eventStream.children, linearMemory, parsersStack, fullMpd);
58
+ const attrParser = (0, EventStream_1.generateEventStreamAttrParser)(eventStream.attributes, linearMemory);
56
59
  parsersStack.pushParsers(nodeId, childrenParser, attrParser);
57
60
  break;
58
61
  }
59
62
  case 16 /* TagName.SegmentTemplate */: {
60
- var stObj = {};
63
+ const stObj = {};
61
64
  periodChildren.segmentTemplate = stObj;
62
- parsersStack.pushParsers(nodeId, noop, // SegmentTimeline as treated like an attribute
63
- generateSegmentTemplateAttrParser(stObj, linearMemory));
65
+ parsersStack.pushParsers(nodeId, noop_1.default, // SegmentTimeline as treated like an attribute
66
+ (0, SegmentTemplate_1.generateSegmentTemplateAttrParser)(stObj, linearMemory));
64
67
  break;
65
68
  }
66
69
  default:
67
70
  // Allows to make sure we're not mistakenly closing a re-opened
68
71
  // tag.
69
- parsersStack.pushParsers(nodeId, noop, noop);
72
+ parsersStack.pushParsers(nodeId, noop_1.default, noop_1.default);
70
73
  break;
71
74
  }
72
75
  };
73
76
  }
77
+ exports.generatePeriodChildrenParser = generatePeriodChildrenParser;
74
78
  /**
75
79
  * @param {Object} periodAttrs
76
80
  * @param {WebAssembly.Memory} linearMemory
77
81
  * @returns {Function}
78
82
  */
79
- export function generatePeriodAttrParser(periodAttrs, linearMemory) {
80
- var textDecoder = new TextDecoder();
83
+ function generatePeriodAttrParser(periodAttrs, linearMemory) {
84
+ const textDecoder = new TextDecoder();
81
85
  return function onPeriodAttribute(attr, ptr, len) {
82
86
  switch (attr) {
83
87
  case 0 /* AttributeName.Id */:
84
- periodAttrs.id = parseString(textDecoder, linearMemory.buffer, ptr, len);
88
+ periodAttrs.id = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
85
89
  break;
86
90
  case 45 /* AttributeName.Start */:
87
91
  periodAttrs.start = new DataView(linearMemory.buffer).getFloat64(ptr, true);
@@ -94,10 +98,10 @@ export function generatePeriodAttrParser(periodAttrs, linearMemory) {
94
98
  new DataView(linearMemory.buffer).getUint8(0) === 0;
95
99
  break;
96
100
  case 46 /* AttributeName.XLinkHref */:
97
- periodAttrs.xlinkHref = parseString(textDecoder, linearMemory.buffer, ptr, len);
101
+ periodAttrs.xlinkHref = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
98
102
  break;
99
103
  case 47 /* AttributeName.XLinkActuate */:
100
- periodAttrs.xlinkActuate = parseString(textDecoder, linearMemory.buffer, ptr, len);
104
+ periodAttrs.xlinkActuate = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
101
105
  break;
102
106
  case 43 /* AttributeName.AvailabilityTimeOffset */:
103
107
  periodAttrs.availabilityTimeOffset =
@@ -108,16 +112,16 @@ export function generatePeriodAttrParser(periodAttrs, linearMemory) {
108
112
  new DataView(linearMemory.buffer).getUint8(0) === 0;
109
113
  break;
110
114
  case 70 /* AttributeName.Namespace */:
111
- var xmlNs = { key: "", value: "" };
112
- var dataView = new DataView(linearMemory.buffer);
113
- var offset = ptr;
114
- var keySize = dataView.getUint32(offset);
115
+ const xmlNs = { key: "", value: "" };
116
+ const dataView = new DataView(linearMemory.buffer);
117
+ let offset = ptr;
118
+ const keySize = dataView.getUint32(offset);
115
119
  offset += 4;
116
- xmlNs.key = parseString(textDecoder, linearMemory.buffer, offset, keySize);
120
+ xmlNs.key = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, offset, keySize);
117
121
  offset += keySize;
118
- var valSize = dataView.getUint32(offset);
122
+ const valSize = dataView.getUint32(offset);
119
123
  offset += 4;
120
- xmlNs.value = parseString(textDecoder, linearMemory.buffer, offset, valSize);
124
+ xmlNs.value = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, offset, valSize);
121
125
  if (periodAttrs.namespaces === undefined) {
122
126
  periodAttrs.namespaces = [xmlNs];
123
127
  }
@@ -128,3 +132,4 @@ export function generatePeriodAttrParser(periodAttrs, linearMemory) {
128
132
  }
129
133
  };
130
134
  }
135
+ exports.generatePeriodAttrParser = generatePeriodAttrParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,14 +14,16 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import noop from "../../../../../../utils/noop";
17
- import { parseString } from "../utils";
18
- import { generateBaseUrlAttrParser } from "./BaseURL";
19
- import { generateContentProtectionAttrParser } from "./ContentProtection";
20
- import { generateSchemeAttrParser } from "./Scheme";
21
- import { generateSegmentBaseAttrParser } from "./SegmentBase";
22
- import { generateSegmentListChildrenParser } from "./SegmentList";
23
- import { generateSegmentTemplateAttrParser } from "./SegmentTemplate";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateRepresentationAttrParser = exports.generateRepresentationChildrenParser = void 0;
19
+ const noop_1 = require("../../../../../../utils/noop");
20
+ const utils_1 = require("../utils");
21
+ const BaseURL_1 = require("./BaseURL");
22
+ const ContentProtection_1 = require("./ContentProtection");
23
+ const Scheme_1 = require("./Scheme");
24
+ const SegmentBase_1 = require("./SegmentBase");
25
+ const SegmentList_1 = require("./SegmentList");
26
+ const SegmentTemplate_1 = require("./SegmentTemplate");
24
27
  /**
25
28
  * Generate a "children parser" once inside a `Representation` node.
26
29
  * @param {Object} childrenObj
@@ -28,99 +31,100 @@ import { generateSegmentTemplateAttrParser } from "./SegmentTemplate";
28
31
  * @param {ParsersStack} parsersStack
29
32
  * @returns {Function}
30
33
  */
31
- export function generateRepresentationChildrenParser(childrenObj, linearMemory, parsersStack) {
34
+ function generateRepresentationChildrenParser(childrenObj, linearMemory, parsersStack) {
32
35
  return function onRootChildren(nodeId) {
33
36
  switch (nodeId) {
34
37
  case 15 /* TagName.BaseURL */: {
35
- var baseUrl = { value: "", attributes: {} };
38
+ const baseUrl = { value: "", attributes: {} };
36
39
  childrenObj.baseURLs.push(baseUrl);
37
- parsersStack.pushParsers(nodeId, noop, generateBaseUrlAttrParser(baseUrl, linearMemory));
40
+ parsersStack.pushParsers(nodeId, noop_1.default, (0, BaseURL_1.generateBaseUrlAttrParser)(baseUrl, linearMemory));
38
41
  break;
39
42
  }
40
43
  case 10 /* TagName.ContentProtection */: {
41
- var contentProtection = { children: { cencPssh: [] },
44
+ const contentProtection = { children: { cencPssh: [] },
42
45
  attributes: {} };
43
46
  if (childrenObj.contentProtections === undefined) {
44
47
  childrenObj.contentProtections = [];
45
48
  }
46
49
  childrenObj.contentProtections.push(contentProtection);
47
- var contentProtAttrParser = generateContentProtectionAttrParser(contentProtection, linearMemory);
48
- parsersStack.pushParsers(nodeId, noop, contentProtAttrParser);
50
+ const contentProtAttrParser = (0, ContentProtection_1.generateContentProtectionAttrParser)(contentProtection, linearMemory);
51
+ parsersStack.pushParsers(nodeId, noop_1.default, contentProtAttrParser);
49
52
  break;
50
53
  }
51
54
  case 19 /* TagName.InbandEventStream */: {
52
- var inbandEvent = {};
55
+ const inbandEvent = {};
53
56
  if (childrenObj.inbandEventStreams === undefined) {
54
57
  childrenObj.inbandEventStreams = [];
55
58
  }
56
59
  childrenObj.inbandEventStreams.push(inbandEvent);
57
- parsersStack.pushParsers(nodeId, noop, generateSchemeAttrParser(inbandEvent, linearMemory));
60
+ parsersStack.pushParsers(nodeId, noop_1.default, (0, Scheme_1.generateSchemeAttrParser)(inbandEvent, linearMemory));
58
61
  break;
59
62
  }
60
63
  case 13 /* TagName.SupplementalProperty */: {
61
- var supplementalProperty = {};
64
+ const supplementalProperty = {};
62
65
  if (childrenObj.supplementalProperties === undefined) {
63
66
  childrenObj.supplementalProperties = [];
64
67
  }
65
68
  childrenObj.supplementalProperties.push(supplementalProperty);
66
- var attributeParser = generateSchemeAttrParser(supplementalProperty, linearMemory);
67
- parsersStack.pushParsers(nodeId, noop, attributeParser);
69
+ const attributeParser = (0, Scheme_1.generateSchemeAttrParser)(supplementalProperty, linearMemory);
70
+ parsersStack.pushParsers(nodeId, noop_1.default, attributeParser);
68
71
  break;
69
72
  }
70
73
  case 17 /* TagName.SegmentBase */: {
71
- var segmentBaseObj = {};
74
+ const segmentBaseObj = {};
72
75
  childrenObj.segmentBase = segmentBaseObj;
73
- var attributeParser = generateSegmentBaseAttrParser(segmentBaseObj, linearMemory);
74
- parsersStack.pushParsers(nodeId, noop, attributeParser);
76
+ const attributeParser = (0, SegmentBase_1.generateSegmentBaseAttrParser)(segmentBaseObj, linearMemory);
77
+ parsersStack.pushParsers(nodeId, noop_1.default, attributeParser);
75
78
  break;
76
79
  }
77
80
  case 18 /* TagName.SegmentList */: {
78
- var segmentListObj = { list: [] };
81
+ const segmentListObj = { list: [] };
79
82
  childrenObj.segmentList = segmentListObj;
80
- var childrenParser = generateSegmentListChildrenParser(segmentListObj, linearMemory, parsersStack);
83
+ const childrenParser = (0, SegmentList_1.generateSegmentListChildrenParser)(segmentListObj, linearMemory, parsersStack);
81
84
  // Re-use SegmentBase attribute parse as we should have the same attributes
82
- var attributeParser = generateSegmentBaseAttrParser(segmentListObj, linearMemory);
85
+ const attributeParser = (0, SegmentBase_1.generateSegmentBaseAttrParser)(segmentListObj, linearMemory);
83
86
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
84
87
  break;
85
88
  }
86
89
  case 16 /* TagName.SegmentTemplate */: {
87
- var stObj = {};
90
+ const stObj = {};
88
91
  childrenObj.segmentTemplate = stObj;
89
- parsersStack.pushParsers(nodeId, noop, // SegmentTimeline as treated like an attribute
90
- generateSegmentTemplateAttrParser(stObj, linearMemory));
92
+ parsersStack.pushParsers(nodeId, noop_1.default, // SegmentTimeline as treated like an attribute
93
+ (0, SegmentTemplate_1.generateSegmentTemplateAttrParser)(stObj, linearMemory));
91
94
  break;
92
95
  }
93
96
  default:
94
97
  // Allows to make sure we're not mistakenly closing a re-opened
95
98
  // tag.
96
- parsersStack.pushParsers(nodeId, noop, noop);
99
+ parsersStack.pushParsers(nodeId, noop_1.default, noop_1.default);
97
100
  break;
98
101
  }
99
102
  };
100
103
  }
104
+ exports.generateRepresentationChildrenParser = generateRepresentationChildrenParser;
101
105
  /**
102
106
  * @param {Object} representationAttrs
103
107
  * @param {WebAssembly.Memory} linearMemory
104
108
  * @returns {Function}
105
109
  */
106
- export function generateRepresentationAttrParser(representationAttrs, linearMemory) {
107
- var textDecoder = new TextDecoder();
110
+ function generateRepresentationAttrParser(representationAttrs, linearMemory) {
111
+ const textDecoder = new TextDecoder();
108
112
  return function onRepresentationAttribute(attr, ptr, len) {
109
- var dataView = new DataView(linearMemory.buffer);
113
+ const dataView = new DataView(linearMemory.buffer);
110
114
  switch (attr) {
111
115
  case 0 /* AttributeName.Id */:
112
- representationAttrs.id = parseString(textDecoder, linearMemory.buffer, ptr, len);
116
+ representationAttrs.id = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
113
117
  break;
114
118
  case 3 /* AttributeName.AudioSamplingRate */:
115
119
  representationAttrs.audioSamplingRate =
116
- parseString(textDecoder, linearMemory.buffer, ptr, len);
120
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
117
121
  break;
118
122
  case 63 /* AttributeName.Bitrate */:
119
123
  representationAttrs.bitrate = dataView.getFloat64(ptr, true);
120
124
  break;
121
125
  case 4 /* AttributeName.Codecs */:
122
126
  representationAttrs.codecs =
123
- parseString(textDecoder, linearMemory.buffer, ptr, len);
127
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
124
128
  break;
125
129
  case 5 /* AttributeName.CodingDependency */:
126
130
  representationAttrs.codingDependency =
@@ -143,18 +147,18 @@ export function generateRepresentationAttrParser(representationAttrs, linearMemo
143
147
  break;
144
148
  case 11 /* AttributeName.MimeType */:
145
149
  representationAttrs.mimeType =
146
- parseString(textDecoder, linearMemory.buffer, ptr, len);
150
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
147
151
  break;
148
152
  case 2 /* AttributeName.Profiles */:
149
153
  representationAttrs.profiles =
150
- parseString(textDecoder, linearMemory.buffer, ptr, len);
154
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
151
155
  break;
152
156
  case 65 /* AttributeName.QualityRanking */:
153
157
  representationAttrs.qualityRanking = dataView.getFloat64(ptr, true);
154
158
  break;
155
159
  case 12 /* AttributeName.SegmentProfiles */:
156
160
  representationAttrs.segmentProfiles =
157
- parseString(textDecoder, linearMemory.buffer, ptr, len);
161
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
158
162
  break;
159
163
  case 43 /* AttributeName.AvailabilityTimeOffset */:
160
164
  representationAttrs.availabilityTimeOffset = dataView.getFloat64(ptr, true);
@@ -165,3 +169,4 @@ export function generateRepresentationAttrParser(representationAttrs, linearMemo
165
169
  }
166
170
  };
167
171
  }
172
+ exports.generateRepresentationAttrParser = generateRepresentationAttrParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,23 +14,26 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { parseString } from "../utils";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateSchemeAttrParser = void 0;
19
+ const utils_1 = require("../utils");
17
20
  /**
18
21
  * Generate an "attribute parser" once inside a `BaseURL` node.
19
22
  * @param {Object} baseUrlAttrs
20
23
  * @param {WebAssembly.Memory} linearMemory
21
24
  * @returns {Function}
22
25
  */
23
- export function generateSchemeAttrParser(schemeAttrs, linearMemory) {
24
- var textDecoder = new TextDecoder();
26
+ function generateSchemeAttrParser(schemeAttrs, linearMemory) {
27
+ const textDecoder = new TextDecoder();
25
28
  return function onMPDAttribute(attr, ptr, len) {
26
29
  switch (attr) {
27
30
  case 16 /* AttributeName.SchemeIdUri */:
28
- schemeAttrs.schemeIdUri = parseString(textDecoder, linearMemory.buffer, ptr, len);
31
+ schemeAttrs.schemeIdUri = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
29
32
  break;
30
33
  case 17 /* AttributeName.SchemeValue */:
31
- schemeAttrs.value = parseString(textDecoder, linearMemory.buffer, ptr, len);
34
+ schemeAttrs.value = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
32
35
  break;
33
36
  }
34
37
  };
35
38
  }
39
+ exports.generateSchemeAttrParser = generateSchemeAttrParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,13 +14,15 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { parseString } from "../utils";
17
- export function generateSegmentBaseAttrParser(segmentBaseAttrs, linearMemory) {
18
- var textDecoder = new TextDecoder();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateSegmentBaseAttrParser = void 0;
19
+ const utils_1 = require("../utils");
20
+ function generateSegmentBaseAttrParser(segmentBaseAttrs, linearMemory) {
21
+ const textDecoder = new TextDecoder();
19
22
  return function onSegmentBaseAttribute(attr, ptr, len) {
20
23
  switch (attr) {
21
24
  case 29 /* AttributeName.InitializationRange */: {
22
- var dataView = new DataView(linearMemory.buffer);
25
+ const dataView = new DataView(linearMemory.buffer);
23
26
  if (segmentBaseAttrs.initialization === undefined) {
24
27
  segmentBaseAttrs.initialization = {};
25
28
  }
@@ -34,10 +37,10 @@ export function generateSegmentBaseAttrParser(segmentBaseAttrs, linearMemory) {
34
37
  segmentBaseAttrs.initialization = {};
35
38
  }
36
39
  segmentBaseAttrs.initialization.media =
37
- parseString(textDecoder, linearMemory.buffer, ptr, len);
40
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
38
41
  break;
39
42
  case 43 /* AttributeName.AvailabilityTimeOffset */: {
40
- var dataView = new DataView(linearMemory.buffer);
43
+ const dataView = new DataView(linearMemory.buffer);
41
44
  segmentBaseAttrs.availabilityTimeOffset =
42
45
  dataView.getFloat64(ptr, true);
43
46
  break;
@@ -48,19 +51,19 @@ export function generateSegmentBaseAttrParser(segmentBaseAttrs, linearMemory) {
48
51
  break;
49
52
  }
50
53
  case 24 /* AttributeName.PresentationTimeOffset */: {
51
- var dataView = new DataView(linearMemory.buffer);
54
+ const dataView = new DataView(linearMemory.buffer);
52
55
  segmentBaseAttrs.presentationTimeOffset =
53
56
  dataView.getFloat64(ptr, true);
54
57
  break;
55
58
  }
56
59
  case 27 /* AttributeName.TimeScale */: {
57
- var dataView = new DataView(linearMemory.buffer);
60
+ const dataView = new DataView(linearMemory.buffer);
58
61
  segmentBaseAttrs.timescale =
59
62
  dataView.getFloat64(ptr, true);
60
63
  break;
61
64
  }
62
65
  case 31 /* AttributeName.IndexRange */: {
63
- var dataView = new DataView(linearMemory.buffer);
66
+ const dataView = new DataView(linearMemory.buffer);
64
67
  segmentBaseAttrs.indexRange = [
65
68
  dataView.getFloat64(ptr, true),
66
69
  dataView.getFloat64(ptr + 8, true),
@@ -73,21 +76,22 @@ export function generateSegmentBaseAttrParser(segmentBaseAttrs, linearMemory) {
73
76
  break;
74
77
  }
75
78
  case 1 /* AttributeName.Duration */: {
76
- var dataView = new DataView(linearMemory.buffer);
79
+ const dataView = new DataView(linearMemory.buffer);
77
80
  segmentBaseAttrs.duration =
78
81
  dataView.getFloat64(ptr, true);
79
82
  break;
80
83
  }
81
84
  case 20 /* AttributeName.StartNumber */: {
82
- var dataView = new DataView(linearMemory.buffer);
85
+ const dataView = new DataView(linearMemory.buffer);
83
86
  segmentBaseAttrs.startNumber = dataView.getFloat64(ptr, true);
84
87
  break;
85
88
  }
86
89
  case 76 /* AttributeName.EndNumber */: {
87
- var dataView = new DataView(linearMemory.buffer);
90
+ const dataView = new DataView(linearMemory.buffer);
88
91
  segmentBaseAttrs.endNumber = dataView.getFloat64(ptr, true);
89
92
  break;
90
93
  }
91
94
  }
92
95
  };
93
96
  }
97
+ exports.generateSegmentBaseAttrParser = generateSegmentBaseAttrParser;