rx-player 3.26.1 → 3.26.2

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 (580) hide show
  1. package/.github/workflows/checks.yml +99 -0
  2. package/.github/workflows/sonarcloud_analysis.yml +20 -0
  3. package/CHANGELOG.md +99 -71
  4. package/README.md +19 -18
  5. package/VERSION +1 -1
  6. package/dist/_esm5.processed/compat/clear_element_src.js +8 -6
  7. package/dist/_esm5.processed/compat/eme/close_session.js +1 -2
  8. package/dist/_esm5.processed/compat/eme/custom_media_keys/ie11_media_keys.js +1 -2
  9. package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -1
  10. package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +6 -4
  11. package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +1 -2
  12. package/dist/_esm5.processed/compat/eme/generate_key_request.js +1 -2
  13. package/dist/_esm5.processed/compat/eme/load_session.js +2 -3
  14. package/dist/_esm5.processed/compat/event_listeners.d.ts +3 -2
  15. package/dist/_esm5.processed/compat/event_listeners.js +8 -14
  16. package/dist/_esm5.processed/compat/make_vtt_cue.js +1 -1
  17. package/dist/_esm5.processed/compat/on_height_width_change.js +1 -2
  18. package/dist/_esm5.processed/compat/set_element_src.js +1 -1
  19. package/dist/_esm5.processed/compat/when_loaded_metadata.js +1 -2
  20. package/dist/_esm5.processed/compat/when_media_source_open.js +1 -2
  21. package/dist/_esm5.processed/config.d.ts +3 -8
  22. package/dist/_esm5.processed/config.js +4 -9
  23. package/dist/_esm5.processed/core/abr/abr_manager.d.ts +11 -10
  24. package/dist/_esm5.processed/core/abr/abr_manager.js +47 -8
  25. package/dist/_esm5.processed/core/abr/bandwidth_estimator.js +1 -1
  26. package/dist/_esm5.processed/core/abr/buffer_based_chooser.d.ts +2 -2
  27. package/dist/_esm5.processed/core/abr/buffer_based_chooser.js +3 -3
  28. package/dist/_esm5.processed/core/abr/get_buffer_levels.js +3 -0
  29. package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.d.ts +3 -3
  30. package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.js +3 -3
  31. package/dist/_esm5.processed/core/abr/guess_based_chooser.d.ts +95 -0
  32. package/dist/_esm5.processed/core/abr/guess_based_chooser.js +242 -0
  33. package/dist/_esm5.processed/core/abr/index.d.ts +3 -3
  34. package/dist/_esm5.processed/core/abr/last_estimate_storage.d.ts +61 -0
  35. package/dist/_esm5.processed/core/abr/last_estimate_storage.js +37 -0
  36. package/dist/_esm5.processed/core/abr/network_analyzer.d.ts +25 -7
  37. package/dist/_esm5.processed/core/abr/network_analyzer.js +68 -31
  38. package/dist/_esm5.processed/core/abr/pending_requests_store.d.ts +56 -28
  39. package/dist/_esm5.processed/core/abr/pending_requests_store.js +9 -7
  40. package/dist/_esm5.processed/core/abr/representation_estimator.d.ts +34 -51
  41. package/dist/_esm5.processed/core/abr/representation_estimator.js +111 -52
  42. package/dist/_esm5.processed/core/abr/representation_score_calculator.d.ts +5 -8
  43. package/dist/_esm5.processed/core/abr/representation_score_calculator.js +20 -23
  44. package/dist/_esm5.processed/core/abr/{ewma.d.ts → utils/ewma.d.ts} +0 -0
  45. package/dist/_esm5.processed/core/abr/{ewma.js → utils/ewma.js} +0 -0
  46. package/dist/_esm5.processed/core/abr/{filter_by_bitrate.d.ts → utils/filter_by_bitrate.d.ts} +1 -1
  47. package/dist/_esm5.processed/core/abr/{filter_by_bitrate.js → utils/filter_by_bitrate.js} +1 -1
  48. package/dist/_esm5.processed/core/abr/{filter_by_width.d.ts → utils/filter_by_width.d.ts} +1 -1
  49. package/dist/_esm5.processed/core/abr/{filter_by_width.js → utils/filter_by_width.js} +2 -2
  50. package/dist/_esm5.processed/core/abr/{select_optimal_representation.d.ts → utils/select_optimal_representation.d.ts} +1 -1
  51. package/dist/_esm5.processed/core/abr/{select_optimal_representation.js → utils/select_optimal_representation.js} +1 -1
  52. package/dist/_esm5.processed/core/api/emit_seek_events.d.ts +4 -4
  53. package/dist/_esm5.processed/core/api/emit_seek_events.js +12 -10
  54. package/dist/_esm5.processed/core/api/index.d.ts +3 -1
  55. package/dist/_esm5.processed/core/api/index.js +2 -0
  56. package/dist/_esm5.processed/core/api/option_utils.js +4 -4
  57. package/dist/_esm5.processed/core/api/playback_observer.d.ts +280 -0
  58. package/dist/_esm5.processed/core/api/playback_observer.js +461 -0
  59. package/dist/_esm5.processed/core/api/public_api.d.ts +8 -7
  60. package/dist/_esm5.processed/core/api/public_api.js +98 -94
  61. package/dist/_esm5.processed/core/api/track_choice_manager.js +3 -3
  62. package/dist/_esm5.processed/core/eme/__tests__/__global__/utils.js +1 -0
  63. package/dist/_esm5.processed/core/eme/attach_media_keys.js +1 -2
  64. package/dist/_esm5.processed/core/eme/check_key_statuses.js +4 -5
  65. package/dist/_esm5.processed/core/eme/clean_old_loaded_sessions.js +1 -2
  66. package/dist/_esm5.processed/core/eme/clear_eme_session.js +6 -2
  67. package/dist/_esm5.processed/core/eme/create_session.js +1 -2
  68. package/dist/_esm5.processed/core/eme/dispose_media_keys.js +2 -3
  69. package/dist/_esm5.processed/core/eme/eme_manager.js +4 -5
  70. package/dist/_esm5.processed/core/eme/find_key_system.js +4 -5
  71. package/dist/_esm5.processed/core/eme/get_media_keys.js +2 -3
  72. package/dist/_esm5.processed/core/eme/get_session.js +1 -2
  73. package/dist/_esm5.processed/core/eme/init_media_keys.js +5 -5
  74. package/dist/_esm5.processed/core/eme/session_events_listener.js +6 -7
  75. package/dist/_esm5.processed/core/eme/set_server_certificate.js +8 -3
  76. package/dist/_esm5.processed/core/eme/types.d.ts +12 -4
  77. package/dist/_esm5.processed/core/eme/utils/close_session.js +2 -3
  78. package/dist/_esm5.processed/core/eme/utils/is_session_usable.js +1 -1
  79. package/dist/_esm5.processed/core/eme/utils/loaded_sessions_store.js +3 -4
  80. package/dist/_esm5.processed/core/eme/utils/persistent_sessions_store.js +3 -3
  81. package/dist/_esm5.processed/core/fetchers/index.d.ts +2 -2
  82. package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +2 -2
  83. package/dist/_esm5.processed/core/fetchers/segment/index.d.ts +2 -2
  84. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.d.ts +12 -29
  85. package/dist/_esm5.processed/core/fetchers/segment/prioritized_segment_fetcher.js +3 -7
  86. package/dist/_esm5.processed/core/fetchers/segment/prioritizer.d.ts +53 -53
  87. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +42 -11
  88. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +118 -46
  89. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +21 -20
  90. package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +9 -8
  91. package/dist/_esm5.processed/core/init/create_eme_manager.js +1 -2
  92. package/dist/_esm5.processed/core/init/create_media_source.js +3 -4
  93. package/dist/_esm5.processed/core/init/create_stream_playback_observer.d.ts +39 -0
  94. package/dist/_esm5.processed/core/init/create_stream_playback_observer.js +50 -0
  95. package/dist/_esm5.processed/core/init/duration_updater.js +16 -7
  96. package/dist/_esm5.processed/core/init/emit_loaded_event.d.ts +4 -3
  97. package/dist/_esm5.processed/core/init/emit_loaded_event.js +8 -8
  98. package/dist/_esm5.processed/core/init/end_of_stream.js +1 -2
  99. package/dist/_esm5.processed/core/init/get_initial_time.js +2 -3
  100. package/dist/_esm5.processed/core/init/initial_seek_and_play.d.ts +32 -31
  101. package/dist/_esm5.processed/core/init/initial_seek_and_play.js +25 -32
  102. package/dist/_esm5.processed/core/init/initialize_directfile.d.ts +6 -5
  103. package/dist/_esm5.processed/core/init/initialize_directfile.js +16 -12
  104. package/dist/_esm5.processed/core/init/initialize_media_source.d.ts +10 -10
  105. package/dist/_esm5.processed/core/init/initialize_media_source.js +18 -12
  106. package/dist/_esm5.processed/core/init/load_on_media_source.d.ts +8 -11
  107. package/dist/_esm5.processed/core/init/load_on_media_source.js +16 -19
  108. package/dist/_esm5.processed/core/init/manifest_update_scheduler.js +8 -7
  109. package/dist/_esm5.processed/core/init/stall_avoider.d.ts +4 -6
  110. package/dist/_esm5.processed/core/init/stall_avoider.js +56 -42
  111. package/dist/_esm5.processed/core/init/stream_events_emitter/stream_events_emitter.d.ts +2 -2
  112. package/dist/_esm5.processed/core/init/stream_events_emitter/stream_events_emitter.js +20 -15
  113. package/dist/_esm5.processed/core/init/throw_on_media_error.js +1 -2
  114. package/dist/_esm5.processed/core/init/types.d.ts +0 -20
  115. package/dist/_esm5.processed/core/init/update_playback_rate.d.ts +5 -4
  116. package/dist/_esm5.processed/core/init/update_playback_rate.js +10 -11
  117. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.d.ts +4 -4
  118. package/dist/_esm5.processed/core/segment_buffers/garbage_collector.js +12 -7
  119. package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +8 -7
  120. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +9 -10
  121. package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +1 -1
  122. package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +4 -4
  123. package/dist/_esm5.processed/core/segment_buffers/implementations/utils/manual_time_ranges.js +2 -2
  124. package/dist/_esm5.processed/core/segment_buffers/inventory/buffered_history.js +2 -2
  125. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +1 -12
  126. package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +10 -10
  127. package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +1 -1
  128. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +15 -13
  129. package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +36 -23
  130. package/dist/_esm5.processed/core/stream/adaptation/create_representation_estimator.d.ts +9 -17
  131. package/dist/_esm5.processed/core/stream/adaptation/create_representation_estimator.js +11 -20
  132. package/dist/_esm5.processed/core/stream/adaptation/index.d.ts +2 -2
  133. package/dist/_esm5.processed/core/stream/index.d.ts +2 -2
  134. package/dist/_esm5.processed/core/stream/orchestrator/active_period_emitter.js +5 -6
  135. package/dist/_esm5.processed/core/stream/orchestrator/are_streams_complete.js +1 -2
  136. package/dist/_esm5.processed/core/stream/orchestrator/index.d.ts +2 -2
  137. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +10 -8
  138. package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +22 -21
  139. package/dist/_esm5.processed/core/stream/period/create_empty_adaptation_stream.d.ts +6 -4
  140. package/dist/_esm5.processed/core/stream/period/create_empty_adaptation_stream.js +11 -10
  141. package/dist/_esm5.processed/core/stream/period/index.d.ts +2 -2
  142. package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +23 -7
  143. package/dist/_esm5.processed/core/stream/period/period_stream.js +38 -24
  144. package/dist/_esm5.processed/core/stream/reload_after_switch.d.ts +5 -4
  145. package/dist/_esm5.processed/core/stream/reload_after_switch.js +8 -7
  146. package/dist/_esm5.processed/core/stream/representation/append_segment_to_buffer.d.ts +4 -2
  147. package/dist/_esm5.processed/core/stream/representation/append_segment_to_buffer.js +10 -8
  148. package/dist/_esm5.processed/core/stream/representation/downloading_queue.d.ts +9 -9
  149. package/dist/_esm5.processed/core/stream/representation/downloading_queue.js +10 -12
  150. package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.d.ts +1 -3
  151. package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.js +6 -8
  152. package/dist/_esm5.processed/core/stream/representation/get_buffer_status.d.ts +3 -7
  153. package/dist/_esm5.processed/core/stream/representation/get_buffer_status.js +7 -8
  154. package/dist/_esm5.processed/core/stream/representation/get_needed_segments.js +1 -1
  155. package/dist/_esm5.processed/core/stream/representation/get_segment_priority.d.ts +6 -9
  156. package/dist/_esm5.processed/core/stream/representation/get_segment_priority.js +7 -8
  157. package/dist/_esm5.processed/core/stream/representation/index.d.ts +2 -2
  158. package/dist/_esm5.processed/core/stream/representation/push_init_segment.d.ts +4 -2
  159. package/dist/_esm5.processed/core/stream/representation/push_init_segment.js +3 -5
  160. package/dist/_esm5.processed/core/stream/representation/push_media_segment.d.ts +6 -4
  161. package/dist/_esm5.processed/core/stream/representation/push_media_segment.js +3 -5
  162. package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +9 -12
  163. package/dist/_esm5.processed/core/stream/representation/representation_stream.js +30 -21
  164. package/dist/_esm5.processed/errors/error_message.js +1 -1
  165. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/create_request.d.ts +5 -3
  166. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/create_request.js +21 -8
  167. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/get_initialized_source_buffer.js +2 -3
  168. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_segments.d.ts +2 -2
  169. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/load_segments.js +4 -0
  170. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +1 -1
  171. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/push_data.d.ts +2 -2
  172. package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/thumbnail_loader.js +17 -6
  173. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +1 -2
  174. package/dist/_esm5.processed/experimental/tools/createMetaplaylist/index.js +1 -2
  175. package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +1 -1
  176. package/dist/_esm5.processed/features/initialize_features.js +47 -44
  177. package/dist/_esm5.processed/index.js +2 -2
  178. package/dist/_esm5.processed/manifest/index.d.ts +2 -2
  179. package/dist/_esm5.processed/manifest/index.js +2 -2
  180. package/dist/_esm5.processed/manifest/representation.js +1 -1
  181. package/dist/_esm5.processed/manifest/representation_index/static.js +1 -0
  182. package/dist/_esm5.processed/manifest/representation_index/types.d.ts +24 -3
  183. package/dist/_esm5.processed/manifest/update_period_in_place.js +1 -1
  184. package/dist/_esm5.processed/manifest/{are_same_content.d.ts → utils.d.ts} +9 -7
  185. package/dist/_esm5.processed/manifest/{are_same_content.js → utils.js} +18 -1
  186. package/dist/_esm5.processed/minimal.js +2 -2
  187. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.d.ts +18 -9
  188. package/dist/_esm5.processed/parsers/containers/isobmff/get_box.js +32 -9
  189. package/dist/_esm5.processed/parsers/containers/isobmff/read.d.ts +18 -5
  190. package/dist/_esm5.processed/parsers/containers/isobmff/read.js +28 -6
  191. package/dist/_esm5.processed/parsers/containers/isobmff/utils.js +52 -47
  192. package/dist/_esm5.processed/parsers/images/bif.js +1 -1
  193. package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +2 -2
  194. package/dist/_esm5.processed/parsers/manifest/dash/common/get_http_utc-timing_url.js +2 -2
  195. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +2 -1
  196. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +3 -2
  197. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.js +2 -1
  198. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +1 -0
  199. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +7 -9
  200. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -1
  201. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +4 -2
  202. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +2 -1
  203. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +11 -5
  204. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +10 -9
  205. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +3 -3
  206. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +6 -1
  207. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +5 -4
  208. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.d.ts +1 -1
  209. package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/tokens.js +4 -4
  210. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +3 -1
  211. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +19 -18
  212. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +2 -1
  213. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +14 -8
  214. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +2 -2
  215. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +7 -8
  216. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +3 -1
  217. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +5 -10
  218. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +3 -1
  219. package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +17 -8
  220. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.d.ts +7 -2
  221. package/dist/_esm5.processed/parsers/manifest/dash/common/resolve_base_urls.js +22 -21
  222. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +10 -0
  223. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +9 -9
  224. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +24 -0
  225. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +7 -5
  226. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +12 -9
  227. package/dist/_esm5.processed/parsers/manifest/dash/js-parser/parse_from_document.js +5 -2
  228. package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +8 -0
  229. package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +11 -2
  230. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +7 -4
  231. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +11 -0
  232. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.js +7 -1
  233. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +5 -0
  234. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +5 -0
  235. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +13 -0
  236. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +23 -0
  237. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.js +5 -0
  238. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +6 -0
  239. package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/root.js +6 -0
  240. package/dist/_esm5.processed/parsers/manifest/local/parse_local_manifest.js +1 -1
  241. package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +4 -2
  242. package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +1 -1
  243. package/dist/_esm5.processed/parsers/manifest/smooth/get_codecs.js +1 -1
  244. package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +3 -1
  245. package/dist/_esm5.processed/parsers/manifest/utils/check_manifest_ids.js +1 -1
  246. package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +1 -1
  247. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +11 -3
  248. package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.js +5 -5
  249. package/dist/_esm5.processed/parsers/manifest/utils/is_segment_still_available.js +3 -6
  250. package/dist/_esm5.processed/parsers/texttracks/sami/html.js +2 -2
  251. package/dist/_esm5.processed/parsers/texttracks/sami/native.js +2 -2
  252. package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_font_size.js +13 -1
  253. package/dist/_esm5.processed/parsers/texttracks/ttml/html/generate_css_test_outline.js +4 -4
  254. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_default_style_elements.js +2 -2
  255. package/dist/_esm5.processed/parsers/texttracks/webvtt/html/create_style_attribute.js +5 -5
  256. package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +2 -2
  257. package/dist/_esm5.processed/transports/dash/init_segment_loader.js +1 -1
  258. package/dist/_esm5.processed/transports/dash/manifest_parser.js +89 -20
  259. package/dist/_esm5.processed/transports/dash/segment_loader.js +1 -1
  260. package/dist/_esm5.processed/transports/local/segment_loader.js +2 -2
  261. package/dist/_esm5.processed/transports/local/segment_parser.d.ts +2 -2
  262. package/dist/_esm5.processed/transports/local/text_parser.d.ts +2 -2
  263. package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +1 -1
  264. package/dist/_esm5.processed/transports/smooth/extract_timings_infos.js +1 -1
  265. package/dist/_esm5.processed/transports/smooth/pipelines.js +2 -2
  266. package/dist/_esm5.processed/transports/smooth/segment_loader.js +3 -3
  267. package/dist/_esm5.processed/transports/types.d.ts +29 -15
  268. package/dist/_esm5.processed/transports/utils/byte_range.js +2 -2
  269. package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +1 -1
  270. package/dist/_esm5.processed/transports/utils/get_isobmff_timing_infos.js +6 -1
  271. package/dist/_esm5.processed/transports/utils/parse_text_track.js +6 -4
  272. package/dist/_esm5.processed/utils/assert.js +3 -3
  273. package/dist/_esm5.processed/utils/concat_map_latest.js +1 -2
  274. package/dist/_esm5.processed/utils/defer_subscriptions.js +1 -2
  275. package/dist/_esm5.processed/utils/filter_map.js +1 -2
  276. package/dist/_esm5.processed/utils/reference.d.ts +108 -0
  277. package/dist/_esm5.processed/utils/reference.js +137 -0
  278. package/dist/_esm5.processed/utils/request/fetch.d.ts +1 -1
  279. package/dist/_esm5.processed/utils/request/fetch.js +3 -3
  280. package/dist/_esm5.processed/utils/request/xhr.d.ts +1 -1
  281. package/dist/_esm5.processed/utils/request/xhr.js +1 -1
  282. package/dist/_esm5.processed/utils/rx-retry_with_backoff.js +1 -2
  283. package/dist/mpd-parser.wasm +0 -0
  284. package/dist/rx-player.d.ts +1 -15
  285. package/dist/rx-player.js +3666 -2470
  286. package/dist/rx-player.min.d.ts +1 -15
  287. package/dist/rx-player.min.js +1 -1
  288. package/jest.config.js +28 -1
  289. package/package.json +43 -43
  290. package/scripts/build/constants.d.ts +50 -0
  291. package/scripts/build/generate_build.js +1 -189
  292. package/scripts/doc-generator/construct_table_of_contents.js +31 -24
  293. package/scripts/doc-generator/convert_MD_to_HMTL.js +4 -8
  294. package/scripts/doc-generator/create_documentation.js +331 -0
  295. package/scripts/doc-generator/create_documentation_page.js +209 -0
  296. package/scripts/doc-generator/create_page.js +117 -35
  297. package/scripts/doc-generator/generate_header_html.js +148 -0
  298. package/scripts/doc-generator/generate_page_html.js +116 -0
  299. package/scripts/doc-generator/generate_page_list_html.js +93 -0
  300. package/scripts/doc-generator/generate_sidebar_html.js +88 -0
  301. package/scripts/doc-generator/get_search_data_for_content.js +137 -0
  302. package/scripts/doc-generator/index.js +14 -15
  303. package/scripts/doc-generator/parse_doc_configs.js +327 -0
  304. package/scripts/doc-generator/scripts/lunr.js +10 -0
  305. package/scripts/doc-generator/scripts/script.js +451 -0
  306. package/scripts/doc-generator/styles/style.css +712 -144
  307. package/scripts/doc-generator/utils.js +85 -0
  308. package/scripts/fast_demo_build.js +143 -0
  309. package/scripts/generate_documentation_list.js +6 -2
  310. package/scripts/generate_full_demo.js +26 -49
  311. package/scripts/start_demo_web_server.js +14 -4
  312. package/scripts/update-version +1 -1
  313. package/sonar-project.properties +2 -1
  314. package/src/compat/__tests__/add_text_track.test.ts +1 -0
  315. package/src/compat/__tests__/clear_element_src.test.ts +55 -28
  316. package/src/compat/__tests__/set_element_src.test.ts +2 -2
  317. package/src/compat/__tests__/when_loaded_metadata.test.ts +4 -5
  318. package/src/compat/__tests__/when_media_source_open.test.ts +4 -5
  319. package/src/compat/clear_element_src.ts +8 -6
  320. package/src/compat/eme/close_session.ts +3 -5
  321. package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +1 -1
  322. package/src/compat/eme/custom_media_keys/index.ts +6 -6
  323. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +6 -3
  324. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +1 -1
  325. package/src/compat/eme/generate_key_request.ts +1 -1
  326. package/src/compat/eme/load_session.ts +4 -6
  327. package/src/compat/event_listeners.ts +12 -21
  328. package/src/compat/on_height_width_change.ts +3 -5
  329. package/src/compat/set_element_src.ts +1 -1
  330. package/src/compat/when_loaded_metadata.ts +1 -1
  331. package/src/compat/when_media_source_open.ts +1 -1
  332. package/src/config.ts +4 -9
  333. package/src/core/abr/README.md +7 -7
  334. package/src/core/abr/abr_manager.ts +62 -21
  335. package/src/core/abr/bandwidth_estimator.ts +1 -1
  336. package/src/core/abr/buffer_based_chooser.ts +8 -6
  337. package/src/core/abr/get_buffer_levels.ts +3 -0
  338. package/src/core/abr/get_estimate_from_buffer_levels.ts +4 -4
  339. package/src/core/abr/guess_based_chooser.ts +308 -0
  340. package/src/core/abr/index.ts +7 -3
  341. package/src/core/abr/last_estimate_storage.ts +79 -0
  342. package/src/core/abr/network_analyzer.ts +74 -31
  343. package/src/core/abr/pending_requests_store.ts +76 -42
  344. package/src/core/abr/representation_estimator.ts +200 -125
  345. package/src/core/abr/representation_score_calculator.ts +33 -26
  346. package/src/core/abr/{__tests__ → utils/__tests__}/ewma.test.ts +0 -0
  347. package/src/core/abr/{__tests__ → utils/__tests__}/filter_by_bitrate.test.ts +1 -1
  348. package/src/core/abr/{__tests__ → utils/__tests__}/filter_by_width.test.ts +1 -1
  349. package/src/core/abr/{__tests__ → utils/__tests__}/select_optimal_representation.test.ts +1 -1
  350. package/src/core/abr/{ewma.ts → utils/ewma.ts} +0 -0
  351. package/src/core/abr/{filter_by_bitrate.ts → utils/filter_by_bitrate.ts} +2 -2
  352. package/src/core/abr/{filter_by_width.ts → utils/filter_by_width.ts} +3 -3
  353. package/src/core/abr/{select_optimal_representation.ts → utils/select_optimal_representation.ts} +2 -2
  354. package/src/core/api/README.md +4 -3
  355. package/src/core/api/__tests__/option_utils.test.ts +1 -0
  356. package/src/core/api/emit_seek_events.ts +21 -20
  357. package/src/core/api/index.ts +6 -2
  358. package/src/core/api/playback_observer.ts +768 -0
  359. package/src/core/api/public_api.ts +111 -111
  360. package/src/core/api/track_choice_manager.ts +6 -3
  361. package/src/core/eme/__tests__/__global__/get_license.test.ts +5 -3
  362. package/src/core/eme/__tests__/__global__/init_data.test.ts +11 -12
  363. package/src/core/eme/__tests__/__global__/media_key_system_access.test.ts +2 -1
  364. package/src/core/eme/__tests__/__global__/media_keys.test.ts +5 -8
  365. package/src/core/eme/__tests__/__global__/server_certificate.test.ts +8 -6
  366. package/src/core/eme/__tests__/__global__/utils.ts +1 -0
  367. package/src/core/eme/__tests__/init_media_keys.test.ts +6 -65
  368. package/src/core/eme/attach_media_keys.ts +2 -1
  369. package/src/core/eme/check_key_statuses.ts +10 -8
  370. package/src/core/eme/clean_old_loaded_sessions.ts +2 -4
  371. package/src/core/eme/clear_eme_session.ts +6 -1
  372. package/src/core/eme/create_session.ts +3 -5
  373. package/src/core/eme/dispose_media_keys.ts +2 -2
  374. package/src/core/eme/eme_manager.ts +10 -12
  375. package/src/core/eme/find_key_system.ts +3 -5
  376. package/src/core/eme/get_media_keys.ts +4 -6
  377. package/src/core/eme/get_session.ts +2 -4
  378. package/src/core/eme/init_media_keys.ts +9 -9
  379. package/src/core/eme/session_events_listener.ts +14 -15
  380. package/src/core/eme/set_server_certificate.ts +9 -5
  381. package/src/core/eme/types.ts +15 -4
  382. package/src/core/eme/utils/close_session.ts +7 -7
  383. package/src/core/eme/utils/is_session_usable.ts +1 -1
  384. package/src/core/eme/utils/loaded_sessions_store.ts +2 -2
  385. package/src/core/eme/utils/persistent_sessions_store.ts +2 -2
  386. package/src/core/fetchers/index.ts +2 -2
  387. package/src/core/fetchers/manifest/manifest_fetcher.ts +1 -1
  388. package/src/core/fetchers/segment/__tests__/prioritizer.test.ts +3 -4
  389. package/src/core/fetchers/segment/index.ts +2 -2
  390. package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +37 -45
  391. package/src/core/fetchers/segment/prioritizer.ts +82 -82
  392. package/src/core/fetchers/segment/segment_fetcher.ts +178 -80
  393. package/src/core/fetchers/segment/segment_fetcher_creator.ts +23 -31
  394. package/src/core/init/create_eme_manager.ts +1 -1
  395. package/src/core/init/create_media_source.ts +5 -7
  396. package/src/core/init/create_stream_playback_observer.ts +88 -0
  397. package/src/core/init/duration_updater.ts +20 -17
  398. package/src/core/init/emit_loaded_event.ts +11 -15
  399. package/src/core/init/end_of_stream.ts +2 -4
  400. package/src/core/init/get_initial_time.ts +0 -1
  401. package/src/core/init/initial_seek_and_play.ts +67 -51
  402. package/src/core/init/initialize_directfile.ts +26 -35
  403. package/src/core/init/initialize_media_source.ts +28 -28
  404. package/src/core/init/load_on_media_source.ts +51 -58
  405. package/src/core/init/manifest_update_scheduler.ts +11 -12
  406. package/src/core/init/stall_avoider.ts +64 -47
  407. package/src/core/init/stream_events_emitter/stream_events_emitter.ts +24 -21
  408. package/src/core/init/throw_on_media_error.ts +1 -1
  409. package/src/core/init/types.ts +0 -24
  410. package/src/core/init/update_playback_rate.ts +15 -16
  411. package/src/core/segment_buffers/README.md +3 -3
  412. package/src/core/segment_buffers/garbage_collector.ts +15 -11
  413. package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +10 -7
  414. package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +14 -16
  415. package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +1 -1
  416. package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +4 -4
  417. package/src/core/segment_buffers/implementations/utils/manual_time_ranges.ts +2 -2
  418. package/src/core/segment_buffers/inventory/buffered_history.ts +2 -2
  419. package/src/core/segment_buffers/inventory/segment_inventory.ts +1 -13
  420. package/src/core/stream/adaptation/adaptation_stream.ts +78 -56
  421. package/src/core/stream/adaptation/create_representation_estimator.ts +19 -45
  422. package/src/core/stream/adaptation/index.ts +2 -2
  423. package/src/core/stream/index.ts +2 -2
  424. package/src/core/stream/orchestrator/active_period_emitter.ts +6 -8
  425. package/src/core/stream/orchestrator/are_streams_complete.ts +2 -4
  426. package/src/core/stream/orchestrator/index.ts +2 -2
  427. package/src/core/stream/orchestrator/stream_orchestrator.ts +58 -49
  428. package/src/core/stream/period/create_empty_adaptation_stream.ts +14 -10
  429. package/src/core/stream/period/index.ts +2 -2
  430. package/src/core/stream/period/period_stream.ts +118 -75
  431. package/src/core/stream/reload_after_switch.ts +13 -10
  432. package/src/core/stream/representation/append_segment_to_buffer.ts +20 -16
  433. package/src/core/stream/representation/downloading_queue.ts +21 -24
  434. package/src/core/stream/representation/force_garbage_collection.ts +16 -23
  435. package/src/core/stream/representation/get_buffer_status.ts +9 -11
  436. package/src/core/stream/representation/get_needed_segments.ts +1 -1
  437. package/src/core/stream/representation/get_segment_priority.ts +8 -10
  438. package/src/core/stream/representation/index.ts +2 -2
  439. package/src/core/stream/representation/push_init_segment.ts +19 -16
  440. package/src/core/stream/representation/push_media_segment.ts +21 -17
  441. package/src/core/stream/representation/representation_stream.ts +50 -47
  442. package/src/experimental/features/__tests__/dash_wasm.test.ts +1 -0
  443. package/src/experimental/tools/VideoThumbnailLoader/create_request.ts +32 -17
  444. package/src/experimental/tools/VideoThumbnailLoader/get_initialized_source_buffer.ts +6 -9
  445. package/src/experimental/tools/VideoThumbnailLoader/load_segments.ts +12 -6
  446. package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +4 -2
  447. package/src/experimental/tools/VideoThumbnailLoader/push_data.ts +2 -2
  448. package/src/experimental/tools/VideoThumbnailLoader/thumbnail_loader.ts +21 -12
  449. package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +1 -1
  450. package/src/experimental/tools/createMetaplaylist/index.ts +1 -1
  451. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +4 -2
  452. package/src/features/__tests__/initialize_features.test.ts +191 -101
  453. package/src/features/initialize_features.ts +40 -37
  454. package/src/features/list/__tests__/bif_parser.test.ts +1 -0
  455. package/src/features/list/__tests__/dash.test.ts +1 -0
  456. package/src/features/list/__tests__/directfile.test.ts +1 -0
  457. package/src/features/list/__tests__/eme.test.ts +1 -0
  458. package/src/features/list/__tests__/html_sami_parser.test.ts +1 -0
  459. package/src/features/list/__tests__/html_srt_parser.test.ts +1 -0
  460. package/src/features/list/__tests__/html_text_buffer.test.ts +1 -0
  461. package/src/features/list/__tests__/html_ttml_parser.test.ts +1 -0
  462. package/src/features/list/__tests__/html_vtt_parser.test.ts +1 -0
  463. package/src/features/list/__tests__/image_buffer.test.ts +1 -0
  464. package/src/features/list/__tests__/native_sami_parser.test.ts +1 -0
  465. package/src/features/list/__tests__/native_srt_parser.test.ts +1 -0
  466. package/src/features/list/__tests__/native_text_buffer.test.ts +1 -0
  467. package/src/features/list/__tests__/native_ttml_parser.test.ts +1 -0
  468. package/src/features/list/__tests__/native_vtt_parser.test.ts +1 -0
  469. package/src/features/list/__tests__/smooth.test.ts +1 -0
  470. package/src/index.ts +2 -2
  471. package/src/manifest/__tests__/manifest.test.ts +1 -0
  472. package/src/manifest/index.ts +7 -1
  473. package/src/manifest/representation_index/__tests__/static.test.ts +1 -0
  474. package/src/manifest/representation_index/static.ts +1 -0
  475. package/src/manifest/representation_index/types.ts +25 -3
  476. package/src/manifest/{are_same_content.ts → utils.ts} +26 -9
  477. package/src/minimal.ts +3 -2
  478. package/src/parsers/containers/isobmff/get_box.ts +35 -8
  479. package/src/parsers/containers/isobmff/read.ts +32 -5
  480. package/src/parsers/containers/isobmff/utils.ts +52 -47
  481. package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +4 -4
  482. package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +4 -2
  483. package/src/parsers/manifest/dash/common/get_clock_offset.ts +3 -3
  484. package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +15 -6
  485. package/src/parsers/manifest/dash/common/indexes/base.ts +5 -3
  486. package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +1 -0
  487. package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +9 -9
  488. package/src/parsers/manifest/dash/common/indexes/list.ts +6 -3
  489. package/src/parsers/manifest/dash/common/indexes/template.ts +13 -6
  490. package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +10 -9
  491. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +13 -5
  492. package/src/parsers/manifest/dash/common/indexes/tokens.ts +4 -4
  493. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +10 -4
  494. package/src/parsers/manifest/dash/common/parse_mpd.ts +21 -13
  495. package/src/parsers/manifest/dash/common/parse_periods.ts +7 -8
  496. package/src/parsers/manifest/dash/common/parse_representation_index.ts +12 -12
  497. package/src/parsers/manifest/dash/common/parse_representations.ts +23 -4
  498. package/src/parsers/manifest/dash/common/resolve_base_urls.ts +33 -24
  499. package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +12 -0
  500. package/src/parsers/manifest/dash/js-parser/node_parsers/BaseURL.ts +13 -9
  501. package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +28 -0
  502. package/src/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.ts +8 -5
  503. package/src/parsers/manifest/dash/js-parser/node_parsers/utils.ts +3 -0
  504. package/src/parsers/manifest/dash/js-parser/parse_from_document.ts +5 -2
  505. package/src/parsers/manifest/dash/node_parser_types.ts +8 -0
  506. package/src/parsers/manifest/dash/parsers_types.ts +8 -2
  507. package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +1 -8
  508. package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +26 -5
  509. package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +75 -521
  510. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +7 -4
  511. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +13 -0
  512. package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +8 -1
  513. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +6 -0
  514. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +6 -0
  515. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +14 -0
  516. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +26 -0
  517. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +6 -0
  518. package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +7 -0
  519. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +7 -0
  520. package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +1 -1
  521. package/src/parsers/manifest/local/representation_index.ts +2 -0
  522. package/src/parsers/manifest/smooth/create_parser.ts +1 -1
  523. package/src/parsers/manifest/smooth/representation_index.ts +3 -1
  524. package/src/parsers/manifest/utils/clear_timeline_from_position.ts +1 -1
  525. package/src/parsers/manifest/utils/index_helpers.ts +21 -11
  526. package/src/parsers/manifest/utils/is_segment_still_available.ts +4 -6
  527. package/src/parsers/texttracks/sami/html.ts +1 -1
  528. package/src/parsers/texttracks/sami/native.ts +1 -1
  529. package/src/parsers/texttracks/ttml/html/apply_font_size.ts +11 -1
  530. package/src/transports/dash/image_pipelines.ts +4 -4
  531. package/src/transports/dash/init_segment_loader.ts +1 -1
  532. package/src/transports/dash/manifest_parser.ts +99 -25
  533. package/src/transports/dash/segment_loader.ts +1 -1
  534. package/src/transports/dash/segment_parser.ts +4 -4
  535. package/src/transports/dash/text_parser.ts +8 -8
  536. package/src/transports/local/segment_loader.ts +2 -2
  537. package/src/transports/local/segment_parser.ts +4 -4
  538. package/src/transports/local/text_parser.ts +8 -8
  539. package/src/transports/metaplaylist/pipelines.ts +11 -11
  540. package/src/transports/smooth/extract_timings_infos.ts +1 -1
  541. package/src/transports/smooth/pipelines.ts +8 -8
  542. package/src/transports/smooth/segment_loader.ts +3 -3
  543. package/src/transports/types.ts +31 -17
  544. package/src/transports/utils/call_custom_manifest_loader.ts +1 -1
  545. package/src/transports/utils/get_isobmff_timing_infos.ts +6 -1
  546. package/src/transports/utils/parse_text_track.ts +4 -2
  547. package/src/typings/globals.d.ts +57 -40
  548. package/src/utils/__tests__/concat_map_latest.test.ts +7 -9
  549. package/src/utils/__tests__/defer_subscriptions.test.ts +4 -4
  550. package/src/utils/__tests__/event_emitter.test.ts +1 -1
  551. package/src/utils/__tests__/initialization_segment_cache.test.ts +7 -0
  552. package/src/utils/assert.ts +1 -1
  553. package/src/utils/concat_map_latest.ts +2 -4
  554. package/src/utils/defer_subscriptions.ts +1 -1
  555. package/src/utils/filter_map.ts +2 -4
  556. package/src/utils/reference.ts +234 -0
  557. package/src/utils/request/fetch.ts +3 -3
  558. package/src/utils/request/xhr.ts +2 -2
  559. package/src/utils/rx-retry_with_backoff.ts +2 -4
  560. package/tsconfig.json +4 -1
  561. package/tsconfig.modules.json +8 -3
  562. package/dist/_esm5.processed/core/abr/create_filters.d.ts +0 -27
  563. package/dist/_esm5.processed/core/abr/create_filters.js +0 -56
  564. package/dist/_esm5.processed/core/api/clock.d.ts +0 -157
  565. package/dist/_esm5.processed/core/api/clock.js +0 -363
  566. package/dist/_esm5.processed/core/init/create_stream_clock.d.ts +0 -34
  567. package/dist/_esm5.processed/core/init/create_stream_clock.js +0 -55
  568. package/dist/_esm5.processed/parsers/manifest/dash/common/extract_minimum_availability_time_offset.d.ts +0 -31
  569. package/dist/_esm5.processed/parsers/manifest/dash/common/extract_minimum_availability_time_offset.js +0 -37
  570. package/scripts/doc-generator/construct_html.js +0 -135
  571. package/scripts/doc-generator/construct_page_list.js +0 -120
  572. package/scripts/doc-generator/create_for_dir.js +0 -151
  573. package/scripts/doc-generator/get_files_to_convert.js +0 -71
  574. package/scripts/doc-generator/mkdir_parent.js +0 -21
  575. package/scripts/doc-generator/read_title_from_md.js +0 -22
  576. package/scripts/doc-generator/remove_toc_from_md.js +0 -20
  577. package/src/core/abr/create_filters.ts +0 -59
  578. package/src/core/api/clock.ts +0 -573
  579. package/src/core/init/create_stream_clock.ts +0 -93
  580. package/src/parsers/manifest/dash/common/extract_minimum_availability_time_offset.ts +0 -41
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import noop from "../../../../../../utils/noop";
16
17
  import { generatePeriodAttrParser, generatePeriodChildrenParser, } from "./Period";
17
18
  /**
18
19
  * Generate a "children parser" when an XLink has been loaded.
@@ -36,6 +37,11 @@ export function generateXLinkChildrenParser(xlinkObj, linearMemory, parsersStack
36
37
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
37
38
  break;
38
39
  }
40
+ default:
41
+ // Allows to make sure we're not mistakenly closing a re-opened
42
+ // tag.
43
+ parsersStack.pushParsers(nodeId, noop, noop);
44
+ break;
39
45
  }
40
46
  };
41
47
  }
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import noop from "../../../../../../utils/noop";
16
17
  import { generateMPDAttrParser, generateMPDChildrenParser, } from "./MPD";
17
18
  /**
18
19
  * @param {Object} rootObj
@@ -34,6 +35,11 @@ export function generateRootChildrenParser(rootObj, linearMemory, parsersStack,
34
35
  var attributeParser = generateMPDAttrParser(rootObj.mpd.children, rootObj.mpd.attributes, linearMemory);
35
36
  parsersStack.pushParsers(nodeId, childrenParser, attributeParser);
36
37
  break;
38
+ default:
39
+ // Allows to make sure we're not mistakenly closing a re-opened
40
+ // tag.
41
+ parsersStack.pushParsers(nodeId, noop, noop);
42
+ break;
37
43
  }
38
44
  };
39
45
  }
@@ -24,7 +24,7 @@ export default function parseLocalManifest(localManifest) {
24
24
  throw new Error("Invalid local manifest given. It misses the `type` property.");
25
25
  }
26
26
  if (localManifest.version !== "0.2") {
27
- throw new Error("The current Local Manifest version (" + localManifest.version + ")" +
27
+ throw new Error("The current Local Manifest version (".concat(localManifest.version, ")") +
28
28
  " is not compatible with the current version of the RxPlayer");
29
29
  }
30
30
  var periodIdGenerator = idGenerator();
@@ -34,13 +34,14 @@ var LocalRepresentationIndex = /** @class */ (function () {
34
34
  */
35
35
  LocalRepresentationIndex.prototype.getInitSegment = function () {
36
36
  return {
37
- id: this._representationId + "_init",
37
+ id: "".concat(this._representationId, "_init"),
38
38
  isInit: true,
39
39
  time: 0,
40
40
  end: 0,
41
41
  duration: 0,
42
42
  timescale: 1,
43
43
  mediaURLs: null,
44
+ complete: true,
44
45
  privateInfos: {
45
46
  localManifestInitSegment: { load: this._index.loadInitSegment }
46
47
  },
@@ -70,7 +71,7 @@ var LocalRepresentationIndex = /** @class */ (function () {
70
71
  return wantedSegments
71
72
  .map(function (wantedSegment) {
72
73
  return {
73
- id: _this._representationId + "_" + wantedSegment.time,
74
+ id: "".concat(_this._representationId, "_").concat(wantedSegment.time),
74
75
  isInit: false,
75
76
  time: wantedSegment.time,
76
77
  end: wantedSegment.time + wantedSegment.duration,
@@ -78,6 +79,7 @@ var LocalRepresentationIndex = /** @class */ (function () {
78
79
  timescale: 1,
79
80
  timestampOffset: wantedSegment.timestampOffset,
80
81
  mediaURLs: null,
82
+ complete: true,
81
83
  privateInfos: {
82
84
  localManifestSegment: { load: _this._index.loadSegment,
83
85
  segment: wantedSegment },
@@ -201,7 +201,7 @@ function createSmoothStreamingParser(parserOptions) {
201
201
  var baseURLAttr = root.getAttribute("Url");
202
202
  var baseURL = baseURLAttr === null ? "" :
203
203
  baseURLAttr;
204
- if (false) {
204
+ if (0 /* CURRENT_ENV */ === 1 /* DEV */) {
205
205
  assert(baseURL !== "");
206
206
  }
207
207
  var _a = reduceChildren(root, function (res, _name, node) {
@@ -33,7 +33,7 @@ export function getAudioCodecs(codecPrivateData, fourCC) {
33
33
  // Return default audio codec
34
34
  return "mp4a.40.2";
35
35
  }
36
- return "mp4a.40." + mpProfile;
36
+ return "mp4a.40.".concat(mpProfile);
37
37
  }
38
38
  /**
39
39
  * @param {string} codecPrivateData
@@ -121,7 +121,8 @@ var SmoothRepresentationIndex = /** @class */ (function () {
121
121
  time: 0,
122
122
  end: 0,
123
123
  duration: 0,
124
- timescale: 1 };
124
+ timescale: 1,
125
+ complete: true };
125
126
  };
126
127
  /**
127
128
  * Generate a list of Segments for a particular period of time.
@@ -163,6 +164,7 @@ var SmoothRepresentationIndex = /** @class */ (function () {
163
164
  end: (time + duration) / timescale,
164
165
  duration: duration / timescale,
165
166
  timescale: 1, number: number, mediaURLs: [replaceSegmentSmoothTokens(media, time)],
167
+ complete: true,
166
168
  privateInfos: { smoothMediaSegment: { time: time, duration: duration } } };
167
169
  segments.push(segment);
168
170
  // update segment number and segment time for the next segment
@@ -61,7 +61,7 @@ export default function checkManifestIDs(manifest) {
61
61
  var representationID = representation.id;
62
62
  if (arrayIncludes(representationIDs, representationID)) {
63
63
  log.warn("Two representations with the same ID found. Updating.", representationID);
64
- var newID = representationID + "-dup";
64
+ var newID = "".concat(representationID, "-dup");
65
65
  representation.id = newID;
66
66
  checkManifestIDs(manifest);
67
67
  representationIDs.push(newID);
@@ -30,7 +30,7 @@ export default function clearTimelineFromPosition(timeline, firstAvailablePositi
30
30
  }
31
31
  else { // we have a segment repetition
32
32
  var nextElt = timeline[1];
33
- if (nextElt != null && nextElt.start <= firstAvailablePosition) {
33
+ if (nextElt !== undefined && nextElt.start <= firstAvailablePosition) {
34
34
  timeline.shift();
35
35
  }
36
36
  else { // no next segment or next segment is available
@@ -13,21 +13,29 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ /** Generic way to represent segments in an index of segments. */
16
17
  export interface IIndexSegment {
18
+ /** The segment starting presentation time. */
17
19
  start: number;
20
+ /** Difference between the last and first presentation time. */
18
21
  duration: number;
22
+ /**
23
+ * Repeat counter.
24
+ * 1 === Repeat 1 time == 2 consecutive segments of this same duration.
25
+ */
19
26
  repeatCount: number;
27
+ /** Optional byte-range the segment is available at when requested. */
20
28
  range?: [number, number];
21
29
  }
22
30
  /**
23
31
  * Calculate the number of times a timeline element repeats based on the next
24
32
  * element.
25
33
  * @param {Object} element
26
- * @param {Object} nextElement
27
- * @param {number} maxPosition
34
+ * @param {Object|null|undefined} nextElement
35
+ * @param {number|undefined} maxPosition
28
36
  * @returns {Number}
29
37
  */
30
- export declare function calculateRepeat(element: IIndexSegment, nextElement?: IIndexSegment | null, maxPosition?: number): number;
38
+ export declare function calculateRepeat(element: IIndexSegment, nextElement?: IIndexSegment | null | undefined, maxPosition?: number): number;
31
39
  /**
32
40
  * Returns end of the segment given, in index time.
33
41
  * @param {Object} segment
@@ -13,13 +13,13 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- // byte-range
16
+ import isNullOrUndefined from "../../../utils/is_null_or_undefined";
17
17
  /**
18
18
  * Calculate the number of times a timeline element repeats based on the next
19
19
  * element.
20
20
  * @param {Object} element
21
- * @param {Object} nextElement
22
- * @param {number} maxPosition
21
+ * @param {Object|null|undefined} nextElement
22
+ * @param {number|undefined} maxPosition
23
23
  * @returns {Number}
24
24
  */
25
25
  export function calculateRepeat(element, nextElement, maxPosition) {
@@ -32,10 +32,10 @@ export function calculateRepeat(element, nextElement, maxPosition) {
32
32
  // start of the next S element, the end of the Period or until the
33
33
  // next MPD update.
34
34
  var segmentEnd;
35
- if (nextElement != null) {
35
+ if (!isNullOrUndefined(nextElement)) {
36
36
  segmentEnd = nextElement.start;
37
37
  }
38
- else if (maxPosition != null) {
38
+ else if (maxPosition !== undefined) {
39
39
  segmentEnd = maxPosition;
40
40
  }
41
41
  else {
@@ -32,18 +32,15 @@ export default function isSegmentStillAvailable(segment, timeline, timescale, in
32
32
  return false;
33
33
  }
34
34
  else if (tSegmentTime === segment.time) {
35
- if ((tSegment.duration / timescale) !== segment.duration) {
36
- return false;
37
- }
38
- if (tSegment.range == null) {
39
- return segment.range == null;
35
+ if (tSegment.range === undefined) {
36
+ return segment.range === undefined;
40
37
  }
41
38
  return segment.range != null &&
42
39
  tSegment.range[0] === segment.range[0] &&
43
40
  tSegment.range[1] === segment.range[1];
44
41
  }
45
42
  else { // tSegment.start < segment.time
46
- if (tSegment.repeatCount >= 0 && tSegment.duration != null) {
43
+ if (tSegment.repeatCount >= 0 && tSegment.duration !== undefined) {
47
44
  var timeDiff = tSegmentTime - tSegment.start;
48
45
  var repeat = (timeDiff / tSegment.duration) - 1;
49
46
  return repeat % 1 === 0 && repeat <= tSegment.repeatCount;
@@ -80,7 +80,7 @@ function getCSSProperty(str, name) {
80
80
  */
81
81
  function decodeEntities(text) {
82
82
  return text
83
- .replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode($1); });
83
+ .replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode(Number($1)); });
84
84
  }
85
85
  /**
86
86
  * Because sami is not really html... we have to use
@@ -111,7 +111,7 @@ function parseSami(smi, timeOffset, lang) {
111
111
  if (isNonEmptyString(lang)) {
112
112
  klass = langs[lang];
113
113
  if (klass === undefined) {
114
- throw new Error("sami: could not find lang " + lang + " in CSS");
114
+ throw new Error("sami: could not find lang ".concat(lang, " in CSS"));
115
115
  }
116
116
  }
117
117
  while (true) {
@@ -80,7 +80,7 @@ function getCSSProperty(str, name) {
80
80
  function decodeEntities(text) {
81
81
  return text
82
82
  .replace(BR, "\n")
83
- .replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode($1); });
83
+ .replace(HTML_ENTITIES, function (_, $1) { return String.fromCharCode(Number($1)); });
84
84
  }
85
85
  /**
86
86
  * Because sami is not really html... we have to use
@@ -111,7 +111,7 @@ function parseSami(smi, timeOffset, lang) {
111
111
  if (isNonEmptyString(lang)) {
112
112
  klass = langs[lang];
113
113
  if (klass === undefined) {
114
- throw new Error("sami: could not find lang " + lang + " in CSS");
114
+ throw new Error("sami: could not find lang ".concat(lang, " in CSS"));
115
115
  }
116
116
  }
117
117
  while (true) {
@@ -32,7 +32,6 @@ export default function applyFontSize(element, fontSize) {
32
32
  return;
33
33
  }
34
34
  if (firstFontSize[2] === "px" ||
35
- firstFontSize[2] === "%" ||
36
35
  firstFontSize[2] === "em") {
37
36
  element.style.fontSize = firstFontSize[1] + firstFontSize[2];
38
37
  }
@@ -41,6 +40,19 @@ export default function applyFontSize(element, fontSize) {
41
40
  addClassName(element, "proportional-style");
42
41
  element.setAttribute("data-proportional-font-size", firstFontSize[1]);
43
42
  }
43
+ else if (firstFontSize[2] === "%") {
44
+ var toNum = Number(firstFontSize[1]);
45
+ if (isNaN(toNum)) {
46
+ log.warn("TTML Parser: could not parse fontSize value \"" +
47
+ firstFontSize[1] +
48
+ "\" into a number");
49
+ }
50
+ else {
51
+ element.style.position = "relative";
52
+ addClassName(element, "proportional-style");
53
+ element.setAttribute("data-proportional-font-size", String(toNum / 100));
54
+ }
55
+ }
44
56
  else {
45
57
  log.warn("TTML Parser: unhandled fontSize unit:", firstFontSize[2]);
46
58
  }
@@ -24,8 +24,8 @@
24
24
  * @returns {string}
25
25
  */
26
26
  export default function generateCSSTextOutline(color, thickness) {
27
- return "-1px -1px " + thickness + " " + color + "," +
28
- ("1px -1px " + thickness + " " + color + ",") +
29
- ("-1px 1px " + thickness + " " + color + ",") +
30
- ("1px 1px " + thickness + " " + color);
27
+ return "-1px -1px ".concat(thickness, " ").concat(color, ",") +
28
+ "1px -1px ".concat(thickness, " ").concat(color, ",") +
29
+ "-1px 1px ".concat(thickness, " ").concat(color, ",") +
30
+ "1px 1px ".concat(thickness, " ").concat(color);
31
31
  }
@@ -15,8 +15,8 @@ var colorMap = {
15
15
  };
16
16
  export default function createDefaultStyleElements() {
17
17
  return Object.keys(colorMap).reduce(function (result, key) {
18
- result[key] = "color: " + colorMap[key] + ";";
19
- result["bg_" + key] = "background-color: " + colorMap[key] + ";";
18
+ result[key] = "color: ".concat(colorMap[key], ";");
19
+ result["bg_".concat(key)] = "background-color: ".concat(colorMap[key], ";");
20
20
  return result;
21
21
  }, {});
22
22
  }
@@ -33,11 +33,11 @@ var getAttrValue = function (settings) {
33
33
  var yPositioning = getPositioningY(settings);
34
34
  return ("position: absolute;" +
35
35
  "margin: 0;" +
36
- ("transform: translate(" + xPositioning.offset + "%," + yPositioning.offset + "%);") +
37
- ("width: " + getSizePercentage(settings.size) + "%;") +
38
- ("left: " + xPositioning.position + "%;") +
39
- ("top: " + (yPositioning.position !== null ? yPositioning.position + "%" : "auto") + ";") +
40
- ("text-align: " + getAlignValue(settings.align) + ";"));
36
+ "transform: translate(".concat(xPositioning.offset, "%,").concat(yPositioning.offset, "%);") +
37
+ "width: ".concat(getSizePercentage(settings.size), "%;") +
38
+ "left: ".concat(xPositioning.position, "%;") +
39
+ "top: ".concat(yPositioning.position !== null ? "".concat(yPositioning.position, "%") : "auto", ";") +
40
+ "text-align: ".concat(getAlignValue(settings.align), ";"));
41
41
  };
42
42
  var PositionAlignment;
43
43
  (function (PositionAlignment) {
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { CancellationSignal } from "../../utils/task_canceller";
17
- import { IImageTrackSegmentData, ILoadedImageSegmentFormat, ISegmentContext, ISegmentLoaderCallbacks, ISegmentLoaderResultChunkedComplete, ISegmentLoaderResultSegmentCreated, ISegmentLoaderResultSegmentLoaded, ISegmentParserParsedInitSegment, ISegmentParserParsedSegment } from "../types";
17
+ import { IImageTrackSegmentData, ILoadedImageSegmentFormat, ISegmentContext, ISegmentLoaderCallbacks, ISegmentLoaderResultChunkedComplete, ISegmentLoaderResultSegmentCreated, ISegmentLoaderResultSegmentLoaded, ISegmentParserParsedInitChunk, ISegmentParserParsedMediaChunk } from "../types";
18
18
  /**
19
19
  * Loads an image segment.
20
20
  * @param {string|null} url
@@ -32,4 +32,4 @@ export declare function imageLoader(url: string | null, content: ISegmentContext
32
32
  export declare function imageParser(loadedSegment: {
33
33
  data: ArrayBuffer | Uint8Array | null;
34
34
  isChunked: boolean;
35
- }, content: ISegmentContext): ISegmentParserParsedSegment<IImageTrackSegmentData | null> | ISegmentParserParsedInitSegment<null>;
35
+ }, content: ISegmentContext): ISegmentParserParsedMediaChunk<IImageTrackSegmentData | null> | ISegmentParserParsedInitChunk<null>;
@@ -58,6 +58,6 @@ export default function initSegmentLoader(url, segment, cancelSignal, callbacks)
58
58
  return { resultType: "segment-loaded",
59
59
  resultData: { url: url, responseData: data,
60
60
  size: initData.size + indexData.size,
61
- duration: receivedTime - sendingTime, sendingTime: sendingTime, receivedTime: receivedTime } };
61
+ requestDuration: receivedTime - sendingTime, sendingTime: sendingTime, receivedTime: receivedTime } };
62
62
  });
63
63
  }
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import PPromise from "pinkie";
17
+ import { formatError } from "../../errors";
17
18
  import features from "../../features";
18
19
  import log from "../../log";
19
20
  import Manifest from "../../manifest";
@@ -105,39 +106,107 @@ export default function generateManifestParser(options) {
105
106
  var value = parserResponse.value;
106
107
  var externalResources = value.urls.map(function (resourceUrl) {
107
108
  return scheduleRequest(function () {
108
- var req = value.format === "string" ?
109
- request({ url: resourceUrl,
110
- responseType: "text", cancelSignal: cancelSignal }) :
109
+ return value.format === "string" ? request({ url: resourceUrl,
110
+ responseType: "text", cancelSignal: cancelSignal }) :
111
111
  request({ url: resourceUrl,
112
112
  responseType: "arraybuffer", cancelSignal: cancelSignal });
113
- return req;
113
+ }).then(function (res) {
114
+ if (value.format === "string") {
115
+ if (typeof res.responseData !== "string") {
116
+ throw new Error("External DASH resources should have been a string");
117
+ }
118
+ return objectAssign(res, {
119
+ responseData: {
120
+ success: true,
121
+ data: res.responseData
122
+ },
123
+ });
124
+ }
125
+ else {
126
+ if (!(res.responseData instanceof ArrayBuffer)) {
127
+ throw new Error("External DASH resources should have been ArrayBuffers");
128
+ }
129
+ return objectAssign(res, {
130
+ responseData: {
131
+ success: true,
132
+ data: res.responseData
133
+ },
134
+ });
135
+ }
136
+ }, function (err) {
137
+ var error = formatError(err, {
138
+ defaultCode: "PIPELINE_PARSE_ERROR",
139
+ defaultReason: "An unknown error occured when parsing ressources.",
140
+ });
141
+ return objectAssign({}, {
142
+ size: undefined,
143
+ requestDuration: undefined,
144
+ responseData: {
145
+ success: false,
146
+ error: error
147
+ },
148
+ });
114
149
  });
115
150
  });
116
151
  return PPromise.all(externalResources).then(function (loadedResources) {
117
152
  if (value.format === "string") {
118
- var resources = loadedResources.map(function (resource) {
119
- if (typeof resource.responseData !== "string") {
120
- throw new Error("External DASH resources should have been a string");
121
- }
122
- // Normally not needed but TypeScript is just dumb here
123
- return objectAssign(resource, { responseData: resource.responseData });
124
- });
125
- return processMpdParserResponse(value.continue(resources));
153
+ assertLoadedResourcesFormatString(loadedResources);
154
+ return processMpdParserResponse(value.continue(loadedResources));
126
155
  }
127
156
  else {
128
- var resources = loadedResources.map(function (resource) {
129
- if (!(resource.responseData instanceof ArrayBuffer)) {
130
- throw new Error("External DASH resources should have been ArrayBuffers");
131
- }
132
- // Normally not needed but TypeScript is just dumb here
133
- return objectAssign(resource, { responseData: resource.responseData });
134
- });
135
- return processMpdParserResponse(value.continue(resources));
157
+ assertLoadedResourcesFormatArrayBuffer(loadedResources);
158
+ return processMpdParserResponse(value.continue(loadedResources));
136
159
  }
137
160
  });
138
161
  }
139
162
  };
140
163
  }
164
+ /**
165
+ * Throw if the given input is not in the expected format.
166
+ * Allows to enforce runtime type-checking as compile-time type-checking here is
167
+ * difficult to enforce.
168
+ *
169
+ * @param loadedResource
170
+ * @returns
171
+ */
172
+ function assertLoadedResourcesFormatString(loadedResources) {
173
+ if (0 /* CURRENT_ENV */ === 0 /* PRODUCTION */) {
174
+ return;
175
+ }
176
+ loadedResources.forEach(function (loadedResource) {
177
+ var responseData = loadedResource.responseData;
178
+ if (responseData.success && typeof responseData.data === "string") {
179
+ return;
180
+ }
181
+ else if (!responseData.success) {
182
+ return;
183
+ }
184
+ throw new Error("Invalid data given to the LoadedRessource");
185
+ });
186
+ }
187
+ /**
188
+ * Throw if the given input is not in the expected format.
189
+ * Allows to enforce runtime type-checking as compile-time type-checking here is
190
+ * difficult to enforce.
191
+ *
192
+ * @param loadedResource
193
+ * @returns
194
+ */
195
+ function assertLoadedResourcesFormatArrayBuffer(loadedResources) {
196
+ if (0 /* CURRENT_ENV */ === 0 /* PRODUCTION */) {
197
+ return;
198
+ }
199
+ loadedResources.forEach(function (loadedResource) {
200
+ var responseData = loadedResource.responseData;
201
+ if (responseData.success && responseData.data instanceof ArrayBuffer) {
202
+ return;
203
+ }
204
+ else if (!responseData.success) {
205
+ return;
206
+ }
207
+ throw new Error("Invalid data given to the LoadedRessource");
208
+ });
209
+ }
141
210
  /**
142
211
  * Try to convert a Manifest from an unknown format to a `Document` format.
143
212
  * Useful to exploit DOM-parsing APIs to quickly parse an XML Manifest.
@@ -95,7 +95,7 @@ export default function generateSegmentLoader(_a) {
95
95
  res({ resultType: "segment-loaded",
96
96
  resultData: { responseData: _args.data,
97
97
  size: _args.size,
98
- duration: _args.duration } });
98
+ requestDuration: _args.duration } });
99
99
  };
100
100
  /**
101
101
  * Callback triggered when the custom segment loader fails
@@ -38,7 +38,7 @@ function loadInitSegment(customSegmentLoader, cancelSignal) {
38
38
  res({ resultType: "segment-loaded",
39
39
  resultData: { responseData: _args.data,
40
40
  size: _args.size,
41
- duration: _args.duration } });
41
+ requestDuration: _args.duration } });
42
42
  };
43
43
  /**
44
44
  * Callback triggered when the custom segment loader fails
@@ -93,7 +93,7 @@ function loadSegment(segment, customSegmentLoader, cancelSignal) {
93
93
  res({ resultType: "segment-loaded",
94
94
  resultData: { responseData: _args.data,
95
95
  size: _args.size,
96
- duration: _args.duration } });
96
+ requestDuration: _args.duration } });
97
97
  };
98
98
  /**
99
99
  * Callback triggered when the custom segment loader fails
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ISegmentContext, ISegmentParserParsedInitSegment, ISegmentParserParsedSegment } from "../types";
16
+ import { ISegmentContext, ISegmentParserParsedInitChunk, ISegmentParserParsedMediaChunk } from "../types";
17
17
  export default function segmentParser(loadedSegment: {
18
18
  data: ArrayBuffer | Uint8Array | null;
19
19
  isChunked: boolean;
20
- }, content: ISegmentContext, initTimescale: number | undefined): ISegmentParserParsedInitSegment<ArrayBuffer | Uint8Array | null> | ISegmentParserParsedSegment<ArrayBuffer | Uint8Array | null>;
20
+ }, content: ISegmentContext, initTimescale: number | undefined): ISegmentParserParsedInitChunk<ArrayBuffer | Uint8Array | null> | ISegmentParserParsedMediaChunk<ArrayBuffer | Uint8Array | null>;
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ILoadedTextSegmentFormat, ISegmentContext, ISegmentParserParsedInitSegment, ISegmentParserParsedSegment, ITextTrackSegmentData } from "../types";
16
+ import { ILoadedTextSegmentFormat, ISegmentContext, ISegmentParserParsedInitChunk, ISegmentParserParsedMediaChunk, ITextTrackSegmentData } from "../types";
17
17
  /**
18
18
  * Parse TextTrack data.
19
19
  * @param {Object} loadedSegment
@@ -24,4 +24,4 @@ import { ILoadedTextSegmentFormat, ISegmentContext, ISegmentParserParsedInitSegm
24
24
  export default function textTrackParser(loadedSegment: {
25
25
  data: ILoadedTextSegmentFormat;
26
26
  isChunked: boolean;
27
- }, content: ISegmentContext, initTimescale: number | undefined): ISegmentParserParsedInitSegment<null> | ISegmentParserParsedSegment<ITextTrackSegmentData | null>;
27
+ }, content: ISegmentContext, initTimescale: number | undefined): ISegmentParserParsedInitChunk<null> | ISegmentParserParsedMediaChunk<ITextTrackSegmentData | null>;
@@ -59,7 +59,7 @@ function getTransportPipelines(transports, transportName, options) {
59
59
  }
60
60
  var feature = features.transports[transportName];
61
61
  if (feature === undefined) {
62
- throw new Error("MetaPlaylist: Unknown transport " + transportName + ".");
62
+ throw new Error("MetaPlaylist: Unknown transport ".concat(transportName, "."));
63
63
  }
64
64
  var transport = feature(options);
65
65
  transports[transportName] = transport;
@@ -52,7 +52,7 @@ export default function extractTimingsInfos(data, isChunked, initTimescale, segm
52
52
  duration: tfxdSegment.duration / initTimescale };
53
53
  return { nextSegments: nextSegments, chunkInfos: chunkInfos, scaledSegmentTime: tfxdSegment.time };
54
54
  }
55
- if (isChunked) {
55
+ if (isChunked || !segment.complete) {
56
56
  return { nextSegments: nextSegments, chunkInfos: null,
57
57
  scaledSegmentTime: undefined };
58
58
  }
@@ -266,7 +266,7 @@ export default function (options) {
266
266
  _sdType = "vtt";
267
267
  }
268
268
  else {
269
- throw new Error("could not find a text-track parser for the type " + mimeType);
269
+ throw new Error("could not find a text-track parser for the type ".concat(mimeType));
270
270
  }
271
271
  var mdat = getMDAT(chunkBytes);
272
272
  _sdData = mdat === null ? "" :
@@ -302,7 +302,7 @@ export default function (options) {
302
302
  _sdType = "srt";
303
303
  }
304
304
  else {
305
- throw new Error("could not find a text-track parser for the type " + mimeType);
305
+ throw new Error("could not find a text-track parser for the type ".concat(mimeType));
306
306
  }
307
307
  }
308
308
  _sdData = chunkString;
@@ -93,7 +93,7 @@ var generateSegmentLoader = function (_a) {
93
93
  break;
94
94
  }
95
95
  default:
96
- if (false) {
96
+ if (0 /* CURRENT_ENV */ === 1 /* DEV */) {
97
97
  assert(false, "responseData should have been set");
98
98
  }
99
99
  responseData = new Uint8Array(0);
@@ -128,7 +128,7 @@ var generateSegmentLoader = function (_a) {
128
128
  res({ resultType: "segment-loaded",
129
129
  resultData: { responseData: _args.data,
130
130
  size: _args.size,
131
- duration: _args.duration } });
131
+ requestDuration: _args.duration } });
132
132
  }
133
133
  var dataU8 = _args.data instanceof Uint8Array ? _args.data :
134
134
  new Uint8Array(_args.data);
@@ -136,7 +136,7 @@ var generateSegmentLoader = function (_a) {
136
136
  res({ resultType: "segment-loaded",
137
137
  resultData: { responseData: dataU8,
138
138
  size: _args.size,
139
- duration: _args.duration } });
139
+ requestDuration: _args.duration } });
140
140
  };
141
141
  /**
142
142
  * Callback triggered when the custom segment loader fails