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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/CHANGELOG.md +221 -12
  2. package/FILES.md +0 -4
  3. package/MAINTAINERS.md +1 -0
  4. package/README.md +0 -21
  5. package/VERSION +1 -1
  6. package/dist/_esm5.processed/compat/add_class_name.js +6 -3
  7. package/dist/_esm5.processed/compat/add_text_track.js +11 -8
  8. package/dist/_esm5.processed/compat/browser_compatibility_types.js +13 -9
  9. package/dist/_esm5.processed/compat/browser_detection.js +49 -34
  10. package/dist/_esm5.processed/compat/browser_version.js +11 -8
  11. package/dist/_esm5.processed/compat/can_patch_isobmff.js +6 -3
  12. package/dist/_esm5.processed/compat/can_rely_on_video_visibility_and_size.js +9 -6
  13. package/dist/_esm5.processed/compat/can_reuse_media_keys.js +6 -3
  14. package/dist/_esm5.processed/compat/change_source_buffer_type.js +6 -3
  15. package/dist/_esm5.processed/compat/clear_element_src.js +12 -9
  16. package/dist/_esm5.processed/compat/eme/close_session.js +45 -106
  17. package/dist/_esm5.processed/compat/eme/constants.js +6 -3
  18. package/dist/_esm5.processed/compat/eme/custom_key_system_access.js +18 -22
  19. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +78 -102
  20. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +16 -6
  21. package/dist/_esm5.processed/compat/eme/custom_media_keys/moz_media_keys_constructor.js +18 -15
  22. package/dist/_esm5.processed/compat/eme/custom_media_keys/ms_media_keys_constructor.js +7 -5
  23. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +70 -88
  24. package/dist/_esm5.processed/compat/eme/custom_media_keys/types.js +2 -1
  25. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +91 -117
  26. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +7 -7
  27. package/dist/_esm5.processed/compat/eme/eme-api-implementation.js +82 -83
  28. package/dist/_esm5.processed/compat/eme/generate_key_request.js +36 -31
  29. package/dist/_esm5.processed/compat/eme/get_init_data.js +28 -25
  30. package/dist/_esm5.processed/compat/eme/get_uuid_kid_from_keystatus_kid.js +8 -5
  31. package/dist/_esm5.processed/compat/eme/get_webkit_fairplay_initdata.js +17 -14
  32. package/dist/_esm5.processed/compat/eme/index.js +13 -7
  33. package/dist/_esm5.processed/compat/eme/load_session.js +26 -69
  34. package/dist/_esm5.processed/compat/enable_audio_track.js +7 -4
  35. package/dist/_esm5.processed/compat/event_listeners.js +130 -102
  36. package/dist/_esm5.processed/compat/get_start_date.js +7 -4
  37. package/dist/_esm5.processed/compat/global_scope.js +7 -5
  38. package/dist/_esm5.processed/compat/has_issues_with_high_media_source_duration.js +6 -3
  39. package/dist/_esm5.processed/compat/index.js +47 -24
  40. package/dist/_esm5.processed/compat/is_codec_supported.js +8 -5
  41. package/dist/_esm5.processed/compat/is_debug_mode_enabled.js +4 -1
  42. package/dist/_esm5.processed/compat/is_node.js +5 -3
  43. package/dist/_esm5.processed/compat/is_seeking_approximate.js +5 -3
  44. package/dist/_esm5.processed/compat/is_vtt_cue.js +6 -3
  45. package/dist/_esm5.processed/compat/is_worker.js +3 -1
  46. package/dist/_esm5.processed/compat/make_vtt_cue.js +10 -7
  47. package/dist/_esm5.processed/compat/on_height_width_change.js +25 -22
  48. package/dist/_esm5.processed/compat/patch_webkit_source_buffer.js +19 -17
  49. package/dist/_esm5.processed/compat/remove_cue.js +12 -9
  50. package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +7 -4
  51. package/dist/_esm5.processed/compat/should_reload_media_source_on_decipherability_update.js +4 -1
  52. package/dist/_esm5.processed/compat/should_renew_media_key_system_access.js +6 -3
  53. package/dist/_esm5.processed/compat/should_unset_media_keys.js +6 -3
  54. package/dist/_esm5.processed/compat/should_validate_metadata.js +6 -3
  55. package/dist/_esm5.processed/compat/should_wait_for_data_before_loaded.js +6 -3
  56. package/dist/_esm5.processed/compat/should_wait_for_have_enough_data.js +6 -3
  57. package/dist/_esm5.processed/config.js +15 -14
  58. package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +123 -94
  59. package/dist/_esm5.processed/core/adaptive/buffer_based_chooser.js +43 -42
  60. package/dist/_esm5.processed/core/adaptive/guess_based_chooser.js +37 -44
  61. package/dist/_esm5.processed/core/adaptive/index.js +4 -2
  62. package/dist/_esm5.processed/core/adaptive/network_analyzer.js +75 -74
  63. package/dist/_esm5.processed/core/adaptive/utils/bandwidth_estimator.js +24 -23
  64. package/dist/_esm5.processed/core/adaptive/utils/ewma.js +13 -12
  65. package/dist/_esm5.processed/core/adaptive/utils/filter_by_bitrate.js +9 -6
  66. package/dist/_esm5.processed/core/adaptive/utils/filter_by_resolution.js +18 -19
  67. package/dist/_esm5.processed/core/adaptive/utils/get_buffer_levels.js +10 -7
  68. package/dist/_esm5.processed/core/adaptive/utils/last_estimate_storage.js +8 -7
  69. package/dist/_esm5.processed/core/adaptive/utils/pending_requests_store.js +26 -23
  70. package/dist/_esm5.processed/core/adaptive/utils/representation_score_calculator.js +25 -23
  71. package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +6 -3
  72. package/dist/_esm5.processed/core/api/debug/buffer_graph.js +41 -40
  73. package/dist/_esm5.processed/core/api/debug/buffer_size_graph.js +31 -30
  74. package/dist/_esm5.processed/core/api/debug/constants.js +4 -1
  75. package/dist/_esm5.processed/core/api/debug/index.js +4 -2
  76. package/dist/_esm5.processed/core/api/debug/modules/general_info.js +64 -72
  77. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +49 -46
  78. package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +15 -12
  79. package/dist/_esm5.processed/core/api/debug/render.js +16 -13
  80. package/dist/_esm5.processed/core/api/debug/utils.js +18 -13
  81. package/dist/_esm5.processed/core/api/index.js +7 -4
  82. package/dist/_esm5.processed/core/api/option_utils.js +85 -58
  83. package/dist/_esm5.processed/core/api/playback_observer.js +135 -124
  84. package/dist/_esm5.processed/core/api/public_api.js +610 -684
  85. package/dist/_esm5.processed/core/api/track_management/index.js +19 -3
  86. package/dist/_esm5.processed/core/api/track_management/media_element_tracks_store.js +233 -247
  87. package/dist/_esm5.processed/core/api/track_management/track_dispatcher.js +45 -58
  88. package/dist/_esm5.processed/core/api/track_management/tracks_store.js +300 -324
  89. package/dist/_esm5.processed/core/api/utils.js +32 -24
  90. package/dist/_esm5.processed/core/decrypt/__tests__/__global__/utils.js +155 -185
  91. package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +42 -81
  92. package/dist/_esm5.processed/core/decrypt/clear_on_stop.js +15 -12
  93. package/dist/_esm5.processed/core/decrypt/content_decryptor.js +392 -510
  94. package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +44 -90
  95. package/dist/_esm5.processed/core/decrypt/create_session.js +90 -149
  96. package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +24 -67
  97. package/dist/_esm5.processed/core/decrypt/find_key_system.js +94 -155
  98. package/dist/_esm5.processed/core/decrypt/get_key_system_configuration.js +6 -3
  99. package/dist/_esm5.processed/core/decrypt/get_media_keys.js +59 -109
  100. package/dist/_esm5.processed/core/decrypt/index.js +26 -7
  101. package/dist/_esm5.processed/core/decrypt/init_media_keys.js +17 -59
  102. package/dist/_esm5.processed/core/decrypt/session_events_listener.js +84 -155
  103. package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +50 -103
  104. package/dist/_esm5.processed/core/decrypt/types.js +5 -2
  105. package/dist/_esm5.processed/core/decrypt/utils/are_init_values_compatible.js +22 -19
  106. package/dist/_esm5.processed/core/decrypt/utils/check_key_statuses.js +40 -61
  107. package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.js +17 -61
  108. package/dist/_esm5.processed/core/decrypt/utils/clean_old_stored_persistent_info.js +8 -5
  109. package/dist/_esm5.processed/core/decrypt/utils/get_drm_system_id.js +8 -5
  110. package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +23 -23
  111. package/dist/_esm5.processed/core/decrypt/utils/is_session_usable.js +15 -12
  112. package/dist/_esm5.processed/core/decrypt/utils/key_id_comparison.js +14 -21
  113. package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +26 -27
  114. package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +206 -310
  115. package/dist/_esm5.processed/core/decrypt/utils/media_keys_infos_store.js +8 -6
  116. package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +103 -102
  117. package/dist/_esm5.processed/core/decrypt/utils/serializable_bytes.js +13 -12
  118. package/dist/_esm5.processed/core/decrypt/utils/server_certificate_store.js +18 -16
  119. package/dist/_esm5.processed/core/fetchers/cdn_prioritizer.js +37 -56
  120. package/dist/_esm5.processed/core/fetchers/index.js +7 -3
  121. package/dist/_esm5.processed/core/fetchers/manifest/index.js +4 -2
  122. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +233 -313
  123. package/dist/_esm5.processed/core/fetchers/segment/index.js +4 -2
  124. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.js +12 -9
  125. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +218 -234
  126. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +20 -19
  127. package/dist/_esm5.processed/core/fetchers/segment/task_prioritizer.js +73 -74
  128. package/dist/_esm5.processed/core/fetchers/utils/error_selector.js +8 -5
  129. package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +210 -261
  130. package/dist/_esm5.processed/core/init/directfile_content_initializer.js +73 -99
  131. package/dist/_esm5.processed/core/init/index.js +5 -1
  132. package/dist/_esm5.processed/core/init/media_source_content_initializer.js +256 -320
  133. package/dist/_esm5.processed/core/init/types.js +7 -24
  134. package/dist/_esm5.processed/core/init/utils/content_time_boundaries_observer.js +109 -135
  135. package/dist/_esm5.processed/core/init/utils/create_media_source.js +35 -30
  136. package/dist/_esm5.processed/core/init/utils/create_stream_playback_observer.js +12 -10
  137. package/dist/_esm5.processed/core/init/utils/end_of_stream.js +30 -26
  138. package/dist/_esm5.processed/core/init/utils/get_initial_time.js +41 -38
  139. package/dist/_esm5.processed/core/init/utils/get_loaded_reference.js +13 -10
  140. package/dist/_esm5.processed/core/init/utils/initial_seek_and_play.js +29 -26
  141. package/dist/_esm5.processed/core/init/utils/initialize_content_decryption.js +30 -27
  142. package/dist/_esm5.processed/core/init/utils/media_source_duration_updater.js +58 -60
  143. package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +140 -161
  144. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/are_same_stream_events.js +3 -1
  145. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/index.js +4 -2
  146. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +28 -30
  147. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/stream_events_emitter.js +71 -90
  148. package/dist/_esm5.processed/core/init/utils/stream_events_emitter/types.js +2 -1
  149. package/dist/_esm5.processed/core/init/utils/throw_on_media_error.js +16 -13
  150. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +75 -126
  151. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +130 -147
  152. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/index.js +4 -2
  153. package/dist/_esm5.processed/core/segment_buffers/implementations/index.js +20 -3
  154. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +106 -125
  155. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/index.js +4 -2
  156. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/parsers.js +11 -8
  157. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +48 -47
  158. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/types.js +2 -1
  159. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/update_proportional_elements.js +18 -15
  160. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +22 -15
  161. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/index.js +4 -2
  162. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +65 -82
  163. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/parsers.js +11 -8
  164. package/dist/_esm5.processed/core/segment_buffers/implementations/types.js +19 -17
  165. package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +23 -22
  166. package/dist/_esm5.processed/core/segment_buffers/index.js +13 -6
  167. package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.js +24 -22
  168. package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +8 -3
  169. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +151 -150
  170. package/dist/_esm5.processed/core/segment_buffers/inventory/types.js +2 -1
  171. package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +9 -4
  172. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +82 -89
  173. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +118 -166
  174. package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +31 -28
  175. package/dist/_esm5.processed/core/stream/adaptation/index.js +19 -3
  176. package/dist/_esm5.processed/core/stream/adaptation/types.js +2 -1
  177. package/dist/_esm5.processed/core/stream/index.js +4 -2
  178. package/dist/_esm5.processed/core/stream/orchestrator/get_time_ranges_for_content.js +14 -16
  179. package/dist/_esm5.processed/core/stream/orchestrator/index.js +4 -2
  180. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +175 -222
  181. package/dist/_esm5.processed/core/stream/period/index.js +19 -3
  182. package/dist/_esm5.processed/core/stream/period/period_stream.js +172 -216
  183. package/dist/_esm5.processed/core/stream/period/types.js +2 -1
  184. package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +34 -33
  185. package/dist/_esm5.processed/core/stream/representation/index.js +19 -3
  186. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +80 -68
  187. package/dist/_esm5.processed/core/stream/representation/types.js +2 -1
  188. package/dist/_esm5.processed/core/stream/representation/utils/append_segment_to_buffer.js +33 -84
  189. package/dist/_esm5.processed/core/stream/representation/utils/check_for_discontinuity.js +32 -29
  190. package/dist/_esm5.processed/core/stream/representation/utils/downloading_queue.js +126 -145
  191. package/dist/_esm5.processed/core/stream/representation/utils/force_garbage_collection.js +32 -88
  192. package/dist/_esm5.processed/core/stream/representation/utils/get_buffer_status.js +61 -48
  193. package/dist/_esm5.processed/core/stream/representation/utils/get_needed_segments.js +71 -69
  194. package/dist/_esm5.processed/core/stream/representation/utils/get_segment_priority.js +8 -5
  195. package/dist/_esm5.processed/core/stream/representation/utils/push_init_segment.js +22 -63
  196. package/dist/_esm5.processed/core/stream/representation/utils/push_media_segment.js +49 -86
  197. package/dist/_esm5.processed/default_config.js +4 -2
  198. package/dist/_esm5.processed/errors/assertion_error.js +10 -26
  199. package/dist/_esm5.processed/errors/custom_loader_error.js +12 -28
  200. package/dist/_esm5.processed/errors/encrypted_media_error.js +16 -32
  201. package/dist/_esm5.processed/errors/error_codes.js +9 -4
  202. package/dist/_esm5.processed/errors/error_message.js +5 -2
  203. package/dist/_esm5.processed/errors/format_error.js +9 -7
  204. package/dist/_esm5.processed/errors/index.js +25 -11
  205. package/dist/_esm5.processed/errors/is_known_error.js +14 -11
  206. package/dist/_esm5.processed/errors/media_error.js +17 -33
  207. package/dist/_esm5.processed/errors/network_error.js +21 -37
  208. package/dist/_esm5.processed/errors/other_error.js +15 -31
  209. package/dist/_esm5.processed/errors/request_error.js +17 -33
  210. package/dist/_esm5.processed/experimental/features/dash_wasm.js +14 -11
  211. package/dist/_esm5.processed/experimental/features/debug_element.js +7 -4
  212. package/dist/_esm5.processed/experimental/features/index.d.ts +1 -0
  213. package/dist/_esm5.processed/experimental/features/index.js +11 -3
  214. package/dist/_esm5.processed/experimental/features/local.js +9 -6
  215. package/dist/_esm5.processed/experimental/features/metaplaylist.js +9 -6
  216. package/dist/_esm5.processed/experimental/index.js +5 -2
  217. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/dash.js +6 -3
  218. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/features/metaplaylist.js +6 -3
  219. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/index.js +7 -3
  220. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_and_push_segment.js +22 -16
  221. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +22 -19
  222. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +6 -3
  223. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/types.js +2 -1
  224. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +125 -186
  225. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.js +11 -27
  226. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +76 -119
  227. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +24 -15
  228. package/dist/_esm5.processed/experimental/tools/index.js +11 -5
  229. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/index.js +38 -43
  230. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +31 -34
  231. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/capabilities.js +21 -18
  232. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/index.js +4 -2
  233. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/log.js +5 -3
  234. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +20 -17
  235. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +21 -18
  236. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +13 -10
  237. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +16 -13
  238. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/index.js +16 -14
  239. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +14 -11
  240. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +14 -11
  241. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +19 -16
  242. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +11 -8
  243. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.js +5 -2
  244. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/utils.js +25 -22
  245. package/dist/_esm5.processed/experimental/tools/parseBIFThumbnails.js +7 -4
  246. package/dist/_esm5.processed/features/add_features.js +11 -8
  247. package/dist/_esm5.processed/features/features_object.js +4 -2
  248. package/dist/_esm5.processed/features/index.js +7 -4
  249. package/dist/_esm5.processed/features/list/dash.js +11 -8
  250. package/dist/_esm5.processed/features/list/directfile.js +9 -5
  251. package/dist/_esm5.processed/features/list/eme.js +7 -4
  252. package/dist/_esm5.processed/features/list/html_sami_parser.js +9 -6
  253. package/dist/_esm5.processed/features/list/html_srt_parser.js +9 -6
  254. package/dist/_esm5.processed/features/list/html_text_buffer.js +7 -4
  255. package/dist/_esm5.processed/features/list/html_ttml_parser.js +9 -6
  256. package/dist/_esm5.processed/features/list/html_vtt_parser.js +9 -6
  257. package/dist/_esm5.processed/features/list/index.js +31 -14
  258. package/dist/_esm5.processed/features/list/native_sami_parser.js +9 -6
  259. package/dist/_esm5.processed/features/list/native_srt_parser.js +9 -6
  260. package/dist/_esm5.processed/features/list/native_text_buffer.js +7 -4
  261. package/dist/_esm5.processed/features/list/native_ttml_parser.js +9 -6
  262. package/dist/_esm5.processed/features/list/native_vtt_parser.js +9 -6
  263. package/dist/_esm5.processed/features/list/smooth.js +9 -6
  264. package/dist/_esm5.processed/features/types.js +2 -1
  265. package/dist/_esm5.processed/index.js +24 -9
  266. package/dist/_esm5.processed/log.js +5 -3
  267. package/dist/_esm5.processed/manifest/adaptation.js +52 -55
  268. package/dist/_esm5.processed/manifest/index.js +32 -13
  269. package/dist/_esm5.processed/manifest/manifest.js +112 -134
  270. package/dist/_esm5.processed/manifest/period.js +38 -42
  271. package/dist/_esm5.processed/manifest/representation.js +78 -61
  272. package/dist/_esm5.processed/manifest/representation_index/index.js +5 -2
  273. package/dist/_esm5.processed/manifest/representation_index/static.js +43 -42
  274. package/dist/_esm5.processed/manifest/representation_index/types.js +2 -1
  275. package/dist/_esm5.processed/manifest/types.js +5 -2
  276. package/dist/_esm5.processed/manifest/update_period_in_place.js +38 -48
  277. package/dist/_esm5.processed/manifest/update_periods.js +59 -69
  278. package/dist/_esm5.processed/manifest/utils.js +14 -9
  279. package/dist/_esm5.processed/minimal.js +9 -7
  280. package/dist/_esm5.processed/parsers/containers/isobmff/constants.js +4 -1
  281. package/dist/_esm5.processed/parsers/containers/isobmff/create_box.js +14 -10
  282. package/dist/_esm5.processed/parsers/containers/isobmff/drm/index.js +5 -1
  283. package/dist/_esm5.processed/parsers/containers/isobmff/drm/playready.js +15 -11
  284. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +48 -40
  285. package/dist/_esm5.processed/parsers/containers/isobmff/index.js +27 -6
  286. package/dist/_esm5.processed/parsers/containers/isobmff/read.js +20 -14
  287. package/dist/_esm5.processed/parsers/containers/isobmff/take_pssh_out.js +25 -20
  288. package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +130 -112
  289. package/dist/_esm5.processed/parsers/containers/matroska/index.js +6 -1
  290. package/dist/_esm5.processed/parsers/containers/matroska/utils.js +67 -63
  291. package/dist/_esm5.processed/parsers/images/bif.js +40 -29
  292. package/dist/_esm5.processed/parsers/manifest/dash/common/attach_trickmode_track.js +10 -12
  293. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +10 -7
  294. package/dist/_esm5.processed/parsers/manifest/dash/common/get_clock_offset.js +8 -5
  295. package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.js +10 -6
  296. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +7 -6
  297. package/dist/_esm5.processed/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +10 -6
  298. package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.js +14 -9
  299. package/dist/_esm5.processed/parsers/manifest/dash/common/index.js +10 -4
  300. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +73 -67
  301. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +9 -4
  302. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +32 -25
  303. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/index.js +11 -5
  304. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +81 -70
  305. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +130 -123
  306. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +15 -12
  307. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +35 -32
  308. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +14 -9
  309. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +30 -22
  310. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/index.js +4 -2
  311. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +14 -11
  312. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +131 -129
  313. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +16 -10
  314. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/utils.js +7 -3
  315. package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.js +19 -18
  316. package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.js +18 -17
  317. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +111 -111
  318. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_availability_start_time.js +4 -1
  319. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +86 -85
  320. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +97 -82
  321. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +39 -37
  322. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +61 -69
  323. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +12 -9
  324. package/dist/_esm5.processed/parsers/manifest/dash/index.js +8 -1
  325. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/index.js +4 -2
  326. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +66 -62
  327. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +7 -4
  328. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.js +7 -4
  329. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.js +22 -19
  330. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +22 -19
  331. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +11 -8
  332. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/MPD.js +38 -34
  333. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Period.js +34 -30
  334. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +44 -40
  335. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +24 -21
  336. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentList.js +15 -12
  337. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +21 -18
  338. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.js +6 -3
  339. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +12 -9
  340. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +60 -64
  341. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +33 -27
  342. package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.js +2 -1
  343. package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.js +2 -1
  344. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/index.js +4 -2
  345. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +192 -238
  346. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +67 -62
  347. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +8 -4
  348. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +11 -7
  349. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +17 -13
  350. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +29 -24
  351. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +38 -33
  352. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +37 -32
  353. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +43 -38
  354. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +9 -5
  355. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +16 -12
  356. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +11 -7
  357. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +20 -16
  358. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +11 -7
  359. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +11 -7
  360. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/index.js +5 -1
  361. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +10 -6
  362. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +22 -20
  363. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.js +2 -1
  364. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/utils.js +6 -2
  365. package/dist/_esm5.processed/parsers/manifest/index.js +17 -1
  366. package/dist/_esm5.processed/parsers/manifest/local/index.js +4 -2
  367. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +30 -27
  368. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +71 -84
  369. package/dist/_esm5.processed/parsers/manifest/local/types.js +2 -1
  370. package/dist/_esm5.processed/parsers/manifest/metaplaylist/index.js +4 -2
  371. package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +75 -72
  372. package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +52 -52
  373. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +200 -176
  374. package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +13 -8
  375. package/dist/_esm5.processed/parsers/manifest/smooth/index.js +7 -4
  376. package/dist/_esm5.processed/parsers/manifest/smooth/parse_C_nodes.js +17 -14
  377. package/dist/_esm5.processed/parsers/manifest/smooth/parse_protection_node.js +17 -15
  378. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +102 -98
  379. package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +49 -48
  380. package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +10 -7
  381. package/dist/_esm5.processed/parsers/manifest/smooth/utils/parseBoolean.js +4 -1
  382. package/dist/_esm5.processed/parsers/manifest/smooth/utils/reduceChildren.js +6 -3
  383. package/dist/_esm5.processed/parsers/manifest/smooth/utils/tokens.js +5 -1
  384. package/dist/_esm5.processed/parsers/manifest/types.js +2 -1
  385. package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.js +27 -24
  386. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +10 -7
  387. package/dist/_esm5.processed/parsers/manifest/utils/get_first_time_from_adaptation.js +8 -5
  388. package/dist/_esm5.processed/parsers/manifest/utils/get_last_time_from_adaptation.js +8 -5
  389. package/dist/_esm5.processed/parsers/manifest/utils/get_maximum_positions.js +15 -12
  390. package/dist/_esm5.processed/parsers/manifest/utils/get_minimum_position.js +15 -12
  391. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +31 -22
  392. package/dist/_esm5.processed/parsers/manifest/utils/is_segment_still_available.js +9 -6
  393. package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +38 -45
  394. package/dist/_esm5.processed/parsers/texttracks/index.js +2 -1
  395. package/dist/_esm5.processed/parsers/texttracks/sami/html.js +45 -43
  396. package/dist/_esm5.processed/parsers/texttracks/sami/native.js +41 -39
  397. package/dist/_esm5.processed/parsers/texttracks/srt/find_end_of_cue_block.js +7 -4
  398. package/dist/_esm5.processed/parsers/texttracks/srt/get_cue_blocks.js +11 -8
  399. package/dist/_esm5.processed/parsers/texttracks/srt/html.js +32 -29
  400. package/dist/_esm5.processed/parsers/texttracks/srt/native.js +16 -13
  401. package/dist/_esm5.processed/parsers/texttracks/srt/parse_cue.js +21 -18
  402. package/dist/_esm5.processed/parsers/texttracks/srt/parse_timestamp.js +10 -7
  403. package/dist/_esm5.processed/parsers/texttracks/ttml/get_parameters.js +37 -30
  404. package/dist/_esm5.processed/parsers/texttracks/ttml/get_styling.js +48 -48
  405. package/dist/_esm5.processed/parsers/texttracks/ttml/get_time_delimiters.js +14 -11
  406. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +7 -2
  407. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +15 -12
  408. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +15 -12
  409. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_line_height.js +11 -8
  410. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +15 -12
  411. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_padding.js +25 -22
  412. package/dist/_esm5.processed/parsers/texttracks/ttml/html/create_element.js +117 -124
  413. package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +11 -8
  414. package/dist/_esm5.processed/parsers/texttracks/ttml/html/index.js +4 -2
  415. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_cue.js +12 -8
  416. package/dist/_esm5.processed/parsers/texttracks/ttml/html/parse_ttml_to_div.js +14 -11
  417. package/dist/_esm5.processed/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +10 -7
  418. package/dist/_esm5.processed/parsers/texttracks/ttml/native/index.js +4 -2
  419. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_cue.js +38 -35
  420. package/dist/_esm5.processed/parsers/texttracks/ttml/native/parse_ttml_to_vtt.js +11 -8
  421. package/dist/_esm5.processed/parsers/texttracks/ttml/parse_ttml.js +58 -58
  422. package/dist/_esm5.processed/parsers/texttracks/ttml/regexps.js +27 -13
  423. package/dist/_esm5.processed/parsers/texttracks/ttml/resolve_styles_inheritance.js +18 -18
  424. package/dist/_esm5.processed/parsers/texttracks/ttml/time_parsing.js +28 -26
  425. package/dist/_esm5.processed/parsers/texttracks/ttml/xml_utils.js +37 -25
  426. package/dist/_esm5.processed/parsers/texttracks/types.js +2 -1
  427. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_cue_blocks.js +12 -9
  428. package/dist/_esm5.processed/parsers/texttracks/webvtt/get_style_blocks.js +14 -11
  429. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/convert_payload_to_html.js +11 -8
  430. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.js +8 -5
  431. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +60 -60
  432. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_styled_element.js +30 -27
  433. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/index.js +4 -2
  434. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_style_block.js +23 -26
  435. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/parse_webvtt_to_div.js +20 -17
  436. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.js +23 -18
  437. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/index.js +4 -2
  438. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +19 -16
  439. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/set_settings_on_cue.js +20 -17
  440. package/dist/_esm5.processed/parsers/texttracks/webvtt/native/to_native_cue.js +8 -5
  441. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.js +26 -18
  442. package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_timestamp.js +10 -7
  443. package/dist/_esm5.processed/parsers/texttracks/webvtt/utils.js +15 -7
  444. package/dist/_esm5.processed/public_types.js +2 -1
  445. package/dist/_esm5.processed/tools/TextTrackRenderer/index.js +13 -6
  446. package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +26 -24
  447. package/dist/_esm5.processed/tools/index.js +6 -4
  448. package/dist/_esm5.processed/tools/string_utils.js +10 -1
  449. package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +16 -24
  450. package/dist/_esm5.processed/transports/dash/construct_segment_url.js +6 -3
  451. package/dist/_esm5.processed/transports/dash/extract_complete_chunks.js +17 -14
  452. package/dist/_esm5.processed/transports/dash/get_events_out_of_emsgs.js +19 -16
  453. package/dist/_esm5.processed/transports/dash/index.js +4 -2
  454. package/dist/_esm5.processed/transports/dash/init_segment_loader.js +47 -27
  455. package/dist/_esm5.processed/transports/dash/low_latency_segment_loader.js +23 -16
  456. package/dist/_esm5.processed/transports/dash/manifest_parser.js +68 -60
  457. package/dist/_esm5.processed/transports/dash/pipelines.js +20 -17
  458. package/dist/_esm5.processed/transports/dash/segment_loader.js +49 -39
  459. package/dist/_esm5.processed/transports/dash/segment_parser.js +58 -39
  460. package/dist/_esm5.processed/transports/dash/text_loader.js +36 -30
  461. package/dist/_esm5.processed/transports/dash/text_parser.js +39 -29
  462. package/dist/_esm5.processed/transports/index.js +17 -1
  463. package/dist/_esm5.processed/transports/local/index.js +4 -2
  464. package/dist/_esm5.processed/transports/local/pipelines.js +26 -23
  465. package/dist/_esm5.processed/transports/local/segment_loader.js +26 -23
  466. package/dist/_esm5.processed/transports/local/segment_parser.js +36 -25
  467. package/dist/_esm5.processed/transports/local/text_parser.js +42 -27
  468. package/dist/_esm5.processed/transports/metaplaylist/index.js +4 -2
  469. package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.js +11 -7
  470. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +91 -96
  471. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +26 -20
  472. package/dist/_esm5.processed/transports/smooth/index.js +4 -2
  473. package/dist/_esm5.processed/transports/smooth/is_mp4_embedded_track.js +4 -1
  474. package/dist/_esm5.processed/transports/smooth/isobmff/create_audio_init_segment.js +22 -19
  475. package/dist/_esm5.processed/transports/smooth/isobmff/create_boxes.js +92 -67
  476. package/dist/_esm5.processed/transports/smooth/isobmff/create_init_segment.js +29 -26
  477. package/dist/_esm5.processed/transports/smooth/isobmff/create_traf_box.js +9 -6
  478. package/dist/_esm5.processed/transports/smooth/isobmff/create_video_init_segment.js +23 -20
  479. package/dist/_esm5.processed/transports/smooth/isobmff/get_aaces_header.js +10 -7
  480. package/dist/_esm5.processed/transports/smooth/isobmff/index.js +13 -6
  481. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfrf.js +19 -16
  482. package/dist/_esm5.processed/transports/smooth/isobmff/parse_tfxd.js +9 -6
  483. package/dist/_esm5.processed/transports/smooth/isobmff/patch_segment.js +41 -38
  484. package/dist/_esm5.processed/transports/smooth/pipelines.js +106 -96
  485. package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +2 -2
  486. package/dist/_esm5.processed/transports/smooth/segment_loader.js +149 -153
  487. package/dist/_esm5.processed/transports/smooth/utils.js +7 -3
  488. package/dist/_esm5.processed/transports/types.js +2 -1
  489. package/dist/_esm5.processed/transports/utils/byte_range.js +6 -4
  490. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +23 -18
  491. package/dist/_esm5.processed/transports/utils/check_isobmff_integrity.js +14 -11
  492. package/dist/_esm5.processed/transports/utils/find_complete_box.js +11 -8
  493. package/dist/_esm5.processed/transports/utils/generate_manifest_loader.js +22 -14
  494. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +13 -10
  495. package/dist/_esm5.processed/transports/utils/infer_segment_container.js +4 -1
  496. package/dist/_esm5.processed/transports/utils/parse_text_track.js +40 -26
  497. package/dist/_esm5.processed/utils/are_arrays_of_numbers_equal.js +5 -2
  498. package/dist/_esm5.processed/utils/are_codecs_compatible.js +11 -9
  499. package/dist/_esm5.processed/utils/array_find.js +7 -4
  500. package/dist/_esm5.processed/utils/array_find_index.js +6 -3
  501. package/dist/_esm5.processed/utils/array_includes.js +12 -11
  502. package/dist/_esm5.processed/utils/assert.js +13 -9
  503. package/dist/_esm5.processed/utils/assert_unreachable.js +6 -3
  504. package/dist/_esm5.processed/utils/base64.js +23 -18
  505. package/dist/_esm5.processed/utils/byte_parsing.js +30 -17
  506. package/dist/_esm5.processed/utils/cancellable_sleep.js +8 -5
  507. package/dist/_esm5.processed/utils/create_cancellable_promise.js +7 -4
  508. package/dist/_esm5.processed/utils/deep_merge.js +10 -21
  509. package/dist/_esm5.processed/utils/event_emitter.js +24 -24
  510. package/dist/_esm5.processed/utils/flat_map.js +7 -4
  511. package/dist/_esm5.processed/utils/get_fuzzed_delay.js +6 -3
  512. package/dist/_esm5.processed/utils/hash_buffer.js +7 -4
  513. package/dist/_esm5.processed/utils/id_generator.js +6 -3
  514. package/dist/_esm5.processed/utils/initialization_segment_cache.js +11 -12
  515. package/dist/_esm5.processed/utils/is_non_empty_string.js +4 -1
  516. package/dist/_esm5.processed/utils/is_null_or_undefined.js +4 -1
  517. package/dist/_esm5.processed/utils/languages/ISO_639-1_to_ISO_639-3.js +4 -2
  518. package/dist/_esm5.processed/utils/languages/ISO_639-2_to_ISO_639-3.js +4 -2
  519. package/dist/_esm5.processed/utils/languages/index.js +7 -3
  520. package/dist/_esm5.processed/utils/languages/normalize.js +26 -20
  521. package/dist/_esm5.processed/utils/logger.js +24 -23
  522. package/dist/_esm5.processed/utils/monotonic_timestamp.js +4 -1
  523. package/dist/_esm5.processed/utils/noop.js +4 -1
  524. package/dist/_esm5.processed/utils/object_assign.js +8 -10
  525. package/dist/_esm5.processed/utils/object_values.js +6 -3
  526. package/dist/_esm5.processed/utils/ranges.js +94 -71
  527. package/dist/_esm5.processed/utils/reference.js +48 -52
  528. package/dist/_esm5.processed/utils/request/fetch.js +79 -109
  529. package/dist/_esm5.processed/utils/request/index.js +9 -4
  530. package/dist/_esm5.processed/utils/request/xhr.js +49 -37
  531. package/dist/_esm5.processed/utils/resolve_url.js +18 -18
  532. package/dist/_esm5.processed/utils/retry_promise_with_backoff.js +34 -81
  533. package/dist/_esm5.processed/utils/sleep.js +5 -2
  534. package/dist/_esm5.processed/utils/slice_uint8array.js +3 -1
  535. package/dist/_esm5.processed/utils/sorted_list.js +37 -40
  536. package/dist/_esm5.processed/utils/starts_with.js +5 -2
  537. package/dist/_esm5.processed/utils/string_parsing.js +84 -73
  538. package/dist/_esm5.processed/utils/take_first_set.js +9 -10
  539. package/dist/_esm5.processed/utils/task_canceller.js +51 -71
  540. package/dist/_esm5.processed/utils/warn_once.js +7 -4
  541. package/dist/_esm5.processed/utils/weak_map_memory.js +12 -11
  542. package/dist/_esm5.processed/utils/wrapInPromise.js +5 -2
  543. package/dist/mpd-parser.wasm +0 -0
  544. package/dist/rx-player.js +43758 -45493
  545. package/dist/rx-player.min.js +1 -1
  546. package/jest.config.js +1 -22
  547. package/package.json +22 -23
  548. package/scripts/build/constants.d.ts +1 -23
  549. package/scripts/build/generate_build.js +1 -1
  550. package/scripts/check_nodejs_import_compatibility.js +1 -1
  551. package/scripts/update-version +1 -4
  552. package/sonar-project.properties +1 -1
  553. package/src/compat/event_listeners.ts +8 -8
  554. package/src/compat/global_scope.ts +2 -0
  555. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +3 -3
  556. package/src/core/adaptive/adaptive_representation_selector.ts +27 -9
  557. package/src/core/adaptive/buffer_based_chooser.ts +1 -1
  558. package/src/core/adaptive/network_analyzer.ts +5 -4
  559. package/src/core/api/public_api.ts +2 -2
  560. package/src/core/api/track_management/track_dispatcher.ts +2 -1
  561. package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +1 -1
  562. package/src/core/fetchers/cdn_prioritizer.ts +1 -1
  563. package/src/experimental/features/__tests__/index.test.ts +19 -0
  564. package/src/experimental/features/index.ts +1 -0
  565. package/src/features/list/__tests__/index.test.ts +49 -0
  566. package/src/index.ts +28 -3
  567. package/src/transports/smooth/segment_loader.ts +4 -4
  568. package/src/typings/globals.d.ts +0 -42
  569. package/src/utils/request/fetch.ts +1 -1
  570. package/src/utils/request/xhr.ts +1 -1
  571. package/tsconfig.json +1 -1
  572. package/tsconfig.modules.json +3 -3
  573. package/dist/_esm5.processed/features/initialize_features.d.ts +0 -19
  574. package/dist/_esm5.processed/features/initialize_features.js +0 -108
  575. package/src/features/__tests__/initialize_features.test.ts +0 -657
  576. package/src/features/initialize_features.ts +0 -129
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,16 +14,18 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import noop from "../../../../../../utils/noop";
17
- import { parseFloatOrBool, parseString, } from "../utils";
18
- import { generateBaseUrlAttrParser } from "./BaseURL";
19
- import { generateContentComponentAttrParser } from "./ContentComponent";
20
- import { generateContentProtectionAttrParser } from "./ContentProtection";
21
- import { generateRepresentationAttrParser, generateRepresentationChildrenParser, } from "./Representation";
22
- import { generateSchemeAttrParser } from "./Scheme";
23
- import { generateSegmentBaseAttrParser } from "./SegmentBase";
24
- import { generateSegmentListChildrenParser } from "./SegmentList";
25
- import { generateSegmentTemplateAttrParser } from "./SegmentTemplate";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateAdaptationSetAttrParser = exports.generateAdaptationSetChildrenParser = void 0;
19
+ const noop_1 = require("../../../../../../utils/noop");
20
+ const utils_1 = require("../utils");
21
+ const BaseURL_1 = require("./BaseURL");
22
+ const ContentComponent_1 = require("./ContentComponent");
23
+ const ContentProtection_1 = require("./ContentProtection");
24
+ const Representation_1 = require("./Representation");
25
+ const Scheme_1 = require("./Scheme");
26
+ const SegmentBase_1 = require("./SegmentBase");
27
+ const SegmentList_1 = require("./SegmentList");
28
+ const SegmentTemplate_1 = require("./SegmentTemplate");
26
29
  /**
27
30
  * Generate a "children parser" once inside a `AdaptationSet` node.
28
31
  * @param {Object} adaptationSetChildren
@@ -30,151 +33,152 @@ import { generateSegmentTemplateAttrParser } from "./SegmentTemplate";
30
33
  * @param {ParsersStack} parsersStack
31
34
  * @returns {Function}
32
35
  */
33
- export function generateAdaptationSetChildrenParser(adaptationSetChildren, linearMemory, parsersStack) {
36
+ function generateAdaptationSetChildrenParser(adaptationSetChildren, linearMemory, parsersStack) {
34
37
  return function onRootChildren(nodeId) {
35
38
  switch (nodeId) {
36
39
  case 8 /* TagName.Accessibility */: {
37
- var accessibility = {};
40
+ const accessibility = {};
38
41
  if (adaptationSetChildren.accessibilities === undefined) {
39
42
  adaptationSetChildren.accessibilities = [];
40
43
  }
41
44
  adaptationSetChildren.accessibilities.push(accessibility);
42
- var schemeAttrParser = generateSchemeAttrParser(accessibility, linearMemory);
43
- parsersStack.pushParsers(nodeId, noop, schemeAttrParser);
45
+ const schemeAttrParser = (0, Scheme_1.generateSchemeAttrParser)(accessibility, linearMemory);
46
+ parsersStack.pushParsers(nodeId, noop_1.default, schemeAttrParser);
44
47
  break;
45
48
  }
46
49
  case 15 /* TagName.BaseURL */: {
47
- var baseUrl = { value: "", attributes: {} };
50
+ const baseUrl = { value: "", attributes: {} };
48
51
  adaptationSetChildren.baseURLs.push(baseUrl);
49
- var attributeParser = generateBaseUrlAttrParser(baseUrl, linearMemory);
50
- parsersStack.pushParsers(nodeId, noop, attributeParser);
52
+ const attributeParser = (0, BaseURL_1.generateBaseUrlAttrParser)(baseUrl, linearMemory);
53
+ parsersStack.pushParsers(nodeId, noop_1.default, attributeParser);
51
54
  break;
52
55
  }
53
56
  case 9 /* TagName.ContentComponent */: {
54
- var contentComponent = {};
57
+ const contentComponent = {};
55
58
  adaptationSetChildren.contentComponent = contentComponent;
56
- parsersStack.pushParsers(nodeId, noop, generateContentComponentAttrParser(contentComponent, linearMemory));
59
+ parsersStack.pushParsers(nodeId, noop_1.default, (0, ContentComponent_1.generateContentComponentAttrParser)(contentComponent, linearMemory));
57
60
  break;
58
61
  }
59
62
  case 10 /* TagName.ContentProtection */: {
60
- var contentProtection = { children: { cencPssh: [] },
63
+ const contentProtection = { children: { cencPssh: [] },
61
64
  attributes: {} };
62
65
  if (adaptationSetChildren.contentProtections === undefined) {
63
66
  adaptationSetChildren.contentProtections = [];
64
67
  }
65
68
  adaptationSetChildren.contentProtections.push(contentProtection);
66
- var contentProtAttrParser = generateContentProtectionAttrParser(contentProtection, linearMemory);
67
- parsersStack.pushParsers(nodeId, noop, contentProtAttrParser);
69
+ const contentProtAttrParser = (0, ContentProtection_1.generateContentProtectionAttrParser)(contentProtection, linearMemory);
70
+ parsersStack.pushParsers(nodeId, noop_1.default, contentProtAttrParser);
68
71
  break;
69
72
  }
70
73
  case 11 /* TagName.EssentialProperty */: {
71
- var essentialProperty = {};
74
+ const essentialProperty = {};
72
75
  if (adaptationSetChildren.essentialProperties === undefined) {
73
76
  adaptationSetChildren.essentialProperties = [];
74
77
  }
75
78
  adaptationSetChildren.essentialProperties.push(essentialProperty);
76
- var childrenParser = noop; // EssentialProperty have no sub-element
77
- var attributeParser = generateSchemeAttrParser(essentialProperty, linearMemory);
79
+ const childrenParser = noop_1.default; // EssentialProperty have no sub-element
80
+ const attributeParser = (0, Scheme_1.generateSchemeAttrParser)(essentialProperty, linearMemory);
78
81
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
79
82
  break;
80
83
  }
81
84
  case 19 /* TagName.InbandEventStream */: {
82
- var inbandEvent = {};
85
+ const inbandEvent = {};
83
86
  if (adaptationSetChildren.inbandEventStreams === undefined) {
84
87
  adaptationSetChildren.inbandEventStreams = [];
85
88
  }
86
89
  adaptationSetChildren.inbandEventStreams.push(inbandEvent);
87
- var childrenParser = noop; // InbandEventStream have no sub-element
88
- var attributeParser = generateSchemeAttrParser(inbandEvent, linearMemory);
90
+ const childrenParser = noop_1.default; // InbandEventStream have no sub-element
91
+ const attributeParser = (0, Scheme_1.generateSchemeAttrParser)(inbandEvent, linearMemory);
89
92
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
90
93
  break;
91
94
  }
92
95
  case 7 /* TagName.Representation */: {
93
- var representationObj = { children: { baseURLs: [] },
96
+ const representationObj = { children: { baseURLs: [] },
94
97
  attributes: {} };
95
98
  adaptationSetChildren.representations.push(representationObj);
96
- var childrenParser = generateRepresentationChildrenParser(representationObj.children, linearMemory, parsersStack);
97
- var attributeParser = generateRepresentationAttrParser(representationObj.attributes, linearMemory);
99
+ const childrenParser = (0, Representation_1.generateRepresentationChildrenParser)(representationObj.children, linearMemory, parsersStack);
100
+ const attributeParser = (0, Representation_1.generateRepresentationAttrParser)(representationObj.attributes, linearMemory);
98
101
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
99
102
  break;
100
103
  }
101
104
  case 12 /* TagName.Role */: {
102
- var role = {};
105
+ const role = {};
103
106
  if (adaptationSetChildren.roles === undefined) {
104
107
  adaptationSetChildren.roles = [];
105
108
  }
106
109
  adaptationSetChildren.roles.push(role);
107
- var attributeParser = generateSchemeAttrParser(role, linearMemory);
108
- parsersStack.pushParsers(nodeId, noop, attributeParser);
110
+ const attributeParser = (0, Scheme_1.generateSchemeAttrParser)(role, linearMemory);
111
+ parsersStack.pushParsers(nodeId, noop_1.default, attributeParser);
109
112
  break;
110
113
  }
111
114
  case 13 /* TagName.SupplementalProperty */: {
112
- var supplementalProperty = {};
115
+ const supplementalProperty = {};
113
116
  if (adaptationSetChildren.supplementalProperties === undefined) {
114
117
  adaptationSetChildren.supplementalProperties = [];
115
118
  }
116
119
  adaptationSetChildren.supplementalProperties.push(supplementalProperty);
117
- var attributeParser = generateSchemeAttrParser(supplementalProperty, linearMemory);
118
- parsersStack.pushParsers(nodeId, noop, attributeParser);
120
+ const attributeParser = (0, Scheme_1.generateSchemeAttrParser)(supplementalProperty, linearMemory);
121
+ parsersStack.pushParsers(nodeId, noop_1.default, attributeParser);
119
122
  break;
120
123
  }
121
124
  case 17 /* TagName.SegmentBase */: {
122
- var segmentBaseObj = {};
125
+ const segmentBaseObj = {};
123
126
  adaptationSetChildren.segmentBase = segmentBaseObj;
124
- var attributeParser = generateSegmentBaseAttrParser(segmentBaseObj, linearMemory);
125
- parsersStack.pushParsers(nodeId, noop, attributeParser);
127
+ const attributeParser = (0, SegmentBase_1.generateSegmentBaseAttrParser)(segmentBaseObj, linearMemory);
128
+ parsersStack.pushParsers(nodeId, noop_1.default, attributeParser);
126
129
  break;
127
130
  }
128
131
  case 18 /* TagName.SegmentList */: {
129
- var segmentListObj = { list: [] };
132
+ const segmentListObj = { list: [] };
130
133
  adaptationSetChildren.segmentList = segmentListObj;
131
- var childrenParser = generateSegmentListChildrenParser(segmentListObj, linearMemory, parsersStack);
134
+ const childrenParser = (0, SegmentList_1.generateSegmentListChildrenParser)(segmentListObj, linearMemory, parsersStack);
132
135
  // Re-use SegmentBase attribute parse as we should have the same attributes
133
- var attributeParser = generateSegmentBaseAttrParser(segmentListObj, linearMemory);
136
+ const attributeParser = (0, SegmentBase_1.generateSegmentBaseAttrParser)(segmentListObj, linearMemory);
134
137
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
135
138
  break;
136
139
  }
137
140
  case 16 /* TagName.SegmentTemplate */: {
138
- var stObj = {};
141
+ const stObj = {};
139
142
  adaptationSetChildren.segmentTemplate = stObj;
140
- parsersStack.pushParsers(nodeId, noop, // SegmentTimeline as treated like an attribute
141
- generateSegmentTemplateAttrParser(stObj, linearMemory));
143
+ parsersStack.pushParsers(nodeId, noop_1.default, // SegmentTimeline as treated like an attribute
144
+ (0, SegmentTemplate_1.generateSegmentTemplateAttrParser)(stObj, linearMemory));
142
145
  break;
143
146
  }
144
147
  default:
145
148
  // Allows to make sure we're not mistakenly closing a re-opened
146
149
  // tag.
147
- parsersStack.pushParsers(nodeId, noop, noop);
150
+ parsersStack.pushParsers(nodeId, noop_1.default, noop_1.default);
148
151
  break;
149
152
  }
150
153
  };
151
154
  }
155
+ exports.generateAdaptationSetChildrenParser = generateAdaptationSetChildrenParser;
152
156
  /**
153
157
  * @param {Object} adaptationAttrs
154
158
  * @param {WebAssembly.Memory} linearMemory
155
159
  * @returns {Function}
156
160
  */
157
- export function generateAdaptationSetAttrParser(adaptationAttrs, linearMemory) {
158
- var textDecoder = new TextDecoder();
161
+ function generateAdaptationSetAttrParser(adaptationAttrs, linearMemory) {
162
+ const textDecoder = new TextDecoder();
159
163
  return function onAdaptationSetAttribute(attr, ptr, len) {
160
- var dataView = new DataView(linearMemory.buffer);
164
+ const dataView = new DataView(linearMemory.buffer);
161
165
  switch (attr) {
162
166
  case 0 /* AttributeName.Id */:
163
- adaptationAttrs.id = parseString(textDecoder, linearMemory.buffer, ptr, len);
167
+ adaptationAttrs.id = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
164
168
  break;
165
169
  case 48 /* AttributeName.Group */:
166
170
  adaptationAttrs.group = dataView.getFloat64(ptr, true);
167
171
  break;
168
172
  case 60 /* AttributeName.Language */:
169
173
  adaptationAttrs.language =
170
- parseString(textDecoder, linearMemory.buffer, ptr, len);
174
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
171
175
  break;
172
176
  case 61 /* AttributeName.ContentType */:
173
177
  adaptationAttrs.contentType =
174
- parseString(textDecoder, linearMemory.buffer, ptr, len);
178
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
175
179
  break;
176
180
  case 62 /* AttributeName.Par */:
177
- adaptationAttrs.par = parseString(textDecoder, linearMemory.buffer, ptr, len);
181
+ adaptationAttrs.par = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
178
182
  break;
179
183
  case 53 /* AttributeName.MinBandwidth */:
180
184
  adaptationAttrs.minBitrate = dataView.getFloat64(ptr, true);
@@ -205,34 +209,34 @@ export function generateAdaptationSetAttrParser(adaptationAttrs, linearMemory) {
205
209
  break;
206
210
  case 58 /* AttributeName.SegmentAlignment */:
207
211
  adaptationAttrs.segmentAlignment =
208
- parseFloatOrBool(dataView.getFloat64(ptr, true));
212
+ (0, utils_1.parseFloatOrBool)(dataView.getFloat64(ptr, true));
209
213
  break;
210
214
  case 59 /* AttributeName.SubsegmentAlignment */:
211
215
  adaptationAttrs.subsegmentAlignment =
212
- parseFloatOrBool(dataView.getFloat64(ptr, true));
216
+ (0, utils_1.parseFloatOrBool)(dataView.getFloat64(ptr, true));
213
217
  break;
214
218
  case 32 /* AttributeName.BitstreamSwitching */:
215
219
  adaptationAttrs.bitstreamSwitching = dataView.getFloat64(ptr, true) !== 0;
216
220
  break;
217
221
  case 3 /* AttributeName.AudioSamplingRate */:
218
222
  adaptationAttrs.audioSamplingRate =
219
- parseString(textDecoder, linearMemory.buffer, ptr, len);
223
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
220
224
  break;
221
225
  case 4 /* AttributeName.Codecs */:
222
226
  adaptationAttrs.codecs =
223
- parseString(textDecoder, linearMemory.buffer, ptr, len);
227
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
224
228
  break;
225
229
  case 2 /* AttributeName.Profiles */:
226
230
  adaptationAttrs.profiles =
227
- parseString(textDecoder, linearMemory.buffer, ptr, len);
231
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
228
232
  break;
229
233
  case 12 /* AttributeName.SegmentProfiles */:
230
234
  adaptationAttrs.segmentProfiles =
231
- parseString(textDecoder, linearMemory.buffer, ptr, len);
235
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
232
236
  break;
233
237
  case 11 /* AttributeName.MimeType */:
234
238
  adaptationAttrs.mimeType =
235
- parseString(textDecoder, linearMemory.buffer, ptr, len);
239
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
236
240
  break;
237
241
  case 5 /* AttributeName.CodingDependency */:
238
242
  adaptationAttrs.codingDependency = dataView.getFloat64(ptr, true) !== 0;
@@ -259,7 +263,7 @@ export function generateAdaptationSetAttrParser(adaptationAttrs, linearMemory) {
259
263
  adaptationAttrs.availabilityTimeComplete = dataView.getUint8(0) === 0;
260
264
  break;
261
265
  case 71 /* AttributeName.Label */:
262
- var label = parseString(textDecoder, linearMemory.buffer, ptr, len);
266
+ const label = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
263
267
  adaptationAttrs.label = label;
264
268
  break;
265
269
  // TODO
@@ -268,3 +272,4 @@ export function generateAdaptationSetAttrParser(adaptationAttrs, linearMemory) {
268
272
  }
269
273
  };
270
274
  }
275
+ exports.generateAdaptationSetAttrParser = generateAdaptationSetAttrParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,18 +14,21 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { parseString } from "../utils";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateBaseUrlAttrParser = 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 generateBaseUrlAttrParser(baseUrlAttrs, linearMemory) {
24
- var textDecoder = new TextDecoder();
26
+ function generateBaseUrlAttrParser(baseUrlAttrs, linearMemory) {
27
+ const textDecoder = new TextDecoder();
25
28
  return function onMPDAttribute(attr, ptr, len) {
26
29
  if (attr === 64 /* AttributeName.Text */) {
27
- baseUrlAttrs.value = parseString(textDecoder, linearMemory.buffer, ptr, len);
30
+ baseUrlAttrs.value = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
28
31
  }
29
32
  };
30
33
  }
34
+ exports.generateBaseUrlAttrParser = generateBaseUrlAttrParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,29 +14,32 @@
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.generateContentComponentAttrParser = 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 generateContentComponentAttrParser(ccAttrs, linearMemory) {
24
- var textDecoder = new TextDecoder();
26
+ function generateContentComponentAttrParser(ccAttrs, linearMemory) {
27
+ const textDecoder = new TextDecoder();
25
28
  return function onMPDAttribute(attr, ptr, len) {
26
29
  switch (attr) {
27
30
  case 0 /* AttributeName.Id */:
28
- ccAttrs.id = parseString(textDecoder, linearMemory.buffer, ptr, len);
31
+ ccAttrs.id = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
29
32
  break;
30
33
  case 60 /* AttributeName.Language */:
31
- ccAttrs.language = parseString(textDecoder, linearMemory.buffer, ptr, len);
34
+ ccAttrs.language = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
32
35
  break;
33
36
  case 61 /* AttributeName.ContentType */:
34
- ccAttrs.contentType = parseString(textDecoder, linearMemory.buffer, ptr, len);
37
+ ccAttrs.contentType = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
35
38
  break;
36
39
  case 62 /* AttributeName.Par */:
37
- ccAttrs.par = parseString(textDecoder, linearMemory.buffer, ptr, len);
40
+ ccAttrs.par = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
38
41
  break;
39
42
  }
40
43
  };
41
44
  }
45
+ exports.generateContentComponentAttrParser = generateContentComponentAttrParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,37 +14,40 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- import { base64ToBytes } from "../../../../../../utils/base64";
17
- import { hexToBytes } from "../../../../../../utils/string_parsing";
18
- import { parseString } from "../utils";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateContentProtectionAttrParser = void 0;
19
+ const base64_1 = require("../../../../../../utils/base64");
20
+ const string_parsing_1 = require("../../../../../../utils/string_parsing");
21
+ const utils_1 = require("../utils");
19
22
  /**
20
23
  * @param {Object} cpAttrs
21
24
  * @param {WebAssembly.Memory} linearMemory
22
25
  * @returns {Function}
23
26
  */
24
- export function generateContentProtectionAttrParser(cp, linearMemory) {
25
- var cpAttrs = cp.attributes;
26
- var cpChildren = cp.children;
27
- var textDecoder = new TextDecoder();
27
+ function generateContentProtectionAttrParser(cp, linearMemory) {
28
+ const cpAttrs = cp.attributes;
29
+ const cpChildren = cp.children;
30
+ const textDecoder = new TextDecoder();
28
31
  return function onContentProtectionAttribute(attr, ptr, len) {
29
32
  switch (attr) {
30
33
  case 16 /* AttributeName.SchemeIdUri */:
31
- cpAttrs.schemeIdUri = parseString(textDecoder, linearMemory.buffer, ptr, len);
34
+ cpAttrs.schemeIdUri = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
32
35
  break;
33
36
  case 13 /* AttributeName.ContentProtectionValue */:
34
- cpAttrs.value = parseString(textDecoder, linearMemory.buffer, ptr, len);
37
+ cpAttrs.value = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
35
38
  break;
36
39
  case 14 /* AttributeName.ContentProtectionKeyId */:
37
- var kid = parseString(textDecoder, linearMemory.buffer, ptr, len);
38
- cpAttrs.keyId = hexToBytes(kid.replace(/-/g, ""));
40
+ const kid = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
41
+ cpAttrs.keyId = (0, string_parsing_1.hexToBytes)(kid.replace(/-/g, ""));
39
42
  break;
40
43
  case 15 /* AttributeName.ContentProtectionCencPSSH */:
41
44
  try {
42
- var b64 = parseString(textDecoder, linearMemory.buffer, ptr, len);
43
- cpChildren.cencPssh.push(base64ToBytes(b64));
45
+ const b64 = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
46
+ cpChildren.cencPssh.push((0, base64_1.base64ToBytes)(b64));
44
47
  }
45
48
  catch (_) { /* TODO log error? register as warning? */ }
46
49
  break;
47
50
  }
48
51
  };
49
52
  }
53
+ exports.generateContentProtectionAttrParser = generateContentProtectionAttrParser;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * Copyright 2015 CANAL+ Group
3
4
  *
@@ -13,8 +14,10 @@
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";
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.generateEventStreamAttrParser = exports.generateEventStreamChildrenParser = void 0;
19
+ const noop_1 = require("../../../../../../utils/noop");
20
+ const utils_1 = require("../utils");
18
21
  /**
19
22
  * Generate a "children parser" once inside a `EventStream` node.
20
23
  * @param {Object} childrenObj
@@ -23,55 +26,56 @@ import { parseString } from "../utils";
23
26
  * @param {ArrayBuffer} fullMpd
24
27
  * @returns {Function}
25
28
  */
26
- export function generateEventStreamChildrenParser(childrenObj, linearMemory, parsersStack, fullMpd) {
29
+ function generateEventStreamChildrenParser(childrenObj, linearMemory, parsersStack, fullMpd) {
27
30
  return function onRootChildren(nodeId) {
28
31
  switch (nodeId) {
29
32
  case 6 /* TagName.EventStreamElt */: {
30
- var event_1 = {};
31
- childrenObj.events.push(event_1);
32
- var attrParser = generateEventAttrParser(event_1, linearMemory, fullMpd);
33
- parsersStack.pushParsers(nodeId, noop, attrParser);
33
+ const event = {};
34
+ childrenObj.events.push(event);
35
+ const attrParser = generateEventAttrParser(event, linearMemory, fullMpd);
36
+ parsersStack.pushParsers(nodeId, noop_1.default, attrParser);
34
37
  break;
35
38
  }
36
39
  default:
37
40
  // Allows to make sure we're not mistakenly closing a re-opened
38
41
  // tag.
39
- parsersStack.pushParsers(nodeId, noop, noop);
42
+ parsersStack.pushParsers(nodeId, noop_1.default, noop_1.default);
40
43
  break;
41
44
  }
42
45
  };
43
46
  }
47
+ exports.generateEventStreamChildrenParser = generateEventStreamChildrenParser;
44
48
  /**
45
49
  * @param {Object} esAttrs
46
50
  * @param {WebAssembly.Memory} linearMemory
47
51
  * @returns {Function}
48
52
  */
49
- export function generateEventStreamAttrParser(esAttrs, linearMemory) {
50
- var textDecoder = new TextDecoder();
53
+ function generateEventStreamAttrParser(esAttrs, linearMemory) {
54
+ const textDecoder = new TextDecoder();
51
55
  return function onEventStreamAttribute(attr, ptr, len) {
52
- var dataView = new DataView(linearMemory.buffer);
56
+ const dataView = new DataView(linearMemory.buffer);
53
57
  switch (attr) {
54
58
  case 16 /* AttributeName.SchemeIdUri */:
55
59
  esAttrs.schemeIdUri =
56
- parseString(textDecoder, linearMemory.buffer, ptr, len);
60
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
57
61
  break;
58
62
  case 17 /* AttributeName.SchemeValue */:
59
63
  esAttrs.value =
60
- parseString(textDecoder, linearMemory.buffer, ptr, len);
64
+ (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
61
65
  break;
62
66
  case 27 /* AttributeName.TimeScale */:
63
67
  esAttrs.timescale = dataView.getFloat64(ptr, true);
64
68
  break;
65
69
  case 70 /* AttributeName.Namespace */:
66
- var xmlNs = { key: "", value: "" };
67
- var offset = ptr;
68
- var keySize = dataView.getUint32(offset);
70
+ const xmlNs = { key: "", value: "" };
71
+ let offset = ptr;
72
+ const keySize = dataView.getUint32(offset);
69
73
  offset += 4;
70
- xmlNs.key = parseString(textDecoder, linearMemory.buffer, offset, keySize);
74
+ xmlNs.key = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, offset, keySize);
71
75
  offset += keySize;
72
- var valSize = dataView.getUint32(offset);
76
+ const valSize = dataView.getUint32(offset);
73
77
  offset += 4;
74
- xmlNs.value = parseString(textDecoder, linearMemory.buffer, offset, valSize);
78
+ xmlNs.value = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, offset, valSize);
75
79
  if (esAttrs.namespaces === undefined) {
76
80
  esAttrs.namespaces = [xmlNs];
77
81
  }
@@ -82,6 +86,7 @@ export function generateEventStreamAttrParser(esAttrs, linearMemory) {
82
86
  }
83
87
  };
84
88
  }
89
+ exports.generateEventStreamAttrParser = generateEventStreamAttrParser;
85
90
  /**
86
91
  * @param {Object} eventAttr
87
92
  * @param {WebAssembly.Memory} linearMemory
@@ -89,9 +94,9 @@ export function generateEventStreamAttrParser(esAttrs, linearMemory) {
89
94
  * @returns {Function}
90
95
  */
91
96
  function generateEventAttrParser(eventAttr, linearMemory, fullMpd) {
92
- var textDecoder = new TextDecoder();
97
+ const textDecoder = new TextDecoder();
93
98
  return function onEventStreamAttribute(attr, ptr, len) {
94
- var dataView = new DataView(linearMemory.buffer);
99
+ const dataView = new DataView(linearMemory.buffer);
95
100
  switch (attr) {
96
101
  case 25 /* AttributeName.EventPresentationTime */:
97
102
  eventAttr.presentationTime = dataView.getFloat64(ptr, true);
@@ -100,11 +105,11 @@ function generateEventAttrParser(eventAttr, linearMemory, fullMpd) {
100
105
  eventAttr.duration = dataView.getFloat64(ptr, true);
101
106
  break;
102
107
  case 0 /* AttributeName.Id */:
103
- eventAttr.id = parseString(textDecoder, linearMemory.buffer, ptr, len);
108
+ eventAttr.id = (0, utils_1.parseString)(textDecoder, linearMemory.buffer, ptr, len);
104
109
  break;
105
110
  case 69 /* AttributeName.EventStreamEltRange */:
106
- var rangeStart = dataView.getFloat64(ptr, true);
107
- var rangeEnd = dataView.getFloat64(ptr + 8, true);
111
+ const rangeStart = dataView.getFloat64(ptr, true);
112
+ const rangeEnd = dataView.getFloat64(ptr + 8, true);
108
113
  eventAttr.eventStreamData = fullMpd.slice(rangeStart, rangeEnd);
109
114
  break;
110
115
  }