rx-player 4.0.0-worker.2024022000 → 4.0.0

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 (3025) hide show
  1. package/CHANGELOG.md +1113 -1723
  2. package/MAINTAINERS.md +12 -9
  3. package/README.md +122 -107
  4. package/VERSION +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  6. package/dist/commonjs/compat/add_class_name.js +3 -4
  7. package/dist/commonjs/compat/add_text_track.d.ts +1 -1
  8. package/dist/commonjs/compat/add_text_track.js +2 -3
  9. package/dist/commonjs/compat/browser_compatibility_types.js +7 -13
  10. package/dist/commonjs/compat/browser_detection.js +10 -8
  11. package/dist/commonjs/compat/change_source_buffer_type.d.ts +1 -1
  12. package/dist/commonjs/compat/eme/close_session.d.ts +1 -1
  13. package/dist/commonjs/compat/eme/close_session.js +12 -16
  14. package/dist/commonjs/compat/eme/custom_key_system_access.d.ts +1 -1
  15. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.d.ts +1 -1
  16. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.js +9 -14
  17. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
  18. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
  19. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +11 -13
  20. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts +1 -1
  21. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts +1 -1
  22. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +11 -5
  23. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts +1 -1
  24. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +2 -2
  25. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts +3 -3
  26. package/dist/commonjs/compat/eme/eme-api-implementation.js +9 -13
  27. package/dist/commonjs/compat/eme/generate_key_request.d.ts +1 -1
  28. package/dist/commonjs/compat/eme/generate_key_request.js +19 -16
  29. package/dist/commonjs/compat/eme/get_init_data.js +7 -5
  30. package/dist/commonjs/compat/eme/get_uuid_kid_from_keystatus_kid.js +2 -1
  31. package/dist/commonjs/compat/eme/get_webkit_fairplay_initdata.js +11 -10
  32. package/dist/commonjs/compat/eme/load_session.d.ts +1 -1
  33. package/dist/commonjs/compat/enable_audio_track.d.ts +1 -1
  34. package/dist/commonjs/compat/event_listeners.d.ts +4 -4
  35. package/dist/commonjs/compat/event_listeners.js +33 -42
  36. package/dist/commonjs/compat/has_webassembly.js +2 -1
  37. package/dist/commonjs/compat/index.d.ts +36 -0
  38. package/dist/commonjs/compat/index.js +64 -0
  39. package/dist/commonjs/compat/is_codec_supported.js +1 -2
  40. package/dist/commonjs/compat/is_vtt_cue.d.ts +1 -1
  41. package/dist/commonjs/compat/make_vtt_cue.d.ts +1 -1
  42. package/dist/commonjs/compat/on_height_width_change.d.ts +2 -2
  43. package/dist/commonjs/compat/patch_webkit_source_buffer.js +29 -29
  44. package/dist/commonjs/compat/should_reload_media_source_on_decipherability_update.js +2 -1
  45. package/dist/commonjs/config.d.ts +1 -1
  46. package/dist/commonjs/core/adaptive/adaptive_representation_selector.d.ts +22 -25
  47. package/dist/commonjs/core/adaptive/adaptive_representation_selector.js +25 -47
  48. package/dist/commonjs/core/adaptive/buffer_based_chooser.d.ts +1 -1
  49. package/dist/commonjs/core/adaptive/buffer_based_chooser.js +11 -13
  50. package/dist/commonjs/core/adaptive/guess_based_chooser.d.ts +6 -6
  51. package/dist/commonjs/core/adaptive/guess_based_chooser.js +6 -7
  52. package/dist/commonjs/core/adaptive/index.d.ts +2 -2
  53. package/dist/commonjs/core/adaptive/network_analyzer.d.ts +6 -6
  54. package/dist/commonjs/core/adaptive/network_analyzer.js +40 -44
  55. package/dist/commonjs/core/adaptive/utils/bandwidth_estimator.js +1 -1
  56. package/dist/commonjs/core/adaptive/utils/ewma.js +2 -1
  57. package/dist/commonjs/core/adaptive/utils/filter_by_bitrate.d.ts +2 -2
  58. package/dist/commonjs/core/adaptive/utils/filter_by_resolution.d.ts +2 -2
  59. package/dist/commonjs/core/adaptive/utils/filter_by_resolution.js +4 -2
  60. package/dist/commonjs/core/adaptive/utils/get_buffer_levels.js +4 -7
  61. package/dist/commonjs/core/adaptive/utils/last_estimate_storage.d.ts +3 -3
  62. package/dist/commonjs/core/adaptive/utils/pending_requests_store.d.ts +5 -5
  63. package/dist/commonjs/core/adaptive/utils/pending_requests_store.js +3 -4
  64. package/dist/commonjs/core/adaptive/utils/representation_score_calculator.d.ts +7 -7
  65. package/dist/commonjs/core/adaptive/utils/representation_score_calculator.js +8 -11
  66. package/dist/commonjs/core/adaptive/utils/select_optimal_representation.d.ts +4 -4
  67. package/dist/commonjs/core/adaptive/utils/select_optimal_representation.js +2 -2
  68. package/dist/commonjs/core/api/debug/buffer_graph.d.ts +28 -0
  69. package/dist/commonjs/core/api/debug/buffer_graph.js +173 -0
  70. package/dist/commonjs/core/api/debug/buffer_size_graph.js +132 -0
  71. package/dist/commonjs/core/api/debug/modules/general_info.d.ts +3 -0
  72. package/dist/commonjs/core/api/debug/modules/general_info.js +232 -0
  73. package/dist/commonjs/core/api/debug/modules/segment_buffer_content.d.ts +4 -0
  74. package/dist/commonjs/core/api/debug/modules/segment_buffer_content.js +125 -0
  75. package/dist/commonjs/core/api/debug/modules/segment_buffer_size.d.ts +3 -0
  76. package/dist/commonjs/core/api/debug/modules/segment_buffer_size.js +38 -0
  77. package/dist/commonjs/core/api/debug/render.d.ts +3 -0
  78. package/dist/commonjs/core/api/index.d.ts +20 -0
  79. package/dist/commonjs/core/api/index.js +22 -0
  80. package/dist/commonjs/core/api/option_utils.d.ts +124 -0
  81. package/dist/commonjs/core/api/option_utils.js +318 -0
  82. package/dist/commonjs/core/api/playback_observer.d.ts +521 -0
  83. package/dist/commonjs/core/api/playback_observer.js +771 -0
  84. package/dist/commonjs/core/api/public_api.d.ts +751 -0
  85. package/dist/commonjs/core/api/public_api.js +2458 -0
  86. package/dist/commonjs/core/api/track_management/media_element_tracks_store.d.ts +197 -0
  87. package/dist/commonjs/core/api/track_management/media_element_tracks_store.js +688 -0
  88. package/dist/commonjs/core/api/track_management/track_dispatcher.d.ts +100 -0
  89. package/dist/commonjs/core/api/track_management/track_dispatcher.js +184 -0
  90. package/dist/commonjs/core/api/track_management/tracks_store.d.ts +441 -0
  91. package/dist/commonjs/core/api/track_management/tracks_store.js +1066 -0
  92. package/dist/commonjs/core/api/utils.d.ts +66 -0
  93. package/dist/commonjs/core/api/utils.js +175 -0
  94. package/dist/commonjs/core/decrypt/__tests__/__global__/utils.d.ts +178 -0
  95. package/dist/commonjs/core/decrypt/__tests__/__global__/utils.js +413 -0
  96. package/dist/commonjs/core/decrypt/attach_media_keys.d.ts +53 -0
  97. package/dist/commonjs/core/decrypt/attach_media_keys.js +121 -0
  98. package/dist/commonjs/core/decrypt/clear_on_stop.js +43 -0
  99. package/dist/commonjs/core/decrypt/content_decryptor.d.ts +184 -0
  100. package/dist/commonjs/core/decrypt/content_decryptor.js +1035 -0
  101. package/dist/commonjs/core/decrypt/create_or_load_session.d.ts +63 -0
  102. package/dist/commonjs/core/decrypt/create_or_load_session.js +127 -0
  103. package/dist/commonjs/core/decrypt/create_session.d.ts +53 -0
  104. package/dist/commonjs/core/decrypt/create_session.js +215 -0
  105. package/dist/commonjs/core/decrypt/dispose_decryption_resources.js +91 -0
  106. package/dist/commonjs/core/decrypt/find_key_system.d.ts +48 -0
  107. package/dist/commonjs/core/decrypt/find_key_system.js +369 -0
  108. package/dist/commonjs/core/decrypt/get_media_keys.d.ts +44 -0
  109. package/dist/commonjs/core/decrypt/get_media_keys.js +156 -0
  110. package/dist/commonjs/core/decrypt/index.d.ts +26 -0
  111. package/dist/commonjs/core/decrypt/init_media_keys.d.ts +26 -0
  112. package/dist/commonjs/core/decrypt/session_events_listener.d.ts +75 -0
  113. package/dist/commonjs/core/decrypt/session_events_listener.js +330 -0
  114. package/dist/commonjs/core/decrypt/set_server_certificate.d.ts +51 -0
  115. package/dist/commonjs/core/decrypt/set_server_certificate.js +146 -0
  116. package/dist/commonjs/core/decrypt/types.d.ts +374 -0
  117. package/dist/commonjs/core/decrypt/utils/are_init_values_compatible.js +116 -0
  118. package/dist/commonjs/core/decrypt/utils/check_key_statuses.d.ts +52 -0
  119. package/dist/commonjs/core/decrypt/utils/check_key_statuses.js +211 -0
  120. package/dist/commonjs/core/decrypt/utils/clean_old_loaded_sessions.d.ts +26 -0
  121. package/dist/commonjs/core/decrypt/utils/clean_old_stored_persistent_info.d.ts +32 -0
  122. package/dist/commonjs/core/decrypt/utils/init_data_values_container.d.ts +69 -0
  123. package/dist/commonjs/core/decrypt/utils/init_data_values_container.js +126 -0
  124. package/dist/commonjs/core/decrypt/utils/is_session_usable.d.ts +24 -0
  125. package/dist/commonjs/core/decrypt/utils/is_session_usable.js +52 -0
  126. package/dist/commonjs/core/decrypt/utils/key_session_record.d.ts +104 -0
  127. package/dist/commonjs/core/decrypt/utils/key_session_record.js +190 -0
  128. package/dist/commonjs/core/decrypt/utils/loaded_sessions_store.d.ts +215 -0
  129. package/dist/commonjs/core/decrypt/utils/loaded_sessions_store.js +515 -0
  130. package/dist/commonjs/core/decrypt/utils/media_keys_infos_store.d.ts +56 -0
  131. package/dist/commonjs/core/decrypt/utils/media_keys_infos_store.js +46 -0
  132. package/dist/commonjs/core/decrypt/utils/persistent_sessions_store.d.ts +94 -0
  133. package/dist/commonjs/core/decrypt/utils/persistent_sessions_store.js +346 -0
  134. package/dist/commonjs/core/decrypt/utils/serializable_bytes.d.ts +44 -0
  135. package/dist/commonjs/core/decrypt/utils/serializable_bytes.js +50 -0
  136. package/dist/commonjs/core/decrypt/utils/server_certificate_store.d.ts +64 -0
  137. package/dist/commonjs/core/decrypt/utils/server_certificate_store.js +114 -0
  138. package/dist/commonjs/core/fetchers/cdn_prioritizer.d.ts +2 -2
  139. package/dist/commonjs/core/fetchers/cdn_prioritizer.js +6 -5
  140. package/dist/commonjs/core/fetchers/manifest/index.d.ts +1 -1
  141. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts +3 -3
  142. package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +65 -80
  143. package/dist/commonjs/core/fetchers/segment/index.d.ts +1 -1
  144. package/dist/commonjs/core/fetchers/segment/initialization_segment_cache.d.ts +4 -4
  145. package/dist/commonjs/core/fetchers/segment/prioritized_segment_fetcher.d.ts +3 -4
  146. package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts +12 -12
  147. package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +32 -49
  148. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -5
  149. package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.js +2 -4
  150. package/dist/commonjs/core/fetchers/segment/task_prioritizer.d.ts +1 -1
  151. package/dist/commonjs/core/fetchers/segment/task_prioritizer.js +17 -18
  152. package/dist/commonjs/core/fetchers/utils/error_selector.d.ts +2 -1
  153. package/dist/commonjs/core/fetchers/utils/error_selector.js +1 -0
  154. package/dist/commonjs/core/fetchers/utils/schedule_request.d.ts +3 -3
  155. package/dist/commonjs/core/fetchers/utils/schedule_request.js +21 -20
  156. package/dist/commonjs/core/init/directfile_content_initializer.d.ts +97 -0
  157. package/dist/commonjs/core/init/directfile_content_initializer.js +267 -0
  158. package/dist/commonjs/core/init/media_source_content_initializer.d.ts +165 -0
  159. package/dist/commonjs/core/init/media_source_content_initializer.js +865 -0
  160. package/dist/commonjs/core/init/multithread/main_thread/multi_thread_content_initializer.d.ts +167 -0
  161. package/dist/commonjs/core/init/multithread/main_thread/multi_thread_content_initializer.js +1393 -0
  162. package/dist/commonjs/core/init/multithread/main_thread/send_message.d.ts +2 -0
  163. package/dist/commonjs/core/init/multithread/main_thread/send_message.js +13 -0
  164. package/dist/commonjs/core/init/multithread/worker/content_preparer.d.ts +92 -0
  165. package/dist/commonjs/core/init/multithread/worker/content_preparer.js +259 -0
  166. package/dist/commonjs/core/init/multithread/worker/globals.d.ts +13 -0
  167. package/dist/commonjs/core/init/multithread/worker/globals.js +26 -0
  168. package/dist/commonjs/core/init/multithread/worker/index.d.ts +2 -0
  169. package/dist/commonjs/core/init/multithread/worker/index.js +4 -0
  170. package/dist/commonjs/core/init/multithread/worker/send_message.d.ts +3 -0
  171. package/dist/commonjs/core/init/multithread/worker/send_message.js +25 -0
  172. package/dist/commonjs/core/init/multithread/worker/track_choice_setter.d.ts +19 -0
  173. package/dist/commonjs/core/init/multithread/worker/track_choice_setter.js +140 -0
  174. package/dist/commonjs/core/init/multithread/worker/worker_playback_observer.d.ts +21 -0
  175. package/dist/commonjs/core/init/multithread/worker/worker_playback_observer.js +47 -0
  176. package/dist/commonjs/core/init/multithread/worker/worker_portal.d.ts +1 -0
  177. package/dist/commonjs/core/init/multithread/worker/worker_portal.js +727 -0
  178. package/dist/commonjs/core/init/multithread/worker/worker_text_displayer_interface.d.ts +64 -0
  179. package/dist/commonjs/core/init/multithread/worker/worker_text_displayer_interface.js +127 -0
  180. package/dist/commonjs/core/init/types.d.ts +226 -0
  181. package/dist/commonjs/core/init/utils/DecipherabilityFreezeDetector.d.ts +54 -0
  182. package/dist/commonjs/core/init/utils/DecipherabilityFreezeDetector.js +129 -0
  183. package/dist/commonjs/core/init/utils/content_time_boundaries_observer.d.ts +192 -0
  184. package/dist/commonjs/core/init/utils/content_time_boundaries_observer.js +518 -0
  185. package/dist/commonjs/core/init/utils/create_content_time_boundaries_observer.d.ts +28 -0
  186. package/dist/commonjs/core/init/utils/create_content_time_boundaries_observer.js +48 -0
  187. package/dist/commonjs/core/init/utils/create_core_playback_observer.d.ts +61 -0
  188. package/dist/commonjs/core/init/utils/create_core_playback_observer.js +130 -0
  189. package/dist/commonjs/core/init/utils/create_media_source.d.ts +37 -0
  190. package/dist/commonjs/core/init/utils/create_media_source.js +108 -0
  191. package/dist/commonjs/core/init/utils/end_of_stream.d.ts +33 -0
  192. package/dist/commonjs/core/init/utils/end_of_stream.js +115 -0
  193. package/dist/commonjs/core/init/utils/get_initial_time.d.ts +76 -0
  194. package/dist/commonjs/core/init/utils/get_initial_time.js +116 -0
  195. package/dist/commonjs/core/init/utils/get_loaded_reference.d.ts +28 -0
  196. package/dist/commonjs/core/init/utils/get_loaded_reference.js +61 -0
  197. package/dist/commonjs/core/init/utils/initial_seek_and_play.d.ts +61 -0
  198. package/dist/commonjs/core/init/utils/initial_seek_and_play.js +210 -0
  199. package/dist/commonjs/core/init/utils/initialize_content_decryption.d.ts +86 -0
  200. package/dist/commonjs/core/init/utils/initialize_content_decryption.js +113 -0
  201. package/dist/commonjs/core/init/utils/main_thread_text_displayer_interface.d.ts +35 -0
  202. package/dist/commonjs/core/init/utils/media_source_duration_updater.js +270 -0
  203. package/dist/commonjs/core/init/utils/rebuffering_controller.d.ts +114 -0
  204. package/dist/commonjs/core/init/utils/rebuffering_controller.js +445 -0
  205. package/dist/commonjs/core/init/utils/stream_events_emitter/are_same_stream_events.js +37 -0
  206. package/dist/commonjs/core/init/utils/stream_events_emitter/index.d.ts +18 -0
  207. package/dist/commonjs/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +25 -0
  208. package/dist/commonjs/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +91 -0
  209. package/dist/commonjs/core/init/utils/stream_events_emitter/stream_events_emitter.d.ts +53 -0
  210. package/dist/commonjs/core/init/utils/stream_events_emitter/stream_events_emitter.js +234 -0
  211. package/dist/commonjs/core/init/utils/stream_events_emitter/types.d.ts +41 -0
  212. package/dist/commonjs/core/init/utils/throw_on_media_error.d.ts +23 -0
  213. package/dist/commonjs/core/init/utils/throw_on_media_error.js +61 -0
  214. package/dist/commonjs/core/segment_buffers/garbage_collector.d.ts +43 -0
  215. package/dist/commonjs/core/segment_buffers/garbage_collector.js +220 -0
  216. package/dist/commonjs/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.d.ts +134 -0
  217. package/dist/commonjs/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +350 -0
  218. package/dist/commonjs/core/segment_buffers/implementations/audio_video/index.d.ts +17 -0
  219. package/dist/commonjs/core/segment_buffers/implementations/index.d.ts +19 -0
  220. package/dist/commonjs/core/segment_buffers/implementations/index.js +35 -0
  221. package/dist/commonjs/core/segment_buffers/implementations/text/index.d.ts +3 -0
  222. package/dist/commonjs/core/segment_buffers/implementations/text/text_segment_buffer.d.ts +89 -0
  223. package/dist/commonjs/core/segment_buffers/implementations/text/text_segment_buffer.js +253 -0
  224. package/dist/commonjs/core/segment_buffers/implementations/types.d.ts +309 -0
  225. package/dist/commonjs/core/segment_buffers/implementations/types.js +117 -0
  226. package/dist/commonjs/core/segment_buffers/index.d.ts +21 -0
  227. package/dist/commonjs/core/segment_buffers/index.js +28 -0
  228. package/dist/commonjs/core/segment_buffers/inventory/buffered_history.d.ts +89 -0
  229. package/dist/commonjs/core/segment_buffers/inventory/index.d.ts +21 -0
  230. package/dist/commonjs/core/segment_buffers/inventory/segment_inventory.d.ts +238 -0
  231. package/dist/commonjs/core/segment_buffers/inventory/segment_inventory.js +906 -0
  232. package/dist/commonjs/core/segment_buffers/inventory/types.d.ts +27 -0
  233. package/dist/commonjs/core/segment_buffers/inventory/utils.d.ts +33 -0
  234. package/dist/commonjs/core/segment_buffers/inventory/utils.js +54 -0
  235. package/dist/commonjs/core/segment_buffers/segment_buffers_store.d.ts +171 -0
  236. package/dist/commonjs/core/segment_buffers/segment_buffers_store.js +292 -0
  237. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts +4 -4
  238. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +24 -52
  239. package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.d.ts +11 -11
  240. package/dist/commonjs/core/stream/adaptation/get_representations_switch_strategy.js +33 -32
  241. package/dist/commonjs/core/stream/adaptation/types.d.ts +18 -18
  242. package/dist/commonjs/core/stream/index.d.ts +1 -1
  243. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.d.ts +5 -5
  244. package/dist/commonjs/core/stream/orchestrator/get_time_ranges_for_content.js +5 -5
  245. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts +19 -20
  246. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +52 -76
  247. package/dist/commonjs/core/stream/period/period_stream.d.ts +5 -5
  248. package/dist/commonjs/core/stream/period/period_stream.js +47 -85
  249. package/dist/commonjs/core/stream/period/types.d.ts +21 -23
  250. package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +13 -13
  251. package/dist/commonjs/core/stream/period/utils/get_adaptation_switch_strategy.js +38 -34
  252. package/dist/commonjs/core/stream/representation/representation_stream.d.ts +5 -5
  253. package/dist/commonjs/core/stream/representation/representation_stream.js +32 -58
  254. package/dist/commonjs/core/stream/representation/types.d.ts +24 -24
  255. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.d.ts +9 -9
  256. package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.js +13 -12
  257. package/dist/commonjs/core/stream/representation/utils/check_for_discontinuity.d.ts +7 -7
  258. package/dist/commonjs/core/stream/representation/utils/check_for_discontinuity.js +18 -16
  259. package/dist/commonjs/core/stream/representation/utils/downloading_queue.d.ts +10 -10
  260. package/dist/commonjs/core/stream/representation/utils/downloading_queue.js +11 -11
  261. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.d.ts +11 -11
  262. package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +29 -50
  263. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.d.ts +7 -6
  264. package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +30 -29
  265. package/dist/commonjs/core/stream/representation/utils/push_init_segment.d.ts +13 -13
  266. package/dist/commonjs/core/stream/representation/utils/push_init_segment.js +8 -10
  267. package/dist/commonjs/core/stream/representation/utils/push_media_segment.d.ts +14 -14
  268. package/dist/commonjs/core/stream/representation/utils/push_media_segment.js +13 -16
  269. package/dist/commonjs/default_config.js +18 -21
  270. package/dist/commonjs/errors/encrypted_media_error.d.ts +2 -2
  271. package/dist/commonjs/errors/encrypted_media_error.js +2 -4
  272. package/dist/commonjs/errors/error_codes.d.ts +2 -2
  273. package/dist/commonjs/errors/format_error.d.ts +2 -2
  274. package/dist/commonjs/errors/format_error.js +2 -1
  275. package/dist/commonjs/errors/is_known_error.d.ts +1 -1
  276. package/dist/commonjs/errors/is_known_error.js +2 -2
  277. package/dist/commonjs/errors/media_error.d.ts +2 -2
  278. package/dist/commonjs/errors/media_error.js +2 -4
  279. package/dist/commonjs/errors/network_error.d.ts +2 -2
  280. package/dist/commonjs/errors/network_error.js +4 -6
  281. package/dist/commonjs/errors/other_error.d.ts +1 -1
  282. package/dist/commonjs/errors/other_error.js +3 -1
  283. package/dist/commonjs/errors/source_buffer_error.js +2 -4
  284. package/dist/commonjs/experimental/features/local.d.ts +1 -1
  285. package/dist/commonjs/experimental/features/local.js +2 -1
  286. package/dist/commonjs/experimental/features/metaplaylist.d.ts +1 -1
  287. package/dist/commonjs/experimental/features/metaplaylist.js +2 -1
  288. package/dist/commonjs/experimental/features/multi_thread.d.ts +1 -1
  289. package/dist/commonjs/experimental/features/multi_thread.js +2 -1
  290. package/dist/commonjs/experimental/index.d.ts +1 -1
  291. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
  292. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
  293. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
  294. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
  295. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +2 -2
  296. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +5 -5
  297. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +1 -1
  298. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +2 -2
  299. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/types.d.ts +6 -6
  300. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +3 -3
  301. package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +18 -11
  302. package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +23 -13
  303. package/dist/commonjs/experimental/tools/createMetaplaylist/index.d.ts +1 -1
  304. package/dist/commonjs/experimental/tools/createMetaplaylist/index.js +7 -8
  305. package/dist/commonjs/experimental/tools/index.d.ts +1 -1
  306. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api/index.d.ts +1 -1
  307. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api/index.js +15 -9
  308. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +3 -4
  309. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +3 -6
  310. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/capabilities.d.ts +1 -1
  311. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/capabilities.js +46 -9
  312. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts +1 -2
  313. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +5 -8
  314. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.d.ts +1 -2
  315. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +13 -21
  316. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +1 -2
  317. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +17 -21
  318. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +12 -12
  319. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/index.d.ts +1 -1
  320. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +1 -2
  321. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +8 -7
  322. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.d.ts +1 -1
  323. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +11 -6
  324. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts +1 -2
  325. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +2 -1
  326. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +1 -2
  327. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +3 -3
  328. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/types.d.ts +2 -2
  329. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
  330. package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/utils.js +7 -8
  331. package/dist/commonjs/features/add_features.d.ts +1 -1
  332. package/dist/commonjs/features/features_object.d.ts +1 -1
  333. package/dist/commonjs/features/features_object.js +3 -4
  334. package/dist/commonjs/features/index.d.ts +1 -1
  335. package/dist/commonjs/features/list/dash.d.ts +1 -1
  336. package/dist/commonjs/features/list/dash.js +4 -3
  337. package/dist/commonjs/features/list/dash_wasm.d.ts +2 -2
  338. package/dist/commonjs/features/list/dash_wasm.js +2 -1
  339. package/dist/commonjs/features/list/debug_element.d.ts +1 -1
  340. package/dist/commonjs/features/list/debug_element.js +1 -1
  341. package/dist/commonjs/features/list/directfile.d.ts +1 -1
  342. package/dist/commonjs/features/list/directfile.js +3 -2
  343. package/dist/commonjs/features/list/eme.d.ts +1 -1
  344. package/dist/commonjs/features/list/eme.js +1 -1
  345. package/dist/commonjs/features/list/html_sami_parser.d.ts +1 -1
  346. package/dist/commonjs/features/list/html_sami_parser.js +4 -4
  347. package/dist/commonjs/features/list/html_srt_parser.d.ts +1 -1
  348. package/dist/commonjs/features/list/html_srt_parser.js +4 -4
  349. package/dist/commonjs/features/list/html_text_buffer.d.ts +1 -1
  350. package/dist/commonjs/features/list/html_text_buffer.js +1 -1
  351. package/dist/commonjs/features/list/html_ttml_parser.d.ts +1 -1
  352. package/dist/commonjs/features/list/html_ttml_parser.js +4 -4
  353. package/dist/commonjs/features/list/html_vtt_parser.d.ts +1 -1
  354. package/dist/commonjs/features/list/html_vtt_parser.js +4 -4
  355. package/dist/commonjs/features/list/media_source_main.d.ts +1 -1
  356. package/dist/commonjs/features/list/media_source_main.js +2 -1
  357. package/dist/commonjs/features/list/native_sami_parser.d.ts +1 -1
  358. package/dist/commonjs/features/list/native_sami_parser.js +4 -4
  359. package/dist/commonjs/features/list/native_srt_parser.d.ts +1 -1
  360. package/dist/commonjs/features/list/native_srt_parser.js +4 -4
  361. package/dist/commonjs/features/list/native_text_buffer.d.ts +1 -1
  362. package/dist/commonjs/features/list/native_text_buffer.js +1 -1
  363. package/dist/commonjs/features/list/native_ttml_parser.d.ts +1 -1
  364. package/dist/commonjs/features/list/native_ttml_parser.js +4 -4
  365. package/dist/commonjs/features/list/native_vtt_parser.d.ts +1 -1
  366. package/dist/commonjs/features/list/native_vtt_parser.js +4 -4
  367. package/dist/commonjs/features/list/smooth.d.ts +1 -1
  368. package/dist/commonjs/features/list/smooth.js +2 -1
  369. package/dist/commonjs/features/types.d.ts +23 -28
  370. package/dist/commonjs/index.d.ts +1 -1
  371. package/dist/commonjs/index.js +1 -3
  372. package/dist/commonjs/manifest/adaptation.d.ts +135 -0
  373. package/dist/commonjs/manifest/adaptation.js +242 -0
  374. package/dist/commonjs/manifest/index.d.ts +25 -15
  375. package/dist/commonjs/manifest/index.js +46 -5
  376. package/dist/commonjs/manifest/manifest.d.ts +388 -0
  377. package/dist/commonjs/manifest/manifest.js +496 -0
  378. package/dist/commonjs/manifest/period.d.ts +106 -0
  379. package/dist/commonjs/manifest/period.js +236 -0
  380. package/dist/commonjs/manifest/representation.d.ts +238 -0
  381. package/dist/commonjs/manifest/representation.js +376 -0
  382. package/dist/commonjs/manifest/representation_index/index.d.ts +18 -0
  383. package/dist/commonjs/manifest/representation_index/static.d.ts +101 -0
  384. package/dist/commonjs/manifest/representation_index/static.js +143 -0
  385. package/dist/commonjs/manifest/representation_index/types.d.ts +420 -0
  386. package/dist/commonjs/manifest/types.d.ts +31 -2
  387. package/dist/commonjs/manifest/types.js +16 -0
  388. package/dist/commonjs/manifest/update_period_in_place.d.ts +52 -0
  389. package/dist/commonjs/manifest/update_period_in_place.js +172 -0
  390. package/dist/commonjs/manifest/update_periods.d.ts +50 -0
  391. package/dist/commonjs/manifest/update_periods.js +228 -0
  392. package/dist/commonjs/manifest/utils.d.ts +49 -11
  393. package/dist/commonjs/manifest/utils.js +79 -55
  394. package/dist/commonjs/minimal.d.ts +1 -1
  395. package/dist/commonjs/minimal.js +1 -6
  396. package/dist/commonjs/mse/main_codec_support_prober.d.ts +1 -1
  397. package/dist/commonjs/mse/main_media_source_interface.d.ts +2 -2
  398. package/dist/commonjs/mse/main_media_source_interface.js +34 -59
  399. package/dist/commonjs/mse/types.d.ts +3 -3
  400. package/dist/commonjs/mse/worker_codec_support_prober.d.ts +1 -1
  401. package/dist/commonjs/mse/worker_media_source_interface.d.ts +4 -4
  402. package/dist/commonjs/mse/worker_media_source_interface.js +17 -19
  403. package/dist/commonjs/multithread_types.d.ts +18 -15
  404. package/dist/commonjs/parsers/containers/isobmff/create_box.d.ts +1 -1
  405. package/dist/commonjs/parsers/containers/isobmff/create_box.js +3 -4
  406. package/dist/commonjs/parsers/containers/isobmff/drm/playready.js +2 -1
  407. package/dist/commonjs/parsers/containers/isobmff/get_box.js +4 -2
  408. package/dist/commonjs/parsers/containers/isobmff/index.d.ts +3 -3
  409. package/dist/commonjs/parsers/containers/isobmff/read.d.ts +1 -1
  410. package/dist/commonjs/parsers/containers/isobmff/read.js +7 -7
  411. package/dist/commonjs/parsers/containers/isobmff/take_pssh_out.js +4 -3
  412. package/dist/commonjs/parsers/containers/isobmff/utils.js +40 -64
  413. package/dist/commonjs/parsers/containers/matroska/index.d.ts +1 -1
  414. package/dist/commonjs/parsers/containers/matroska/utils.js +29 -42
  415. package/dist/commonjs/parsers/images/bif.js +4 -17
  416. package/dist/commonjs/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
  417. package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.js +3 -1
  418. package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
  419. package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
  420. package/dist/commonjs/parsers/manifest/dash/common/get_hdr_information.js +12 -4
  421. package/dist/commonjs/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
  422. package/dist/commonjs/parsers/manifest/dash/common/get_http_utc-timing_url.js +5 -4
  423. package/dist/commonjs/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
  424. package/dist/commonjs/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +2 -5
  425. package/dist/commonjs/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
  426. package/dist/commonjs/parsers/manifest/dash/common/get_periods_time_infos.js +10 -14
  427. package/dist/commonjs/parsers/manifest/dash/common/index.d.ts +1 -1
  428. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.d.ts +5 -5
  429. package/dist/commonjs/parsers/manifest/dash/common/indexes/base.js +29 -39
  430. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +2 -2
  431. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_init_segment.js +4 -8
  432. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
  433. package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +10 -14
  434. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.d.ts +2 -2
  435. package/dist/commonjs/parsers/manifest/dash/common/indexes/list.js +20 -33
  436. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts +3 -3
  437. package/dist/commonjs/parsers/manifest/dash/common/indexes/template.js +57 -58
  438. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +4 -5
  439. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +10 -13
  440. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +2 -3
  441. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +18 -23
  442. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
  443. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +9 -16
  444. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +3 -4
  445. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +26 -47
  446. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts +2 -11
  447. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +3 -74
  448. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +8 -9
  449. package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +66 -85
  450. package/dist/commonjs/parsers/manifest/dash/common/indexes/tokens.js +4 -2
  451. package/dist/commonjs/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
  452. package/dist/commonjs/parsers/manifest/dash/common/infer_adaptation_type.js +2 -2
  453. package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.js +10 -9
  454. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +5 -5
  455. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +56 -63
  456. package/dist/commonjs/parsers/manifest/dash/common/parse_availability_start_time.d.ts +2 -3
  457. package/dist/commonjs/parsers/manifest/dash/common/parse_availability_start_time.js +3 -5
  458. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.d.ts +6 -6
  459. package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.js +41 -67
  460. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.d.ts +5 -5
  461. package/dist/commonjs/parsers/manifest/dash/common/parse_periods.js +29 -46
  462. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.d.ts +5 -5
  463. package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.js +6 -4
  464. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.d.ts +5 -5
  465. package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +64 -66
  466. package/dist/commonjs/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
  467. package/dist/commonjs/parsers/manifest/dash/common/resolve_base_urls.js +2 -4
  468. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +23 -0
  469. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +331 -0
  470. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +23 -0
  471. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +33 -0
  472. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +22 -0
  473. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +21 -0
  474. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +23 -0
  475. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +113 -0
  476. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +21 -0
  477. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +42 -0
  478. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +21 -0
  479. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/MPD.js +164 -0
  480. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +21 -0
  481. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Period.js +132 -0
  482. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +21 -0
  483. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.js +209 -0
  484. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +22 -0
  485. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +108 -0
  486. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +21 -0
  487. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +23 -0
  488. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +92 -0
  489. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +21 -0
  490. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +23 -0
  491. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +52 -0
  492. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +187 -0
  493. package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/utils.js +354 -0
  494. package/dist/commonjs/parsers/manifest/dash/js-parser/parse_from_document.d.ts +24 -0
  495. package/dist/commonjs/parsers/manifest/dash/js-parser/parse_from_document.js +131 -0
  496. package/dist/commonjs/parsers/manifest/dash/node_parser_types.d.ts +3 -5
  497. package/dist/commonjs/parsers/manifest/dash/parsers_types.d.ts +1 -1
  498. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +1 -1
  499. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +17 -31
  500. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +2 -3
  501. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +25 -21
  502. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
  503. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +3 -3
  504. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +1 -1
  505. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +3 -3
  506. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -4
  507. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +2 -3
  508. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  509. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +2 -3
  510. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +4 -4
  511. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +2 -3
  512. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +6 -9
  513. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +2 -3
  514. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +15 -13
  515. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +3 -3
  516. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +1 -1
  517. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +2 -2
  518. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +10 -5
  519. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +2 -3
  520. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +2 -2
  521. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +18 -11
  522. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
  523. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +4 -2
  524. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +2 -3
  525. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +4 -4
  526. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
  527. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/root.js +3 -7
  528. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +2 -5
  529. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +1 -1
  530. package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/utils.js +3 -7
  531. package/dist/commonjs/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
  532. package/dist/commonjs/parsers/manifest/local/parse_local_manifest.js +16 -25
  533. package/dist/commonjs/parsers/manifest/local/representation_index.d.ts +2 -2
  534. package/dist/commonjs/parsers/manifest/local/representation_index.js +10 -8
  535. package/dist/commonjs/parsers/manifest/metaplaylist/index.d.ts +1 -1
  536. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +4 -4
  537. package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +43 -48
  538. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.d.ts +3 -3
  539. package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.js +7 -10
  540. package/dist/commonjs/parsers/manifest/smooth/create_parser.d.ts +2 -2
  541. package/dist/commonjs/parsers/manifest/smooth/create_parser.js +108 -130
  542. package/dist/commonjs/parsers/manifest/smooth/get_codecs.js +3 -3
  543. package/dist/commonjs/parsers/manifest/smooth/index.d.ts +1 -1
  544. package/dist/commonjs/parsers/manifest/smooth/parse_C_nodes.js +9 -9
  545. package/dist/commonjs/parsers/manifest/smooth/parse_protection_node.js +8 -12
  546. package/dist/commonjs/parsers/manifest/smooth/representation_index.d.ts +3 -3
  547. package/dist/commonjs/parsers/manifest/smooth/representation_index.js +37 -37
  548. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +1 -1
  549. package/dist/commonjs/parsers/manifest/smooth/shared_smooth_segment_timeline.js +9 -8
  550. package/dist/commonjs/parsers/manifest/smooth/utils/add_segment_infos.js +7 -10
  551. package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.d.ts +1 -1
  552. package/dist/commonjs/parsers/manifest/smooth/utils/parseBoolean.js +1 -1
  553. package/dist/commonjs/parsers/manifest/smooth/utils/tokens.d.ts +1 -1
  554. package/dist/commonjs/parsers/manifest/smooth/utils/tokens.js +2 -1
  555. package/dist/commonjs/parsers/manifest/types.d.ts +2 -2
  556. package/dist/commonjs/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
  557. package/dist/commonjs/parsers/manifest/utils/clear_timeline_from_position.d.ts +2 -3
  558. package/dist/commonjs/parsers/manifest/utils/clear_timeline_from_position.js +7 -11
  559. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
  560. package/dist/commonjs/parsers/manifest/utils/get_first_time_from_adaptation.js +4 -5
  561. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
  562. package/dist/commonjs/parsers/manifest/utils/get_last_time_from_adaptation.js +4 -5
  563. package/dist/commonjs/parsers/manifest/utils/get_maximum_positions.d.ts +2 -2
  564. package/dist/commonjs/parsers/manifest/utils/get_maximum_positions.js +17 -11
  565. package/dist/commonjs/parsers/manifest/utils/get_minimum_position.d.ts +2 -2
  566. package/dist/commonjs/parsers/manifest/utils/get_minimum_position.js +11 -5
  567. package/dist/commonjs/parsers/manifest/utils/index_helpers.js +5 -4
  568. package/dist/commonjs/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
  569. package/dist/commonjs/parsers/manifest/utils/update_segment_timeline.js +17 -17
  570. package/dist/commonjs/parsers/texttracks/index.d.ts +1 -1
  571. package/dist/commonjs/parsers/texttracks/sami/html.d.ts +1 -1
  572. package/dist/commonjs/parsers/texttracks/sami/html.js +16 -17
  573. package/dist/commonjs/parsers/texttracks/sami/native.d.ts +1 -1
  574. package/dist/commonjs/parsers/texttracks/sami/native.js +18 -12
  575. package/dist/commonjs/parsers/texttracks/srt/html.js +10 -12
  576. package/dist/commonjs/parsers/texttracks/srt/native.d.ts +1 -1
  577. package/dist/commonjs/parsers/texttracks/srt/native.js +8 -2
  578. package/dist/commonjs/parsers/texttracks/srt/parse_cue.js +8 -4
  579. package/dist/commonjs/parsers/texttracks/ttml/get_parameters.js +8 -7
  580. package/dist/commonjs/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
  581. package/dist/commonjs/parsers/texttracks/ttml/get_time_delimiters.js +10 -9
  582. package/dist/commonjs/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +2 -2
  583. package/dist/commonjs/parsers/texttracks/ttml/html/apply_extent.js +9 -5
  584. package/dist/commonjs/parsers/texttracks/ttml/html/apply_font_size.js +7 -6
  585. package/dist/commonjs/parsers/texttracks/ttml/html/apply_line_height.js +2 -2
  586. package/dist/commonjs/parsers/texttracks/ttml/html/apply_origin.js +9 -5
  587. package/dist/commonjs/parsers/texttracks/ttml/html/apply_padding.js +11 -7
  588. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.d.ts +2 -2
  589. package/dist/commonjs/parsers/texttracks/ttml/html/create_element.js +22 -29
  590. package/dist/commonjs/parsers/texttracks/ttml/html/generate_css_test_outline.js +2 -2
  591. package/dist/commonjs/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
  592. package/dist/commonjs/parsers/texttracks/ttml/html/parse_cue.js +3 -5
  593. package/dist/commonjs/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
  594. package/dist/commonjs/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +23 -39
  595. package/dist/commonjs/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
  596. package/dist/commonjs/parsers/texttracks/ttml/native/parse_cue.js +13 -14
  597. package/dist/commonjs/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
  598. package/dist/commonjs/parsers/texttracks/ttml/parse_ttml.d.ts +3 -3
  599. package/dist/commonjs/parsers/texttracks/ttml/parse_ttml.js +15 -27
  600. package/dist/commonjs/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
  601. package/dist/commonjs/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
  602. package/dist/commonjs/parsers/texttracks/ttml/time_parsing.js +2 -2
  603. package/dist/commonjs/parsers/texttracks/ttml/xml_utils.js +1 -2
  604. package/dist/commonjs/parsers/texttracks/types.d.ts +1 -1
  605. package/dist/commonjs/parsers/texttracks/webvtt/get_style_blocks.js +1 -2
  606. package/dist/commonjs/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
  607. package/dist/commonjs/parsers/texttracks/webvtt/html/create_default_style_elements.d.ts +1 -1
  608. package/dist/commonjs/parsers/texttracks/webvtt/html/create_style_attribute.js +12 -6
  609. package/dist/commonjs/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
  610. package/dist/commonjs/parsers/texttracks/webvtt/html/create_styled_element.js +8 -7
  611. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_style_block.js +4 -4
  612. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_to_div.d.ts +1 -1
  613. package/dist/commonjs/parsers/texttracks/webvtt/html/parse_webvtt_to_div.js +1 -1
  614. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
  615. package/dist/commonjs/parsers/texttracks/webvtt/html/to_html.js +10 -4
  616. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_to_cues.d.ts +1 -1
  617. package/dist/commonjs/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +9 -5
  618. package/dist/commonjs/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
  619. package/dist/commonjs/parsers/texttracks/webvtt/native/to_native_cue.d.ts +2 -2
  620. package/dist/commonjs/parsers/texttracks/webvtt/native/to_native_cue.js +3 -3
  621. package/dist/commonjs/parsers/texttracks/webvtt/parse_cue_block.js +5 -9
  622. package/dist/commonjs/parsers/texttracks/webvtt/parse_timestamp.js +2 -1
  623. package/dist/commonjs/parsers/texttracks/webvtt/utils.js +6 -6
  624. package/dist/commonjs/public_types.d.ts +16 -13
  625. package/dist/commonjs/public_types.js +1 -0
  626. package/dist/commonjs/text_displayer/html/html_parsers.js +25 -0
  627. package/dist/commonjs/text_displayer/html/html_text_displayer.d.ts +100 -0
  628. package/dist/commonjs/text_displayer/html/html_text_displayer.js +317 -0
  629. package/dist/commonjs/text_displayer/html/text_track_cues_store.d.ts +65 -0
  630. package/dist/commonjs/text_displayer/html/text_track_cues_store.js +378 -0
  631. package/dist/commonjs/text_displayer/html/update_proportional_elements.js +65 -0
  632. package/dist/commonjs/text_displayer/html/utils.js +115 -0
  633. package/dist/commonjs/text_displayer/index.d.ts +2 -0
  634. package/dist/commonjs/text_displayer/manual_time_ranges.js +52 -0
  635. package/dist/commonjs/text_displayer/native/native_parsers.d.ts +11 -0
  636. package/dist/commonjs/text_displayer/native/native_parsers.js +25 -0
  637. package/dist/commonjs/text_displayer/native/native_text_displayer.d.ts +56 -0
  638. package/dist/commonjs/text_displayer/native/native_text_displayer.js +207 -0
  639. package/dist/commonjs/text_displayer/types.d.ts +74 -0
  640. package/dist/commonjs/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
  641. package/dist/commonjs/tools/TextTrackRenderer/text_track_renderer.js +7 -10
  642. package/dist/commonjs/tools/index.d.ts +1 -1
  643. package/dist/commonjs/tools/parseBIFThumbnails/index.js +4 -5
  644. package/dist/commonjs/transports/dash/add_segment_integrity_checks_to_loader.d.ts +1 -1
  645. package/dist/commonjs/transports/dash/add_segment_integrity_checks_to_loader.js +3 -2
  646. package/dist/commonjs/transports/dash/construct_segment_url.d.ts +2 -2
  647. package/dist/commonjs/transports/dash/construct_segment_url.js +3 -7
  648. package/dist/commonjs/transports/dash/extract_complete_chunks.js +2 -2
  649. package/dist/commonjs/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
  650. package/dist/commonjs/transports/dash/get_events_out_of_emsgs.js +10 -12
  651. package/dist/commonjs/transports/dash/init_segment_loader.d.ts +3 -3
  652. package/dist/commonjs/transports/dash/init_segment_loader.js +22 -46
  653. package/dist/commonjs/transports/dash/low_latency_segment_loader.d.ts +2 -2
  654. package/dist/commonjs/transports/dash/low_latency_segment_loader.js +9 -16
  655. package/dist/commonjs/transports/dash/manifest_parser.d.ts +2 -2
  656. package/dist/commonjs/transports/dash/manifest_parser.js +28 -69
  657. package/dist/commonjs/transports/dash/pipelines.d.ts +1 -1
  658. package/dist/commonjs/transports/dash/pipelines.js +12 -15
  659. package/dist/commonjs/transports/dash/segment_loader.d.ts +4 -4
  660. package/dist/commonjs/transports/dash/segment_loader.js +21 -35
  661. package/dist/commonjs/transports/dash/segment_parser.d.ts +2 -2
  662. package/dist/commonjs/transports/dash/segment_parser.js +22 -54
  663. package/dist/commonjs/transports/dash/text_loader.d.ts +2 -2
  664. package/dist/commonjs/transports/dash/text_loader.js +18 -21
  665. package/dist/commonjs/transports/dash/text_parser.d.ts +2 -2
  666. package/dist/commonjs/transports/dash/text_parser.js +23 -49
  667. package/dist/commonjs/transports/index.d.ts +1 -1
  668. package/dist/commonjs/transports/index.js +15 -0
  669. package/dist/commonjs/transports/local/pipelines.d.ts +1 -1
  670. package/dist/commonjs/transports/local/pipelines.js +10 -15
  671. package/dist/commonjs/transports/local/segment_loader.d.ts +3 -3
  672. package/dist/commonjs/transports/local/segment_loader.js +6 -14
  673. package/dist/commonjs/transports/local/segment_parser.d.ts +1 -1
  674. package/dist/commonjs/transports/local/segment_parser.js +12 -30
  675. package/dist/commonjs/transports/local/text_parser.d.ts +1 -1
  676. package/dist/commonjs/transports/local/text_parser.js +18 -48
  677. package/dist/commonjs/transports/metaplaylist/manifest_loader.d.ts +4 -4
  678. package/dist/commonjs/transports/metaplaylist/manifest_loader.js +5 -9
  679. package/dist/commonjs/transports/metaplaylist/pipelines.d.ts +1 -1
  680. package/dist/commonjs/transports/metaplaylist/pipelines.js +22 -38
  681. package/dist/commonjs/transports/smooth/extract_timings_infos.d.ts +2 -2
  682. package/dist/commonjs/transports/smooth/extract_timings_infos.js +13 -14
  683. package/dist/commonjs/transports/smooth/is_mp4_embedded_track.d.ts +1 -1
  684. package/dist/commonjs/transports/smooth/is_mp4_embedded_track.js +1 -1
  685. package/dist/commonjs/transports/smooth/isobmff/create_audio_init_segment.d.ts +1 -0
  686. package/dist/commonjs/transports/smooth/isobmff/create_audio_init_segment.js +4 -3
  687. package/dist/commonjs/transports/smooth/isobmff/create_boxes.js +31 -22
  688. package/dist/commonjs/transports/smooth/isobmff/create_init_segment.js +1 -1
  689. package/dist/commonjs/transports/smooth/isobmff/get_aaces_header.js +16 -4
  690. package/dist/commonjs/transports/smooth/isobmff/parse_tfrf.js +1 -1
  691. package/dist/commonjs/transports/smooth/isobmff/parse_tfxd.js +1 -1
  692. package/dist/commonjs/transports/smooth/isobmff/patch_segment.js +11 -12
  693. package/dist/commonjs/transports/smooth/pipelines.d.ts +1 -1
  694. package/dist/commonjs/transports/smooth/pipelines.js +60 -101
  695. package/dist/commonjs/transports/smooth/segment_loader.d.ts +3 -3
  696. package/dist/commonjs/transports/smooth/segment_loader.js +27 -50
  697. package/dist/commonjs/transports/smooth/utils.d.ts +4 -4
  698. package/dist/commonjs/transports/smooth/utils.js +5 -9
  699. package/dist/commonjs/transports/types.d.ts +27 -22
  700. package/dist/commonjs/transports/utils/byte_range.js +2 -1
  701. package/dist/commonjs/transports/utils/call_custom_manifest_loader.d.ts +3 -3
  702. package/dist/commonjs/transports/utils/call_custom_manifest_loader.js +6 -10
  703. package/dist/commonjs/transports/utils/check_isobmff_integrity.js +3 -3
  704. package/dist/commonjs/transports/utils/find_complete_box.js +1 -2
  705. package/dist/commonjs/transports/utils/generate_manifest_loader.d.ts +3 -3
  706. package/dist/commonjs/transports/utils/generate_manifest_loader.js +6 -18
  707. package/dist/commonjs/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
  708. package/dist/commonjs/transports/utils/get_isobmff_timing_infos.js +11 -12
  709. package/dist/commonjs/transports/utils/infer_segment_container.d.ts +1 -1
  710. package/dist/commonjs/transports/utils/infer_segment_container.js +3 -1
  711. package/dist/commonjs/transports/utils/parse_text_track.d.ts +4 -4
  712. package/dist/commonjs/transports/utils/parse_text_track.js +7 -4
  713. package/dist/commonjs/utils/array_includes.js +6 -2
  714. package/dist/commonjs/utils/assert.js +6 -3
  715. package/dist/commonjs/utils/base64.js +29 -87
  716. package/dist/commonjs/utils/byte_parsing.js +56 -64
  717. package/dist/commonjs/utils/cancellable_sleep.d.ts +1 -1
  718. package/dist/commonjs/utils/create_cancellable_promise.d.ts +1 -1
  719. package/dist/commonjs/utils/deep_merge.js +4 -4
  720. package/dist/commonjs/utils/event_emitter.d.ts +1 -1
  721. package/dist/commonjs/utils/event_emitter.js +2 -1
  722. package/dist/commonjs/utils/get_fuzzed_delay.js +1 -1
  723. package/dist/commonjs/utils/global_scope.d.ts +1 -1
  724. package/dist/commonjs/utils/global_scope.js +3 -10
  725. package/dist/commonjs/utils/hash_buffer.js +1 -1
  726. package/dist/commonjs/utils/languages/normalize.js +2 -4
  727. package/dist/commonjs/utils/logger.js +31 -21
  728. package/dist/commonjs/utils/object_assign.d.ts +3 -6
  729. package/dist/commonjs/utils/object_assign.js +7 -5
  730. package/dist/commonjs/utils/object_values.d.ts +1 -1
  731. package/dist/commonjs/utils/object_values.js +3 -2
  732. package/dist/commonjs/utils/queue_microtask.js +3 -3
  733. package/dist/commonjs/utils/ranges.js +29 -22
  734. package/dist/commonjs/utils/reference.d.ts +1 -1
  735. package/dist/commonjs/utils/reference.js +3 -1
  736. package/dist/commonjs/utils/request/fetch.d.ts +1 -1
  737. package/dist/commonjs/utils/request/fetch.js +22 -33
  738. package/dist/commonjs/utils/request/request_error.js +2 -2
  739. package/dist/commonjs/utils/request/xhr.d.ts +1 -1
  740. package/dist/commonjs/utils/request/xhr.js +17 -28
  741. package/dist/commonjs/utils/retry_promise_with_backoff.d.ts +1 -10
  742. package/dist/commonjs/utils/retry_promise_with_backoff.js +4 -18
  743. package/dist/commonjs/utils/slice_uint8array.js +3 -3
  744. package/dist/commonjs/utils/starts_with.js +3 -3
  745. package/dist/commonjs/utils/string_parsing.js +18 -16
  746. package/dist/commonjs/utils/sync_or_async.js +2 -6
  747. package/dist/commonjs/utils/task_canceller.js +2 -1
  748. package/dist/commonjs/utils/wrapInPromise.d.ts +1 -1
  749. package/dist/commonjs/worker_entry_point.js +1 -1
  750. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  751. package/dist/es2017/compat/add_class_name.js +3 -4
  752. package/dist/es2017/compat/add_text_track.d.ts +1 -1
  753. package/dist/es2017/compat/add_text_track.js +2 -3
  754. package/dist/es2017/compat/browser_compatibility_types.js +7 -13
  755. package/dist/es2017/compat/browser_detection.js +10 -8
  756. package/dist/es2017/compat/can_reuse_media_keys.js +1 -1
  757. package/dist/es2017/compat/change_source_buffer_type.d.ts +1 -1
  758. package/dist/es2017/compat/eme/close_session.d.ts +1 -1
  759. package/dist/es2017/compat/eme/close_session.js +13 -17
  760. package/dist/es2017/compat/eme/custom_key_system_access.d.ts +1 -1
  761. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.d.ts +1 -1
  762. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.js +7 -14
  763. package/dist/es2017/compat/eme/custom_media_keys/index.js +1 -1
  764. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +1 -1
  765. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +1 -1
  766. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.js +10 -10
  767. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts +1 -1
  768. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts +1 -1
  769. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +9 -5
  770. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.d.ts +1 -1
  771. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys_constructor.js +3 -3
  772. package/dist/es2017/compat/eme/eme-api-implementation.d.ts +3 -3
  773. package/dist/es2017/compat/eme/eme-api-implementation.js +12 -13
  774. package/dist/es2017/compat/eme/generate_key_request.d.ts +1 -1
  775. package/dist/es2017/compat/eme/generate_key_request.js +20 -17
  776. package/dist/es2017/compat/eme/get_init_data.js +7 -5
  777. package/dist/es2017/compat/eme/get_uuid_kid_from_keystatus_kid.js +3 -2
  778. package/dist/es2017/compat/eme/get_webkit_fairplay_initdata.js +13 -12
  779. package/dist/es2017/compat/eme/load_session.d.ts +1 -1
  780. package/dist/es2017/compat/enable_audio_track.d.ts +1 -1
  781. package/dist/es2017/compat/event_listeners.d.ts +4 -4
  782. package/dist/es2017/compat/event_listeners.js +36 -39
  783. package/dist/es2017/compat/has_webassembly.js +2 -1
  784. package/dist/es2017/compat/index.d.ts +36 -0
  785. package/dist/es2017/compat/index.js +42 -0
  786. package/dist/es2017/compat/is_codec_supported.js +1 -2
  787. package/dist/es2017/compat/is_vtt_cue.d.ts +1 -1
  788. package/dist/es2017/compat/make_vtt_cue.d.ts +1 -1
  789. package/dist/es2017/compat/on_height_width_change.d.ts +2 -2
  790. package/dist/es2017/compat/on_height_width_change.js +1 -1
  791. package/dist/es2017/compat/patch_webkit_source_buffer.js +28 -28
  792. package/dist/es2017/compat/should_favour_custom_safari_EME.js +2 -2
  793. package/dist/es2017/compat/should_reload_media_source_on_decipherability_update.js +2 -1
  794. package/dist/es2017/config.d.ts +1 -1
  795. package/dist/es2017/core/adaptive/adaptive_representation_selector.d.ts +22 -25
  796. package/dist/es2017/core/adaptive/adaptive_representation_selector.js +28 -40
  797. package/dist/es2017/core/adaptive/buffer_based_chooser.d.ts +1 -1
  798. package/dist/es2017/core/adaptive/buffer_based_chooser.js +12 -14
  799. package/dist/es2017/core/adaptive/guess_based_chooser.d.ts +6 -6
  800. package/dist/es2017/core/adaptive/guess_based_chooser.js +7 -8
  801. package/dist/es2017/core/adaptive/index.d.ts +2 -2
  802. package/dist/es2017/core/adaptive/network_analyzer.d.ts +6 -6
  803. package/dist/es2017/core/adaptive/network_analyzer.js +41 -45
  804. package/dist/es2017/core/adaptive/utils/bandwidth_estimator.js +1 -1
  805. package/dist/es2017/core/adaptive/utils/ewma.js +2 -1
  806. package/dist/es2017/core/adaptive/utils/filter_by_bitrate.d.ts +2 -2
  807. package/dist/es2017/core/adaptive/utils/filter_by_resolution.d.ts +2 -2
  808. package/dist/es2017/core/adaptive/utils/filter_by_resolution.js +4 -2
  809. package/dist/es2017/core/adaptive/utils/get_buffer_levels.js +5 -8
  810. package/dist/es2017/core/adaptive/utils/last_estimate_storage.d.ts +3 -3
  811. package/dist/es2017/core/adaptive/utils/pending_requests_store.d.ts +5 -5
  812. package/dist/es2017/core/adaptive/utils/pending_requests_store.js +6 -5
  813. package/dist/es2017/core/adaptive/utils/representation_score_calculator.d.ts +7 -7
  814. package/dist/es2017/core/adaptive/utils/representation_score_calculator.js +8 -10
  815. package/dist/es2017/core/adaptive/utils/select_optimal_representation.d.ts +4 -4
  816. package/dist/es2017/core/adaptive/utils/select_optimal_representation.js +2 -2
  817. package/dist/es2017/core/api/debug/buffer_graph.d.ts +28 -0
  818. package/dist/es2017/core/api/debug/buffer_graph.js +169 -0
  819. package/dist/es2017/core/api/debug/buffer_size_graph.js +103 -0
  820. package/dist/es2017/core/api/debug/modules/general_info.d.ts +3 -0
  821. package/dist/es2017/core/api/debug/modules/general_info.js +188 -0
  822. package/dist/es2017/core/api/debug/modules/segment_buffer_content.d.ts +4 -0
  823. package/dist/es2017/core/api/debug/modules/segment_buffer_content.js +122 -0
  824. package/dist/es2017/core/api/debug/modules/segment_buffer_size.d.ts +3 -0
  825. package/dist/es2017/core/api/debug/modules/segment_buffer_size.js +35 -0
  826. package/dist/es2017/core/api/debug/render.d.ts +3 -0
  827. package/dist/es2017/core/api/debug/render.js +32 -0
  828. package/dist/es2017/core/api/debug/utils.js +54 -0
  829. package/dist/es2017/core/api/index.d.ts +20 -0
  830. package/dist/es2017/core/api/index.js +19 -0
  831. package/dist/es2017/core/api/option_utils.d.ts +124 -0
  832. package/dist/es2017/core/api/option_utils.js +315 -0
  833. package/dist/es2017/core/api/playback_observer.d.ts +521 -0
  834. package/dist/es2017/core/api/playback_observer.js +770 -0
  835. package/dist/es2017/core/api/public_api.d.ts +751 -0
  836. package/dist/es2017/core/api/public_api.js +2346 -0
  837. package/dist/es2017/core/api/track_management/index.d.ts +18 -0
  838. package/dist/es2017/core/api/track_management/index.js +18 -0
  839. package/dist/es2017/core/api/track_management/media_element_tracks_store.d.ts +197 -0
  840. package/dist/es2017/core/api/track_management/media_element_tracks_store.js +669 -0
  841. package/dist/es2017/core/api/track_management/track_dispatcher.d.ts +100 -0
  842. package/dist/es2017/core/api/track_management/track_dispatcher.js +166 -0
  843. package/dist/es2017/core/api/track_management/tracks_store.d.ts +441 -0
  844. package/dist/es2017/core/api/track_management/tracks_store.js +981 -0
  845. package/dist/es2017/core/api/utils.d.ts +66 -0
  846. package/dist/es2017/core/api/utils.js +167 -0
  847. package/dist/es2017/core/decrypt/__tests__/__global__/utils.d.ts +178 -0
  848. package/dist/es2017/core/decrypt/__tests__/__global__/utils.js +363 -0
  849. package/dist/es2017/core/decrypt/attach_media_keys.d.ts +53 -0
  850. package/dist/es2017/core/decrypt/attach_media_keys.js +72 -0
  851. package/dist/es2017/core/decrypt/clear_on_stop.js +40 -0
  852. package/dist/es2017/core/decrypt/content_decryptor.d.ts +184 -0
  853. package/dist/es2017/core/decrypt/content_decryptor.js +792 -0
  854. package/dist/es2017/core/decrypt/create_or_load_session.d.ts +63 -0
  855. package/dist/es2017/core/decrypt/create_or_load_session.js +75 -0
  856. package/dist/es2017/core/decrypt/create_session.d.ts +53 -0
  857. package/dist/es2017/core/decrypt/create_session.js +150 -0
  858. package/dist/es2017/core/decrypt/dispose_decryption_resources.js +42 -0
  859. package/dist/es2017/core/decrypt/find_key_system.d.ts +48 -0
  860. package/dist/es2017/core/decrypt/find_key_system.js +281 -0
  861. package/dist/es2017/core/decrypt/get_media_keys.d.ts +44 -0
  862. package/dist/es2017/core/decrypt/get_media_keys.js +100 -0
  863. package/dist/es2017/core/decrypt/index.d.ts +26 -0
  864. package/dist/es2017/core/decrypt/index.js +26 -0
  865. package/dist/es2017/core/decrypt/init_media_keys.d.ts +26 -0
  866. package/dist/es2017/core/decrypt/session_events_listener.d.ts +75 -0
  867. package/dist/es2017/core/decrypt/session_events_listener.js +249 -0
  868. package/dist/es2017/core/decrypt/set_server_certificate.d.ts +51 -0
  869. package/dist/es2017/core/decrypt/set_server_certificate.js +83 -0
  870. package/dist/es2017/core/decrypt/types.d.ts +374 -0
  871. package/dist/es2017/core/decrypt/utils/are_init_values_compatible.js +113 -0
  872. package/dist/es2017/core/decrypt/utils/check_key_statuses.d.ts +52 -0
  873. package/dist/es2017/core/decrypt/utils/check_key_statuses.js +165 -0
  874. package/dist/es2017/core/decrypt/utils/clean_old_loaded_sessions.d.ts +26 -0
  875. package/dist/es2017/core/decrypt/utils/clean_old_stored_persistent_info.d.ts +32 -0
  876. package/dist/es2017/core/decrypt/utils/init_data_values_container.d.ts +69 -0
  877. package/dist/es2017/core/decrypt/utils/init_data_values_container.js +96 -0
  878. package/dist/es2017/core/decrypt/utils/is_session_usable.d.ts +24 -0
  879. package/dist/es2017/core/decrypt/utils/is_session_usable.js +49 -0
  880. package/dist/es2017/core/decrypt/utils/key_id_comparison.js +48 -0
  881. package/dist/es2017/core/decrypt/utils/key_session_record.d.ts +104 -0
  882. package/dist/es2017/core/decrypt/utils/key_session_record.js +153 -0
  883. package/dist/es2017/core/decrypt/utils/loaded_sessions_store.d.ts +215 -0
  884. package/dist/es2017/core/decrypt/utils/loaded_sessions_store.js +365 -0
  885. package/dist/es2017/core/decrypt/utils/media_keys_infos_store.d.ts +56 -0
  886. package/dist/es2017/core/decrypt/utils/media_keys_infos_store.js +44 -0
  887. package/dist/es2017/core/decrypt/utils/persistent_sessions_store.d.ts +94 -0
  888. package/dist/es2017/core/decrypt/utils/persistent_sessions_store.js +321 -0
  889. package/dist/es2017/core/decrypt/utils/serializable_bytes.d.ts +44 -0
  890. package/dist/es2017/core/decrypt/utils/serializable_bytes.js +46 -0
  891. package/dist/es2017/core/decrypt/utils/server_certificate_store.d.ts +64 -0
  892. package/dist/es2017/core/decrypt/utils/server_certificate_store.js +112 -0
  893. package/dist/es2017/core/fetchers/cdn_prioritizer.d.ts +2 -2
  894. package/dist/es2017/core/fetchers/cdn_prioritizer.js +6 -5
  895. package/dist/es2017/core/fetchers/manifest/index.d.ts +1 -1
  896. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts +3 -3
  897. package/dist/es2017/core/fetchers/manifest/manifest_fetcher.js +76 -76
  898. package/dist/es2017/core/fetchers/segment/index.d.ts +1 -1
  899. package/dist/es2017/core/fetchers/segment/initialization_segment_cache.d.ts +4 -4
  900. package/dist/es2017/core/fetchers/segment/initialization_segment_cache.js +1 -1
  901. package/dist/es2017/core/fetchers/segment/prioritized_segment_fetcher.d.ts +3 -4
  902. package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts +12 -12
  903. package/dist/es2017/core/fetchers/segment/segment_fetcher.js +37 -52
  904. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts +5 -5
  905. package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.js +3 -5
  906. package/dist/es2017/core/fetchers/segment/task_prioritizer.d.ts +1 -1
  907. package/dist/es2017/core/fetchers/segment/task_prioritizer.js +21 -22
  908. package/dist/es2017/core/fetchers/utils/error_selector.d.ts +2 -1
  909. package/dist/es2017/core/fetchers/utils/error_selector.js +2 -1
  910. package/dist/es2017/core/fetchers/utils/schedule_request.d.ts +3 -3
  911. package/dist/es2017/core/fetchers/utils/schedule_request.js +23 -22
  912. package/dist/es2017/core/init/directfile_content_initializer.d.ts +97 -0
  913. package/dist/es2017/core/init/directfile_content_initializer.js +238 -0
  914. package/dist/es2017/core/init/media_source_content_initializer.d.ts +165 -0
  915. package/dist/es2017/core/init/media_source_content_initializer.js +685 -0
  916. package/dist/es2017/core/init/multithread/main_thread/multi_thread_content_initializer.d.ts +167 -0
  917. package/dist/es2017/core/init/multithread/main_thread/multi_thread_content_initializer.js +1317 -0
  918. package/dist/es2017/core/init/multithread/main_thread/send_message.d.ts +2 -0
  919. package/dist/es2017/core/init/multithread/main_thread/send_message.js +10 -0
  920. package/dist/es2017/core/init/multithread/worker/content_preparer.d.ts +92 -0
  921. package/dist/es2017/core/init/multithread/worker/content_preparer.js +236 -0
  922. package/dist/es2017/core/init/multithread/worker/globals.d.ts +13 -0
  923. package/dist/es2017/core/init/multithread/worker/globals.js +18 -0
  924. package/dist/es2017/core/init/multithread/worker/index.d.ts +2 -0
  925. package/dist/es2017/core/init/multithread/worker/index.js +2 -0
  926. package/dist/es2017/core/init/multithread/worker/send_message.d.ts +3 -0
  927. package/dist/es2017/core/init/multithread/worker/send_message.js +20 -0
  928. package/dist/es2017/core/init/multithread/worker/track_choice_setter.d.ts +19 -0
  929. package/dist/es2017/core/init/multithread/worker/track_choice_setter.js +114 -0
  930. package/dist/es2017/core/init/multithread/worker/worker_playback_observer.d.ts +21 -0
  931. package/dist/es2017/core/init/multithread/worker/worker_playback_observer.js +43 -0
  932. package/dist/es2017/core/init/multithread/worker/worker_portal.d.ts +1 -0
  933. package/dist/es2017/core/init/multithread/worker/worker_portal.js +671 -0
  934. package/dist/es2017/core/init/multithread/worker/worker_text_displayer_interface.d.ts +64 -0
  935. package/dist/es2017/core/init/multithread/worker/worker_text_displayer_interface.js +121 -0
  936. package/dist/es2017/core/init/types.d.ts +226 -0
  937. package/dist/es2017/core/init/utils/DecipherabilityFreezeDetector.d.ts +54 -0
  938. package/dist/es2017/core/init/utils/DecipherabilityFreezeDetector.js +93 -0
  939. package/dist/es2017/core/init/utils/content_time_boundaries_observer.d.ts +192 -0
  940. package/dist/es2017/core/init/utils/content_time_boundaries_observer.js +468 -0
  941. package/dist/es2017/core/init/utils/create_content_time_boundaries_observer.d.ts +28 -0
  942. package/dist/es2017/core/init/utils/create_content_time_boundaries_observer.js +41 -0
  943. package/dist/es2017/core/init/utils/create_core_playback_observer.d.ts +61 -0
  944. package/dist/es2017/core/init/utils/create_core_playback_observer.js +122 -0
  945. package/dist/es2017/core/init/utils/create_media_source.d.ts +37 -0
  946. package/dist/es2017/core/init/utils/create_media_source.js +103 -0
  947. package/dist/es2017/core/init/utils/end_of_stream.d.ts +33 -0
  948. package/dist/es2017/core/init/utils/end_of_stream.js +88 -0
  949. package/dist/es2017/core/init/utils/get_initial_time.d.ts +76 -0
  950. package/dist/es2017/core/init/utils/get_initial_time.js +113 -0
  951. package/dist/es2017/core/init/utils/get_loaded_reference.d.ts +28 -0
  952. package/dist/es2017/core/init/utils/get_loaded_reference.js +58 -0
  953. package/dist/es2017/core/init/utils/initial_seek_and_play.d.ts +61 -0
  954. package/dist/es2017/core/init/utils/initial_seek_and_play.js +206 -0
  955. package/dist/es2017/core/init/utils/initialize_content_decryption.d.ts +86 -0
  956. package/dist/es2017/core/init/utils/initialize_content_decryption.js +110 -0
  957. package/dist/es2017/core/init/utils/main_thread_text_displayer_interface.d.ts +35 -0
  958. package/dist/es2017/core/init/utils/media_source_duration_updater.js +263 -0
  959. package/dist/es2017/core/init/utils/rebuffering_controller.d.ts +114 -0
  960. package/dist/es2017/core/init/utils/rebuffering_controller.js +421 -0
  961. package/dist/es2017/core/init/utils/stream_events_emitter/are_same_stream_events.js +35 -0
  962. package/dist/es2017/core/init/utils/stream_events_emitter/index.d.ts +18 -0
  963. package/dist/es2017/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +25 -0
  964. package/dist/es2017/core/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +85 -0
  965. package/dist/es2017/core/init/utils/stream_events_emitter/stream_events_emitter.d.ts +53 -0
  966. package/dist/es2017/core/init/utils/stream_events_emitter/stream_events_emitter.js +180 -0
  967. package/dist/es2017/core/init/utils/stream_events_emitter/types.d.ts +41 -0
  968. package/dist/es2017/core/init/utils/throw_on_media_error.d.ts +23 -0
  969. package/dist/es2017/core/init/utils/throw_on_media_error.js +58 -0
  970. package/dist/es2017/core/segment_buffers/garbage_collector.d.ts +43 -0
  971. package/dist/es2017/core/segment_buffers/garbage_collector.js +137 -0
  972. package/dist/es2017/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.d.ts +134 -0
  973. package/dist/es2017/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +259 -0
  974. package/dist/es2017/core/segment_buffers/implementations/audio_video/index.d.ts +17 -0
  975. package/dist/es2017/core/segment_buffers/implementations/audio_video/index.js +17 -0
  976. package/dist/es2017/core/segment_buffers/implementations/index.d.ts +19 -0
  977. package/dist/es2017/core/segment_buffers/implementations/index.js +18 -0
  978. package/dist/es2017/core/segment_buffers/implementations/text/index.d.ts +3 -0
  979. package/dist/es2017/core/segment_buffers/implementations/text/index.js +2 -0
  980. package/dist/es2017/core/segment_buffers/implementations/text/text_segment_buffer.d.ts +89 -0
  981. package/dist/es2017/core/segment_buffers/implementations/text/text_segment_buffer.js +152 -0
  982. package/dist/es2017/core/segment_buffers/implementations/types.d.ts +309 -0
  983. package/dist/es2017/core/segment_buffers/implementations/types.js +112 -0
  984. package/dist/es2017/core/segment_buffers/implementations/utils/manual_time_ranges.js +63 -0
  985. package/dist/es2017/core/segment_buffers/index.d.ts +21 -0
  986. package/dist/es2017/core/segment_buffers/index.js +21 -0
  987. package/dist/es2017/core/segment_buffers/inventory/buffered_history.d.ts +89 -0
  988. package/dist/es2017/core/segment_buffers/inventory/buffered_history.js +90 -0
  989. package/dist/es2017/core/segment_buffers/inventory/index.d.ts +21 -0
  990. package/dist/es2017/core/segment_buffers/inventory/index.js +18 -0
  991. package/dist/es2017/core/segment_buffers/inventory/segment_inventory.d.ts +238 -0
  992. package/dist/es2017/core/segment_buffers/inventory/segment_inventory.js +863 -0
  993. package/dist/es2017/core/segment_buffers/inventory/types.d.ts +27 -0
  994. package/dist/es2017/core/segment_buffers/inventory/utils.d.ts +33 -0
  995. package/dist/es2017/core/segment_buffers/inventory/utils.js +49 -0
  996. package/dist/es2017/core/segment_buffers/segment_buffers_store.d.ts +171 -0
  997. package/dist/es2017/core/segment_buffers/segment_buffers_store.js +281 -0
  998. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts +4 -4
  999. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +32 -43
  1000. package/dist/es2017/core/stream/adaptation/get_representations_switch_strategy.d.ts +11 -11
  1001. package/dist/es2017/core/stream/adaptation/get_representations_switch_strategy.js +32 -31
  1002. package/dist/es2017/core/stream/adaptation/types.d.ts +18 -18
  1003. package/dist/es2017/core/stream/index.d.ts +1 -1
  1004. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.d.ts +5 -5
  1005. package/dist/es2017/core/stream/orchestrator/get_time_ranges_for_content.js +6 -6
  1006. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts +19 -20
  1007. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +57 -68
  1008. package/dist/es2017/core/stream/period/period_stream.d.ts +5 -5
  1009. package/dist/es2017/core/stream/period/period_stream.js +58 -78
  1010. package/dist/es2017/core/stream/period/types.d.ts +21 -23
  1011. package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +13 -13
  1012. package/dist/es2017/core/stream/period/utils/get_adaptation_switch_strategy.js +38 -34
  1013. package/dist/es2017/core/stream/representation/representation_stream.d.ts +5 -5
  1014. package/dist/es2017/core/stream/representation/representation_stream.js +35 -48
  1015. package/dist/es2017/core/stream/representation/types.d.ts +24 -24
  1016. package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.d.ts +9 -9
  1017. package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.js +14 -13
  1018. package/dist/es2017/core/stream/representation/utils/check_for_discontinuity.d.ts +7 -7
  1019. package/dist/es2017/core/stream/representation/utils/check_for_discontinuity.js +18 -16
  1020. package/dist/es2017/core/stream/representation/utils/downloading_queue.d.ts +10 -10
  1021. package/dist/es2017/core/stream/representation/utils/downloading_queue.js +11 -11
  1022. package/dist/es2017/core/stream/representation/utils/get_buffer_status.d.ts +11 -11
  1023. package/dist/es2017/core/stream/representation/utils/get_buffer_status.js +31 -40
  1024. package/dist/es2017/core/stream/representation/utils/get_needed_segments.d.ts +7 -6
  1025. package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +31 -26
  1026. package/dist/es2017/core/stream/representation/utils/push_init_segment.d.ts +13 -13
  1027. package/dist/es2017/core/stream/representation/utils/push_init_segment.js +9 -8
  1028. package/dist/es2017/core/stream/representation/utils/push_media_segment.d.ts +14 -14
  1029. package/dist/es2017/core/stream/representation/utils/push_media_segment.js +15 -14
  1030. package/dist/es2017/default_config.js +18 -21
  1031. package/dist/es2017/errors/encrypted_media_error.d.ts +2 -2
  1032. package/dist/es2017/errors/encrypted_media_error.js +3 -5
  1033. package/dist/es2017/errors/error_codes.d.ts +2 -2
  1034. package/dist/es2017/errors/error_codes.js +1 -1
  1035. package/dist/es2017/errors/format_error.d.ts +2 -2
  1036. package/dist/es2017/errors/format_error.js +3 -2
  1037. package/dist/es2017/errors/is_known_error.d.ts +1 -1
  1038. package/dist/es2017/errors/is_known_error.js +2 -2
  1039. package/dist/es2017/errors/media_error.d.ts +2 -2
  1040. package/dist/es2017/errors/media_error.js +3 -5
  1041. package/dist/es2017/errors/network_error.d.ts +2 -2
  1042. package/dist/es2017/errors/network_error.js +5 -7
  1043. package/dist/es2017/errors/other_error.d.ts +1 -1
  1044. package/dist/es2017/errors/other_error.js +4 -2
  1045. package/dist/es2017/errors/source_buffer_error.js +2 -4
  1046. package/dist/es2017/experimental/features/local.d.ts +1 -1
  1047. package/dist/es2017/experimental/features/local.js +2 -1
  1048. package/dist/es2017/experimental/features/metaplaylist.d.ts +1 -1
  1049. package/dist/es2017/experimental/features/metaplaylist.js +2 -1
  1050. package/dist/es2017/experimental/features/multi_thread.d.ts +1 -1
  1051. package/dist/es2017/experimental/features/multi_thread.js +2 -1
  1052. package/dist/es2017/experimental/index.d.ts +1 -1
  1053. package/dist/es2017/experimental/index.js +1 -1
  1054. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/dash.d.ts +1 -1
  1055. package/dist/es2017/experimental/tools/VideoThumbnailLoader/features/metaplaylist.d.ts +1 -1
  1056. package/dist/es2017/experimental/tools/VideoThumbnailLoader/index.d.ts +1 -1
  1057. package/dist/es2017/experimental/tools/VideoThumbnailLoader/index.js +2 -2
  1058. package/dist/es2017/experimental/tools/VideoThumbnailLoader/load_and_push_segment.d.ts +3 -3
  1059. package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts +2 -2
  1060. package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +5 -5
  1061. package/dist/es2017/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.d.ts +1 -1
  1062. package/dist/es2017/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.js +2 -2
  1063. package/dist/es2017/experimental/tools/VideoThumbnailLoader/types.d.ts +6 -6
  1064. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.d.ts +3 -3
  1065. package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +22 -14
  1066. package/dist/es2017/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +23 -13
  1067. package/dist/es2017/experimental/tools/createMetaplaylist/index.d.ts +1 -1
  1068. package/dist/es2017/experimental/tools/createMetaplaylist/index.js +14 -8
  1069. package/dist/es2017/experimental/tools/index.d.ts +1 -1
  1070. package/dist/es2017/experimental/tools/index.js +1 -1
  1071. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api/index.d.ts +1 -1
  1072. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api/index.js +13 -9
  1073. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +3 -4
  1074. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +4 -7
  1075. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/capabilities.d.ts +1 -1
  1076. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/capabilities.js +47 -10
  1077. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts +1 -2
  1078. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +6 -9
  1079. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.d.ts +1 -2
  1080. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +14 -22
  1081. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.d.ts +1 -2
  1082. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.js +18 -22
  1083. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +10 -10
  1084. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/index.d.ts +1 -1
  1085. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts +1 -2
  1086. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +7 -6
  1087. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.d.ts +1 -1
  1088. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.js +11 -6
  1089. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.d.ts +1 -2
  1090. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.js +3 -2
  1091. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.d.ts +1 -2
  1092. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.js +4 -4
  1093. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/types.d.ts +2 -2
  1094. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/utils.d.ts +1 -1
  1095. package/dist/es2017/experimental/tools/mediaCapabilitiesProber/utils.js +7 -8
  1096. package/dist/es2017/features/add_features.d.ts +1 -1
  1097. package/dist/es2017/features/features_object.d.ts +1 -1
  1098. package/dist/es2017/features/features_object.js +3 -4
  1099. package/dist/es2017/features/index.d.ts +1 -1
  1100. package/dist/es2017/features/index.js +1 -1
  1101. package/dist/es2017/features/list/dash.d.ts +1 -1
  1102. package/dist/es2017/features/list/dash.js +4 -3
  1103. package/dist/es2017/features/list/dash_wasm.d.ts +2 -2
  1104. package/dist/es2017/features/list/dash_wasm.js +2 -1
  1105. package/dist/es2017/features/list/debug_element.d.ts +1 -1
  1106. package/dist/es2017/features/list/debug_element.js +1 -1
  1107. package/dist/es2017/features/list/directfile.d.ts +1 -1
  1108. package/dist/es2017/features/list/directfile.js +5 -3
  1109. package/dist/es2017/features/list/eme.d.ts +1 -1
  1110. package/dist/es2017/features/list/eme.js +1 -1
  1111. package/dist/es2017/features/list/html_sami_parser.d.ts +1 -1
  1112. package/dist/es2017/features/list/html_sami_parser.js +1 -1
  1113. package/dist/es2017/features/list/html_srt_parser.d.ts +1 -1
  1114. package/dist/es2017/features/list/html_srt_parser.js +1 -1
  1115. package/dist/es2017/features/list/html_text_buffer.d.ts +1 -1
  1116. package/dist/es2017/features/list/html_text_buffer.js +1 -1
  1117. package/dist/es2017/features/list/html_ttml_parser.d.ts +1 -1
  1118. package/dist/es2017/features/list/html_ttml_parser.js +1 -1
  1119. package/dist/es2017/features/list/html_vtt_parser.d.ts +1 -1
  1120. package/dist/es2017/features/list/html_vtt_parser.js +1 -1
  1121. package/dist/es2017/features/list/media_source_main.d.ts +1 -1
  1122. package/dist/es2017/features/list/media_source_main.js +2 -1
  1123. package/dist/es2017/features/list/native_sami_parser.d.ts +1 -1
  1124. package/dist/es2017/features/list/native_sami_parser.js +1 -1
  1125. package/dist/es2017/features/list/native_srt_parser.d.ts +1 -1
  1126. package/dist/es2017/features/list/native_srt_parser.js +1 -1
  1127. package/dist/es2017/features/list/native_text_buffer.d.ts +1 -1
  1128. package/dist/es2017/features/list/native_text_buffer.js +1 -1
  1129. package/dist/es2017/features/list/native_ttml_parser.d.ts +1 -1
  1130. package/dist/es2017/features/list/native_ttml_parser.js +1 -1
  1131. package/dist/es2017/features/list/native_vtt_parser.d.ts +1 -1
  1132. package/dist/es2017/features/list/native_vtt_parser.js +1 -1
  1133. package/dist/es2017/features/list/smooth.d.ts +1 -1
  1134. package/dist/es2017/features/list/smooth.js +2 -1
  1135. package/dist/es2017/features/types.d.ts +23 -28
  1136. package/dist/es2017/index.d.ts +1 -1
  1137. package/dist/es2017/index.js +1 -3
  1138. package/dist/es2017/manifest/adaptation.d.ts +135 -0
  1139. package/dist/es2017/manifest/adaptation.js +195 -0
  1140. package/dist/es2017/manifest/index.d.ts +25 -15
  1141. package/dist/es2017/manifest/index.js +28 -3
  1142. package/dist/es2017/manifest/manifest.d.ts +388 -0
  1143. package/dist/es2017/manifest/manifest.js +383 -0
  1144. package/dist/es2017/manifest/period.d.ts +106 -0
  1145. package/dist/es2017/manifest/period.js +194 -0
  1146. package/dist/es2017/manifest/representation.d.ts +238 -0
  1147. package/dist/es2017/manifest/representation.js +344 -0
  1148. package/dist/es2017/manifest/representation_index/index.d.ts +18 -0
  1149. package/dist/es2017/manifest/representation_index/static.d.ts +101 -0
  1150. package/dist/es2017/manifest/representation_index/static.js +139 -0
  1151. package/dist/es2017/manifest/representation_index/types.d.ts +420 -0
  1152. package/dist/es2017/manifest/types.d.ts +31 -2
  1153. package/dist/es2017/manifest/types.js +15 -1
  1154. package/dist/es2017/manifest/update_period_in_place.d.ts +52 -0
  1155. package/dist/es2017/manifest/update_period_in_place.js +110 -0
  1156. package/dist/es2017/manifest/update_periods.d.ts +50 -0
  1157. package/dist/es2017/manifest/update_periods.js +192 -0
  1158. package/dist/es2017/manifest/utils.d.ts +49 -11
  1159. package/dist/es2017/manifest/utils.js +88 -46
  1160. package/dist/es2017/minimal.d.ts +1 -1
  1161. package/dist/es2017/minimal.js +1 -6
  1162. package/dist/es2017/mse/main_codec_support_prober.d.ts +1 -1
  1163. package/dist/es2017/mse/main_media_source_interface.d.ts +2 -2
  1164. package/dist/es2017/mse/main_media_source_interface.js +36 -61
  1165. package/dist/es2017/mse/types.d.ts +3 -3
  1166. package/dist/es2017/mse/worker_codec_support_prober.d.ts +1 -1
  1167. package/dist/es2017/mse/worker_media_source_interface.d.ts +4 -4
  1168. package/dist/es2017/mse/worker_media_source_interface.js +19 -21
  1169. package/dist/es2017/multithread_types.d.ts +18 -15
  1170. package/dist/es2017/parsers/containers/isobmff/create_box.d.ts +1 -1
  1171. package/dist/es2017/parsers/containers/isobmff/create_box.js +5 -6
  1172. package/dist/es2017/parsers/containers/isobmff/drm/playready.js +3 -2
  1173. package/dist/es2017/parsers/containers/isobmff/get_box.js +5 -3
  1174. package/dist/es2017/parsers/containers/isobmff/index.d.ts +3 -3
  1175. package/dist/es2017/parsers/containers/isobmff/index.js +4 -4
  1176. package/dist/es2017/parsers/containers/isobmff/read.d.ts +1 -1
  1177. package/dist/es2017/parsers/containers/isobmff/read.js +9 -9
  1178. package/dist/es2017/parsers/containers/isobmff/take_pssh_out.js +5 -4
  1179. package/dist/es2017/parsers/containers/isobmff/utils.js +45 -60
  1180. package/dist/es2017/parsers/containers/matroska/index.d.ts +1 -1
  1181. package/dist/es2017/parsers/containers/matroska/index.js +1 -1
  1182. package/dist/es2017/parsers/containers/matroska/utils.js +29 -42
  1183. package/dist/es2017/parsers/images/bif.js +6 -10
  1184. package/dist/es2017/parsers/manifest/dash/common/attach_trickmode_track.d.ts +1 -1
  1185. package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.js +3 -1
  1186. package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.d.ts +1 -1
  1187. package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.js +1 -1
  1188. package/dist/es2017/parsers/manifest/dash/common/get_hdr_information.js +12 -4
  1189. package/dist/es2017/parsers/manifest/dash/common/get_http_utc-timing_url.d.ts +1 -1
  1190. package/dist/es2017/parsers/manifest/dash/common/get_http_utc-timing_url.js +5 -4
  1191. package/dist/es2017/parsers/manifest/dash/common/get_minimum_and_maximum_positions.d.ts +1 -1
  1192. package/dist/es2017/parsers/manifest/dash/common/get_minimum_and_maximum_positions.js +2 -4
  1193. package/dist/es2017/parsers/manifest/dash/common/get_periods_time_infos.d.ts +1 -1
  1194. package/dist/es2017/parsers/manifest/dash/common/get_periods_time_infos.js +13 -15
  1195. package/dist/es2017/parsers/manifest/dash/common/index.d.ts +1 -1
  1196. package/dist/es2017/parsers/manifest/dash/common/indexes/base.d.ts +5 -5
  1197. package/dist/es2017/parsers/manifest/dash/common/indexes/base.js +31 -36
  1198. package/dist/es2017/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +2 -2
  1199. package/dist/es2017/parsers/manifest/dash/common/indexes/get_init_segment.js +4 -6
  1200. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +4 -4
  1201. package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +10 -10
  1202. package/dist/es2017/parsers/manifest/dash/common/indexes/list.d.ts +2 -2
  1203. package/dist/es2017/parsers/manifest/dash/common/indexes/list.js +20 -23
  1204. package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts +3 -3
  1205. package/dist/es2017/parsers/manifest/dash/common/indexes/template.js +59 -54
  1206. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.d.ts +4 -5
  1207. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +11 -14
  1208. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.d.ts +2 -3
  1209. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.js +20 -25
  1210. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.d.ts +1 -1
  1211. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.js +10 -15
  1212. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.d.ts +3 -4
  1213. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.js +27 -43
  1214. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.d.ts +2 -11
  1215. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/parse_s_element.js +2 -49
  1216. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +8 -9
  1217. package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +69 -77
  1218. package/dist/es2017/parsers/manifest/dash/common/indexes/tokens.js +4 -2
  1219. package/dist/es2017/parsers/manifest/dash/common/infer_adaptation_type.d.ts +1 -1
  1220. package/dist/es2017/parsers/manifest/dash/common/infer_adaptation_type.js +2 -2
  1221. package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.js +10 -9
  1222. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +5 -5
  1223. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.js +66 -61
  1224. package/dist/es2017/parsers/manifest/dash/common/parse_availability_start_time.d.ts +2 -3
  1225. package/dist/es2017/parsers/manifest/dash/common/parse_availability_start_time.js +3 -5
  1226. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.d.ts +6 -6
  1227. package/dist/es2017/parsers/manifest/dash/common/parse_mpd.js +42 -54
  1228. package/dist/es2017/parsers/manifest/dash/common/parse_periods.d.ts +5 -5
  1229. package/dist/es2017/parsers/manifest/dash/common/parse_periods.js +34 -33
  1230. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.d.ts +5 -5
  1231. package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.js +7 -5
  1232. package/dist/es2017/parsers/manifest/dash/common/parse_representations.d.ts +5 -5
  1233. package/dist/es2017/parsers/manifest/dash/common/parse_representations.js +68 -63
  1234. package/dist/es2017/parsers/manifest/dash/common/resolve_base_urls.d.ts +1 -1
  1235. package/dist/es2017/parsers/manifest/dash/common/resolve_base_urls.js +3 -5
  1236. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.d.ts +23 -0
  1237. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +311 -0
  1238. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/BaseURL.d.ts +23 -0
  1239. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/BaseURL.js +30 -0
  1240. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentComponent.d.ts +22 -0
  1241. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/ContentProtection.d.ts +21 -0
  1242. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/EventStream.d.ts +23 -0
  1243. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/EventStream.js +94 -0
  1244. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Initialization.d.ts +21 -0
  1245. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Initialization.js +39 -0
  1246. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/MPD.d.ts +21 -0
  1247. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/MPD.js +144 -0
  1248. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Period.d.ts +21 -0
  1249. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Period.js +112 -0
  1250. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.d.ts +21 -0
  1251. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.js +189 -0
  1252. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.d.ts +22 -0
  1253. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentBase.js +89 -0
  1254. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentList.d.ts +21 -0
  1255. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.d.ts +23 -0
  1256. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTemplate.js +73 -0
  1257. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentTimeline.d.ts +21 -0
  1258. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.d.ts +23 -0
  1259. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/SegmentURL.js +49 -0
  1260. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +187 -0
  1261. package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/utils.js +306 -0
  1262. package/dist/es2017/parsers/manifest/dash/js-parser/parse_from_document.d.ts +24 -0
  1263. package/dist/es2017/parsers/manifest/dash/js-parser/parse_from_document.js +106 -0
  1264. package/dist/es2017/parsers/manifest/dash/node_parser_types.d.ts +3 -5
  1265. package/dist/es2017/parsers/manifest/dash/parsers_types.d.ts +1 -1
  1266. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.d.ts +1 -1
  1267. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +18 -29
  1268. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.d.ts +2 -3
  1269. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +26 -22
  1270. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.d.ts +2 -2
  1271. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.d.ts +3 -3
  1272. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.js +1 -1
  1273. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.d.ts +3 -3
  1274. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.js +2 -4
  1275. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.d.ts +2 -3
  1276. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.js +4 -2
  1277. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.d.ts +2 -3
  1278. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/MPD.js +5 -5
  1279. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.d.ts +2 -3
  1280. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Period.js +6 -9
  1281. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.d.ts +2 -3
  1282. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +15 -13
  1283. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.d.ts +3 -3
  1284. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.js +1 -1
  1285. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.d.ts +2 -2
  1286. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.js +10 -5
  1287. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.d.ts +2 -3
  1288. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.d.ts +2 -2
  1289. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.js +18 -11
  1290. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.d.ts +2 -2
  1291. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.js +4 -2
  1292. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/XLink.d.ts +2 -3
  1293. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/XLink.js +5 -5
  1294. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.d.ts +2 -2
  1295. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/root.js +4 -8
  1296. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/parsers_stack.js +2 -4
  1297. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/utils.d.ts +1 -1
  1298. package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/utils.js +4 -8
  1299. package/dist/es2017/parsers/manifest/local/parse_local_manifest.d.ts +2 -2
  1300. package/dist/es2017/parsers/manifest/local/parse_local_manifest.js +16 -21
  1301. package/dist/es2017/parsers/manifest/local/representation_index.d.ts +2 -2
  1302. package/dist/es2017/parsers/manifest/local/representation_index.js +7 -7
  1303. package/dist/es2017/parsers/manifest/metaplaylist/index.d.ts +1 -1
  1304. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +4 -4
  1305. package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.js +43 -41
  1306. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.d.ts +3 -3
  1307. package/dist/es2017/parsers/manifest/metaplaylist/representation_index.js +7 -10
  1308. package/dist/es2017/parsers/manifest/smooth/create_parser.d.ts +2 -2
  1309. package/dist/es2017/parsers/manifest/smooth/create_parser.js +121 -120
  1310. package/dist/es2017/parsers/manifest/smooth/get_codecs.js +3 -3
  1311. package/dist/es2017/parsers/manifest/smooth/index.d.ts +1 -1
  1312. package/dist/es2017/parsers/manifest/smooth/index.js +1 -1
  1313. package/dist/es2017/parsers/manifest/smooth/parse_C_nodes.js +9 -9
  1314. package/dist/es2017/parsers/manifest/smooth/parse_protection_node.js +8 -12
  1315. package/dist/es2017/parsers/manifest/smooth/representation_index.d.ts +3 -3
  1316. package/dist/es2017/parsers/manifest/smooth/representation_index.js +38 -35
  1317. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +1 -1
  1318. package/dist/es2017/parsers/manifest/smooth/shared_smooth_segment_timeline.js +9 -8
  1319. package/dist/es2017/parsers/manifest/smooth/utils/add_segment_infos.js +7 -10
  1320. package/dist/es2017/parsers/manifest/smooth/utils/parseBoolean.d.ts +1 -1
  1321. package/dist/es2017/parsers/manifest/smooth/utils/parseBoolean.js +1 -1
  1322. package/dist/es2017/parsers/manifest/smooth/utils/tokens.d.ts +1 -1
  1323. package/dist/es2017/parsers/manifest/smooth/utils/tokens.js +3 -2
  1324. package/dist/es2017/parsers/manifest/types.d.ts +2 -2
  1325. package/dist/es2017/parsers/manifest/utils/check_manifest_ids.d.ts +1 -1
  1326. package/dist/es2017/parsers/manifest/utils/check_manifest_ids.js +2 -2
  1327. package/dist/es2017/parsers/manifest/utils/clear_timeline_from_position.d.ts +2 -3
  1328. package/dist/es2017/parsers/manifest/utils/clear_timeline_from_position.js +7 -11
  1329. package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.d.ts +1 -1
  1330. package/dist/es2017/parsers/manifest/utils/get_first_time_from_adaptation.js +4 -5
  1331. package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.d.ts +1 -1
  1332. package/dist/es2017/parsers/manifest/utils/get_last_time_from_adaptation.js +4 -5
  1333. package/dist/es2017/parsers/manifest/utils/get_maximum_positions.d.ts +2 -2
  1334. package/dist/es2017/parsers/manifest/utils/get_maximum_positions.js +17 -11
  1335. package/dist/es2017/parsers/manifest/utils/get_minimum_position.d.ts +2 -2
  1336. package/dist/es2017/parsers/manifest/utils/get_minimum_position.js +11 -5
  1337. package/dist/es2017/parsers/manifest/utils/index_helpers.js +5 -4
  1338. package/dist/es2017/parsers/manifest/utils/update_segment_timeline.d.ts +1 -1
  1339. package/dist/es2017/parsers/manifest/utils/update_segment_timeline.js +16 -17
  1340. package/dist/es2017/parsers/texttracks/index.d.ts +1 -1
  1341. package/dist/es2017/parsers/texttracks/sami/html.d.ts +1 -1
  1342. package/dist/es2017/parsers/texttracks/sami/html.js +16 -17
  1343. package/dist/es2017/parsers/texttracks/sami/native.d.ts +1 -1
  1344. package/dist/es2017/parsers/texttracks/sami/native.js +17 -11
  1345. package/dist/es2017/parsers/texttracks/srt/html.js +10 -12
  1346. package/dist/es2017/parsers/texttracks/srt/native.d.ts +1 -1
  1347. package/dist/es2017/parsers/texttracks/srt/native.js +7 -1
  1348. package/dist/es2017/parsers/texttracks/srt/parse_cue.js +9 -4
  1349. package/dist/es2017/parsers/texttracks/ttml/get_parameters.js +13 -8
  1350. package/dist/es2017/parsers/texttracks/ttml/get_time_delimiters.d.ts +1 -1
  1351. package/dist/es2017/parsers/texttracks/ttml/get_time_delimiters.js +10 -9
  1352. package/dist/es2017/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.js +2 -2
  1353. package/dist/es2017/parsers/texttracks/ttml/html/apply_extent.js +7 -3
  1354. package/dist/es2017/parsers/texttracks/ttml/html/apply_font_size.js +5 -4
  1355. package/dist/es2017/parsers/texttracks/ttml/html/apply_line_height.js +1 -1
  1356. package/dist/es2017/parsers/texttracks/ttml/html/apply_origin.js +7 -3
  1357. package/dist/es2017/parsers/texttracks/ttml/html/apply_padding.js +7 -3
  1358. package/dist/es2017/parsers/texttracks/ttml/html/create_element.d.ts +2 -2
  1359. package/dist/es2017/parsers/texttracks/ttml/html/create_element.js +23 -30
  1360. package/dist/es2017/parsers/texttracks/ttml/html/generate_css_test_outline.js +2 -2
  1361. package/dist/es2017/parsers/texttracks/ttml/html/parse_cue.d.ts +1 -1
  1362. package/dist/es2017/parsers/texttracks/ttml/html/parse_cue.js +4 -5
  1363. package/dist/es2017/parsers/texttracks/ttml/html/parse_ttml_to_div.d.ts +1 -1
  1364. package/dist/es2017/parsers/texttracks/ttml/html/ttml_color_to_css_color.js +23 -39
  1365. package/dist/es2017/parsers/texttracks/ttml/native/parse_cue.d.ts +2 -2
  1366. package/dist/es2017/parsers/texttracks/ttml/native/parse_cue.js +13 -14
  1367. package/dist/es2017/parsers/texttracks/ttml/native/parse_ttml_to_vtt.d.ts +1 -1
  1368. package/dist/es2017/parsers/texttracks/ttml/parse_ttml.d.ts +3 -3
  1369. package/dist/es2017/parsers/texttracks/ttml/parse_ttml.js +19 -22
  1370. package/dist/es2017/parsers/texttracks/ttml/resolve_styles_inheritance.d.ts +1 -1
  1371. package/dist/es2017/parsers/texttracks/ttml/time_parsing.d.ts +1 -1
  1372. package/dist/es2017/parsers/texttracks/ttml/time_parsing.js +2 -2
  1373. package/dist/es2017/parsers/texttracks/ttml/xml_utils.js +1 -2
  1374. package/dist/es2017/parsers/texttracks/types.d.ts +1 -1
  1375. package/dist/es2017/parsers/texttracks/webvtt/get_cue_blocks.js +1 -1
  1376. package/dist/es2017/parsers/texttracks/webvtt/get_style_blocks.js +1 -2
  1377. package/dist/es2017/parsers/texttracks/webvtt/html/convert_payload_to_html.d.ts +1 -1
  1378. package/dist/es2017/parsers/texttracks/webvtt/html/create_default_style_elements.d.ts +1 -1
  1379. package/dist/es2017/parsers/texttracks/webvtt/html/create_style_attribute.js +12 -6
  1380. package/dist/es2017/parsers/texttracks/webvtt/html/create_styled_element.d.ts +1 -1
  1381. package/dist/es2017/parsers/texttracks/webvtt/html/create_styled_element.js +9 -8
  1382. package/dist/es2017/parsers/texttracks/webvtt/html/parse_style_block.js +4 -4
  1383. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_to_div.d.ts +1 -1
  1384. package/dist/es2017/parsers/texttracks/webvtt/html/parse_webvtt_to_div.js +1 -1
  1385. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.d.ts +1 -1
  1386. package/dist/es2017/parsers/texttracks/webvtt/html/to_html.js +13 -5
  1387. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_to_cues.d.ts +1 -1
  1388. package/dist/es2017/parsers/texttracks/webvtt/native/parse_vtt_to_cues.js +8 -4
  1389. package/dist/es2017/parsers/texttracks/webvtt/native/set_settings_on_cue.d.ts +1 -1
  1390. package/dist/es2017/parsers/texttracks/webvtt/native/to_native_cue.d.ts +2 -2
  1391. package/dist/es2017/parsers/texttracks/webvtt/native/to_native_cue.js +2 -2
  1392. package/dist/es2017/parsers/texttracks/webvtt/parse_cue_block.js +8 -7
  1393. package/dist/es2017/parsers/texttracks/webvtt/parse_timestamp.js +2 -1
  1394. package/dist/es2017/parsers/texttracks/webvtt/utils.js +6 -6
  1395. package/dist/es2017/public_types.d.ts +16 -13
  1396. package/dist/es2017/public_types.js +1 -0
  1397. package/dist/es2017/text_displayer/html/html_parsers.js +22 -0
  1398. package/dist/es2017/text_displayer/html/html_text_displayer.d.ts +100 -0
  1399. package/dist/es2017/text_displayer/html/html_text_displayer.js +311 -0
  1400. package/dist/es2017/text_displayer/html/text_track_cues_store.d.ts +65 -0
  1401. package/dist/es2017/text_displayer/html/text_track_cues_store.js +358 -0
  1402. package/dist/es2017/text_displayer/html/update_proportional_elements.js +62 -0
  1403. package/dist/es2017/text_displayer/html/utils.js +107 -0
  1404. package/dist/es2017/text_displayer/index.d.ts +2 -0
  1405. package/dist/es2017/text_displayer/manual_time_ranges.js +48 -0
  1406. package/dist/es2017/text_displayer/native/native_parsers.d.ts +11 -0
  1407. package/dist/es2017/text_displayer/native/native_parsers.js +22 -0
  1408. package/dist/es2017/text_displayer/native/native_text_displayer.d.ts +56 -0
  1409. package/dist/es2017/text_displayer/native/native_text_displayer.js +203 -0
  1410. package/dist/es2017/text_displayer/types.d.ts +74 -0
  1411. package/dist/es2017/tools/TextTrackRenderer/text_track_renderer.d.ts +2 -2
  1412. package/dist/es2017/tools/TextTrackRenderer/text_track_renderer.js +9 -11
  1413. package/dist/es2017/tools/index.d.ts +1 -1
  1414. package/dist/es2017/tools/index.js +1 -1
  1415. package/dist/es2017/tools/parseBIFThumbnails/index.js +5 -6
  1416. package/dist/es2017/transports/dash/add_segment_integrity_checks_to_loader.d.ts +1 -1
  1417. package/dist/es2017/transports/dash/add_segment_integrity_checks_to_loader.js +3 -2
  1418. package/dist/es2017/transports/dash/construct_segment_url.d.ts +2 -2
  1419. package/dist/es2017/transports/dash/construct_segment_url.js +3 -7
  1420. package/dist/es2017/transports/dash/extract_complete_chunks.js +2 -2
  1421. package/dist/es2017/transports/dash/get_events_out_of_emsgs.d.ts +2 -2
  1422. package/dist/es2017/transports/dash/get_events_out_of_emsgs.js +10 -12
  1423. package/dist/es2017/transports/dash/init_segment_loader.d.ts +3 -3
  1424. package/dist/es2017/transports/dash/init_segment_loader.js +23 -29
  1425. package/dist/es2017/transports/dash/low_latency_segment_loader.d.ts +2 -2
  1426. package/dist/es2017/transports/dash/low_latency_segment_loader.js +10 -13
  1427. package/dist/es2017/transports/dash/manifest_parser.d.ts +2 -2
  1428. package/dist/es2017/transports/dash/manifest_parser.js +32 -68
  1429. package/dist/es2017/transports/dash/pipelines.d.ts +1 -1
  1430. package/dist/es2017/transports/dash/pipelines.js +12 -15
  1431. package/dist/es2017/transports/dash/segment_loader.d.ts +4 -4
  1432. package/dist/es2017/transports/dash/segment_loader.js +23 -31
  1433. package/dist/es2017/transports/dash/segment_parser.d.ts +2 -2
  1434. package/dist/es2017/transports/dash/segment_parser.js +25 -40
  1435. package/dist/es2017/transports/dash/text_loader.d.ts +2 -2
  1436. package/dist/es2017/transports/dash/text_loader.js +20 -19
  1437. package/dist/es2017/transports/dash/text_parser.d.ts +2 -2
  1438. package/dist/es2017/transports/dash/text_parser.js +26 -44
  1439. package/dist/es2017/transports/index.d.ts +1 -1
  1440. package/dist/es2017/transports/index.js +1 -1
  1441. package/dist/es2017/transports/local/pipelines.d.ts +1 -1
  1442. package/dist/es2017/transports/local/pipelines.js +9 -14
  1443. package/dist/es2017/transports/local/segment_loader.d.ts +3 -3
  1444. package/dist/es2017/transports/local/segment_loader.js +6 -14
  1445. package/dist/es2017/transports/local/segment_parser.d.ts +1 -1
  1446. package/dist/es2017/transports/local/segment_parser.js +14 -24
  1447. package/dist/es2017/transports/local/text_parser.d.ts +1 -1
  1448. package/dist/es2017/transports/local/text_parser.js +18 -36
  1449. package/dist/es2017/transports/metaplaylist/manifest_loader.d.ts +4 -4
  1450. package/dist/es2017/transports/metaplaylist/manifest_loader.js +6 -8
  1451. package/dist/es2017/transports/metaplaylist/pipelines.d.ts +1 -1
  1452. package/dist/es2017/transports/metaplaylist/pipelines.js +24 -35
  1453. package/dist/es2017/transports/smooth/extract_timings_infos.d.ts +2 -2
  1454. package/dist/es2017/transports/smooth/extract_timings_infos.js +19 -17
  1455. package/dist/es2017/transports/smooth/is_mp4_embedded_track.d.ts +1 -1
  1456. package/dist/es2017/transports/smooth/is_mp4_embedded_track.js +1 -1
  1457. package/dist/es2017/transports/smooth/isobmff/create_audio_init_segment.d.ts +1 -0
  1458. package/dist/es2017/transports/smooth/isobmff/create_audio_init_segment.js +4 -3
  1459. package/dist/es2017/transports/smooth/isobmff/create_boxes.js +32 -23
  1460. package/dist/es2017/transports/smooth/isobmff/create_init_segment.js +2 -2
  1461. package/dist/es2017/transports/smooth/isobmff/create_traf_box.js +2 -2
  1462. package/dist/es2017/transports/smooth/isobmff/get_aaces_header.js +16 -4
  1463. package/dist/es2017/transports/smooth/isobmff/parse_tfrf.js +2 -2
  1464. package/dist/es2017/transports/smooth/isobmff/parse_tfxd.js +1 -1
  1465. package/dist/es2017/transports/smooth/isobmff/patch_segment.js +11 -12
  1466. package/dist/es2017/transports/smooth/pipelines.d.ts +1 -1
  1467. package/dist/es2017/transports/smooth/pipelines.js +61 -84
  1468. package/dist/es2017/transports/smooth/segment_loader.d.ts +3 -3
  1469. package/dist/es2017/transports/smooth/segment_loader.js +29 -44
  1470. package/dist/es2017/transports/smooth/utils.d.ts +4 -4
  1471. package/dist/es2017/transports/smooth/utils.js +6 -10
  1472. package/dist/es2017/transports/types.d.ts +27 -22
  1473. package/dist/es2017/transports/utils/byte_range.js +2 -1
  1474. package/dist/es2017/transports/utils/call_custom_manifest_loader.d.ts +3 -3
  1475. package/dist/es2017/transports/utils/call_custom_manifest_loader.js +8 -10
  1476. package/dist/es2017/transports/utils/check_isobmff_integrity.js +3 -3
  1477. package/dist/es2017/transports/utils/find_complete_box.js +2 -3
  1478. package/dist/es2017/transports/utils/generate_manifest_loader.d.ts +3 -3
  1479. package/dist/es2017/transports/utils/generate_manifest_loader.js +6 -12
  1480. package/dist/es2017/transports/utils/get_isobmff_timing_infos.d.ts +2 -2
  1481. package/dist/es2017/transports/utils/get_isobmff_timing_infos.js +11 -12
  1482. package/dist/es2017/transports/utils/infer_segment_container.d.ts +1 -1
  1483. package/dist/es2017/transports/utils/infer_segment_container.js +3 -1
  1484. package/dist/es2017/transports/utils/parse_text_track.d.ts +4 -4
  1485. package/dist/es2017/transports/utils/parse_text_track.js +16 -6
  1486. package/dist/es2017/utils/array_includes.js +6 -2
  1487. package/dist/es2017/utils/assert.js +6 -3
  1488. package/dist/es2017/utils/base64.js +29 -87
  1489. package/dist/es2017/utils/byte_parsing.js +56 -64
  1490. package/dist/es2017/utils/cancellable_sleep.d.ts +1 -1
  1491. package/dist/es2017/utils/create_cancellable_promise.d.ts +1 -1
  1492. package/dist/es2017/utils/deep_merge.js +4 -4
  1493. package/dist/es2017/utils/event_emitter.d.ts +1 -1
  1494. package/dist/es2017/utils/event_emitter.js +2 -1
  1495. package/dist/es2017/utils/get_fuzzed_delay.js +1 -1
  1496. package/dist/es2017/utils/global_scope.d.ts +1 -1
  1497. package/dist/es2017/utils/global_scope.js +3 -10
  1498. package/dist/es2017/utils/hash_buffer.js +1 -1
  1499. package/dist/es2017/utils/languages/normalize.js +5 -5
  1500. package/dist/es2017/utils/logger.js +22 -12
  1501. package/dist/es2017/utils/object_assign.d.ts +3 -6
  1502. package/dist/es2017/utils/object_assign.js +7 -5
  1503. package/dist/es2017/utils/object_values.d.ts +1 -1
  1504. package/dist/es2017/utils/object_values.js +4 -4
  1505. package/dist/es2017/utils/queue_microtask.js +3 -3
  1506. package/dist/es2017/utils/ranges.js +29 -22
  1507. package/dist/es2017/utils/reference.d.ts +1 -1
  1508. package/dist/es2017/utils/reference.js +3 -1
  1509. package/dist/es2017/utils/request/fetch.d.ts +1 -1
  1510. package/dist/es2017/utils/request/fetch.js +23 -24
  1511. package/dist/es2017/utils/request/request_error.js +2 -2
  1512. package/dist/es2017/utils/request/xhr.d.ts +1 -1
  1513. package/dist/es2017/utils/request/xhr.js +17 -19
  1514. package/dist/es2017/utils/retry_promise_with_backoff.d.ts +1 -10
  1515. package/dist/es2017/utils/retry_promise_with_backoff.js +3 -15
  1516. package/dist/es2017/utils/slice_uint8array.js +3 -3
  1517. package/dist/es2017/utils/starts_with.js +3 -3
  1518. package/dist/es2017/utils/string_parsing.js +18 -16
  1519. package/dist/es2017/utils/sync_or_async.js +2 -6
  1520. package/dist/es2017/utils/task_canceller.js +2 -1
  1521. package/dist/es2017/utils/wrapInPromise.d.ts +1 -1
  1522. package/dist/es2017/worker_entry_point.js +2 -2
  1523. package/dist/rx-player.js +45081 -45466
  1524. package/dist/rx-player.min.js +1 -1
  1525. package/dist/worker.js +3 -8
  1526. package/package.json +9 -32
  1527. package/.editorconfig +0 -22
  1528. package/.eslintrc.js +0 -335
  1529. package/.github/workflows/checks.yml +0 -97
  1530. package/.github/workflows/perfs.yml +0 -24
  1531. package/.github/workflows/sonarcloud_analysis.yml +0 -20
  1532. package/.prettierrc +0 -4
  1533. package/CONTRIBUTING.md +0 -264
  1534. package/FILES.md +0 -192
  1535. package/dist/commonjs/core/main/common/DecipherabilityFreezeDetector.d.ts +0 -79
  1536. package/dist/commonjs/core/main/common/DecipherabilityFreezeDetector.js +0 -127
  1537. package/dist/commonjs/core/main/common/content_time_boundaries_observer.d.ts +0 -191
  1538. package/dist/commonjs/core/main/common/content_time_boundaries_observer.js +0 -519
  1539. package/dist/commonjs/core/main/common/create_content_time_boundaries_observer.d.ts +0 -27
  1540. package/dist/commonjs/core/main/common/create_content_time_boundaries_observer.js +0 -48
  1541. package/dist/commonjs/core/main/common/get_buffered_data_per_media_buffer.d.ts +0 -14
  1542. package/dist/commonjs/core/main/common/get_buffered_data_per_media_buffer.js +0 -37
  1543. package/dist/commonjs/core/main/worker/content_preparer.d.ts +0 -93
  1544. package/dist/commonjs/core/main/worker/content_preparer.js +0 -273
  1545. package/dist/commonjs/core/main/worker/globals.d.ts +0 -13
  1546. package/dist/commonjs/core/main/worker/globals.js +0 -26
  1547. package/dist/commonjs/core/main/worker/index.d.ts +0 -2
  1548. package/dist/commonjs/core/main/worker/index.js +0 -4
  1549. package/dist/commonjs/core/main/worker/send_message.d.ts +0 -3
  1550. package/dist/commonjs/core/main/worker/send_message.js +0 -25
  1551. package/dist/commonjs/core/main/worker/track_choice_setter.d.ts +0 -19
  1552. package/dist/commonjs/core/main/worker/track_choice_setter.js +0 -140
  1553. package/dist/commonjs/core/main/worker/worker_main.d.ts +0 -1
  1554. package/dist/commonjs/core/main/worker/worker_main.js +0 -795
  1555. package/dist/commonjs/core/main/worker/worker_text_displayer_interface.d.ts +0 -64
  1556. package/dist/commonjs/core/main/worker/worker_text_displayer_interface.js +0 -126
  1557. package/dist/commonjs/core/segment_sinks/garbage_collector.d.ts +0 -43
  1558. package/dist/commonjs/core/segment_sinks/garbage_collector.js +0 -226
  1559. package/dist/commonjs/core/segment_sinks/implementations/audio_video/audio_video_segment_buffer.d.ts +0 -135
  1560. package/dist/commonjs/core/segment_sinks/implementations/audio_video/audio_video_segment_buffer.js +0 -358
  1561. package/dist/commonjs/core/segment_sinks/implementations/audio_video/index.d.ts +0 -17
  1562. package/dist/commonjs/core/segment_sinks/implementations/index.d.ts +0 -19
  1563. package/dist/commonjs/core/segment_sinks/implementations/index.js +0 -35
  1564. package/dist/commonjs/core/segment_sinks/implementations/text/index.d.ts +0 -3
  1565. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.d.ts +0 -90
  1566. package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.js +0 -257
  1567. package/dist/commonjs/core/segment_sinks/implementations/types.d.ts +0 -307
  1568. package/dist/commonjs/core/segment_sinks/implementations/types.js +0 -117
  1569. package/dist/commonjs/core/segment_sinks/index.d.ts +0 -21
  1570. package/dist/commonjs/core/segment_sinks/index.js +0 -28
  1571. package/dist/commonjs/core/segment_sinks/inventory/buffered_history.d.ts +0 -89
  1572. package/dist/commonjs/core/segment_sinks/inventory/index.d.ts +0 -21
  1573. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.d.ts +0 -238
  1574. package/dist/commonjs/core/segment_sinks/inventory/segment_inventory.js +0 -917
  1575. package/dist/commonjs/core/segment_sinks/inventory/types.d.ts +0 -27
  1576. package/dist/commonjs/core/segment_sinks/inventory/utils.d.ts +0 -33
  1577. package/dist/commonjs/core/segment_sinks/inventory/utils.js +0 -53
  1578. package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts +0 -171
  1579. package/dist/commonjs/core/segment_sinks/segment_buffers_store.js +0 -288
  1580. package/dist/commonjs/core/types.d.ts +0 -8
  1581. package/dist/commonjs/main_thread/api/debug/buffer_graph.d.ts +0 -28
  1582. package/dist/commonjs/main_thread/api/debug/buffer_graph.js +0 -168
  1583. package/dist/commonjs/main_thread/api/debug/buffer_size_graph.js +0 -131
  1584. package/dist/commonjs/main_thread/api/debug/modules/general_info.d.ts +0 -3
  1585. package/dist/commonjs/main_thread/api/debug/modules/general_info.js +0 -236
  1586. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_content.d.ts +0 -4
  1587. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_content.js +0 -127
  1588. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_size.d.ts +0 -3
  1589. package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_size.js +0 -38
  1590. package/dist/commonjs/main_thread/api/debug/render.d.ts +0 -3
  1591. package/dist/commonjs/main_thread/api/index.d.ts +0 -17
  1592. package/dist/commonjs/main_thread/api/index.js +0 -19
  1593. package/dist/commonjs/main_thread/api/option_utils.d.ts +0 -124
  1594. package/dist/commonjs/main_thread/api/option_utils.js +0 -335
  1595. package/dist/commonjs/main_thread/api/public_api.d.ts +0 -751
  1596. package/dist/commonjs/main_thread/api/public_api.js +0 -2518
  1597. package/dist/commonjs/main_thread/api/utils.d.ts +0 -66
  1598. package/dist/commonjs/main_thread/api/utils.js +0 -178
  1599. package/dist/commonjs/main_thread/decrypt/__tests__/__global__/utils.d.ts +0 -184
  1600. package/dist/commonjs/main_thread/decrypt/__tests__/__global__/utils.js +0 -439
  1601. package/dist/commonjs/main_thread/decrypt/attach_media_keys.d.ts +0 -53
  1602. package/dist/commonjs/main_thread/decrypt/attach_media_keys.js +0 -128
  1603. package/dist/commonjs/main_thread/decrypt/clear_on_stop.js +0 -43
  1604. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts +0 -185
  1605. package/dist/commonjs/main_thread/decrypt/content_decryptor.js +0 -1053
  1606. package/dist/commonjs/main_thread/decrypt/create_or_load_session.d.ts +0 -64
  1607. package/dist/commonjs/main_thread/decrypt/create_or_load_session.js +0 -135
  1608. package/dist/commonjs/main_thread/decrypt/create_session.d.ts +0 -54
  1609. package/dist/commonjs/main_thread/decrypt/create_session.js +0 -215
  1610. package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.js +0 -90
  1611. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts +0 -48
  1612. package/dist/commonjs/main_thread/decrypt/find_key_system.js +0 -375
  1613. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts +0 -44
  1614. package/dist/commonjs/main_thread/decrypt/get_media_keys.js +0 -165
  1615. package/dist/commonjs/main_thread/decrypt/index.d.ts +0 -26
  1616. package/dist/commonjs/main_thread/decrypt/init_media_keys.d.ts +0 -26
  1617. package/dist/commonjs/main_thread/decrypt/session_events_listener.d.ts +0 -75
  1618. package/dist/commonjs/main_thread/decrypt/session_events_listener.js +0 -325
  1619. package/dist/commonjs/main_thread/decrypt/set_server_certificate.d.ts +0 -51
  1620. package/dist/commonjs/main_thread/decrypt/set_server_certificate.js +0 -145
  1621. package/dist/commonjs/main_thread/decrypt/types.d.ts +0 -374
  1622. package/dist/commonjs/main_thread/decrypt/utils/are_init_values_compatible.js +0 -144
  1623. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.d.ts +0 -52
  1624. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.js +0 -211
  1625. package/dist/commonjs/main_thread/decrypt/utils/clean_old_loaded_sessions.d.ts +0 -26
  1626. package/dist/commonjs/main_thread/decrypt/utils/clean_old_stored_persistent_info.d.ts +0 -32
  1627. package/dist/commonjs/main_thread/decrypt/utils/init_data_values_container.d.ts +0 -69
  1628. package/dist/commonjs/main_thread/decrypt/utils/init_data_values_container.js +0 -137
  1629. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.d.ts +0 -24
  1630. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.js +0 -51
  1631. package/dist/commonjs/main_thread/decrypt/utils/key_session_record.d.ts +0 -104
  1632. package/dist/commonjs/main_thread/decrypt/utils/key_session_record.js +0 -189
  1633. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.d.ts +0 -213
  1634. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.js +0 -518
  1635. package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.d.ts +0 -56
  1636. package/dist/commonjs/main_thread/decrypt/utils/media_keys_infos_store.js +0 -45
  1637. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts +0 -94
  1638. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.js +0 -356
  1639. package/dist/commonjs/main_thread/decrypt/utils/serializable_bytes.d.ts +0 -44
  1640. package/dist/commonjs/main_thread/decrypt/utils/serializable_bytes.js +0 -50
  1641. package/dist/commonjs/main_thread/decrypt/utils/server_certificate_store.d.ts +0 -64
  1642. package/dist/commonjs/main_thread/decrypt/utils/server_certificate_store.js +0 -123
  1643. package/dist/commonjs/main_thread/init/directfile_content_initializer.d.ts +0 -97
  1644. package/dist/commonjs/main_thread/init/directfile_content_initializer.js +0 -264
  1645. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +0 -166
  1646. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +0 -897
  1647. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +0 -167
  1648. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +0 -1452
  1649. package/dist/commonjs/main_thread/init/send_message.d.ts +0 -2
  1650. package/dist/commonjs/main_thread/init/send_message.js +0 -13
  1651. package/dist/commonjs/main_thread/init/types.d.ts +0 -221
  1652. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.d.ts +0 -83
  1653. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.js +0 -105
  1654. package/dist/commonjs/main_thread/init/utils/create_media_source.d.ts +0 -37
  1655. package/dist/commonjs/main_thread/init/utils/create_media_source.js +0 -106
  1656. package/dist/commonjs/main_thread/init/utils/get_initial_time.d.ts +0 -76
  1657. package/dist/commonjs/main_thread/init/utils/get_initial_time.js +0 -109
  1658. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.d.ts +0 -28
  1659. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.js +0 -62
  1660. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts +0 -61
  1661. package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.js +0 -207
  1662. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.d.ts +0 -87
  1663. package/dist/commonjs/main_thread/init/utils/initialize_content_decryption.js +0 -119
  1664. package/dist/commonjs/main_thread/init/utils/main_thread_text_displayer_interface.d.ts +0 -35
  1665. package/dist/commonjs/main_thread/init/utils/rebuffering_controller.d.ts +0 -114
  1666. package/dist/commonjs/main_thread/init/utils/rebuffering_controller.js +0 -450
  1667. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/are_same_stream_events.js +0 -35
  1668. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/index.d.ts +0 -18
  1669. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +0 -25
  1670. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +0 -98
  1671. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +0 -53
  1672. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.js +0 -230
  1673. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/types.d.ts +0 -41
  1674. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.d.ts +0 -23
  1675. package/dist/commonjs/main_thread/init/utils/throw_on_media_error.js +0 -66
  1676. package/dist/commonjs/main_thread/text_displayer/html/html_parsers.js +0 -25
  1677. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.d.ts +0 -100
  1678. package/dist/commonjs/main_thread/text_displayer/html/html_text_displayer.js +0 -318
  1679. package/dist/commonjs/main_thread/text_displayer/html/text_track_cues_store.d.ts +0 -65
  1680. package/dist/commonjs/main_thread/text_displayer/html/text_track_cues_store.js +0 -378
  1681. package/dist/commonjs/main_thread/text_displayer/html/update_proportional_elements.js +0 -64
  1682. package/dist/commonjs/main_thread/text_displayer/html/utils.js +0 -119
  1683. package/dist/commonjs/main_thread/text_displayer/index.d.ts +0 -2
  1684. package/dist/commonjs/main_thread/text_displayer/manual_time_ranges.js +0 -52
  1685. package/dist/commonjs/main_thread/text_displayer/native/native_parsers.d.ts +0 -11
  1686. package/dist/commonjs/main_thread/text_displayer/native/native_parsers.js +0 -25
  1687. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts +0 -56
  1688. package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +0 -207
  1689. package/dist/commonjs/main_thread/text_displayer/types.d.ts +0 -71
  1690. package/dist/commonjs/main_thread/text_displayer/types.js +0 -2
  1691. package/dist/commonjs/main_thread/tracks_store/index.d.ts +0 -20
  1692. package/dist/commonjs/main_thread/tracks_store/media_element_tracks_store.d.ts +0 -197
  1693. package/dist/commonjs/main_thread/tracks_store/media_element_tracks_store.js +0 -691
  1694. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.d.ts +0 -101
  1695. package/dist/commonjs/main_thread/tracks_store/track_dispatcher.js +0 -198
  1696. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts +0 -448
  1697. package/dist/commonjs/main_thread/tracks_store/tracks_store.js +0 -1096
  1698. package/dist/commonjs/main_thread/types.d.ts +0 -5
  1699. package/dist/commonjs/main_thread/types.js +0 -2
  1700. package/dist/commonjs/manifest/classes/adaptation.d.ts +0 -134
  1701. package/dist/commonjs/manifest/classes/adaptation.js +0 -237
  1702. package/dist/commonjs/manifest/classes/index.d.ts +0 -25
  1703. package/dist/commonjs/manifest/classes/index.js +0 -46
  1704. package/dist/commonjs/manifest/classes/manifest.d.ts +0 -391
  1705. package/dist/commonjs/manifest/classes/manifest.js +0 -494
  1706. package/dist/commonjs/manifest/classes/period.d.ts +0 -106
  1707. package/dist/commonjs/manifest/classes/period.js +0 -235
  1708. package/dist/commonjs/manifest/classes/representation.d.ts +0 -238
  1709. package/dist/commonjs/manifest/classes/representation.js +0 -382
  1710. package/dist/commonjs/manifest/classes/representation_index/index.d.ts +0 -18
  1711. package/dist/commonjs/manifest/classes/representation_index/static.d.ts +0 -101
  1712. package/dist/commonjs/manifest/classes/representation_index/static.js +0 -147
  1713. package/dist/commonjs/manifest/classes/representation_index/types.d.ts +0 -420
  1714. package/dist/commonjs/manifest/classes/types.d.ts +0 -29
  1715. package/dist/commonjs/manifest/classes/types.js +0 -33
  1716. package/dist/commonjs/manifest/classes/update_period_in_place.d.ts +0 -53
  1717. package/dist/commonjs/manifest/classes/update_period_in_place.js +0 -172
  1718. package/dist/commonjs/manifest/classes/update_periods.d.ts +0 -50
  1719. package/dist/commonjs/manifest/classes/update_periods.js +0 -229
  1720. package/dist/commonjs/manifest/classes/utils.d.ts +0 -39
  1721. package/dist/commonjs/manifest/classes/utils.js +0 -54
  1722. package/dist/commonjs/mse/utils/end_of_stream.d.ts +0 -33
  1723. package/dist/commonjs/mse/utils/end_of_stream.js +0 -114
  1724. package/dist/commonjs/mse/utils/media_source_duration_updater.js +0 -272
  1725. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/index.d.ts +0 -17
  1726. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/index.js +0 -19
  1727. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts +0 -24
  1728. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +0 -400
  1729. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/BaseURL.d.ts +0 -24
  1730. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/BaseURL.js +0 -33
  1731. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/ContentComponent.d.ts +0 -23
  1732. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/ContentComponent.js +0 -70
  1733. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/ContentProtection.d.ts +0 -22
  1734. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/ContentProtection.js +0 -118
  1735. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/EventStream.d.ts +0 -23
  1736. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/EventStream.js +0 -154
  1737. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Initialization.d.ts +0 -22
  1738. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Initialization.js +0 -70
  1739. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts +0 -23
  1740. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +0 -221
  1741. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts +0 -23
  1742. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +0 -179
  1743. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts +0 -22
  1744. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +0 -256
  1745. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentBase.d.ts +0 -23
  1746. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentBase.js +0 -152
  1747. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentList.d.ts +0 -22
  1748. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentList.js +0 -60
  1749. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTemplate.d.ts +0 -24
  1750. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTemplate.js +0 -125
  1751. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTimeline.d.ts +0 -22
  1752. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTimeline.js +0 -36
  1753. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentURL.d.ts +0 -24
  1754. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentURL.js +0 -82
  1755. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/utils.d.ts +0 -176
  1756. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/node_parsers/utils.js +0 -382
  1757. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/parse_from_xml_string.d.ts +0 -24
  1758. package/dist/commonjs/parsers/manifest/dash/fast-js-parser/parse_from_xml_string.js +0 -142
  1759. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts +0 -23
  1760. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +0 -374
  1761. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/BaseURL.d.ts +0 -23
  1762. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/BaseURL.js +0 -32
  1763. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/ContentComponent.d.ts +0 -22
  1764. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/ContentProtection.d.ts +0 -21
  1765. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts +0 -23
  1766. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +0 -119
  1767. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Initialization.d.ts +0 -21
  1768. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Initialization.js +0 -44
  1769. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts +0 -21
  1770. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/MPD.js +0 -181
  1771. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts +0 -21
  1772. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Period.js +0 -138
  1773. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts +0 -21
  1774. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/Representation.js +0 -230
  1775. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentBase.d.ts +0 -22
  1776. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentBase.js +0 -126
  1777. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentList.d.ts +0 -21
  1778. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentTemplate.d.ts +0 -23
  1779. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentTemplate.js +0 -102
  1780. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentTimeline.d.ts +0 -21
  1781. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentURL.d.ts +0 -23
  1782. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/SegmentURL.js +0 -56
  1783. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/utils.d.ts +0 -169
  1784. package/dist/commonjs/parsers/manifest/dash/native-parser/node_parsers/utils.js +0 -346
  1785. package/dist/commonjs/parsers/manifest/dash/native-parser/parse_from_document.d.ts +0 -24
  1786. package/dist/commonjs/parsers/manifest/dash/native-parser/parse_from_document.js +0 -136
  1787. package/dist/commonjs/playback_observer/index.d.ts +0 -6
  1788. package/dist/commonjs/playback_observer/index.js +0 -5
  1789. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts +0 -203
  1790. package/dist/commonjs/playback_observer/media_element_playback_observer.js +0 -685
  1791. package/dist/commonjs/playback_observer/types.d.ts +0 -223
  1792. package/dist/commonjs/playback_observer/types.js +0 -2
  1793. package/dist/commonjs/playback_observer/utils/generate_read_only_observer.d.ts +0 -11
  1794. package/dist/commonjs/playback_observer/utils/generate_read_only_observer.js +0 -44
  1795. package/dist/commonjs/playback_observer/utils/observation_position.d.ts +0 -87
  1796. package/dist/commonjs/playback_observer/utils/observation_position.js +0 -88
  1797. package/dist/commonjs/playback_observer/worker_playback_observer.d.ts +0 -72
  1798. package/dist/commonjs/playback_observer/worker_playback_observer.js +0 -49
  1799. package/dist/commonjs/utils/xml-parser.d.ts +0 -70
  1800. package/dist/commonjs/utils/xml-parser.js +0 -357
  1801. package/dist/es2017/core/main/common/DecipherabilityFreezeDetector.d.ts +0 -79
  1802. package/dist/es2017/core/main/common/DecipherabilityFreezeDetector.js +0 -91
  1803. package/dist/es2017/core/main/common/content_time_boundaries_observer.d.ts +0 -191
  1804. package/dist/es2017/core/main/common/content_time_boundaries_observer.js +0 -467
  1805. package/dist/es2017/core/main/common/create_content_time_boundaries_observer.d.ts +0 -27
  1806. package/dist/es2017/core/main/common/create_content_time_boundaries_observer.js +0 -41
  1807. package/dist/es2017/core/main/common/get_buffered_data_per_media_buffer.d.ts +0 -14
  1808. package/dist/es2017/core/main/common/get_buffered_data_per_media_buffer.js +0 -34
  1809. package/dist/es2017/core/main/worker/content_preparer.d.ts +0 -93
  1810. package/dist/es2017/core/main/worker/content_preparer.js +0 -239
  1811. package/dist/es2017/core/main/worker/globals.d.ts +0 -13
  1812. package/dist/es2017/core/main/worker/globals.js +0 -18
  1813. package/dist/es2017/core/main/worker/index.d.ts +0 -2
  1814. package/dist/es2017/core/main/worker/index.js +0 -2
  1815. package/dist/es2017/core/main/worker/send_message.d.ts +0 -3
  1816. package/dist/es2017/core/main/worker/send_message.js +0 -20
  1817. package/dist/es2017/core/main/worker/track_choice_setter.d.ts +0 -19
  1818. package/dist/es2017/core/main/worker/track_choice_setter.js +0 -114
  1819. package/dist/es2017/core/main/worker/worker_main.d.ts +0 -1
  1820. package/dist/es2017/core/main/worker/worker_main.js +0 -710
  1821. package/dist/es2017/core/main/worker/worker_text_displayer_interface.d.ts +0 -64
  1822. package/dist/es2017/core/main/worker/worker_text_displayer_interface.js +0 -120
  1823. package/dist/es2017/core/segment_sinks/garbage_collector.d.ts +0 -43
  1824. package/dist/es2017/core/segment_sinks/garbage_collector.js +0 -143
  1825. package/dist/es2017/core/segment_sinks/implementations/audio_video/audio_video_segment_buffer.d.ts +0 -135
  1826. package/dist/es2017/core/segment_sinks/implementations/audio_video/audio_video_segment_buffer.js +0 -265
  1827. package/dist/es2017/core/segment_sinks/implementations/audio_video/index.d.ts +0 -17
  1828. package/dist/es2017/core/segment_sinks/implementations/audio_video/index.js +0 -17
  1829. package/dist/es2017/core/segment_sinks/implementations/index.d.ts +0 -19
  1830. package/dist/es2017/core/segment_sinks/implementations/index.js +0 -18
  1831. package/dist/es2017/core/segment_sinks/implementations/text/index.d.ts +0 -3
  1832. package/dist/es2017/core/segment_sinks/implementations/text/index.js +0 -2
  1833. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_buffer.d.ts +0 -90
  1834. package/dist/es2017/core/segment_sinks/implementations/text/text_segment_buffer.js +0 -156
  1835. package/dist/es2017/core/segment_sinks/implementations/types.d.ts +0 -307
  1836. package/dist/es2017/core/segment_sinks/implementations/types.js +0 -112
  1837. package/dist/es2017/core/segment_sinks/implementations/utils/manual_time_ranges.js +0 -63
  1838. package/dist/es2017/core/segment_sinks/index.d.ts +0 -21
  1839. package/dist/es2017/core/segment_sinks/index.js +0 -21
  1840. package/dist/es2017/core/segment_sinks/inventory/buffered_history.d.ts +0 -89
  1841. package/dist/es2017/core/segment_sinks/inventory/buffered_history.js +0 -88
  1842. package/dist/es2017/core/segment_sinks/inventory/index.d.ts +0 -21
  1843. package/dist/es2017/core/segment_sinks/inventory/index.js +0 -18
  1844. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.d.ts +0 -238
  1845. package/dist/es2017/core/segment_sinks/inventory/segment_inventory.js +0 -868
  1846. package/dist/es2017/core/segment_sinks/inventory/types.d.ts +0 -27
  1847. package/dist/es2017/core/segment_sinks/inventory/utils.d.ts +0 -33
  1848. package/dist/es2017/core/segment_sinks/inventory/utils.js +0 -48
  1849. package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts +0 -171
  1850. package/dist/es2017/core/segment_sinks/segment_buffers_store.js +0 -281
  1851. package/dist/es2017/core/types.d.ts +0 -8
  1852. package/dist/es2017/main_thread/api/debug/buffer_graph.d.ts +0 -28
  1853. package/dist/es2017/main_thread/api/debug/buffer_graph.js +0 -164
  1854. package/dist/es2017/main_thread/api/debug/buffer_size_graph.js +0 -102
  1855. package/dist/es2017/main_thread/api/debug/modules/general_info.d.ts +0 -3
  1856. package/dist/es2017/main_thread/api/debug/modules/general_info.js +0 -192
  1857. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_content.d.ts +0 -4
  1858. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_content.js +0 -124
  1859. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_size.d.ts +0 -3
  1860. package/dist/es2017/main_thread/api/debug/modules/segment_buffer_size.js +0 -35
  1861. package/dist/es2017/main_thread/api/debug/render.d.ts +0 -3
  1862. package/dist/es2017/main_thread/api/debug/render.js +0 -32
  1863. package/dist/es2017/main_thread/api/debug/utils.js +0 -54
  1864. package/dist/es2017/main_thread/api/index.d.ts +0 -17
  1865. package/dist/es2017/main_thread/api/index.js +0 -17
  1866. package/dist/es2017/main_thread/api/option_utils.d.ts +0 -124
  1867. package/dist/es2017/main_thread/api/option_utils.js +0 -308
  1868. package/dist/es2017/main_thread/api/public_api.d.ts +0 -751
  1869. package/dist/es2017/main_thread/api/public_api.js +0 -2347
  1870. package/dist/es2017/main_thread/api/utils.d.ts +0 -66
  1871. package/dist/es2017/main_thread/api/utils.js +0 -170
  1872. package/dist/es2017/main_thread/decrypt/__tests__/__global__/utils.d.ts +0 -184
  1873. package/dist/es2017/main_thread/decrypt/__tests__/__global__/utils.js +0 -378
  1874. package/dist/es2017/main_thread/decrypt/attach_media_keys.d.ts +0 -53
  1875. package/dist/es2017/main_thread/decrypt/attach_media_keys.js +0 -75
  1876. package/dist/es2017/main_thread/decrypt/clear_on_stop.js +0 -40
  1877. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts +0 -185
  1878. package/dist/es2017/main_thread/decrypt/content_decryptor.js +0 -799
  1879. package/dist/es2017/main_thread/decrypt/create_or_load_session.d.ts +0 -64
  1880. package/dist/es2017/main_thread/decrypt/create_or_load_session.js +0 -83
  1881. package/dist/es2017/main_thread/decrypt/create_session.d.ts +0 -54
  1882. package/dist/es2017/main_thread/decrypt/create_session.js +0 -150
  1883. package/dist/es2017/main_thread/decrypt/dispose_decryption_resources.js +0 -41
  1884. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts +0 -48
  1885. package/dist/es2017/main_thread/decrypt/find_key_system.js +0 -287
  1886. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts +0 -44
  1887. package/dist/es2017/main_thread/decrypt/get_media_keys.js +0 -103
  1888. package/dist/es2017/main_thread/decrypt/index.d.ts +0 -26
  1889. package/dist/es2017/main_thread/decrypt/index.js +0 -26
  1890. package/dist/es2017/main_thread/decrypt/init_media_keys.d.ts +0 -26
  1891. package/dist/es2017/main_thread/decrypt/session_events_listener.d.ts +0 -75
  1892. package/dist/es2017/main_thread/decrypt/session_events_listener.js +0 -246
  1893. package/dist/es2017/main_thread/decrypt/set_server_certificate.d.ts +0 -51
  1894. package/dist/es2017/main_thread/decrypt/set_server_certificate.js +0 -82
  1895. package/dist/es2017/main_thread/decrypt/types.d.ts +0 -374
  1896. package/dist/es2017/main_thread/decrypt/utils/are_init_values_compatible.js +0 -141
  1897. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.d.ts +0 -52
  1898. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.js +0 -163
  1899. package/dist/es2017/main_thread/decrypt/utils/clean_old_loaded_sessions.d.ts +0 -26
  1900. package/dist/es2017/main_thread/decrypt/utils/clean_old_stored_persistent_info.d.ts +0 -32
  1901. package/dist/es2017/main_thread/decrypt/utils/init_data_values_container.d.ts +0 -69
  1902. package/dist/es2017/main_thread/decrypt/utils/init_data_values_container.js +0 -105
  1903. package/dist/es2017/main_thread/decrypt/utils/is_session_usable.d.ts +0 -24
  1904. package/dist/es2017/main_thread/decrypt/utils/is_session_usable.js +0 -48
  1905. package/dist/es2017/main_thread/decrypt/utils/key_id_comparison.js +0 -48
  1906. package/dist/es2017/main_thread/decrypt/utils/key_session_record.d.ts +0 -104
  1907. package/dist/es2017/main_thread/decrypt/utils/key_session_record.js +0 -152
  1908. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.d.ts +0 -213
  1909. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.js +0 -365
  1910. package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.d.ts +0 -56
  1911. package/dist/es2017/main_thread/decrypt/utils/media_keys_infos_store.js +0 -43
  1912. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts +0 -94
  1913. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.js +0 -325
  1914. package/dist/es2017/main_thread/decrypt/utils/serializable_bytes.d.ts +0 -44
  1915. package/dist/es2017/main_thread/decrypt/utils/serializable_bytes.js +0 -46
  1916. package/dist/es2017/main_thread/decrypt/utils/server_certificate_store.d.ts +0 -64
  1917. package/dist/es2017/main_thread/decrypt/utils/server_certificate_store.js +0 -121
  1918. package/dist/es2017/main_thread/init/directfile_content_initializer.d.ts +0 -97
  1919. package/dist/es2017/main_thread/init/directfile_content_initializer.js +0 -233
  1920. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +0 -166
  1921. package/dist/es2017/main_thread/init/media_source_content_initializer.js +0 -691
  1922. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +0 -167
  1923. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +0 -1369
  1924. package/dist/es2017/main_thread/init/send_message.d.ts +0 -2
  1925. package/dist/es2017/main_thread/init/send_message.js +0 -10
  1926. package/dist/es2017/main_thread/init/types.d.ts +0 -221
  1927. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.d.ts +0 -83
  1928. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.js +0 -98
  1929. package/dist/es2017/main_thread/init/utils/create_media_source.d.ts +0 -37
  1930. package/dist/es2017/main_thread/init/utils/create_media_source.js +0 -101
  1931. package/dist/es2017/main_thread/init/utils/get_initial_time.d.ts +0 -76
  1932. package/dist/es2017/main_thread/init/utils/get_initial_time.js +0 -106
  1933. package/dist/es2017/main_thread/init/utils/get_loaded_reference.d.ts +0 -28
  1934. package/dist/es2017/main_thread/init/utils/get_loaded_reference.js +0 -59
  1935. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts +0 -61
  1936. package/dist/es2017/main_thread/init/utils/initial_seek_and_play.js +0 -203
  1937. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.d.ts +0 -87
  1938. package/dist/es2017/main_thread/init/utils/initialize_content_decryption.js +0 -116
  1939. package/dist/es2017/main_thread/init/utils/main_thread_text_displayer_interface.d.ts +0 -35
  1940. package/dist/es2017/main_thread/init/utils/rebuffering_controller.d.ts +0 -114
  1941. package/dist/es2017/main_thread/init/utils/rebuffering_controller.js +0 -426
  1942. package/dist/es2017/main_thread/init/utils/stream_events_emitter/are_same_stream_events.js +0 -33
  1943. package/dist/es2017/main_thread/init/utils/stream_events_emitter/index.d.ts +0 -18
  1944. package/dist/es2017/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.d.ts +0 -25
  1945. package/dist/es2017/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.js +0 -84
  1946. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +0 -53
  1947. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.js +0 -175
  1948. package/dist/es2017/main_thread/init/utils/stream_events_emitter/types.d.ts +0 -41
  1949. package/dist/es2017/main_thread/init/utils/throw_on_media_error.d.ts +0 -23
  1950. package/dist/es2017/main_thread/init/utils/throw_on_media_error.js +0 -63
  1951. package/dist/es2017/main_thread/text_displayer/html/html_parsers.js +0 -22
  1952. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.d.ts +0 -100
  1953. package/dist/es2017/main_thread/text_displayer/html/html_text_displayer.js +0 -312
  1954. package/dist/es2017/main_thread/text_displayer/html/text_track_cues_store.d.ts +0 -65
  1955. package/dist/es2017/main_thread/text_displayer/html/text_track_cues_store.js +0 -358
  1956. package/dist/es2017/main_thread/text_displayer/html/update_proportional_elements.js +0 -61
  1957. package/dist/es2017/main_thread/text_displayer/html/utils.js +0 -111
  1958. package/dist/es2017/main_thread/text_displayer/index.d.ts +0 -2
  1959. package/dist/es2017/main_thread/text_displayer/manual_time_ranges.js +0 -48
  1960. package/dist/es2017/main_thread/text_displayer/native/native_parsers.d.ts +0 -11
  1961. package/dist/es2017/main_thread/text_displayer/native/native_parsers.js +0 -22
  1962. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts +0 -56
  1963. package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +0 -203
  1964. package/dist/es2017/main_thread/text_displayer/types.d.ts +0 -71
  1965. package/dist/es2017/main_thread/text_displayer/types.js +0 -1
  1966. package/dist/es2017/main_thread/tracks_store/index.d.ts +0 -20
  1967. package/dist/es2017/main_thread/tracks_store/media_element_tracks_store.d.ts +0 -197
  1968. package/dist/es2017/main_thread/tracks_store/media_element_tracks_store.js +0 -663
  1969. package/dist/es2017/main_thread/tracks_store/track_dispatcher.d.ts +0 -101
  1970. package/dist/es2017/main_thread/tracks_store/track_dispatcher.js +0 -175
  1971. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts +0 -448
  1972. package/dist/es2017/main_thread/tracks_store/tracks_store.js +0 -998
  1973. package/dist/es2017/main_thread/types.d.ts +0 -5
  1974. package/dist/es2017/main_thread/types.js +0 -1
  1975. package/dist/es2017/manifest/classes/adaptation.d.ts +0 -134
  1976. package/dist/es2017/manifest/classes/adaptation.js +0 -193
  1977. package/dist/es2017/manifest/classes/index.d.ts +0 -25
  1978. package/dist/es2017/manifest/classes/index.js +0 -28
  1979. package/dist/es2017/manifest/classes/manifest.d.ts +0 -391
  1980. package/dist/es2017/manifest/classes/manifest.js +0 -381
  1981. package/dist/es2017/manifest/classes/period.d.ts +0 -106
  1982. package/dist/es2017/manifest/classes/period.js +0 -194
  1983. package/dist/es2017/manifest/classes/representation.d.ts +0 -238
  1984. package/dist/es2017/manifest/classes/representation.js +0 -346
  1985. package/dist/es2017/manifest/classes/representation_index/index.d.ts +0 -18
  1986. package/dist/es2017/manifest/classes/representation_index/static.d.ts +0 -101
  1987. package/dist/es2017/manifest/classes/representation_index/static.js +0 -143
  1988. package/dist/es2017/manifest/classes/representation_index/types.d.ts +0 -420
  1989. package/dist/es2017/manifest/classes/types.d.ts +0 -29
  1990. package/dist/es2017/manifest/classes/types.js +0 -30
  1991. package/dist/es2017/manifest/classes/update_period_in_place.d.ts +0 -53
  1992. package/dist/es2017/manifest/classes/update_period_in_place.js +0 -109
  1993. package/dist/es2017/manifest/classes/update_periods.d.ts +0 -50
  1994. package/dist/es2017/manifest/classes/update_periods.js +0 -193
  1995. package/dist/es2017/manifest/classes/utils.d.ts +0 -39
  1996. package/dist/es2017/manifest/classes/utils.js +0 -49
  1997. package/dist/es2017/mse/utils/end_of_stream.d.ts +0 -33
  1998. package/dist/es2017/mse/utils/end_of_stream.js +0 -87
  1999. package/dist/es2017/mse/utils/media_source_duration_updater.js +0 -265
  2000. package/dist/es2017/parsers/manifest/dash/fast-js-parser/index.d.ts +0 -17
  2001. package/dist/es2017/parsers/manifest/dash/fast-js-parser/index.js +0 -17
  2002. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.d.ts +0 -24
  2003. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.js +0 -358
  2004. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/BaseURL.d.ts +0 -24
  2005. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/BaseURL.js +0 -30
  2006. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/ContentComponent.d.ts +0 -23
  2007. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/ContentComponent.js +0 -45
  2008. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/ContentProtection.d.ts +0 -22
  2009. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/ContentProtection.js +0 -77
  2010. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/EventStream.d.ts +0 -23
  2011. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/EventStream.js +0 -101
  2012. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Initialization.d.ts +0 -22
  2013. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Initialization.js +0 -45
  2014. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.d.ts +0 -23
  2015. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.js +0 -179
  2016. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.d.ts +0 -23
  2017. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Period.js +0 -137
  2018. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.d.ts +0 -22
  2019. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.js +0 -214
  2020. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentBase.d.ts +0 -23
  2021. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentBase.js +0 -111
  2022. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentList.d.ts +0 -22
  2023. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentList.js +0 -41
  2024. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTemplate.d.ts +0 -24
  2025. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTemplate.js +0 -84
  2026. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTimeline.d.ts +0 -22
  2027. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTimeline.js +0 -33
  2028. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentURL.d.ts +0 -24
  2029. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentURL.js +0 -57
  2030. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/utils.d.ts +0 -176
  2031. package/dist/es2017/parsers/manifest/dash/fast-js-parser/node_parsers/utils.js +0 -310
  2032. package/dist/es2017/parsers/manifest/dash/fast-js-parser/parse_from_xml_string.d.ts +0 -24
  2033. package/dist/es2017/parsers/manifest/dash/fast-js-parser/parse_from_xml_string.js +0 -114
  2034. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.d.ts +0 -23
  2035. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.js +0 -354
  2036. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/BaseURL.d.ts +0 -23
  2037. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/BaseURL.js +0 -29
  2038. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/ContentComponent.d.ts +0 -22
  2039. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/ContentProtection.d.ts +0 -21
  2040. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.d.ts +0 -23
  2041. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/EventStream.js +0 -100
  2042. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Initialization.d.ts +0 -21
  2043. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Initialization.js +0 -41
  2044. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.d.ts +0 -21
  2045. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/MPD.js +0 -161
  2046. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.d.ts +0 -21
  2047. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Period.js +0 -118
  2048. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.d.ts +0 -21
  2049. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/Representation.js +0 -210
  2050. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentBase.d.ts +0 -22
  2051. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentBase.js +0 -107
  2052. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentList.d.ts +0 -21
  2053. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentTemplate.d.ts +0 -23
  2054. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentTemplate.js +0 -83
  2055. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentTimeline.d.ts +0 -21
  2056. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentURL.d.ts +0 -23
  2057. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/SegmentURL.js +0 -53
  2058. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/utils.d.ts +0 -169
  2059. package/dist/es2017/parsers/manifest/dash/native-parser/node_parsers/utils.js +0 -297
  2060. package/dist/es2017/parsers/manifest/dash/native-parser/parse_from_document.d.ts +0 -24
  2061. package/dist/es2017/parsers/manifest/dash/native-parser/parse_from_document.js +0 -108
  2062. package/dist/es2017/playback_observer/index.d.ts +0 -6
  2063. package/dist/es2017/playback_observer/index.js +0 -2
  2064. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts +0 -203
  2065. package/dist/es2017/playback_observer/media_element_playback_observer.js +0 -678
  2066. package/dist/es2017/playback_observer/types.d.ts +0 -223
  2067. package/dist/es2017/playback_observer/types.js +0 -1
  2068. package/dist/es2017/playback_observer/utils/generate_read_only_observer.d.ts +0 -11
  2069. package/dist/es2017/playback_observer/utils/generate_read_only_observer.js +0 -41
  2070. package/dist/es2017/playback_observer/utils/observation_position.d.ts +0 -87
  2071. package/dist/es2017/playback_observer/utils/observation_position.js +0 -84
  2072. package/dist/es2017/playback_observer/worker_playback_observer.d.ts +0 -72
  2073. package/dist/es2017/playback_observer/worker_playback_observer.js +0 -45
  2074. package/dist/es2017/utils/xml-parser.d.ts +0 -70
  2075. package/dist/es2017/utils/xml-parser.js +0 -322
  2076. package/dist/rx-player.d.ts +0 -3
  2077. package/dist/rx-player.min.d.ts +0 -3
  2078. package/jest.config.js +0 -29
  2079. package/manifest.mpd +0 -149
  2080. package/scripts/README.md +0 -12
  2081. package/scripts/build_demo.mjs +0 -164
  2082. package/scripts/build_wasm_release.sh +0 -65
  2083. package/scripts/bundle_worker.mjs +0 -140
  2084. package/scripts/canal-release.patch +0 -78
  2085. package/scripts/check_nodejs_import_compatibility.js +0 -62
  2086. package/scripts/deploy_new_demo +0 -123
  2087. package/scripts/generate_build.mjs +0 -182
  2088. package/scripts/generate_certificate +0 -19
  2089. package/scripts/generate_demo_list.mjs +0 -127
  2090. package/scripts/generate_documentation_list.mjs +0 -112
  2091. package/scripts/generate_embeds.mjs +0 -143
  2092. package/scripts/generate_standalone_demo.mjs +0 -114
  2093. package/scripts/install_rust_toolchain.sh +0 -147
  2094. package/scripts/launch_static_server.mjs +0 -187
  2095. package/scripts/list-npm-scripts.mjs +0 -204
  2096. package/scripts/make-dev-releases +0 -90
  2097. package/scripts/run_standalone_demo.mjs +0 -33
  2098. package/scripts/start_demo_web_server.mjs +0 -57
  2099. package/scripts/update-version +0 -45
  2100. package/scripts/update_gh-pages_demo +0 -142
  2101. package/scripts/update_gh-pages_doc +0 -106
  2102. package/scripts/utils/display_webpack_errors.mjs +0 -33
  2103. package/scripts/utils/get_human_readable_hours.mjs +0 -17
  2104. package/scripts/utils/project_root_directory.mjs +0 -4
  2105. package/scripts/wasm-strip.mjs +0 -376
  2106. package/sonar-project.properties +0 -7
  2107. package/src/README.md +0 -364
  2108. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +0 -3
  2109. package/src/__GENERATED_CODE/embedded_worker.ts +0 -3
  2110. package/src/__GENERATED_CODE/index.ts +0 -2
  2111. package/src/compat/README.md +0 -35
  2112. package/src/compat/__tests__/add_text_track.test.ts +0 -132
  2113. package/src/compat/__tests__/browser_compatibility_types.test.ts +0 -139
  2114. package/src/compat/__tests__/browser_version.test.ts +0 -86
  2115. package/src/compat/__tests__/can_patch_isobmff.test.ts +0 -50
  2116. package/src/compat/__tests__/can_rely_on_video_visibility_and_size.test.ts +0 -75
  2117. package/src/compat/__tests__/can_reuse_media_keys.test.ts +0 -26
  2118. package/src/compat/__tests__/change_source_buffer_type.test.ts +0 -54
  2119. package/src/compat/__tests__/clear_element_src.test.ts +0 -254
  2120. package/src/compat/__tests__/enable_audio_track.test.ts +0 -340
  2121. package/src/compat/__tests__/is_codec_supported.test.ts +0 -84
  2122. package/src/compat/__tests__/is_seeking_approximate.test.ts +0 -48
  2123. package/src/compat/__tests__/is_vtt_cue.test.ts +0 -73
  2124. package/src/compat/__tests__/make_vtt_cue.test.ts +0 -99
  2125. package/src/compat/__tests__/patch_webkit_source_buffer.test.ts +0 -141
  2126. package/src/compat/__tests__/remove_cue.test.ts +0 -239
  2127. package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +0 -133
  2128. package/src/compat/__tests__/should_reload_media_source_on_decipherability_update.test.ts +0 -53
  2129. package/src/compat/__tests__/should_renew_media_key_system_access.test.ts +0 -57
  2130. package/src/compat/__tests__/should_unset_media_keys.test.ts +0 -53
  2131. package/src/compat/__tests__/should_validate_metadata.test.ts +0 -53
  2132. package/src/compat/__tests__/should_wait_for_data_before_loaded.test.ts +0 -122
  2133. package/src/compat/__tests__/should_wait_for_have_enough_data.test.ts +0 -38
  2134. package/src/compat/add_class_name.ts +0 -42
  2135. package/src/compat/add_text_track.ts +0 -56
  2136. package/src/compat/browser_compatibility_types.ts +0 -216
  2137. package/src/compat/browser_detection.ts +0 -175
  2138. package/src/compat/browser_version.ts +0 -44
  2139. package/src/compat/can_patch_isobmff.ts +0 -30
  2140. package/src/compat/can_rely_on_video_visibility_and_size.ts +0 -52
  2141. package/src/compat/can_reuse_media_keys.ts +0 -17
  2142. package/src/compat/change_source_buffer_type.ts +0 -69
  2143. package/src/compat/clear_element_src.ts +0 -55
  2144. package/src/compat/eme/close_session.ts +0 -113
  2145. package/src/compat/eme/constants.ts +0 -21
  2146. package/src/compat/eme/custom_key_system_access.ts +0 -67
  2147. package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +0 -200
  2148. package/src/compat/eme/custom_media_keys/index.ts +0 -23
  2149. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +0 -86
  2150. package/src/compat/eme/custom_media_keys/ms_media_keys_constructor.ts +0 -67
  2151. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +0 -242
  2152. package/src/compat/eme/custom_media_keys/types.ts +0 -61
  2153. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +0 -306
  2154. package/src/compat/eme/custom_media_keys/webkit_media_keys_constructor.ts +0 -47
  2155. package/src/compat/eme/eme-api-implementation.ts +0 -321
  2156. package/src/compat/eme/generate_key_request.ts +0 -161
  2157. package/src/compat/eme/get_init_data.ts +0 -159
  2158. package/src/compat/eme/get_uuid_kid_from_keystatus_kid.ts +0 -35
  2159. package/src/compat/eme/get_webkit_fairplay_initdata.ts +0 -72
  2160. package/src/compat/eme/index.ts +0 -40
  2161. package/src/compat/eme/load_session.ts +0 -73
  2162. package/src/compat/enable_audio_track.ts +0 -33
  2163. package/src/compat/event_listeners.ts +0 -633
  2164. package/src/compat/get_start_date.ts +0 -46
  2165. package/src/compat/has_issues_with_high_media_source_duration.ts +0 -27
  2166. package/src/compat/has_mse_in_worker.ts +0 -6
  2167. package/src/compat/has_webassembly.ts +0 -7
  2168. package/src/compat/is_codec_supported.ts +0 -67
  2169. package/src/compat/is_debug_mode_enabled.ts +0 -12
  2170. package/src/compat/is_seeking_approximate.ts +0 -32
  2171. package/src/compat/is_vtt_cue.ts +0 -31
  2172. package/src/compat/make_vtt_cue.ts +0 -51
  2173. package/src/compat/on_height_width_change.ts +0 -126
  2174. package/src/compat/patch_webkit_source_buffer.ts +0 -93
  2175. package/src/compat/remove_cue.ts +0 -64
  2176. package/src/compat/should_favour_custom_safari_EME.ts +0 -29
  2177. package/src/compat/should_reload_media_source_on_decipherability_update.ts +0 -31
  2178. package/src/compat/should_renew_media_key_system_access.ts +0 -26
  2179. package/src/compat/should_unset_media_keys.ts +0 -27
  2180. package/src/compat/should_validate_metadata.ts +0 -27
  2181. package/src/compat/should_wait_for_data_before_loaded.ts +0 -35
  2182. package/src/compat/should_wait_for_have_enough_data.ts +0 -17
  2183. package/src/config.ts +0 -26
  2184. package/src/core/README.md +0 -53
  2185. package/src/core/adaptive/README.md +0 -154
  2186. package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +0 -555
  2187. package/src/core/adaptive/adaptive_representation_selector.ts +0 -849
  2188. package/src/core/adaptive/buffer_based_chooser.ts +0 -266
  2189. package/src/core/adaptive/guess_based_chooser.ts +0 -324
  2190. package/src/core/adaptive/index.ts +0 -46
  2191. package/src/core/adaptive/network_analyzer.ts +0 -437
  2192. package/src/core/adaptive/utils/__tests__/bandwith_estimator.test.ts +0 -132
  2193. package/src/core/adaptive/utils/__tests__/ewma.test.ts +0 -79
  2194. package/src/core/adaptive/utils/__tests__/filter_by_bitrate.test.ts +0 -56
  2195. package/src/core/adaptive/utils/__tests__/filter_by_resolution.test.ts +0 -98
  2196. package/src/core/adaptive/utils/__tests__/get_buffer_levels.test.ts +0 -50
  2197. package/src/core/adaptive/utils/__tests__/select_optimal_representation.test.ts +0 -63
  2198. package/src/core/adaptive/utils/bandwidth_estimator.ts +0 -86
  2199. package/src/core/adaptive/utils/ewma.ts +0 -58
  2200. package/src/core/adaptive/utils/filter_by_bitrate.ts +0 -46
  2201. package/src/core/adaptive/utils/filter_by_resolution.ts +0 -65
  2202. package/src/core/adaptive/utils/get_buffer_levels.ts +0 -55
  2203. package/src/core/adaptive/utils/last_estimate_storage.ts +0 -79
  2204. package/src/core/adaptive/utils/pending_requests_store.ts +0 -157
  2205. package/src/core/adaptive/utils/representation_score_calculator.ts +0 -174
  2206. package/src/core/adaptive/utils/select_optimal_representation.ts +0 -44
  2207. package/src/core/fetchers/README.md +0 -83
  2208. package/src/core/fetchers/cdn_prioritizer.ts +0 -209
  2209. package/src/core/fetchers/index.ts +0 -35
  2210. package/src/core/fetchers/manifest/index.ts +0 -24
  2211. package/src/core/fetchers/manifest/manifest_fetcher.ts +0 -836
  2212. package/src/core/fetchers/segment/__tests__/initialization_segment_cache.test.ts +0 -316
  2213. package/src/core/fetchers/segment/__tests__/task_prioritizer.test.ts +0 -941
  2214. package/src/core/fetchers/segment/index.ts +0 -23
  2215. package/src/core/fetchers/segment/initialization_segment_cache.ts +0 -65
  2216. package/src/core/fetchers/segment/prioritized_segment_fetcher.ts +0 -105
  2217. package/src/core/fetchers/segment/segment_fetcher.ts +0 -528
  2218. package/src/core/fetchers/segment/segment_fetcher_creator.ts +0 -122
  2219. package/src/core/fetchers/segment/task_prioritizer.ts +0 -461
  2220. package/src/core/fetchers/utils/error_selector.ts +0 -34
  2221. package/src/core/fetchers/utils/schedule_request.ts +0 -445
  2222. package/src/core/main/README.md +0 -18
  2223. package/src/core/main/common/DecipherabilityFreezeDetector.ts +0 -147
  2224. package/src/core/main/common/content_time_boundaries_observer.ts +0 -656
  2225. package/src/core/main/common/create_content_time_boundaries_observer.ts +0 -71
  2226. package/src/core/main/common/get_buffered_data_per_media_buffer.ts +0 -49
  2227. package/src/core/main/worker/content_preparer.ts +0 -422
  2228. package/src/core/main/worker/globals.ts +0 -38
  2229. package/src/core/main/worker/index.ts +0 -2
  2230. package/src/core/main/worker/send_message.ts +0 -26
  2231. package/src/core/main/worker/track_choice_setter.ts +0 -170
  2232. package/src/core/main/worker/worker_main.ts +0 -915
  2233. package/src/core/main/worker/worker_text_displayer_interface.ts +0 -162
  2234. package/src/core/segment_sinks/README.md +0 -203
  2235. package/src/core/segment_sinks/garbage_collector.ts +0 -199
  2236. package/src/core/segment_sinks/implementations/audio_video/audio_video_segment_buffer.ts +0 -372
  2237. package/src/core/segment_sinks/implementations/audio_video/index.ts +0 -18
  2238. package/src/core/segment_sinks/implementations/index.ts +0 -21
  2239. package/src/core/segment_sinks/implementations/text/index.ts +0 -4
  2240. package/src/core/segment_sinks/implementations/text/text_segment_buffer.ts +0 -242
  2241. package/src/core/segment_sinks/implementations/types.ts +0 -347
  2242. package/src/core/segment_sinks/implementations/utils/manual_time_ranges.ts +0 -76
  2243. package/src/core/segment_sinks/index.ts +0 -63
  2244. package/src/core/segment_sinks/inventory/buffered_history.ts +0 -126
  2245. package/src/core/segment_sinks/inventory/index.ts +0 -27
  2246. package/src/core/segment_sinks/inventory/segment_inventory.ts +0 -1347
  2247. package/src/core/segment_sinks/inventory/types.ts +0 -29
  2248. package/src/core/segment_sinks/inventory/utils.ts +0 -59
  2249. package/src/core/segment_sinks/segment_buffers_store.ts +0 -363
  2250. package/src/core/stream/README.md +0 -56
  2251. package/src/core/stream/adaptation/adaptation_stream.ts +0 -495
  2252. package/src/core/stream/adaptation/get_representations_switch_strategy.ts +0 -171
  2253. package/src/core/stream/adaptation/index.ts +0 -20
  2254. package/src/core/stream/adaptation/types.ts +0 -210
  2255. package/src/core/stream/index.ts +0 -43
  2256. package/src/core/stream/orchestrator/README.md +0 -337
  2257. package/src/core/stream/orchestrator/get_time_ranges_for_content.ts +0 -75
  2258. package/src/core/stream/orchestrator/index.ts +0 -30
  2259. package/src/core/stream/orchestrator/stream_orchestrator.ts +0 -787
  2260. package/src/core/stream/period/index.ts +0 -20
  2261. package/src/core/stream/period/period_stream.ts +0 -579
  2262. package/src/core/stream/period/types.ts +0 -124
  2263. package/src/core/stream/period/utils/get_adaptation_switch_strategy.ts +0 -196
  2264. package/src/core/stream/representation/README.md +0 -22
  2265. package/src/core/stream/representation/index.ts +0 -20
  2266. package/src/core/stream/representation/representation_stream.ts +0 -511
  2267. package/src/core/stream/representation/types.ts +0 -339
  2268. package/src/core/stream/representation/utils/append_segment_to_buffer.ts +0 -94
  2269. package/src/core/stream/representation/utils/check_for_discontinuity.ts +0 -325
  2270. package/src/core/stream/representation/utils/downloading_queue.ts +0 -644
  2271. package/src/core/stream/representation/utils/get_buffer_status.ts +0 -358
  2272. package/src/core/stream/representation/utils/get_needed_segments.ts +0 -643
  2273. package/src/core/stream/representation/utils/get_segment_priority.ts +0 -43
  2274. package/src/core/stream/representation/utils/push_init_segment.ts +0 -88
  2275. package/src/core/stream/representation/utils/push_media_segment.ts +0 -119
  2276. package/src/core/types.ts +0 -53
  2277. package/src/default_config.ts +0 -1196
  2278. package/src/errors/README.md +0 -17
  2279. package/src/errors/__tests__/encrypted_media_error.test.ts +0 -45
  2280. package/src/errors/__tests__/error_message.test.ts +0 -23
  2281. package/src/errors/__tests__/format_error.test.ts +0 -71
  2282. package/src/errors/__tests__/is_known_error.test.ts +0 -54
  2283. package/src/errors/__tests__/media_error.test.ts +0 -54
  2284. package/src/errors/__tests__/network_error.test.ts +0 -68
  2285. package/src/errors/__tests__/other_error.test.ts +0 -53
  2286. package/src/errors/custom_loader_error.ts +0 -48
  2287. package/src/errors/encrypted_media_error.ts +0 -100
  2288. package/src/errors/error_codes.ts +0 -144
  2289. package/src/errors/error_message.ts +0 -25
  2290. package/src/errors/format_error.ts +0 -41
  2291. package/src/errors/index.ts +0 -55
  2292. package/src/errors/is_known_error.ts +0 -37
  2293. package/src/errors/media_error.ts +0 -111
  2294. package/src/errors/network_error.ts +0 -93
  2295. package/src/errors/other_error.ts +0 -67
  2296. package/src/errors/source_buffer_error.ts +0 -61
  2297. package/src/errors/worker_initialization_error.ts +0 -34
  2298. package/src/experimental/README.md +0 -19
  2299. package/src/experimental/features/__tests__/index.test.ts +0 -10
  2300. package/src/experimental/features/__tests__/local.test.ts +0 -36
  2301. package/src/experimental/features/__tests__/metaplaylist.test.ts +0 -36
  2302. package/src/experimental/features/__tests__/multi_thread.test.ts +0 -17
  2303. package/src/experimental/features/index.ts +0 -19
  2304. package/src/experimental/features/local.ts +0 -29
  2305. package/src/experimental/features/metaplaylist.ts +0 -29
  2306. package/src/experimental/features/multi_thread.ts +0 -13
  2307. package/src/experimental/index.ts +0 -3
  2308. package/src/experimental/tools/VideoThumbnailLoader/features/dash.ts +0 -23
  2309. package/src/experimental/tools/VideoThumbnailLoader/features/metaplaylist.ts +0 -23
  2310. package/src/experimental/tools/VideoThumbnailLoader/index.ts +0 -19
  2311. package/src/experimental/tools/VideoThumbnailLoader/load_and_push_segment.ts +0 -75
  2312. package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +0 -83
  2313. package/src/experimental/tools/VideoThumbnailLoader/remove_buffer_around_time.ts +0 -50
  2314. package/src/experimental/tools/VideoThumbnailLoader/types.ts +0 -32
  2315. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +0 -438
  2316. package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader_error.ts +0 -34
  2317. package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +0 -136
  2318. package/src/experimental/tools/createMetaplaylist/index.ts +0 -75
  2319. package/src/experimental/tools/index.ts +0 -21
  2320. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/capabilities.test.ts +0 -38
  2321. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +0 -132
  2322. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +0 -152
  2323. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +0 -413
  2324. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/defaultCodecFinder.test.ts +0 -151
  2325. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +0 -302
  2326. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +0 -201
  2327. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/utils.test.ts +0 -257
  2328. package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +0 -192
  2329. package/src/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.ts +0 -143
  2330. package/src/experimental/tools/mediaCapabilitiesProber/capabilities.ts +0 -129
  2331. package/src/experimental/tools/mediaCapabilitiesProber/index.ts +0 -20
  2332. package/src/experimental/tools/mediaCapabilitiesProber/log.ts +0 -21
  2333. package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +0 -71
  2334. package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +0 -103
  2335. package/src/experimental/tools/mediaCapabilitiesProber/probers/decodingInfo.ts +0 -106
  2336. package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +0 -70
  2337. package/src/experimental/tools/mediaCapabilitiesProber/probers/index.ts +0 -40
  2338. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +0 -71
  2339. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/format.ts +0 -102
  2340. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentTypeWithFeatures/index.ts +0 -111
  2341. package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaDisplayInfos.ts +0 -61
  2342. package/src/experimental/tools/mediaCapabilitiesProber/types.ts +0 -75
  2343. package/src/experimental/tools/mediaCapabilitiesProber/utils.ts +0 -112
  2344. package/src/features/README.md +0 -10
  2345. package/src/features/__tests__/add_features.test.ts +0 -75
  2346. package/src/features/add_features.ts +0 -38
  2347. package/src/features/features_object.ts +0 -38
  2348. package/src/features/index.ts +0 -37
  2349. package/src/features/list/__tests__/dash.test.ts +0 -42
  2350. package/src/features/list/__tests__/dash_wasm.test.ts +0 -47
  2351. package/src/features/list/__tests__/debug_element.test.ts +0 -12
  2352. package/src/features/list/__tests__/directfile.test.ts +0 -34
  2353. package/src/features/list/__tests__/eme.test.ts +0 -28
  2354. package/src/features/list/__tests__/html_sami_parser.test.ts +0 -35
  2355. package/src/features/list/__tests__/html_srt_parser.test.ts +0 -34
  2356. package/src/features/list/__tests__/html_text_buffer.test.ts +0 -28
  2357. package/src/features/list/__tests__/html_ttml_parser.test.ts +0 -34
  2358. package/src/features/list/__tests__/html_vtt_parser.test.ts +0 -34
  2359. package/src/features/list/__tests__/index.test.ts +0 -55
  2360. package/src/features/list/__tests__/native_sami_parser.test.ts +0 -35
  2361. package/src/features/list/__tests__/native_srt_parser.test.ts +0 -34
  2362. package/src/features/list/__tests__/native_text_buffer.test.ts +0 -28
  2363. package/src/features/list/__tests__/native_ttml_parser.test.ts +0 -34
  2364. package/src/features/list/__tests__/native_vtt_parser.test.ts +0 -34
  2365. package/src/features/list/__tests__/smooth.test.ts +0 -36
  2366. package/src/features/list/dash.ts +0 -37
  2367. package/src/features/list/dash_wasm.ts +0 -41
  2368. package/src/features/list/debug_element.ts +0 -13
  2369. package/src/features/list/directfile.ts +0 -31
  2370. package/src/features/list/eme.ts +0 -29
  2371. package/src/features/list/html_sami_parser.ts +0 -31
  2372. package/src/features/list/html_srt_parser.ts +0 -31
  2373. package/src/features/list/html_text_buffer.ts +0 -29
  2374. package/src/features/list/html_ttml_parser.ts +0 -31
  2375. package/src/features/list/html_vtt_parser.ts +0 -31
  2376. package/src/features/list/index.ts +0 -33
  2377. package/src/features/list/media_source_main.ts +0 -13
  2378. package/src/features/list/native_sami_parser.ts +0 -31
  2379. package/src/features/list/native_srt_parser.ts +0 -31
  2380. package/src/features/list/native_text_buffer.ts +0 -29
  2381. package/src/features/list/native_ttml_parser.ts +0 -31
  2382. package/src/features/list/native_vtt_parser.ts +0 -31
  2383. package/src/features/list/smooth.ts +0 -35
  2384. package/src/features/types.ts +0 -187
  2385. package/src/globals.dev.d.ts +0 -15
  2386. package/src/globals.prod.d.ts +0 -15
  2387. package/src/index.ts +0 -62
  2388. package/src/log.ts +0 -22
  2389. package/src/main_thread/README.md +0 -42
  2390. package/src/main_thread/api/README.md +0 -32
  2391. package/src/main_thread/api/__tests__/option_utils.test.ts +0 -1086
  2392. package/src/main_thread/api/__tests__/public_api.test.ts +0 -444
  2393. package/src/main_thread/api/__tests__/utils.test.ts +0 -191
  2394. package/src/main_thread/api/debug/buffer_graph.ts +0 -231
  2395. package/src/main_thread/api/debug/buffer_size_graph.ts +0 -127
  2396. package/src/main_thread/api/debug/constants.ts +0 -2
  2397. package/src/main_thread/api/debug/index.ts +0 -3
  2398. package/src/main_thread/api/debug/modules/general_info.ts +0 -214
  2399. package/src/main_thread/api/debug/modules/segment_buffer_content.ts +0 -163
  2400. package/src/main_thread/api/debug/modules/segment_buffer_size.ts +0 -43
  2401. package/src/main_thread/api/debug/render.ts +0 -40
  2402. package/src/main_thread/api/debug/utils.ts +0 -100
  2403. package/src/main_thread/api/index.ts +0 -18
  2404. package/src/main_thread/api/option_utils.ts +0 -462
  2405. package/src/main_thread/api/public_api.ts +0 -3255
  2406. package/src/main_thread/api/utils.ts +0 -255
  2407. package/src/main_thread/decrypt/README.md +0 -28
  2408. package/src/main_thread/decrypt/__tests__/__global__/get_license.test.ts +0 -497
  2409. package/src/main_thread/decrypt/__tests__/__global__/init_data.test.ts +0 -724
  2410. package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +0 -799
  2411. package/src/main_thread/decrypt/__tests__/__global__/media_keys.test.ts +0 -371
  2412. package/src/main_thread/decrypt/__tests__/__global__/server_certificate.test.ts +0 -260
  2413. package/src/main_thread/decrypt/__tests__/__global__/utils.ts +0 -517
  2414. package/src/main_thread/decrypt/attach_media_keys.ts +0 -124
  2415. package/src/main_thread/decrypt/clear_on_stop.ts +0 -48
  2416. package/src/main_thread/decrypt/content_decryptor.ts +0 -1209
  2417. package/src/main_thread/decrypt/create_or_load_session.ts +0 -138
  2418. package/src/main_thread/decrypt/create_session.ts +0 -213
  2419. package/src/main_thread/decrypt/dispose_decryption_resources.ts +0 -51
  2420. package/src/main_thread/decrypt/find_key_system.ts +0 -399
  2421. package/src/main_thread/decrypt/get_key_system_configuration.ts +0 -36
  2422. package/src/main_thread/decrypt/get_media_keys.ts +0 -144
  2423. package/src/main_thread/decrypt/index.ts +0 -29
  2424. package/src/main_thread/decrypt/init_media_keys.ts +0 -62
  2425. package/src/main_thread/decrypt/session_events_listener.ts +0 -360
  2426. package/src/main_thread/decrypt/set_server_certificate.ts +0 -107
  2427. package/src/main_thread/decrypt/types.ts +0 -411
  2428. package/src/main_thread/decrypt/utils/__tests__/are_init_values_compatible.test.ts +0 -177
  2429. package/src/main_thread/decrypt/utils/__tests__/clean_old_loaded_sessions.test.ts +0 -168
  2430. package/src/main_thread/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +0 -145
  2431. package/src/main_thread/decrypt/utils/are_init_values_compatible.ts +0 -162
  2432. package/src/main_thread/decrypt/utils/check_key_statuses.ts +0 -230
  2433. package/src/main_thread/decrypt/utils/clean_old_loaded_sessions.ts +0 -45
  2434. package/src/main_thread/decrypt/utils/clean_old_stored_persistent_info.ts +0 -50
  2435. package/src/main_thread/decrypt/utils/get_drm_system_id.ts +0 -41
  2436. package/src/main_thread/decrypt/utils/init_data_values_container.ts +0 -129
  2437. package/src/main_thread/decrypt/utils/is_session_usable.ts +0 -67
  2438. package/src/main_thread/decrypt/utils/key_id_comparison.ts +0 -57
  2439. package/src/main_thread/decrypt/utils/key_session_record.ts +0 -172
  2440. package/src/main_thread/decrypt/utils/loaded_sessions_store.ts +0 -511
  2441. package/src/main_thread/decrypt/utils/media_keys_infos_store.ts +0 -84
  2442. package/src/main_thread/decrypt/utils/persistent_sessions_store.ts +0 -373
  2443. package/src/main_thread/decrypt/utils/serializable_bytes.ts +0 -56
  2444. package/src/main_thread/decrypt/utils/server_certificate_store.ts +0 -146
  2445. package/src/main_thread/init/README.md +0 -90
  2446. package/src/main_thread/init/directfile_content_initializer.ts +0 -329
  2447. package/src/main_thread/init/index.ts +0 -22
  2448. package/src/main_thread/init/media_source_content_initializer.ts +0 -1105
  2449. package/src/main_thread/init/multi_thread_content_initializer.ts +0 -1983
  2450. package/src/main_thread/init/send_message.ts +0 -15
  2451. package/src/main_thread/init/types.ts +0 -252
  2452. package/src/main_thread/init/utils/__tests__/are_same_stream_events.test.ts +0 -69
  2453. package/src/main_thread/init/utils/__tests__/refresh_scheduled_events_list.test.ts +0 -85
  2454. package/src/main_thread/init/utils/create_core_playback_observer.ts +0 -196
  2455. package/src/main_thread/init/utils/create_media_source.ts +0 -123
  2456. package/src/main_thread/init/utils/get_initial_time.ts +0 -169
  2457. package/src/main_thread/init/utils/get_loaded_reference.ts +0 -85
  2458. package/src/main_thread/init/utils/initial_seek_and_play.ts +0 -285
  2459. package/src/main_thread/init/utils/initialize_content_decryption.ts +0 -201
  2460. package/src/main_thread/init/utils/main_thread_text_displayer_interface.ts +0 -59
  2461. package/src/main_thread/init/utils/rebuffering_controller.ts +0 -637
  2462. package/src/main_thread/init/utils/stream_events_emitter/are_same_stream_events.ts +0 -38
  2463. package/src/main_thread/init/utils/stream_events_emitter/index.ts +0 -19
  2464. package/src/main_thread/init/utils/stream_events_emitter/refresh_scheduled_events_list.ts +0 -95
  2465. package/src/main_thread/init/utils/stream_events_emitter/stream_events_emitter.ts +0 -259
  2466. package/src/main_thread/init/utils/stream_events_emitter/types.ts +0 -46
  2467. package/src/main_thread/init/utils/throw_on_media_error.ts +0 -76
  2468. package/src/main_thread/text_displayer/html/__tests__/utils.test.ts +0 -335
  2469. package/src/main_thread/text_displayer/html/html_parsers.ts +0 -35
  2470. package/src/main_thread/text_displayer/html/html_text_displayer.ts +0 -437
  2471. package/src/main_thread/text_displayer/html/index.ts +0 -2
  2472. package/src/main_thread/text_displayer/html/text_track_cues_store.ts +0 -379
  2473. package/src/main_thread/text_displayer/html/update_proportional_elements.ts +0 -76
  2474. package/src/main_thread/text_displayer/html/utils.ts +0 -136
  2475. package/src/main_thread/text_displayer/index.ts +0 -3
  2476. package/src/main_thread/text_displayer/manual_time_ranges.ts +0 -60
  2477. package/src/main_thread/text_displayer/native/index.ts +0 -2
  2478. package/src/main_thread/text_displayer/native/native_parsers.ts +0 -31
  2479. package/src/main_thread/text_displayer/native/native_text_displayer.ts +0 -254
  2480. package/src/main_thread/text_displayer/types.ts +0 -74
  2481. package/src/main_thread/tracks_store/README.md +0 -21
  2482. package/src/main_thread/tracks_store/__tests__/media_element_tracks_store.test.ts +0 -180
  2483. package/src/main_thread/tracks_store/index.ts +0 -22
  2484. package/src/main_thread/tracks_store/media_element_tracks_store.ts +0 -811
  2485. package/src/main_thread/tracks_store/track_dispatcher.ts +0 -296
  2486. package/src/main_thread/tracks_store/tracks_store.ts +0 -1493
  2487. package/src/main_thread/types.ts +0 -15
  2488. package/src/manifest/README.md +0 -11
  2489. package/src/manifest/classes/README.md +0 -55
  2490. package/src/manifest/classes/__tests__/adaptation.test.ts +0 -422
  2491. package/src/manifest/classes/__tests__/manifest.test.ts +0 -549
  2492. package/src/manifest/classes/__tests__/period.test.ts +0 -1002
  2493. package/src/manifest/classes/__tests__/representation.test.ts +0 -497
  2494. package/src/manifest/classes/__tests__/update_period_in_place.test.ts +0 -1338
  2495. package/src/manifest/classes/__tests__/update_periods.test.ts +0 -975
  2496. package/src/manifest/classes/adaptation.ts +0 -286
  2497. package/src/manifest/classes/index.ts +0 -56
  2498. package/src/manifest/classes/manifest.ts +0 -707
  2499. package/src/manifest/classes/period.ts +0 -267
  2500. package/src/manifest/classes/representation.ts +0 -487
  2501. package/src/manifest/classes/representation_index/__tests__/static.test.ts +0 -78
  2502. package/src/manifest/classes/representation_index/index.ts +0 -31
  2503. package/src/manifest/classes/representation_index/static.ts +0 -169
  2504. package/src/manifest/classes/representation_index/types.ts +0 -458
  2505. package/src/manifest/classes/types.ts +0 -30
  2506. package/src/manifest/classes/update_period_in_place.ts +0 -163
  2507. package/src/manifest/classes/update_periods.ts +0 -279
  2508. package/src/manifest/classes/utils.ts +0 -71
  2509. package/src/manifest/index.ts +0 -45
  2510. package/src/manifest/types.ts +0 -407
  2511. package/src/manifest/utils.ts +0 -672
  2512. package/src/minimal.ts +0 -47
  2513. package/src/mse/README.md +0 -30
  2514. package/src/mse/index.ts +0 -7
  2515. package/src/mse/main_codec_support_prober.ts +0 -52
  2516. package/src/mse/main_media_source_interface.ts +0 -595
  2517. package/src/mse/types.ts +0 -314
  2518. package/src/mse/utils/end_of_stream.ts +0 -119
  2519. package/src/mse/utils/media_source_duration_updater.ts +0 -366
  2520. package/src/mse/worker_codec_support_prober.ts +0 -75
  2521. package/src/mse/worker_media_source_interface.ts +0 -471
  2522. package/src/multithread_types.ts +0 -980
  2523. package/src/parsers/README.md +0 -20
  2524. package/src/parsers/containers/isobmff/constants.ts +0 -24
  2525. package/src/parsers/containers/isobmff/create_box.ts +0 -72
  2526. package/src/parsers/containers/isobmff/drm/index.ts +0 -17
  2527. package/src/parsers/containers/isobmff/drm/playready.ts +0 -38
  2528. package/src/parsers/containers/isobmff/get_box.ts +0 -276
  2529. package/src/parsers/containers/isobmff/index.ts +0 -39
  2530. package/src/parsers/containers/isobmff/read.ts +0 -96
  2531. package/src/parsers/containers/isobmff/take_pssh_out.ts +0 -97
  2532. package/src/parsers/containers/isobmff/utils.ts +0 -574
  2533. package/src/parsers/containers/matroska/index.ts +0 -17
  2534. package/src/parsers/containers/matroska/utils.ts +0 -325
  2535. package/src/parsers/images/bif.ts +0 -145
  2536. package/src/parsers/manifest/dash/common/__tests__/attach_trickmode_track.test.ts +0 -63
  2537. package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +0 -33
  2538. package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +0 -158
  2539. package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +0 -67
  2540. package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +0 -153
  2541. package/src/parsers/manifest/dash/common/__tests__/get_periods_time_infos.test.ts +0 -106
  2542. package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +0 -280
  2543. package/src/parsers/manifest/dash/common/__tests__/parse_availability_start_time.test.ts +0 -80
  2544. package/src/parsers/manifest/dash/common/attach_trickmode_track.ts +0 -54
  2545. package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +0 -25
  2546. package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +0 -89
  2547. package/src/parsers/manifest/dash/common/get_clock_offset.ts +0 -40
  2548. package/src/parsers/manifest/dash/common/get_hdr_information.ts +0 -86
  2549. package/src/parsers/manifest/dash/common/get_http_utc-timing_url.ts +0 -44
  2550. package/src/parsers/manifest/dash/common/get_minimum_and_maximum_positions.ts +0 -41
  2551. package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +0 -93
  2552. package/src/parsers/manifest/dash/common/index.ts +0 -36
  2553. package/src/parsers/manifest/dash/common/indexes/__tests__/tokens.test.ts +0 -63
  2554. package/src/parsers/manifest/dash/common/indexes/base.ts +0 -451
  2555. package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +0 -58
  2556. package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +0 -149
  2557. package/src/parsers/manifest/dash/common/indexes/index.ts +0 -31
  2558. package/src/parsers/manifest/dash/common/indexes/list.ts +0 -361
  2559. package/src/parsers/manifest/dash/common/indexes/template.ts +0 -675
  2560. package/src/parsers/manifest/dash/common/indexes/timeline/__tests__/parse_s_element.test.ts +0 -195
  2561. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +0 -57
  2562. package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_previous_timeline.ts +0 -115
  2563. package/src/parsers/manifest/dash/common/indexes/timeline/convert_element_to_index_segment.ts +0 -73
  2564. package/src/parsers/manifest/dash/common/indexes/timeline/find_first_common_start_time.ts +0 -171
  2565. package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +0 -21
  2566. package/src/parsers/manifest/dash/common/indexes/timeline/parse_s_element.ts +0 -118
  2567. package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +0 -1112
  2568. package/src/parsers/manifest/dash/common/indexes/tokens.ts +0 -127
  2569. package/src/parsers/manifest/dash/common/indexes/utils.ts +0 -30
  2570. package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +0 -140
  2571. package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +0 -174
  2572. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +0 -569
  2573. package/src/parsers/manifest/dash/common/parse_availability_start_time.ts +0 -37
  2574. package/src/parsers/manifest/dash/common/parse_mpd.ts +0 -423
  2575. package/src/parsers/manifest/dash/common/parse_periods.ts +0 -383
  2576. package/src/parsers/manifest/dash/common/parse_representation_index.ts +0 -207
  2577. package/src/parsers/manifest/dash/common/parse_representations.ts +0 -348
  2578. package/src/parsers/manifest/dash/common/resolve_base_urls.ts +0 -58
  2579. package/src/parsers/manifest/dash/fast-js-parser/__tests__/parse_from_xml_string.test.ts +0 -39
  2580. package/src/parsers/manifest/dash/fast-js-parser/index.ts +0 -18
  2581. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/AdaptationSet.ts +0 -427
  2582. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/BaseURL.ts +0 -36
  2583. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/ContentComponent.ts +0 -50
  2584. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/ContentProtection.ts +0 -94
  2585. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/EventStream.ts +0 -123
  2586. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Initialization.ts +0 -52
  2587. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/MPD.ts +0 -214
  2588. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Period.ts +0 -174
  2589. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/Representation.ts +0 -262
  2590. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentBase.ts +0 -134
  2591. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentList.ts +0 -52
  2592. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTemplate.ts +0 -104
  2593. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentTimeline.ts +0 -37
  2594. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/SegmentURL.ts +0 -66
  2595. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/AdaptationSet.test.ts +0 -534
  2596. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/ContentComponent.test.ts +0 -63
  2597. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/ContentProtection.test.ts +0 -182
  2598. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/Initialization.test.ts +0 -116
  2599. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/SegmentURL.test.ts +0 -162
  2600. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/__tests__/utils.test.ts +0 -203
  2601. package/src/parsers/manifest/dash/fast-js-parser/node_parsers/utils.ts +0 -401
  2602. package/src/parsers/manifest/dash/fast-js-parser/parse_from_xml_string.ts +0 -135
  2603. package/src/parsers/manifest/dash/index.ts +0 -22
  2604. package/src/parsers/manifest/dash/native-parser/__tests__/parse_from_document.test.ts +0 -43
  2605. package/src/parsers/manifest/dash/native-parser/index.ts +0 -18
  2606. package/src/parsers/manifest/dash/native-parser/node_parsers/AdaptationSet.ts +0 -425
  2607. package/src/parsers/manifest/dash/native-parser/node_parsers/BaseURL.ts +0 -34
  2608. package/src/parsers/manifest/dash/native-parser/node_parsers/ContentComponent.ts +0 -49
  2609. package/src/parsers/manifest/dash/native-parser/node_parsers/ContentProtection.ts +0 -92
  2610. package/src/parsers/manifest/dash/native-parser/node_parsers/EventStream.ts +0 -118
  2611. package/src/parsers/manifest/dash/native-parser/node_parsers/Initialization.ts +0 -47
  2612. package/src/parsers/manifest/dash/native-parser/node_parsers/MPD.ts +0 -184
  2613. package/src/parsers/manifest/dash/native-parser/node_parsers/Period.ts +0 -146
  2614. package/src/parsers/manifest/dash/native-parser/node_parsers/Representation.ts +0 -257
  2615. package/src/parsers/manifest/dash/native-parser/node_parsers/SegmentBase.ts +0 -129
  2616. package/src/parsers/manifest/dash/native-parser/node_parsers/SegmentList.ts +0 -50
  2617. package/src/parsers/manifest/dash/native-parser/node_parsers/SegmentTemplate.ts +0 -102
  2618. package/src/parsers/manifest/dash/native-parser/node_parsers/SegmentTimeline.ts +0 -33
  2619. package/src/parsers/manifest/dash/native-parser/node_parsers/SegmentURL.ts +0 -61
  2620. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/AdaptationSet.test.ts +0 -632
  2621. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/ContentComponent.test.ts +0 -67
  2622. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/ContentProtection.test.ts +0 -247
  2623. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/Initialization.test.ts +0 -126
  2624. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentTimeline.test.ts +0 -115
  2625. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/SegmentURL.test.ts +0 -181
  2626. package/src/parsers/manifest/dash/native-parser/node_parsers/__tests__/utils.test.ts +0 -216
  2627. package/src/parsers/manifest/dash/native-parser/node_parsers/utils.ts +0 -388
  2628. package/src/parsers/manifest/dash/native-parser/parse_from_document.ts +0 -125
  2629. package/src/parsers/manifest/dash/node_parser_types.ts +0 -432
  2630. package/src/parsers/manifest/dash/parsers_types.ts +0 -90
  2631. package/src/parsers/manifest/dash/wasm-parser/Cargo.lock +0 -25
  2632. package/src/parsers/manifest/dash/wasm-parser/Cargo.toml +0 -16
  2633. package/src/parsers/manifest/dash/wasm-parser/README.md +0 -243
  2634. package/src/parsers/manifest/dash/wasm-parser/index.ts +0 -19
  2635. package/src/parsers/manifest/dash/wasm-parser/rs/errors.rs +0 -28
  2636. package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +0 -380
  2637. package/src/parsers/manifest/dash/wasm-parser/rs/lib.rs +0 -85
  2638. package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +0 -414
  2639. package/src/parsers/manifest/dash/wasm-parser/rs/processor/mod.rs +0 -472
  2640. package/src/parsers/manifest/dash/wasm-parser/rs/processor/s_element.rs +0 -72
  2641. package/src/parsers/manifest/dash/wasm-parser/rs/reader.rs +0 -17
  2642. package/src/parsers/manifest/dash/wasm-parser/rs/reportable.rs +0 -147
  2643. package/src/parsers/manifest/dash/wasm-parser/rs/utils.rs +0 -266
  2644. package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +0 -495
  2645. package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +0 -376
  2646. package/src/parsers/manifest/dash/wasm-parser/ts/generators/BaseURL.ts +0 -38
  2647. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentComponent.ts +0 -52
  2648. package/src/parsers/manifest/dash/wasm-parser/ts/generators/ContentProtection.ts +0 -58
  2649. package/src/parsers/manifest/dash/wasm-parser/ts/generators/EventStream.ts +0 -137
  2650. package/src/parsers/manifest/dash/wasm-parser/ts/generators/MPD.ts +0 -173
  2651. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Period.ts +0 -190
  2652. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +0 -252
  2653. package/src/parsers/manifest/dash/wasm-parser/ts/generators/Scheme.ts +0 -44
  2654. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentBase.ts +0 -111
  2655. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentList.ts +0 -56
  2656. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentTemplate.ts +0 -132
  2657. package/src/parsers/manifest/dash/wasm-parser/ts/generators/SegmentUrl.ts +0 -63
  2658. package/src/parsers/manifest/dash/wasm-parser/ts/generators/XLink.ts +0 -64
  2659. package/src/parsers/manifest/dash/wasm-parser/ts/generators/index.ts +0 -17
  2660. package/src/parsers/manifest/dash/wasm-parser/ts/generators/root.ts +0 -69
  2661. package/src/parsers/manifest/dash/wasm-parser/ts/parsers_stack.ts +0 -82
  2662. package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +0 -297
  2663. package/src/parsers/manifest/dash/wasm-parser/ts/utils.ts +0 -48
  2664. package/src/parsers/manifest/index.ts +0 -17
  2665. package/src/parsers/manifest/local/index.ts +0 -25
  2666. package/src/parsers/manifest/local/parse_local_manifest.ts +0 -180
  2667. package/src/parsers/manifest/local/representation_index.ts +0 -254
  2668. package/src/parsers/manifest/local/types.ts +0 -293
  2669. package/src/parsers/manifest/metaplaylist/index.ts +0 -24
  2670. package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +0 -366
  2671. package/src/parsers/manifest/metaplaylist/representation_index.ts +0 -274
  2672. package/src/parsers/manifest/smooth/create_parser.ts +0 -723
  2673. package/src/parsers/manifest/smooth/get_codecs.ts +0 -52
  2674. package/src/parsers/manifest/smooth/index.ts +0 -21
  2675. package/src/parsers/manifest/smooth/parse_C_nodes.ts +0 -68
  2676. package/src/parsers/manifest/smooth/parse_protection_node.ts +0 -83
  2677. package/src/parsers/manifest/smooth/representation_index.ts +0 -547
  2678. package/src/parsers/manifest/smooth/shared_smooth_segment_timeline.ts +0 -246
  2679. package/src/parsers/manifest/smooth/utils/add_segment_infos.ts +0 -78
  2680. package/src/parsers/manifest/smooth/utils/parseBoolean.ts +0 -29
  2681. package/src/parsers/manifest/smooth/utils/reduceChildren.ts +0 -36
  2682. package/src/parsers/manifest/smooth/utils/tokens.ts +0 -44
  2683. package/src/parsers/manifest/types.ts +0 -403
  2684. package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +0 -239
  2685. package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +0 -239
  2686. package/src/parsers/manifest/utils/__tests__/index_helpers.test.ts +0 -40
  2687. package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +0 -621
  2688. package/src/parsers/manifest/utils/check_manifest_ids.ts +0 -79
  2689. package/src/parsers/manifest/utils/clear_timeline_from_position.ts +0 -77
  2690. package/src/parsers/manifest/utils/get_first_time_from_adaptation.ts +0 -49
  2691. package/src/parsers/manifest/utils/get_last_time_from_adaptation.ts +0 -51
  2692. package/src/parsers/manifest/utils/get_maximum_positions.ts +0 -88
  2693. package/src/parsers/manifest/utils/get_minimum_position.ts +0 -81
  2694. package/src/parsers/manifest/utils/index_helpers.ts +0 -203
  2695. package/src/parsers/manifest/utils/update_segment_timeline.ts +0 -145
  2696. package/src/parsers/texttracks/index.ts +0 -17
  2697. package/src/parsers/texttracks/sami/html.ts +0 -220
  2698. package/src/parsers/texttracks/sami/native.ts +0 -190
  2699. package/src/parsers/texttracks/srt/__tests__/find_end_of_cue_block.test.ts +0 -99
  2700. package/src/parsers/texttracks/srt/__tests__/get_cue_blocks.test.ts +0 -103
  2701. package/src/parsers/texttracks/srt/__tests__/parse_cue.test.ts +0 -102
  2702. package/src/parsers/texttracks/srt/__tests__/parse_timestamp.test.ts +0 -36
  2703. package/src/parsers/texttracks/srt/find_end_of_cue_block.ts +0 -46
  2704. package/src/parsers/texttracks/srt/get_cue_blocks.ts +0 -50
  2705. package/src/parsers/texttracks/srt/html.ts +0 -183
  2706. package/src/parsers/texttracks/srt/native.ts +0 -72
  2707. package/src/parsers/texttracks/srt/parse_cue.ts +0 -72
  2708. package/src/parsers/texttracks/srt/parse_timestamp.ts +0 -35
  2709. package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +0 -267
  2710. package/src/parsers/texttracks/ttml/get_parameters.ts +0 -101
  2711. package/src/parsers/texttracks/ttml/get_styling.ts +0 -145
  2712. package/src/parsers/texttracks/ttml/get_time_delimiters.ts +0 -50
  2713. package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.test.ts +0 -190
  2714. package/src/parsers/texttracks/ttml/html/__tests__/generate_css_test_outline.test.ts +0 -34
  2715. package/src/parsers/texttracks/ttml/html/__tests__/ttml_color_to_css_color.test.ts +0 -53
  2716. package/src/parsers/texttracks/ttml/html/apply_default_ttml_paragraph_style.ts +0 -69
  2717. package/src/parsers/texttracks/ttml/html/apply_extent.ts +0 -56
  2718. package/src/parsers/texttracks/ttml/html/apply_font_size.ts +0 -59
  2719. package/src/parsers/texttracks/ttml/html/apply_line_height.ts +0 -48
  2720. package/src/parsers/texttracks/ttml/html/apply_origin.ts +0 -55
  2721. package/src/parsers/texttracks/ttml/html/apply_padding.ts +0 -134
  2722. package/src/parsers/texttracks/ttml/html/create_element.ts +0 -552
  2723. package/src/parsers/texttracks/ttml/html/generate_css_test_outline.ts +0 -48
  2724. package/src/parsers/texttracks/ttml/html/index.ts +0 -23
  2725. package/src/parsers/texttracks/ttml/html/parse_cue.ts +0 -62
  2726. package/src/parsers/texttracks/ttml/html/parse_ttml_to_div.ts +0 -56
  2727. package/src/parsers/texttracks/ttml/html/ttml_color_to_css_color.ts +0 -92
  2728. package/src/parsers/texttracks/ttml/native/index.ts +0 -23
  2729. package/src/parsers/texttracks/ttml/native/parse_cue.ts +0 -231
  2730. package/src/parsers/texttracks/ttml/native/parse_ttml_to_vtt.ts +0 -39
  2731. package/src/parsers/texttracks/ttml/parse_ttml.ts +0 -216
  2732. package/src/parsers/texttracks/ttml/regexps.ts +0 -61
  2733. package/src/parsers/texttracks/ttml/resolve_styles_inheritance.ts +0 -81
  2734. package/src/parsers/texttracks/ttml/time_parsing.ts +0 -145
  2735. package/src/parsers/texttracks/ttml/xml_utils.ts +0 -169
  2736. package/src/parsers/texttracks/types.ts +0 -38
  2737. package/src/parsers/texttracks/webvtt/__tests__/get_cue_blocks.test.ts +0 -180
  2738. package/src/parsers/texttracks/webvtt/__tests__/get_style_blocks.test.ts +0 -60
  2739. package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +0 -204
  2740. package/src/parsers/texttracks/webvtt/__tests__/parse_timestamp.test.ts +0 -39
  2741. package/src/parsers/texttracks/webvtt/__tests__/utils.test.ts +0 -389
  2742. package/src/parsers/texttracks/webvtt/get_cue_blocks.ts +0 -48
  2743. package/src/parsers/texttracks/webvtt/get_style_blocks.ts +0 -57
  2744. package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +0 -108
  2745. package/src/parsers/texttracks/webvtt/html/__tests__/create_default_style_elements.test.ts +0 -42
  2746. package/src/parsers/texttracks/webvtt/html/__tests__/create_style_attribute.test.ts +0 -155
  2747. package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +0 -119
  2748. package/src/parsers/texttracks/webvtt/html/__tests__/parse_style_block.test.ts +0 -295
  2749. package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +0 -179
  2750. package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +0 -227
  2751. package/src/parsers/texttracks/webvtt/html/convert_payload_to_html.ts +0 -43
  2752. package/src/parsers/texttracks/webvtt/html/create_default_style_elements.ts +0 -26
  2753. package/src/parsers/texttracks/webvtt/html/create_style_attribute.ts +0 -219
  2754. package/src/parsers/texttracks/webvtt/html/create_styled_element.ts +0 -88
  2755. package/src/parsers/texttracks/webvtt/html/index.ts +0 -25
  2756. package/src/parsers/texttracks/webvtt/html/parse_style_block.ts +0 -80
  2757. package/src/parsers/texttracks/webvtt/html/parse_webvtt_to_div.ts +0 -63
  2758. package/src/parsers/texttracks/webvtt/html/to_html.ts +0 -91
  2759. package/src/parsers/texttracks/webvtt/native/index.ts +0 -23
  2760. package/src/parsers/texttracks/webvtt/native/parse_vtt_to_cues.ts +0 -68
  2761. package/src/parsers/texttracks/webvtt/native/set_settings_on_cue.ts +0 -96
  2762. package/src/parsers/texttracks/webvtt/native/to_native_cue.ts +0 -32
  2763. package/src/parsers/texttracks/webvtt/parse_cue_block.ts +0 -128
  2764. package/src/parsers/texttracks/webvtt/parse_timestamp.ts +0 -37
  2765. package/src/parsers/texttracks/webvtt/utils.ts +0 -139
  2766. package/src/playback_observer/index.ts +0 -12
  2767. package/src/playback_observer/media_element_playback_observer.ts +0 -947
  2768. package/src/playback_observer/types.ts +0 -238
  2769. package/src/playback_observer/utils/generate_read_only_observer.ts +0 -64
  2770. package/src/playback_observer/utils/observation_position.ts +0 -105
  2771. package/src/playback_observer/worker_playback_observer.ts +0 -140
  2772. package/src/public_types.ts +0 -1077
  2773. package/src/tools/README.md +0 -7
  2774. package/src/tools/TextTrackRenderer/index.ts +0 -26
  2775. package/src/tools/TextTrackRenderer/text_track_renderer.ts +0 -105
  2776. package/src/tools/index.ts +0 -21
  2777. package/src/tools/parseBIFThumbnails/index.ts +0 -42
  2778. package/src/tools/string_utils/index.ts +0 -24
  2779. package/src/transports/README.md +0 -251
  2780. package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +0 -97
  2781. package/src/transports/dash/construct_segment_url.ts +0 -32
  2782. package/src/transports/dash/extract_complete_chunks.ts +0 -70
  2783. package/src/transports/dash/get_events_out_of_emsgs.ts +0 -113
  2784. package/src/transports/dash/index.ts +0 -23
  2785. package/src/transports/dash/init_segment_loader.ts +0 -125
  2786. package/src/transports/dash/low_latency_segment_loader.ts +0 -90
  2787. package/src/transports/dash/manifest_parser.ts +0 -376
  2788. package/src/transports/dash/pipelines.ts +0 -69
  2789. package/src/transports/dash/segment_loader.ts +0 -273
  2790. package/src/transports/dash/segment_parser.ts +0 -204
  2791. package/src/transports/dash/text_loader.ts +0 -123
  2792. package/src/transports/dash/text_parser.ts +0 -250
  2793. package/src/transports/index.ts +0 -17
  2794. package/src/transports/local/index.ts +0 -18
  2795. package/src/transports/local/pipelines.ts +0 -96
  2796. package/src/transports/local/segment_loader.ts +0 -213
  2797. package/src/transports/local/segment_parser.ts +0 -106
  2798. package/src/transports/local/text_parser.ts +0 -197
  2799. package/src/transports/metaplaylist/README.md +0 -89
  2800. package/src/transports/metaplaylist/index.ts +0 -23
  2801. package/src/transports/metaplaylist/manifest_loader.ts +0 -63
  2802. package/src/transports/metaplaylist/pipelines.ts +0 -400
  2803. package/src/transports/smooth/extract_timings_infos.ts +0 -134
  2804. package/src/transports/smooth/index.ts +0 -23
  2805. package/src/transports/smooth/is_mp4_embedded_track.ts +0 -25
  2806. package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +0 -325
  2807. package/src/transports/smooth/isobmff/create_audio_init_segment.ts +0 -88
  2808. package/src/transports/smooth/isobmff/create_boxes.ts +0 -526
  2809. package/src/transports/smooth/isobmff/create_init_segment.ts +0 -92
  2810. package/src/transports/smooth/isobmff/create_traf_box.ts +0 -36
  2811. package/src/transports/smooth/isobmff/create_video_init_segment.ts +0 -78
  2812. package/src/transports/smooth/isobmff/get_aaces_header.ts +0 -50
  2813. package/src/transports/smooth/isobmff/index.ts +0 -30
  2814. package/src/transports/smooth/isobmff/parse_tfrf.ts +0 -54
  2815. package/src/transports/smooth/isobmff/parse_tfxd.ts +0 -38
  2816. package/src/transports/smooth/isobmff/patch_segment.ts +0 -174
  2817. package/src/transports/smooth/pipelines.ts +0 -416
  2818. package/src/transports/smooth/segment_loader.ts +0 -326
  2819. package/src/transports/smooth/utils.ts +0 -47
  2820. package/src/transports/types.ts +0 -802
  2821. package/src/transports/utils/__tests__/byte_range.test.ts +0 -35
  2822. package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +0 -164
  2823. package/src/transports/utils/__tests__/find_complete_box.test.ts +0 -57
  2824. package/src/transports/utils/__tests__/infer_segment_container.test.ts +0 -65
  2825. package/src/transports/utils/byte_range.ts +0 -24
  2826. package/src/transports/utils/call_custom_manifest_loader.ts +0 -145
  2827. package/src/transports/utils/check_isobmff_integrity.ts +0 -50
  2828. package/src/transports/utils/find_complete_box.ts +0 -58
  2829. package/src/transports/utils/generate_manifest_loader.ts +0 -97
  2830. package/src/transports/utils/get_isobmff_timing_infos.ts +0 -90
  2831. package/src/transports/utils/infer_segment_container.ts +0 -47
  2832. package/src/transports/utils/parse_text_track.ts +0 -160
  2833. package/src/utils/README.md +0 -12
  2834. package/src/utils/__tests__/are_arrays_of_numbers_equal.test.ts +0 -84
  2835. package/src/utils/__tests__/are_codecs_compatible.test.ts +0 -74
  2836. package/src/utils/__tests__/array_find.test.ts +0 -127
  2837. package/src/utils/__tests__/array_find_index.test.ts +0 -126
  2838. package/src/utils/__tests__/array_includes.test.ts +0 -130
  2839. package/src/utils/__tests__/assert.test.ts +0 -259
  2840. package/src/utils/__tests__/base64.test.ts +0 -220
  2841. package/src/utils/__tests__/byte_parsing.test.ts +0 -220
  2842. package/src/utils/__tests__/deep_merge.test.ts +0 -47
  2843. package/src/utils/__tests__/event_emitter.test.ts +0 -552
  2844. package/src/utils/__tests__/flat_map.test.ts +0 -75
  2845. package/src/utils/__tests__/get_fuzzed_delay.test.ts +0 -32
  2846. package/src/utils/__tests__/hash_buffer.test.ts +0 -43
  2847. package/src/utils/__tests__/id_generator.test.ts +0 -83
  2848. package/src/utils/__tests__/is_non_empty_string.test.ts +0 -43
  2849. package/src/utils/__tests__/is_null_or_undefined.test.ts +0 -33
  2850. package/src/utils/__tests__/logger.test.ts +0 -212
  2851. package/src/utils/__tests__/noop.test.ts +0 -23
  2852. package/src/utils/__tests__/object_assign.test.ts +0 -74
  2853. package/src/utils/__tests__/object_values.test.ts +0 -26
  2854. package/src/utils/__tests__/ranges.test.ts +0 -1165
  2855. package/src/utils/__tests__/resolve_url.test.ts +0 -91
  2856. package/src/utils/__tests__/retry_promise_with_backoff.test.ts +0 -39
  2857. package/src/utils/__tests__/sorted_list.test.ts +0 -317
  2858. package/src/utils/__tests__/starts_with.test.ts +0 -65
  2859. package/src/utils/__tests__/string_parsing.test.ts +0 -272
  2860. package/src/utils/__tests__/warn_once.test.ts +0 -38
  2861. package/src/utils/__tests__/weak_map_memory.test.ts +0 -184
  2862. package/src/utils/__tests__/xml-parser.test.ts +0 -440
  2863. package/src/utils/are_arrays_of_numbers_equal.ts +0 -39
  2864. package/src/utils/are_codecs_compatible.ts +0 -51
  2865. package/src/utils/array_find.ts +0 -52
  2866. package/src/utils/array_find_index.ts +0 -54
  2867. package/src/utils/array_includes.ts +0 -89
  2868. package/src/utils/assert.ts +0 -114
  2869. package/src/utils/base64.ts +0 -211
  2870. package/src/utils/byte_parsing.ts +0 -274
  2871. package/src/utils/cancellable_sleep.ts +0 -41
  2872. package/src/utils/create_cancellable_promise.ts +0 -63
  2873. package/src/utils/deep_merge.ts +0 -52
  2874. package/src/utils/event_emitter.ts +0 -155
  2875. package/src/utils/flat_map.ts +0 -47
  2876. package/src/utils/get_fuzzed_delay.ts +0 -27
  2877. package/src/utils/global_scope.ts +0 -22
  2878. package/src/utils/hash_buffer.ts +0 -42
  2879. package/src/utils/id_generator.ts +0 -35
  2880. package/src/utils/is_node.ts +0 -21
  2881. package/src/utils/is_non_empty_string.ts +0 -23
  2882. package/src/utils/is_null_or_undefined.ts +0 -27
  2883. package/src/utils/is_worker.ts +0 -8
  2884. package/src/utils/languages/ISO_639-1_to_ISO_639-3.ts +0 -207
  2885. package/src/utils/languages/ISO_639-2_to_ISO_639-3.ts +0 -43
  2886. package/src/utils/languages/__tests__/normalize.test.ts +0 -325
  2887. package/src/utils/languages/index.ts +0 -29
  2888. package/src/utils/languages/normalize.ts +0 -156
  2889. package/src/utils/logger.ts +0 -116
  2890. package/src/utils/monotonic_timestamp.ts +0 -31
  2891. package/src/utils/noop.ts +0 -26
  2892. package/src/utils/object_assign.ts +0 -90
  2893. package/src/utils/object_values.ts +0 -29
  2894. package/src/utils/queue_microtask.ts +0 -5
  2895. package/src/utils/ranges.ts +0 -571
  2896. package/src/utils/reference.ts +0 -395
  2897. package/src/utils/request/__tests__/request_error.test.ts +0 -29
  2898. package/src/utils/request/fetch.ts +0 -278
  2899. package/src/utils/request/index.ts +0 -43
  2900. package/src/utils/request/request_error.ts +0 -90
  2901. package/src/utils/request/xhr.ts +0 -308
  2902. package/src/utils/resolve_url.ts +0 -125
  2903. package/src/utils/retry_promise_with_backoff.ts +0 -100
  2904. package/src/utils/sleep.ts +0 -14
  2905. package/src/utils/slice_uint8array.ts +0 -45
  2906. package/src/utils/sorted_list.ts +0 -240
  2907. package/src/utils/starts_with.ts +0 -43
  2908. package/src/utils/string_parsing.ts +0 -432
  2909. package/src/utils/sync_or_async.ts +0 -94
  2910. package/src/utils/task_canceller.ts +0 -368
  2911. package/src/utils/warn_once.ts +0 -34
  2912. package/src/utils/weak_map_memory.ts +0 -89
  2913. package/src/utils/wrapInPromise.ts +0 -22
  2914. package/src/utils/xml-parser.ts +0 -396
  2915. package/src/worker_entry_point.ts +0 -7
  2916. package/tsconfig.commonjs.json +0 -9
  2917. package/tsconfig.dev.commonjs.json +0 -4
  2918. package/tsconfig.dev.json +0 -5
  2919. package/tsconfig.eslint.json +0 -5
  2920. package/tsconfig.jest.json +0 -9
  2921. package/tsconfig.json +0 -23
  2922. package/webpack.config.mjs +0 -95
  2923. /package/dist/commonjs/{main_thread → core}/api/debug/buffer_size_graph.d.ts +0 -0
  2924. /package/dist/commonjs/{main_thread → core}/api/debug/constants.d.ts +0 -0
  2925. /package/dist/commonjs/{main_thread → core}/api/debug/constants.js +0 -0
  2926. /package/dist/commonjs/{main_thread → core}/api/debug/index.d.ts +0 -0
  2927. /package/dist/commonjs/{main_thread → core}/api/debug/index.js +0 -0
  2928. /package/dist/commonjs/{main_thread → core}/api/debug/render.js +0 -0
  2929. /package/dist/commonjs/{main_thread → core}/api/debug/utils.d.ts +0 -0
  2930. /package/dist/commonjs/{main_thread → core}/api/debug/utils.js +0 -0
  2931. /package/dist/{es2017/main_thread/tracks_store/index.js → commonjs/core/api/track_management/index.d.ts} +0 -0
  2932. /package/dist/commonjs/{main_thread/tracks_store → core/api/track_management}/index.js +0 -0
  2933. /package/dist/commonjs/{main_thread → core}/decrypt/clear_on_stop.d.ts +0 -0
  2934. /package/dist/commonjs/{main_thread → core}/decrypt/dispose_decryption_resources.d.ts +0 -0
  2935. /package/dist/commonjs/{main_thread → core}/decrypt/get_key_system_configuration.d.ts +0 -0
  2936. /package/dist/commonjs/{main_thread → core}/decrypt/get_key_system_configuration.js +0 -0
  2937. /package/dist/commonjs/{main_thread → core}/decrypt/index.js +0 -0
  2938. /package/dist/commonjs/{main_thread → core}/decrypt/init_media_keys.js +0 -0
  2939. /package/dist/commonjs/{main_thread → core}/decrypt/types.js +0 -0
  2940. /package/dist/commonjs/{main_thread → core}/decrypt/utils/are_init_values_compatible.d.ts +0 -0
  2941. /package/dist/commonjs/{main_thread → core}/decrypt/utils/clean_old_loaded_sessions.js +0 -0
  2942. /package/dist/commonjs/{main_thread → core}/decrypt/utils/clean_old_stored_persistent_info.js +0 -0
  2943. /package/dist/commonjs/{main_thread → core}/decrypt/utils/get_drm_system_id.d.ts +0 -0
  2944. /package/dist/commonjs/{main_thread → core}/decrypt/utils/get_drm_system_id.js +0 -0
  2945. /package/dist/commonjs/{main_thread → core}/decrypt/utils/key_id_comparison.d.ts +0 -0
  2946. /package/dist/commonjs/{main_thread → core}/decrypt/utils/key_id_comparison.js +0 -0
  2947. /package/dist/commonjs/{main_thread → core}/init/index.d.ts +0 -0
  2948. /package/dist/commonjs/{main_thread → core}/init/index.js +0 -0
  2949. /package/dist/commonjs/{main_thread → core}/init/types.js +0 -0
  2950. /package/dist/commonjs/{main_thread → core}/init/utils/main_thread_text_displayer_interface.js +0 -0
  2951. /package/dist/commonjs/{mse → core/init}/utils/media_source_duration_updater.d.ts +0 -0
  2952. /package/dist/commonjs/{main_thread → core}/init/utils/stream_events_emitter/are_same_stream_events.d.ts +0 -0
  2953. /package/dist/commonjs/{main_thread → core}/init/utils/stream_events_emitter/index.js +0 -0
  2954. /package/dist/commonjs/core/{segment_sinks/inventory → init/utils/stream_events_emitter}/types.js +0 -0
  2955. /package/dist/commonjs/core/{segment_sinks → segment_buffers}/implementations/audio_video/index.js +0 -0
  2956. /package/dist/commonjs/core/{segment_sinks → segment_buffers}/implementations/text/index.js +0 -0
  2957. /package/dist/commonjs/core/{segment_sinks → segment_buffers}/implementations/utils/manual_time_ranges.d.ts +0 -0
  2958. /package/dist/commonjs/core/{segment_sinks → segment_buffers}/implementations/utils/manual_time_ranges.js +0 -0
  2959. /package/dist/commonjs/core/{segment_sinks → segment_buffers}/inventory/buffered_history.js +0 -0
  2960. /package/dist/commonjs/core/{segment_sinks → segment_buffers}/inventory/index.js +0 -0
  2961. /package/dist/commonjs/{main_thread/init/utils/stream_events_emitter → core/segment_buffers/inventory}/types.js +0 -0
  2962. /package/dist/commonjs/manifest/{classes/representation_index → representation_index}/index.js +0 -0
  2963. /package/dist/commonjs/manifest/{classes/representation_index → representation_index}/types.js +0 -0
  2964. /package/dist/commonjs/parsers/manifest/dash/{native-parser → js-parser}/index.d.ts +0 -0
  2965. /package/dist/commonjs/parsers/manifest/dash/{native-parser → js-parser}/index.js +0 -0
  2966. /package/dist/commonjs/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/ContentComponent.js +0 -0
  2967. /package/dist/commonjs/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/ContentProtection.js +0 -0
  2968. /package/dist/commonjs/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/SegmentList.js +0 -0
  2969. /package/dist/commonjs/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/SegmentTimeline.js +0 -0
  2970. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/html/html_parsers.d.ts +0 -0
  2971. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/html/index.d.ts +0 -0
  2972. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/html/index.js +0 -0
  2973. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/html/update_proportional_elements.d.ts +0 -0
  2974. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/html/utils.d.ts +0 -0
  2975. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/index.js +0 -0
  2976. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/manual_time_ranges.d.ts +0 -0
  2977. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/native/index.d.ts +0 -0
  2978. /package/dist/commonjs/{main_thread/text_displayer → text_displayer}/native/index.js +0 -0
  2979. /package/dist/commonjs/{core → text_displayer}/types.js +0 -0
  2980. /package/dist/es2017/{main_thread → core}/api/debug/buffer_size_graph.d.ts +0 -0
  2981. /package/dist/es2017/{main_thread → core}/api/debug/constants.d.ts +0 -0
  2982. /package/dist/es2017/{main_thread → core}/api/debug/constants.js +0 -0
  2983. /package/dist/es2017/{main_thread → core}/api/debug/index.d.ts +0 -0
  2984. /package/dist/es2017/{main_thread → core}/api/debug/index.js +0 -0
  2985. /package/dist/es2017/{main_thread → core}/api/debug/utils.d.ts +0 -0
  2986. /package/dist/es2017/{main_thread → core}/decrypt/clear_on_stop.d.ts +0 -0
  2987. /package/dist/es2017/{main_thread → core}/decrypt/dispose_decryption_resources.d.ts +0 -0
  2988. /package/dist/es2017/{main_thread → core}/decrypt/get_key_system_configuration.d.ts +0 -0
  2989. /package/dist/es2017/{main_thread → core}/decrypt/get_key_system_configuration.js +0 -0
  2990. /package/dist/es2017/{main_thread → core}/decrypt/init_media_keys.js +0 -0
  2991. /package/dist/es2017/{main_thread → core}/decrypt/types.js +0 -0
  2992. /package/dist/es2017/{main_thread → core}/decrypt/utils/are_init_values_compatible.d.ts +0 -0
  2993. /package/dist/es2017/{main_thread → core}/decrypt/utils/clean_old_loaded_sessions.js +0 -0
  2994. /package/dist/es2017/{main_thread → core}/decrypt/utils/clean_old_stored_persistent_info.js +0 -0
  2995. /package/dist/es2017/{main_thread → core}/decrypt/utils/get_drm_system_id.d.ts +0 -0
  2996. /package/dist/es2017/{main_thread → core}/decrypt/utils/get_drm_system_id.js +0 -0
  2997. /package/dist/es2017/{main_thread → core}/decrypt/utils/key_id_comparison.d.ts +0 -0
  2998. /package/dist/es2017/{main_thread → core}/init/index.d.ts +0 -0
  2999. /package/dist/es2017/{main_thread → core}/init/index.js +0 -0
  3000. /package/dist/es2017/{main_thread → core}/init/types.js +0 -0
  3001. /package/dist/es2017/{main_thread → core}/init/utils/main_thread_text_displayer_interface.js +0 -0
  3002. /package/dist/es2017/{mse → core/init}/utils/media_source_duration_updater.d.ts +0 -0
  3003. /package/dist/es2017/{main_thread → core}/init/utils/stream_events_emitter/are_same_stream_events.d.ts +0 -0
  3004. /package/dist/es2017/{main_thread → core}/init/utils/stream_events_emitter/index.js +0 -0
  3005. /package/dist/es2017/core/{segment_sinks/inventory → init/utils/stream_events_emitter}/types.js +0 -0
  3006. /package/dist/es2017/core/{segment_sinks → segment_buffers}/implementations/utils/manual_time_ranges.d.ts +0 -0
  3007. /package/dist/es2017/{main_thread/init/utils/stream_events_emitter → core/segment_buffers/inventory}/types.js +0 -0
  3008. /package/dist/es2017/manifest/{classes/representation_index → representation_index}/index.js +0 -0
  3009. /package/dist/es2017/manifest/{classes/representation_index → representation_index}/types.js +0 -0
  3010. /package/dist/es2017/parsers/manifest/dash/{native-parser → js-parser}/index.d.ts +0 -0
  3011. /package/dist/es2017/parsers/manifest/dash/{native-parser → js-parser}/index.js +0 -0
  3012. /package/dist/es2017/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/ContentComponent.js +0 -0
  3013. /package/dist/es2017/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/ContentProtection.js +0 -0
  3014. /package/dist/es2017/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/SegmentList.js +0 -0
  3015. /package/dist/es2017/parsers/manifest/dash/{native-parser → js-parser}/node_parsers/SegmentTimeline.js +0 -0
  3016. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/html/html_parsers.d.ts +0 -0
  3017. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/html/index.d.ts +0 -0
  3018. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/html/index.js +0 -0
  3019. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/html/update_proportional_elements.d.ts +0 -0
  3020. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/html/utils.d.ts +0 -0
  3021. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/index.js +0 -0
  3022. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/manual_time_ranges.d.ts +0 -0
  3023. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/native/index.d.ts +0 -0
  3024. /package/dist/es2017/{main_thread/text_displayer → text_displayer}/native/index.js +0 -0
  3025. /package/dist/es2017/{core → text_displayer}/types.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,1846 +1,1281 @@
1
- ## v4.0.0-rc.1 (2024-01-24)
1
+ ## v4.0.0 (2024-02-21)
2
2
 
3
3
  ### Changes
4
4
 
5
- - Create `"FREEZING"` player state for cases where the playback position is currently not
6
- advancing due to an unknown reason, to separate it from regular `"BUFFERING"`. [#1146]
7
- - The `RELOADING` player state (gettable through the `getPlayerState` and
8
- `playerStateChange` API) can now happen at any time to unlock playback.
9
- - Remove bitrate API: `getAvailableVideoBitrates`, `getAvailableAudioBitrates`,
10
- `setAudioBitrate`, `setVideoBitrate`, `getAudioBitrate`, `getVideoBitrate` in profit of
11
- the Representations lock APIs [#1144]
12
- - Remove max bitrate API: `setMaxVideoBitrate`, `setMaxAudioBitrate`, `getMaxVideoBitrate`
13
- and `getMaxAudioBitrate` methods as well as the `maxVideoBitrate` and `maxAudioBitrate`
14
- options in profit of the Representations lock APIs
15
- - Remove min bitrate API: `setMinVideoBitrate`, `setMinAudioBitrate`, `getMinVideoBitrate`
16
- and `getMinAudioBitrate` methods as well as the `minVideoBitrate` and `minAudioBitrate`
17
- options in profit of the Representations lock APIs
18
- - Remove track preferences API (methods: `getPreferredAudioTracks`,
19
- `getPreferredVideoTracks`, `setPreferredAudioTracks` and `setPreferredVideoTracks`,
20
- types: `IAudioTrackPreference`, `ITextTrackPreference` and `IVideoTrackPreference`) in
21
- profit of the new tracks API
22
- - Remove `getManualVideoBitrate` and `getManualAudioBitrate` in profit of the new
23
- Representations lock APIs
24
- - Replace `initialAudioBitrate` and `initialVideoBitrate` constructor options with a
25
- single `baseBandwidth` option, which better translates what this option is actually
26
- doing and allows for future optimizations on our side. [#1155]
27
- - Rename `audioTrackSwitchingMode` loadVideo option into `defaultAudioTrackSwitchingMode`
28
- [#1030]
29
- - Remove `manualBitrateSwitchingMode` loadVideo option to instead rely on the
30
- `switchingMode` property of each `lockVideoRepresentations` and
31
- `lockAudioRepresentations` calls. [#1030]
32
- - Remove `audioBitrateChange` and `videoBitrateChange` events in profit of the new
33
- `audioRepresentationChange` and `videoRepresentationChange` events
34
- - Remove `availableAudioBitratesChange` and `availableVideoBitratesChange` events. Those
35
- are less needed with the new Representations lock API and can be mostly replicated
36
- through the `audioTrackChange` and `videoTrackChange` events
37
- - "Flatten" the `transportOptions` loadVideo options by putting all its inner properties
38
- directly at the top level of loadVideo options, to simplify its documentation and
39
- discoverability [#1149]
40
- - Remove `limitVideoWidth` constructor option in profit of the more configurable
41
- `videoResolutionLimit` constructor option
42
- - Rename `networkConfig` into `requestConfig` and re-organize its inner properties to pave
43
- the way for future request-related APIs.
44
- - Remove `stopAtEnd` `loadVideo` option and don't automatically stop when reaching the end
45
- by default. This behavior can be counter-intuitive and can be very easily implemented by
46
- the application.
47
- - Remove `decipherabilityUpdate` event as it appeared to be not easily exploitable and
48
- exposed internal logic too much [#1168]
49
- - Remove `getUrl` method in profit of the more powerful `getContentUrls`
50
- - Impossibility to play the content due to unsupported audio and/or video tracks now
51
- triggers an error with the `MANIFEST_INCOMPATIBLE_CODECS_ERROR` instead of
52
- `MANIFEST_PARSE_ERROR`
53
- - Remove methods: `getManifest`, `getCurrentAdaptations` and `getCurrentRepresentations`,
54
- as they reveal the RxPlayer's internals too much
55
- - The `"smooth"` transport now needs to be communicated the URL of the Manifest directly
56
- (previously, it was possible to redirect it to a XML or JSON file first due to Canal+
57
- legacy reasons).
58
- - Remove the `supplementaryTextTracks` loadVideo option. You can use the
59
- `TextTrackRenderer` tool if you wish to diplay external subtitles on top of your
60
- content.
61
- - Rename `maximumBufferTime` in `positionUpdate` events to `maximumPosition`
62
- - Remove `getVideoPlayedTime` and `getVideoLoadedTime` methods. Their names was very
63
- confusing and can be re-implemented relatively easily using the media element's buffered
64
- property.
65
- - Rename `getVideoDuration` to `getMediaDuration`, to avoid confusion with the video
66
- track's duration.
67
- - Rename `getVideoBufferGap` to `getCurrentBufferGap, to avoid confusion with the "buffer
68
- gap" specific to the video track.
69
- - Remove image-related API: `supplementaryImageTracks` `loadVideo` option,
70
- `imageTrackUpdate` event, `getImageTrackData` method. Those are better handled by an
71
- application. The `parseBifThumbnails` tool is still available.
72
- - Replace `keySystems[].licenseStorage` `keySystems` option (for a `loadVideo` call) by
73
- the better-named `persistentLicenseConfig`. The `persistentLicense` boolean (also a
74
- `keySystems` option) has also been removed because it was redundant with it) [#1147]
75
- - Remove `persistentStateRequired` API, in profit of the more powerful `persistentState`
76
- API [#1148]
77
- - Remove `distinctiveIdentifierRequired` API, in profit of the more powerful
78
- `distinctiveIdentifier` API [#1148]
79
- - Remove `keySystems[].fallbackOn` `loadVideo` property as it's now replaced by the more
80
- powerful `keySystems[].onKeyOutputRestricted` and `keySystems[].onKeyInternalError`
81
- properties.
82
- - Remove `keySystems[].onKeyStatusesChange` API as it seems to never be used [#1148]
83
- - Remove `keySystems[].throwOnLicenseExpiration` API as it can now be fully replaced by
84
- the `keySystems[].onKeyExpiration` option
85
- - Remove `aggressiveMode` from the `transportOptions` `loadVideo` option
86
- - Remove deprecated `throttleWhenHidden` player option in profit of
87
- `throttleVideoBitrateWhenHidden`
88
- - Change payload of `periodChange` events, so they emit only core properties related to a
89
- `Period`.
90
- - Change arguments given to a `transportOptions.segmentLoader` function (the `loadVideo`
91
- option): it now doesn't give the full `Manifest`, `Period`, `Adaptation`,
92
- `Representation` and `ISegment` structures in arguments but only core properties from it
93
- [#995]
94
- - Custom `manifestLoader` function added to what was previously the `loadVideo`'s
95
- `transportOptions` option now set an object as argument (with an `url`property), to let
96
- us bring improvements on it in the future [#995]
97
- - A Representation's `frameRate` is now always a number - in terms of frame per seconds -
98
- instead of a string.
99
- - Update the arguments of the `representationFilter` API
100
- - `Representations` (in methods: `getAvailableVideoTracks`, `getVideoTrack`,
101
- `representationFilter`, `getAvailableAudioTracks`, `getAudioTrack` and events:
102
- `audioTrackChange` and `videoTrackChange`) can have an `undefined` bitrate
103
- - Remove deprecated fullscreen related APIs (methods: `isFullscreen`, `setFullscreen`,
104
- `exitFullscreen`, event: `fullscreenChange`) as a a UI is much more adapted to that task
105
- and can also bring with it things like a progress bar or HTML text tracks
106
- - Remove deprecated `getNativeTextTrack` method. If advanced features are wanted, it's
107
- better to just use the HTML text track API
108
- - Remove deprecated `nativeTextTracksChange` event. Same reason than for
109
- `getNativeTextTrack`
110
- - Remove deprecated `hideNativeSubtitles` from `loadVideo` options. Same reason than for
111
- `getNativeTextTrack`
112
- - Remove `xhr` property from a `NetworkError`. Doing so stop us from using the fetch API
113
- - Remove deprecated `defaultAudioTrack` and `defaultTextTrack`in profit of new track APIs
114
- - Remove `bitrateEstimationChange` event as it is poorly understood (it's not always close
115
- to the expected bandwidth) and has a very complex relationship with the chosen quality.
116
- - Remove the notion of environment variables linked to personalized builds (e.g. RXP_DASH)
117
- in profit of the minimal RxPlayer.
118
- - Rename `IPersistentSessionStorage` type to `IPersistentLicenseConfig` [#1147]
119
- - Remove undocumented `audioRobustnesses` and `videoRobustnesses` properties of the
120
- `keySystems` option of `loadVideo` calls, as more powerful solutions now exist:
121
- respectively `audioCapabilitiesConfig` and `videoCapabilitiesConfig` [#1148]
122
- - Remove public types `ISupplementaryTextTrackOption` and
123
- `ISupplementaryImageTrackOption`. Those are the types respectively for
124
- `supplementaryTextTracks` and `supplementaryImageTracks` which have been removed
125
- - Remove public types `IBitrateEstimate` as no API depend on it anymore.
126
- - Remove public types `IManifest`, `IPeriod`, `IAdaptation`, `IRepresentation`,
127
- `IRepresentationInfos`, `IBifThumbnail`, `IBifObject` and `IExposedSegment` as no API
128
- depend on them anymore.
129
- - Remove public types `IDefaultAudioTrackOption` and `IDefaultTextTrackOption`. Those are
130
- the types respectively for `defaultAudioTrack` and `defaultTextTrack` `loadVideo`
131
- options which have been removed
132
- - Remove public types `IAudioTrackPreference`, `ITextTrackPreference` and
133
- `IVideoTrackPreference` as the corresponding API do not exist anymore.
134
- - Stop officially supporting the Internet Explorer 11 browser
135
- - The `MediaError`'s `trackInfo` property is now an array renamed as `tracksInfo` and
136
- similar `MediaError` are grouped in one [#1264]
137
- - The `manifestUpdateUrl` `loadVideo` option has been removed as it was unused [#1276]
138
- - `volumeChange` events are now sending both the audio volume and the muted status [#1348]
139
- - `mute`/`unMute`/`isMute` now rely on the `HTMLMediaElement`'s `muted` property and not
140
- the audio volume [#1348]
141
- - A `representationFilter`'s advertised `codec` has now been renamed to `codecs` and is an
142
- Array when defined [#1332]
143
- - `DASH_WASM` and `DEBUG_ELEMENT` are not experimental features anymore [#1339]
144
- - The `parseBifThumbnails` function is not an experimental tool anymore [#1339]
145
- - If all Representations from the current track become undecipherable, automatically
146
- switch to another track (also send a `trackUpdate` event) instead of stopping on error
147
- [#1234]
148
- - Only send `MediaError` errors with the `NO_PLAYABLE_REPRESENTATION` error code when no
149
- Representation from all tracks of a given type can be played [#1234]
5
+ - Create `"FREEZING"` player state for cases where the playback position is currently not advancing due to an unknown reason, to separate it from regular `"BUFFERING"`. [#1146]
6
+ - The `RELOADING` player state (gettable through the `getPlayerState` and `playerStateChange` API) can now happen at any time to unlock playback.
7
+ - Remove bitrate API: `getAvailableVideoBitrates`, `getAvailableAudioBitrates`, `setAudioBitrate`, `setVideoBitrate`, `getAudioBitrate`, `getVideoBitrate` in profit of the Representations lock APIs [#1144]
8
+ - Remove max bitrate API: `setMaxVideoBitrate`, `setMaxAudioBitrate`, `getMaxVideoBitrate` and `getMaxAudioBitrate` methods as well as the `maxVideoBitrate` and `maxAudioBitrate` options in profit of the Representations lock APIs
9
+ - Remove min bitrate API: `setMinVideoBitrate`, `setMinAudioBitrate`, `getMinVideoBitrate` and `getMinAudioBitrate` methods as well as the `minVideoBitrate` and `minAudioBitrate` options in profit of the Representations lock APIs
10
+ - Remove track preferences API (methods: `getPreferredAudioTracks`, `getPreferredVideoTracks`, `setPreferredAudioTracks` and `setPreferredVideoTracks`, types: `IAudioTrackPreference`, `ITextTrackPreference` and `IVideoTrackPreference`) in profit of the new tracks API
11
+ - Remove `getManualVideoBitrate` and `getManualAudioBitrate` in profit of the new Representations lock APIs
12
+ - Replace `initialAudioBitrate` and `initialVideoBitrate` constructor options with a single `baseBandwidth` option, which better translates what this option is actually doing and allows for future optimizations on our side. [#1155]
13
+ - Rename `audioTrackSwitchingMode` loadVideo option into `defaultAudioTrackSwitchingMode` [#1030]
14
+ - Remove `manualBitrateSwitchingMode` loadVideo option to instead rely on the `switchingMode` property of each `lockVideoRepresentations` and `lockAudioRepresentations` calls. [#1030]
15
+ - Remove `audioBitrateChange` and `videoBitrateChange` events in profit of the new `audioRepresentationChange` and `videoRepresentationChange` events
16
+ - Remove `availableAudioBitratesChange` and `availableVideoBitratesChange` events. Those are less needed with the new Representations lock API and can be mostly replicated through the `audioTrackChange` and `videoTrackChange` events
17
+ - "Flatten" the `transportOptions` loadVideo options by putting all its inner properties directly at the top level of loadVideo options, to simplify its documentation and discoverability [#1149]
18
+ - Remove `limitVideoWidth` constructor option in profit of the more configurable `videoResolutionLimit` constructor option
19
+ - Rename `networkConfig` into `requestConfig` and re-organize its inner properties to pave the way for future request-related APIs.
20
+ - Remove `stopAtEnd` `loadVideo` option and don't automatically stop when reaching the end by default. This behavior can be counter-intuitive and can be very easily implemented by the application.
21
+ - Remove `decipherabilityUpdate` event as it appeared to be not easily exploitable and exposed internal logic too much [#1168]
22
+ - Remove `getUrl` method in profit of the more powerful `getContentUrls`
23
+ - Impossibility to play the content due to unsupported audio and/or video tracks now triggers an error with the `MANIFEST_INCOMPATIBLE_CODECS_ERROR` instead of `MANIFEST_PARSE_ERROR`
24
+ - Remove methods: `getManifest`, `getCurrentAdaptations` and `getCurrentRepresentations`, as they reveal the RxPlayer's internals too much
25
+ - The `"smooth"` transport now needs to be communicated the URL of the Manifest directly (previously, it was possible to redirect it to a XML or JSON file first due to Canal+ legacy reasons).
26
+ - Remove the `supplementaryTextTracks` loadVideo option. You can use the `TextTrackRenderer` tool if you wish to diplay external subtitles on top of your content.
27
+ - Rename `maximumBufferTime` in `positionUpdate` events to `maximumPosition`
28
+ - Remove `getVideoPlayedTime` and `getVideoLoadedTime` methods. Their names was very confusing and can be re-implemented relatively easily using the media element's buffered property.
29
+ - Rename `getVideoDuration` to `getMediaDuration`, to avoid confusion with the video track's duration.
30
+ - Rename `getVideoBufferGap` to `getCurrentBufferGap`, to avoid confusion with the "buffer gap" specific to the video track.
31
+ - Remove image-related API: `supplementaryImageTracks` `loadVideo` option, `imageTrackUpdate` event, `getImageTrackData` method. Those are better handled by an application. The `parseBifThumbnails` tool is still available.
32
+ - Replace `keySystems[].licenseStorage` `keySystems` option (for a `loadVideo` call) by the better-named `persistentLicenseConfig`. The `persistentLicense` boolean (also a `keySystems` option) has also been removed because it was redundant with it) [#1147]
33
+ - Remove `persistentStateRequired` API, in profit of the more powerful `persistentState` API [#1148]
34
+ - Remove `distinctiveIdentifierRequired` API, in profit of the more powerful `distinctiveIdentifier` API [#1148]
35
+ - Remove `keySystems[].fallbackOn` `loadVideo` property as it's now replaced by the more powerful `keySystems[].onKeyOutputRestricted` and `keySystems[].onKeyInternalError` properties.
36
+ - Remove `keySystems[].onKeyStatusesChange` API as it seems to never be used [#1148]
37
+ - Remove `keySystems[].throwOnLicenseExpiration` API as it can now be fully replaced by the `keySystems[].onKeyExpiration` option
38
+ - Remove `aggressiveMode` from the `transportOptions` `loadVideo` option
39
+ - Remove deprecated `throttleWhenHidden` player option in profit of `throttleVideoBitrateWhenHidden`
40
+ - Change payload of `periodChange` events, so they emit only core properties related to a `Period`.
41
+ - Change arguments given to a `transportOptions.segmentLoader` function (the `loadVideo` option): it now doesn't give the full `Manifest`, `Period`, `Adaptation`, `Representation` and `ISegment` structures in arguments but only core properties from it [#995]
42
+ - Custom `manifestLoader` function added to what was previously the `loadVideo`'s `transportOptions` option now set an object as argument (with an `url`property), to let us bring improvements on it in the future [#995]
43
+ - A Representation's `frameRate` is now always a number - in terms of frame per seconds - instead of a string.
44
+ - Update the arguments of the `representationFilter` API
45
+ - `Representations` (in methods: `getAvailableVideoTracks`, `getVideoTrack`, `representationFilter`, `getAvailableAudioTracks`, `getAudioTrack` and events: `audioTrackChange` and `videoTrackChange`) can have an `undefined` bitrate
46
+ - Remove deprecated fullscreen related APIs (methods: `isFullscreen`, `setFullscreen`, `exitFullscreen`, event: `fullscreenChange`) as a a UI is much more adapted to that task and can also bring with it things like a progress bar or HTML text tracks
47
+ - Remove deprecated `getNativeTextTrack` method. If advanced features are wanted, it's better to just use the HTML text track API
48
+ - Remove deprecated `nativeTextTracksChange` event. Same reason than for `getNativeTextTrack`
49
+ - Remove deprecated `hideNativeSubtitles` from `loadVideo` options. Same reason than for `getNativeTextTrack`
50
+ - Remove `xhr` property from a `NetworkError`. Doing so stop us from using the fetch API
51
+ - Remove deprecated `defaultAudioTrack` and `defaultTextTrack`in profit of new track APIs
52
+ - Remove `bitrateEstimationChange` event as it is poorly understood (it's not always close to the expected bandwidth) and has a very complex relationship with the chosen quality.
53
+ - Remove the notion of environment variables linked to personalized builds (e.g. RXP_DASH) in profit of the minimal RxPlayer.
54
+ - Rename `IPersistentSessionStorage` type to `IPersistentLicenseConfig` [#1147]
55
+ - Remove undocumented `audioRobustnesses` and `videoRobustnesses` properties of the `keySystems` option of `loadVideo` calls, as more powerful solutions now exist: respectively `audioCapabilitiesConfig` and `videoCapabilitiesConfig` [#1148]
56
+ - Remove public types `ISupplementaryTextTrackOption` and `ISupplementaryImageTrackOption`. Those are the types respectively for `supplementaryTextTracks` and `supplementaryImageTracks` which have been removed
57
+ - Remove public types `IBitrateEstimate` as no API depend on it anymore.
58
+ - Remove public types `IManifest`, `IPeriod`, `IAdaptation`, `IRepresentation`, `IRepresentationInfos`, `IBifThumbnail`, `IBifObject` and `IExposedSegment` as no API depend on them anymore.
59
+ - Remove public types `IDefaultAudioTrackOption` and `IDefaultTextTrackOption`. Those are the types respectively for `defaultAudioTrack` and `defaultTextTrack` `loadVideo` options which have been removed
60
+ - Remove public types `IAudioTrackPreference`, `ITextTrackPreference` and `IVideoTrackPreference` as the corresponding API do not exist anymore.
61
+ - Stop officially supporting the Internet Explorer 11 browser
62
+ - The `MediaError`'s `trackInfo` property is now an array renamed as `tracksInfo` and similar `MediaError` are grouped in one [#1264]
63
+ - The `manifestUpdateUrl` `loadVideo` option has been removed as it was unused [#1276]
64
+ - `volumeChange` events are now sending both the audio volume and the muted status [#1348]
65
+ - `mute`/`unMute`/`isMute` now rely on the `HTMLMediaElement`'s `muted` property and not the audio volume [#1348]
66
+ - A `representationFilter`'s advertised `codec` has now been renamed to `codecs` and is an Array when defined [#1332]
67
+ - `DASH_WASM` and `DEBUG_ELEMENT` are not experimental features anymore [#1339]
68
+ - The `parseBifThumbnails` function is not an experimental tool anymore [#1339]
69
+ - If all Representations from the current track become undecipherable, automatically switch to another track (also send a `trackUpdate` event) instead of stopping on error [#1234]
70
+ - Only send `MediaError` errors with the `NO_PLAYABLE_REPRESENTATION` error code when no Representation from all tracks of a given type can be played [#1234]
150
71
 
151
72
  ### Features
152
73
 
153
- - Add `MULTI_THREAD` experimental feature to enable multithreading capabilities through a
154
- WebWorker
155
- - `setAudioTrack`, `setVideoTrack` and `setTextTrack` now may take an object in argument,
156
- with the track's id set as a `trackId` property, to allow new features
157
- - Add `switchingMode` optional property to `setVideoTrack` and `setAudioTrack`, to
158
- configure the way in which the RxPlayer switches between the previous and new track
159
- - Add optional `periodId` property to `setAudioTrack`, `setVideoTrack` and `setTextTrack`,
160
- to allow setting the track of another, future or past, Period.
161
- - `getAvailableAudioTracks`, `getAvailableTextTracks`, `getAvailableVideoTracks`,
162
- `getAudioTrack`, `getTextTrack` and `getVideoTrack` can now optionally take a `periodId`
163
- argument to retrieve track information on a specific Period, different than the current
164
- one.
165
- - `disableTextTrack`, and`disableVideoTrack` can now optionally take a `periodId` argument
166
- to disable a track for a specific Period
167
- - Add optional `lockedRepresentations` property to `setAudioTrack` and `setVideoTrack`, to
168
- only filter some allowed Representations (i.e. qualities) after switching to the wanted
169
- track.
170
- - Add `getCurrentPeriod` method to retrieve information on the Period currently played
171
- - Add `getAvailablePeriods` method to retrieve information on all Periods on which a track
172
- or Representation choice can be made
173
- - Add `lockVideoRepresentations`, `lockAudioRepresentations`,
174
- `getLockedVideoRepresentations`, `getLockedAudioRepresentations`,
175
- `unlockVideoRepresentations` and `unlockAudioRepresentations` methods to allow a complex
176
- selection of Representations that are currently allowed to play.
177
- - Add `getVideoRepresentation` and `getAudioRepresentation` method to retrieve information
178
- on the currently loaded representations [#1144]
179
- - Add `audioRepresentationChange` and `videoRepresentationChange` events to be notified
180
- when the currently-loaded Representation for the current Period changes.
181
- - Add `getContentUrls` allowing to retrieve the one or several known URLs through which
182
- the current Manifest or content is reachable.
183
- - Add `videoResolutionLimit` constructor option allowing to automatically limit a video
184
- Representation's resolution.
185
- - Add `newAvailablePeriods` event to signal new Period on which a track and/or
186
- Representation choice can be made
187
- - Add `brokenRepresentationsLock` event for when a Representations lock could not be
188
- respected anymore
189
- - Add `trackUpdate` event for when a track has been updated for any type and Period
190
- - Add `distinctiveIdentifier` property in the `keySystems` option (given to the
191
- `loadVideo` method) to have full control over the MediaKeySystemConfiguration of the
192
- same name in the chosen key system [#1148]
193
- - Add `persistentState` property in the `keySystems` option (given to the `loadVideo`
194
- method) to have full control over the MediaKeySystemConfiguration of the same name in
195
- the chosen key system [#1148]
196
- - Add `keySystems[].onKeyOutputRestricted` and `keySystems[].onKeyInternalError`
197
- properties to configure the RxPlayer's behavior when a key switches to the status
198
- respectively `"output-restricted"` and `"internal-error"`
199
- - Add `audioCapabilitiesConfig` and `videoCapabilitiesConfig` properties in the
200
- `keySystems` option (given to the `loadVideo` method) to allow advanced configuration of
201
- respectively the "audioCapabilities" and "videoCapabilities" in the asked
202
- MediaKeySystemConfiguration [#1148]
203
- - Add `representationListUpdate` event for when the list of available Representation for a
204
- current track changes [#1240]
205
- - add `connectionTimeout` property to the `requestConfig` `loadVideo` option for both the
206
- manifest and segment requests to set a timeout just linked to HTTP connection
207
- establishment [#1319]
208
- - Add `relativeResumingPosition` property to the `setVideoTrack`and `setAudioTrack`
209
- options [#1331]
210
- - types: export type `ICompatibleKeySystem` to the public API [#1340]
211
- - types: Add `ISegmentLoaderContext` public type for the first argument of the
212
- `segmentLoader` API
213
- - types: Add `IRepresentationFilterRepresentation` public type for the first argument of
214
- the `representationFilter` API
215
- - types: Add `IRepresentationContext` public type for the second argument of the
216
- `representationFilter` API
217
- - types: Add `IManifestLoaderInfo` public type for the first argument of the
218
- `manifestLoader` API
219
- - types: Add `IPeriodChangeEvent` public type to define the properties send through a
220
- `periodChange` event
221
- - types: Add `IPeriod` public type to define a Period object returned by methods like
222
- `getAvailablePeriods` or `getCurrentPeriod`
223
- - types: Add `IVideoTrackSwitchingMode` public type to define the type of the
224
- `switchingMode` property optionally given to `setAudioTrack`
225
- - types: Add `IAudioRepresentationsSwitchingMode` public type to define the type of the
226
- `switchingMode` property optionally given to `lockAudioRepresentations`
227
- - types: Add `IVideoRepresentationsSwitchingMode` public type to define the type of the
228
- `switchingMode` property optionally given to `lockAudioRepresentations`
229
- - types: Add `IBrokenRepresentationsLockContext` public type to define the type sent as a
230
- payload of the `brokenRepresentationsLock` event
231
- - types: Add `ITrackUpdateEventPayload` public type to define the type sent as a payload
232
- of the `trackUpdate` event
233
- - types: Add `ILockedVideoRepresentationsSettings` public type to define the object that
234
- should be given to the new `lockVideoRepresentation` method
235
- - types: Add `ILockedAudioRepresentationsSettings` public type to define the object that
236
- should be given to the new `lockAudioRepresentation` method
237
- - types: Add `IAudioTrackSetting` public type to define the object that may be given to
238
- the `setAudioTrack` method
239
- - types: Add `IVideoTrackSetting` public type to define the object that may be given to
240
- the `setVideoTrack` method
241
- - types: Add `ITextTrackSetting` public type to define the object that may be given to the
242
- `setTextTrack` method
74
+ - Add `MULTI_THREAD` experimental feature to enable multithreading capabilities through a WebWorker
75
+ - Add `attachWorker` method to attach a WebWorker to an RxPlayer instance.
76
+ - `setAudioTrack`, `setVideoTrack` and `setTextTrack` now may take an object in argument, with the track's id set as a `trackId` property, to allow new features
77
+ - Add `switchingMode` optional property to `setVideoTrack` and `setAudioTrack`, to configure the way in which the RxPlayer switches between the previous and new track
78
+ - Add optional `periodId` property to `setAudioTrack`, `setVideoTrack` and `setTextTrack`, to allow setting the track of another, future or past, Period.
79
+ - `getAvailableAudioTracks`, `getAvailableTextTracks`, `getAvailableVideoTracks`, `getAudioTrack`, `getTextTrack` and `getVideoTrack` can now optionally take a `periodId` argument to retrieve track information on a specific Period, different than the current one.
80
+ - `disableTextTrack`, and`disableVideoTrack` can now optionally take a `periodId` argument to disable a track for a specific Period
81
+ - Add optional `lockedRepresentations` property to `setAudioTrack` and `setVideoTrack`, to only filter some allowed Representations (i.e. qualities) after switching to the wanted track.
82
+ - Add `getCurrentPeriod` method to retrieve information on the Period currently played
83
+ - Add `getAvailablePeriods` method to retrieve information on all Periods on which a track or Representation choice can be made
84
+ - Add `lockVideoRepresentations`, `lockAudioRepresentations`, `getLockedVideoRepresentations`, `getLockedAudioRepresentations`, `unlockVideoRepresentations` and `unlockAudioRepresentations` methods to allow a complex selection of Representations that are currently allowed to play.
85
+ - Add `getVideoRepresentation` and `getAudioRepresentation` method to retrieve information on the currently loaded representations [#1144]
86
+ - Add `audioRepresentationChange` and `videoRepresentationChange` events to be notified when the currently-loaded Representation for the current Period changes.
87
+ - Add `getContentUrls` allowing to retrieve the one or several known URLs through which the current Manifest or content is reachable.
88
+ - Add `videoResolutionLimit` constructor option allowing to automatically limit a video Representation's resolution.
89
+ - Add `newAvailablePeriods` event to signal new Period on which a track and/or Representation choice can be made
90
+ - Add `brokenRepresentationsLock` event for when a Representations lock could not be respected anymore
91
+ - Add `trackUpdate` event for when a track has been updated for any type and Period
92
+ - Add `distinctiveIdentifier` property in the `keySystems` option (given to the `loadVideo` method) to have full control over the MediaKeySystemConfiguration of the same name in the chosen key system [#1148]
93
+ - Add `persistentState` property in the `keySystems` option (given to the `loadVideo` method) to have full control over the MediaKeySystemConfiguration of the same name in the chosen key system [#1148]
94
+ - Add `keySystems[].onKeyOutputRestricted` and `keySystems[].onKeyInternalError` properties to configure the RxPlayer's behavior when a key switches to the status respectively `"output-restricted"` and `"internal-error"`
95
+ - Add `audioCapabilitiesConfig` and `videoCapabilitiesConfig` properties in the `keySystems` option (given to the `loadVideo` method) to allow advanced configuration of respectively the "audioCapabilities" and "videoCapabilities" in the asked MediaKeySystemConfiguration [#1148]
96
+ - Add `representationListUpdate` event for when the list of available Representation for a current track changes [#1240]
97
+ - add `connectionTimeout` property to the `requestConfig` `loadVideo` option for both the manifest and segment requests to set a timeout just linked to HTTP connection establishment [#1319]
98
+ - Add `relativeResumingPosition` property to the `setVideoTrack`and `setAudioTrack` options [#1331]
99
+ - types: export type `ICompatibleKeySystem` to the public API [#1340]
100
+ - types: Add `ISegmentLoaderContext` public type for the first argument of the `segmentLoader` API
101
+ - types: Add `IRepresentationFilterRepresentation` public type for the first argument of the `representationFilter` API
102
+ - types: Add `IRepresentationContext` public type for the second argument of the `representationFilter` API
103
+ - types: Add `IManifestLoaderInfo` public type for the first argument of the `manifestLoader` API
104
+ - types: Add `IPeriodChangeEvent` public type to define the properties send through a `periodChange` event
105
+ - types: Add `IPeriod` public type to define a Period object returned by methods like `getAvailablePeriods` or `getCurrentPeriod`
106
+ - types: Add `IVideoTrackSwitchingMode` public type to define the type of the `switchingMode` property optionally given to `setAudioTrack`
107
+ - types: Add `IAudioRepresentationsSwitchingMode` public type to define the type of the `switchingMode` property optionally given to `lockAudioRepresentations`
108
+ - types: Add `IVideoRepresentationsSwitchingMode` public type to define the type of the `switchingMode` property optionally given to `lockAudioRepresentations`
109
+ - types: Add `IBrokenRepresentationsLockContext` public type to define the type sent as a payload of the `brokenRepresentationsLock` event
110
+ - types: Add `ITrackUpdateEventPayload` public type to define the type sent as a payload of the `trackUpdate` event
111
+ - types: Add `ILockedVideoRepresentationsSettings` public type to define the object that should be given to the new `lockVideoRepresentation` method
112
+ - types: Add `ILockedAudioRepresentationsSettings` public type to define the object that should be given to the new `lockAudioRepresentation` method
113
+ - types: Add `IAudioTrackSetting` public type to define the object that may be given to the `setAudioTrack` method
114
+ - types: Add `IVideoTrackSetting` public type to define the object that may be given to the `setVideoTrack` method
115
+ - types: Add `ITextTrackSetting` public type to define the object that may be given to the `setTextTrack` method
243
116
 
244
117
  ### Bug fixes
245
118
 
246
- - Tizen (Samsung TVs): Try again to work around all potential issues that could arise due
247
- to tizen seeking back by itself [#1327, #1355]
119
+ - Tizen (Samsung TVs): Try again to work around all potential issues that could arise due to tizen seeking back by itself [#1327, #1355]
120
+ - dash: Don't unnecessarily reload external `<UTCTiming>` resources at each refresh if it failed for the first request of the Manifest [#1370]
121
+ - dash: The `DASH_WASM` feature do not rely on WebAssembly's sign-extension operators anymore as that is poorly supported on older Samsung and LG TVs [#1372]
248
122
 
249
123
  ### Other improvements
250
124
 
251
- - Provide both commonJS and ES6-style exports to improve compatibilities with applications
252
- - Implement better error messages by not repeating the Error Type in it [#1290]
253
- - DRM: Reload when playback is unexpectedly frozen with encrypted but only decipherable
254
- data in the buffer to work-around rare encryption-related issues [#1236]
255
- - Add cache when checking for codec support, improving performance on some devices and
256
- potentially working around some xbox bugs on long-lived pages [#1324]
257
- - Demo: Add possibility to see the debug element in the demo page
125
+ - Provide both commonJS and ES6-style exports to improve compatibilities with applications
126
+ - Implement better error messages by not repeating the Error Type in it [#1290]
127
+ - DRM: Reload when playback is unexpectedly frozen with encrypted but only decipherable data in the buffer to work-around rare encryption-related issues [#1236]
128
+ - Add cache when checking for codec support, improving performance on some devices and potentially working around some xbox bugs on long-lived pages [#1324]
129
+ - Demo: Add possibility to see the debug element in the demo page
130
+
258
131
 
259
132
  ## v3.33.0 (2024-01-24)
260
133
 
261
134
  ### Features
262
135
 
263
- - Add `getLivePosition` RxPlayer method [#1300]
264
- - Add `startAt.fromLivePosition` `loadVideo` option [#1300]
265
- - Add the possibility to set a new `keySystems` option on the `reload` API [#1308]
136
+ - Add `getLivePosition` RxPlayer method [#1300]
137
+ - Add `startAt.fromLivePosition` `loadVideo` option [#1300]
138
+ - Add the possibility to set a new `keySystems` option on the `reload` API [#1308]
266
139
 
267
140
  ### Bug fixes
268
141
 
269
- - Fix subtitles "blinking" in some specific conditions, especially with some DASH
270
- low-latency contents [#1314]
271
- - DASH: Fix Period overlap resolution logic for when the first Period is removed [#1311]
272
- - TTML: Fix handling of the `tts:lineHeight` attribute [#1320]
273
- - Fix import of the `LOCAL_MANIFEST` experimental feature
274
- - Avoid very rarely skipping segments which initially were too big to be pushed due to
275
- memory limitations [#1323]
276
- - Fix issue arising when using track APIs at the exact last possible position of a Period
277
- with no consecutive Period [#1337]
278
- - Starting at the end (through a `startAt` `loadVideo` option) or reloading at the end led
279
- to the restart of the content [#1338]
280
- - DRM/Safari: also perform Safari DRM work-arounds when the page is launched from the dock
281
- [#1351, #1356]
142
+ - Fix subtitles "blinking" in some specific conditions, especially with some DASH low-latency contents [#1314]
143
+ - DASH: Fix Period overlap resolution logic for when the first Period is removed [#1311]
144
+ - TTML: Fix handling of the `tts:lineHeight` attribute [#1320]
145
+ - Fix import of the `LOCAL_MANIFEST` experimental feature
146
+ - Avoid very rarely skipping segments which initially were too big to be pushed due to memory limitations [#1323]
147
+ - Fix issue arising when using track APIs at the exact last possible position of a Period with no consecutive Period [#1337]
148
+ - Starting at the end (through a `startAt` `loadVideo` option) or reloading at the end led to the restart of the content [#1338]
149
+ - DRM/Safari: also perform Safari DRM work-arounds when the page is launched from the dock [#1351, #1356]
282
150
 
283
151
  ### Other improvements
284
152
 
285
- - DASH: rely on SCTE214 `supplementalCodecs` instead of `codecs` if it's supported to
286
- better support backward compatible Dolby Vision contents [#1307]
287
- - DASH: Provide better support of the `availabilityTimeOffset` attribute [#1300]
288
- - DEBUG_ELEMENT: Add unsupported and undecipherable bitrates to the debug element [#1321]
289
- - DEBUG_ELEMENT: update buffer graph maximum size so it becomes more readable for lengthy
290
- contents [#1316]
291
- - DEBUG_ELEMENT: always synchronize inventory of segments before rendering it [#1317]
292
- - Remove remaining RxPlayer dependency removing possibility of some application-side
293
- bundling errors [#1312]
294
- - Add exception to text Garbage collection logic to avoid unnecessarily reload text
295
- segments frequently [#1325]
296
- - Avoid logging too much the buffer's content when our debugging UI or the demo is used
297
- [#1341]
298
- - Demo: Fix reporting of live position in demo page [#1313]
153
+ - DASH: rely on SCTE214 `supplementalCodecs` instead of `codecs` if it's supported to better support backward compatible Dolby Vision contents [#1307]
154
+ - DASH: Provide better support of the `availabilityTimeOffset` attribute [#1300]
155
+ - DEBUG_ELEMENT: Add unsupported and undecipherable bitrates to the debug element [#1321]
156
+ - DEBUG_ELEMENT: update buffer graph maximum size so it becomes more readable for lengthy contents [#1316]
157
+ - DEBUG_ELEMENT: always synchronize inventory of segments before rendering it [#1317]
158
+ - Remove remaining RxPlayer dependency removing possibility of some application-side bundling errors [#1312]
159
+ - Add exception to text Garbage collection logic to avoid unnecessarily reload text segments frequently [#1325]
160
+ - Avoid logging too much the buffer's content when our debugging UI or the demo is used [#1341]
161
+ - Demo: Fix reporting of live position in demo page [#1313]
162
+ - build: automatically install Rust and WASM toolchain locally if unavailable when building the RxPlayer [#1373]
163
+ - doc: Update our documentation generator and fix all invalid anchors in it
164
+ - npm: prevent the publishing of unnecessary files on the npm registry [#1377, #1378]
165
+
299
166
 
300
167
  ## v3.32.1 (2023-10-19)
301
168
 
302
169
  ### Features
303
170
 
304
- - DASH: add optional `isSpatialAudio` boolean property to Representation returned by
305
- `getAvailableAudioTracks`, `getAudioTrack`, corresponding events, and `trackInfo`
306
- optional property of `MediaError` objects to signal Dolby Atmos techology [#1275]
307
- - `LOCAL`: add `isSpatialAudio` property to Representation of the experiment `"local"`
308
- transport (used for offline playback) [#1275]
309
- - `addFeatures` static method is now available on all RxPlayer builds. It was previously
310
- only in the minimal (`rx-player/minimal` import path) [#1287]
311
- - The `NATIVE_TEXT_BUFFER`, `HTML_TEXT_BUFFER` and `IMAGE_BUFFER` features are now totally
312
- optional [#1287, #1293]
171
+ - DASH: add optional `isSpatialAudio` boolean property to Representation returned by `getAvailableAudioTracks`, `getAudioTrack`, corresponding events, and `trackInfo` optional property of `MediaError` objects to signal Dolby Atmos techology [#1275]
172
+ - `LOCAL`: add `isSpatialAudio` property to Representation of the experiment `"local"` transport (used for offline playback) [#1275]
173
+ - `addFeatures` static method is now available on all RxPlayer builds. It was previously only in the minimal (`rx-player/minimal` import path) [#1287]
174
+ - The `NATIVE_TEXT_BUFFER`, `HTML_TEXT_BUFFER` and `IMAGE_BUFFER` features are now totally optional [#1287, #1293]
313
175
 
314
176
  ### Bug fixes
315
177
 
316
- - Fix `setVideoBitrate` and `setAudioBitrate` API which may have led to a higher quality
317
- than wanted in the default `"seamless"` `manualBitrateSwitchingMode` if our buffer-based
318
- adaptive logic decided to [#1267, #1271]
319
- - On the PlayStation 5, only switch to the `"LOADED"` state once the HTMLMediaElement's
320
- `readyState` of `4` has been reached, as it seems to switch to `3` too soon there
321
- [#1257]
322
- - DASH: Fix potential track duplication if more than two `AdaptationSet` have an
323
- `adaptation-set-switching` `<SupplementalProperty>` between one another [#1279]
324
- - DASH-WASM: availabilityTimeOffset is actually a floating number [#1278]
178
+ - Fix `setVideoBitrate` and `setAudioBitrate` API which may have led to a higher quality than wanted in the default `"seamless"` `manualBitrateSwitchingMode` if our buffer-based adaptive logic decided to [#1267, #1271]
179
+ - On the PlayStation 5, only switch to the `"LOADED"` state once the HTMLMediaElement's `readyState` of `4` has been reached, as it seems to switch to `3` too soon there [#1257]
180
+ - DASH: Fix potential track duplication if more than two `AdaptationSet` have an `adaptation-set-switching` `<SupplementalProperty>` between one another [#1279]
181
+ - DASH-WASM: availabilityTimeOffset is actually a floating number [#1278]
325
182
 
326
183
  ### Other improvements
327
184
 
328
- - Do not load the last text segment if the current position goes after it as it is
329
- unnecessary [#1256]
330
- - Implement better `NetworkError` messages [#1274]
331
- - Set a better error message for when no `keySystems` option is set when playing an
332
- encrypted content
333
- - Fix very small memory leak when reloading a content [#1286]
334
- - Re-check for segments to load immediately after the manifest has been refreshed [#1282]
335
- - When "fallbacking" an undecipherable Representation, now empty the whole buffer if we
336
- can't make out where content was in the buffer [#1283]
337
- - Improve segment start detection in buffer when there's unknown data buffered before it
338
- [#1284]
339
- - DRM: Selection of alternative EME API like those used on IE11 or Safari has been
340
- refactored to facilitate future developments [#1261]
185
+ - Do not load the last text segment if the current position goes after it as it is unnecessary [#1256]
186
+ - Implement better `NetworkError` messages [#1274]
187
+ - Set a better error message for when no `keySystems` option is set when playing an encrypted content
188
+ - Fix very small memory leak when reloading a content [#1286]
189
+ - Re-check for segments to load immediately after the manifest has been refreshed [#1282]
190
+ - When "fallbacking" an undecipherable Representation, now empty the whole buffer if we can't make out where content was in the buffer [#1283]
191
+ - Improve segment start detection in buffer when there's unknown data buffered before it [#1284]
192
+ - DRM: Selection of alternative EME API like those used on IE11 or Safari has been refactored to facilitate future developments [#1261]
341
193
 
342
194
  ### Deprecated
343
195
 
344
- - Deprecate the `manifestUpdateUrl` `loadVideo` option as it doesn't seem used anymore
345
- [#1288]
346
- - Deprecate the `NATIVE_TEXT_BUFFER`, `HTML_TEXT_BUFFER` and `IMAGE_BUFFER` features as
347
- they are now unneeded [#1287, #1293]
196
+ - Deprecate the `manifestUpdateUrl` `loadVideo` option as it doesn't seem used anymore [#1288]
197
+ - Deprecate the `NATIVE_TEXT_BUFFER`, `HTML_TEXT_BUFFER` and `IMAGE_BUFFER` features as they are now unneeded [#1287, #1293]
198
+
348
199
 
349
200
  ## v3.31.0 (2023-06-14)
350
201
 
351
202
  ### Features
352
203
 
353
- - Add `isContentLoaded`, `isBuffering`, `isPaused`, and `getLastStoredContentPosition`
354
- methods [#1248]
355
- - Add `play` and `paused` events [#1253]
356
- - Add `trackInfo` property to some `MediaError` to expose information on the track that
357
- caused the error [#1241]
204
+ - Add `isContentLoaded`, `isBuffering`, `isPaused`, and `getLastStoredContentPosition` methods [#1248]
205
+ - Add `play` and `paused` events [#1253]
206
+ - Add `trackInfo` property to some `MediaError` to expose information on the track that caused the error [#1241]
358
207
 
359
208
  ### Bug fixes
360
209
 
361
- - DASH: Fix issue which could lead to infinite rebuffering when switching between multiple
362
- Periods [#1232]
363
- - Return actual ending duration through the `getVideoDuration` method when playing dynamic
364
- contents whose future end is already known [#1235]
365
- - DASH/WASM: actually reject the `DASH_WASM.initialize`'s Promise if it fails [#1238]
366
- - On the PlayStation 5, set `Infinity` MediaSource duration for live contents to prevent
367
- playback issues [#1250]
210
+ - DASH: Fix issue which could lead to infinite rebuffering when switching between multiple Periods [#1232]
211
+ - Return actual ending duration through the `getVideoDuration` method when playing dynamic contents whose future end is already known [#1235]
212
+ - DASH/WASM: actually reject the `DASH_WASM.initialize`'s Promise if it fails [#1238]
213
+ - On the PlayStation 5, set `Infinity` MediaSource duration for live contents to prevent playback issues [#1250]
368
214
 
369
215
  ### Other improvements
370
216
 
371
- - adaptive: Perform various adaptive tweaks to avoid switching too much between qualities
372
- in some conditions [#1237]
373
- - Directfile: Detect "forced" subtitles on Safari when playing directfile contents (such
374
- as HLS) [#1239]
375
- - Improve `"direct"` `audioTrackSwitchingMode` compatibility by re-seeking [#1246]
376
- - The `DEBUG_ELEMENT` feature now uses the `monospace` fallback font as a default for a
377
- better rendering on apple devices
378
- - doc: externalize documentation-generator code
217
+ - adaptive: Perform various adaptive tweaks to avoid switching too much between qualities in some conditions [#1237]
218
+ - Directfile: Detect "forced" subtitles on Safari when playing directfile contents (such as HLS) [#1239]
219
+ - Improve `"direct"` `audioTrackSwitchingMode` compatibility by re-seeking [#1246]
220
+ - The `DEBUG_ELEMENT` feature now uses the `monospace` fallback font as a default for a better rendering on apple devices
221
+ - doc: externalize documentation-generator code
222
+
379
223
 
380
224
  ## v3.30.0 (2023-03-07)
381
225
 
382
226
  ### Features
383
227
 
384
- - Add `updateContentUrls` API, allowing to update the Manifest's URL during playback
385
- [#1182]
386
- - DASH: implement forced-subtitles, adding the `forced` property to the audio tracks API
387
- and selecting by default a forced text track linked to the audio track's language if
388
- present [#1187]
389
- - DRM: add the `getKeySystemConfiguration` method to the RxPlayer [#1202]
390
- - add experimental `DEBUG_ELEMENT` feature and `createDebugElement` method to render a
391
- default debugging HTML element [#1200]
228
+ - Add `updateContentUrls` API, allowing to update the Manifest's URL during playback [#1182]
229
+ - DASH: implement forced-subtitles, adding the `forced` property to the audio tracks API and selecting by default a forced text track linked to the audio track's language if present [#1187]
230
+ - DRM: add the `getKeySystemConfiguration` method to the RxPlayer [#1202]
231
+ - add experimental `DEBUG_ELEMENT` feature and `createDebugElement` method to render a default debugging HTML element [#1200]
392
232
 
393
233
  ### Deprecated
394
234
 
395
- - Deprecate the `getVideoLoadedTime` method which can be easily replaced (see Deprecated
396
- method documentation)
397
- - Deprecate the `getVideoPlayedTime` method which can be easily replaced (see Deprecated
398
- method documentation)
399
- - Deprecate the `transportOptions.aggressiveMode` option
400
- - DRM: Deprecate the `keySystems[].onKeyStatusesChange` callback as no good use case was
401
- found for it.
235
+ - Deprecate the `getVideoLoadedTime` method which can be easily replaced (see Deprecated method documentation)
236
+ - Deprecate the `getVideoPlayedTime` method which can be easily replaced (see Deprecated method documentation)
237
+ - Deprecate the `transportOptions.aggressiveMode` option
238
+ - DRM: Deprecate the `keySystems[].onKeyStatusesChange` callback as no good use case was found for it.
402
239
 
403
240
  ### Bug fixes
404
241
 
405
- - Fix segment requesting error when playing a DASH content without an url and without
406
- BaseURL elements [#1192]
407
- - API: Stop sending events if the content is stopped due to a side-effect of one of the
408
- event handler [#1197]
409
- - text-tracks/ttml: fix inconsistent line spacing when resizing the `textTrackElement`
410
- [#1191]
411
- - DRM: Fix race condition leading to a JS error instead of a `NO_PLAYABLE_REPRESENTATION`
412
- [#1201]
413
- - DRM/Compat: Renew MediaKeys at each `loadVideo` on all WebOS (LG TV) platforms to work
414
- around issues [#1188]
242
+ - Fix segment requesting error when playing a DASH content without an url and without BaseURL elements [#1192]
243
+ - API: Stop sending events if the content is stopped due to a side-effect of one of the event handler [#1197]
244
+ - text-tracks/ttml: fix inconsistent line spacing when resizing the `textTrackElement` [#1191]
245
+ - DRM: Fix race condition leading to a JS error instead of a `NO_PLAYABLE_REPRESENTATION` [#1201]
246
+ - DRM/Compat: Renew MediaKeys at each `loadVideo` on all WebOS (LG TV) platforms to work around issues [#1188]
415
247
 
416
248
  ### Other improvements
417
249
 
418
- - DASH: better detect closed captions [#1187]
419
- - DASH: handle `endNumber` DASH attribute [#1186]
420
- - DASH: Do not merge AdaptationSet with role "main" anymore [#1214]
421
- - DASH: parse `transferCharacteristics` property in the MPD to better detect hdr [#1212]
422
- - Support encrypted contents on Panasonic 2019 TVs [#1226]
423
- - Better handle SourceBuffer's QuotaExceededError, responsible for `MediaError` with the
424
- `BUFFER_FULL_ERROR` code [#1221]
425
- - API: send available...TracksChange events in the very unlikely scenario where tracks are
426
- added after a manifest update [#1197]
427
- - Completely remove RxJS dependency from the RxPlayer's source code [#1193]
428
- - DRM: Request PR recommendation when PlayReady is asked and try default recommendation
429
- robustnesses [#1189]
250
+ - DASH: better detect closed captions [#1187]
251
+ - DASH: handle `endNumber` DASH attribute [#1186]
252
+ - DASH: Do not merge AdaptationSet with role "main" anymore [#1214]
253
+ - DASH: parse `transferCharacteristics` property in the MPD to better detect hdr [#1212]
254
+ - Support encrypted contents on Panasonic 2019 TVs [#1226]
255
+ - Better handle SourceBuffer's QuotaExceededError, responsible for `MediaError` with the `BUFFER_FULL_ERROR` code [#1221]
256
+ - API: send available...TracksChange events in the very unlikely scenario where tracks are added after a manifest update [#1197]
257
+ - Completely remove RxJS dependency from the RxPlayer's source code [#1193]
258
+ - DRM: Request PR recommendation when PlayReady is asked and try default recommendation robustnesses [#1189]
259
+
430
260
 
431
261
  ## v3.29.0 (2022-11-16)
432
262
 
433
263
  ### Features
434
264
 
435
- - add `networkConfig.segmentRequestTimeout` and `networkConfig.manifestRequestTimeout`
436
- options to loadVideo to configure the timeout of respectively segment and manifest
437
- requests [#1156]
438
- - add `timeout` property to the first argument communicated to a `segmentLoader` (from
439
- `loadVideo`'s `transportOptions`) [#1156]
440
- - add `timeout` property to a new third argument communicated to a `manifestLoader` (from
441
- `loadVideo`'s `transportOptions`) [#1156]
442
- - DRM: add `keySystems[].onKeyExpiration` to `loadVideo` options to configure the behavior
443
- the RxPlayer should have on key expiration [#1157]
444
- - DRM: add `keyStatuses` property to an `EncryptedMediaError` with the
445
- `KEY_STATUS_CHANGE_ERROR` code to communicate which key id and key statuses caused
446
- issues. [#1157]
265
+ - add `networkConfig.segmentRequestTimeout` and `networkConfig.manifestRequestTimeout` options to loadVideo to configure the timeout of respectively segment and manifest requests [#1156]
266
+ - add `timeout` property to the first argument communicated to a `segmentLoader` (from `loadVideo`'s `transportOptions`) [#1156]
267
+ - add `timeout` property to a new third argument communicated to a `manifestLoader` (from `loadVideo`'s `transportOptions`) [#1156]
268
+ - DRM: add `keySystems[].onKeyExpiration` to `loadVideo` options to configure the behavior the RxPlayer should have on key expiration [#1157]
269
+ - DRM: add `keyStatuses` property to an `EncryptedMediaError` with the `KEY_STATUS_CHANGE_ERROR` code to communicate which key id and key statuses caused issues. [#1157]
447
270
 
448
271
  ### Deprecated
449
272
 
450
- - DRM: Deprecate `keySystems[].throwOnLicenseExpiration` `loadVideo` option as this
451
- boolean can be replaced with more customizability by the new
452
- `keySystems[].onKeyExpiration` `loadVideo` option [#1157]
273
+ - DRM: Deprecate `keySystems[].throwOnLicenseExpiration` `loadVideo` option as this boolean can be replaced with more customizability by the new `keySystems[].onKeyExpiration` `loadVideo` option [#1157]
453
274
 
454
275
  ### Bug fixes
455
276
 
456
- - Directfile: Fix long-running issues with rare "directfile" contents and some
457
- browsers/platforms (seen on Chrome PC and PlayStation 5) where playback would stay in
458
- `LOADING` state indefinitely despite playing [#1174]
459
- - DRM: Fix undocumented `keySystems[].videoRobustnesses` `loadVideo` option.
460
- `audioRobustnesses` was previously used even for video capabilities [#1171]
461
- - Compat/Directfile: Fix an issue with WebOS (LG TVs) when playing multiple directfile
462
- contents with the `stopAtEnd` player option set to `true` [#1154]
463
- - Compat/DRM: Fix infinite loading on WebOS (LG TVs) 2021 and 2022 when loading more than
464
- once an encrypted content by resetting decryption capabilities each time [#1175]
465
- - Compat: To work around an issue on WebOS (LG TVs), also specify a request timeout
466
- manually through a `setTimeout` call when XMLHttpRequests are created for Manifest and
467
- segment requests [#1152]
468
- - Compat/Directfile: Fix an issue on Tizen (Samsung TVs) where playing directfile contents
469
- could randomly lead to not having audio [#1170]
470
- - Compat: Fix issue with Tizen (Samsung TVs) where starting playback on a discontinuity
471
- could lead to infinite rebuffering [#1140, #1176]
472
- - Compat/Directfile: For `"directfile"` contents, also consider `AudioTrack` with a
473
- `description` (without an "s") as audio-description audio tracks to work-around what
474
- seems to be a Safari typo [#1160]
475
- - DRM: When using persistent licenses, create new MediaKeySession when `load` resolves
476
- with `false`, instead of relying the same, to fix issues with such persistent sessions
477
- if the browser cleaned it up [#1139]
478
- - Only call "MediaSource.endOfStream" once, the most visible side-effect should have been
479
- repeated logs [#1163]
277
+ - Directfile: Fix long-running issues with rare "directfile" contents and some browsers/platforms (seen on Chrome PC and PlayStation 5) where playback would stay in `LOADING` state indefinitely despite playing [#1174]
278
+ - DRM: Fix undocumented `keySystems[].videoRobustnesses` `loadVideo` option. `audioRobustnesses` was previously used even for video capabilities [#1171]
279
+ - Compat/Directfile: Fix an issue with WebOS (LG TVs) when playing multiple directfile contents with the `stopAtEnd` player option set to `true` [#1154]
280
+ - Compat/DRM: Fix infinite loading on WebOS (LG TVs) 2021 and 2022 when loading more than once an encrypted content by resetting decryption capabilities each time [#1175]
281
+ - Compat: To work around an issue on WebOS (LG TVs), also specify a request timeout manually through a `setTimeout` call when XMLHttpRequests are created for Manifest and segment requests [#1152]
282
+ - Compat/Directfile: Fix an issue on Tizen (Samsung TVs) where playing directfile contents could randomly lead to not having audio [#1170]
283
+ - Compat: Fix issue with Tizen (Samsung TVs) where starting playback on a discontinuity could lead to infinite rebuffering [#1140, #1176]
284
+ - Compat/Directfile: For `"directfile"` contents, also consider `AudioTrack` with a `description` (without an "s") as audio-description audio tracks to work-around what seems to be a Safari typo [#1160]
285
+ - DRM: When using persistent licenses, create new MediaKeySession when `load` resolves with `false`, instead of relying the same, to fix issues with such persistent sessions if the browser cleaned it up [#1139]
286
+ - Only call "MediaSource.endOfStream" once, the most visible side-effect should have been repeated logs [#1163]
480
287
 
481
288
  ### Other improvements
482
289
 
483
- - DASH: Improve multi-CDN configurations, by smartly selecting the right CDN depending on
484
- past status [#1165]
485
- - Allow reverse playback use cases by not skipping gaps and most discontinuities when the
486
- playback rate has been set to `0` or a negative value [#1138]
487
- - In the experimental "local" transport, add `incomingRanges` property to signal the time
488
- ranges of remaining data, allowing better discontinuity handling and duration estimates
489
- for sill-loading dowloaded contents [#1151]
490
- - Only send, through `"warning"` events, one `EncryptedMediaError` with a
491
- `KEY_STATUS_CHANGE_ERROR` code when multiple ones arises at the same time [#1157]
290
+ - DASH: Improve multi-CDN configurations, by smartly selecting the right CDN depending on past status [#1165]
291
+ - Allow reverse playback use cases by not skipping gaps and most discontinuities when the playback rate has been set to `0` or a negative value [#1138]
292
+ - In the experimental "local" transport, add `incomingRanges` property to signal the time ranges of remaining data, allowing better discontinuity handling and duration estimates for sill-loading dowloaded contents [#1151]
293
+ - Only send, through `"warning"` events, one `EncryptedMediaError` with a `KEY_STATUS_CHANGE_ERROR` code when multiple ones arises at the same time [#1157]
294
+
492
295
 
493
296
  ## v3.28.0 (2022-07-12)
494
297
 
495
298
  ### Features
496
299
 
497
- - Add `label` to audio, video and text track APIs (such as `getAvailableAudioTracks`)
498
- which gives a human-readable description of the corresponding track, if available in the
499
- Manifest [#1105, #1109]
500
- - Automatically set the LogLevel to `"DEBUG"` if a global `__RX_PLAYER_DEBUG_MODE__`
501
- constant is set to `true`, to simplify debugging [#1115]
300
+ - Add `label` to audio, video and text track APIs (such as `getAvailableAudioTracks`) which gives a human-readable description of the corresponding track, if available in the Manifest [#1105, #1109]
301
+ - Automatically set the LogLevel to `"DEBUG"` if a global `__RX_PLAYER_DEBUG_MODE__` constant is set to `true`, to simplify debugging [#1115]
502
302
 
503
303
  ### Bug fixes
504
304
 
505
- - Use the first **compatible** codec of the current AdaptationSet when creating a
506
- SourceBuffer [#1094]
507
- - DASH/DRM: Fix potential infinite rebuffering when a KID is not announced in the MPD
508
- [#1113]
509
- - DRM: Fix quality fallback when loading a content whose license has been cached under an
510
- extended `singleLicensePer` setting and when starting (and staying) with a quality whose
511
- key id is not in it [#1133]
512
- - DASH: Avoid infinite loop due to rounding errors while parsing multi-Periods MPDs
513
- [#1111, #1110]
514
- - After a `RELOADING` state, stay in `PAUSED` if the media element was paused
515
- synchronously before the side-effect which triggered the reloading (usually coming from
516
- the API) was perform [#1132]
517
- - Fix issue with `maxVideoBufferSize` setting which could lead to too much data being
518
- buffered [#1125]
519
- - Prevent possibility of requests loops and infinite rebuffering when a pushed segment is
520
- always completely and immediately garbage collected by the browser [#1123]
521
- - DASH: Fix potential rare memory leak when stopping the content after it has reloaded at
522
- least once [#1135]
523
- - Directfile: Properly announce the audio track's `audioDescription` accessibility
524
- attribute in directfile mode on Safari [#1136]
525
- - DASH: Fix issues that could arise if a segment is calculated to start at a negative
526
- position [#1122]
527
- - DASH: Fix possibility of wrong segments being requested when a SegmentTimeline in a
528
- given Period (whose Period@end is set) had an S@r set to `-1` at its end [#1098]
529
- - DASH: If the first `<S>` has its S@t attribute not set, make as if it is set to `0`
530
- [#1118]
305
+ - Use the first **compatible** codec of the current AdaptationSet when creating a SourceBuffer [#1094]
306
+ - DASH/DRM: Fix potential infinite rebuffering when a KID is not announced in the MPD [#1113]
307
+ - DRM: Fix quality fallback when loading a content whose license has been cached under an extended `singleLicensePer` setting and when starting (and staying) with a quality whose key id is not in it [#1133]
308
+ - DASH: Avoid infinite loop due to rounding errors while parsing multi-Periods MPDs [#1111, #1110]
309
+ - After a `RELOADING` state, stay in `PAUSED` if the media element was paused synchronously before the side-effect which triggered the reloading (usually coming from the API) was perform [#1132]
310
+ - Fix issue with `maxVideoBufferSize` setting which could lead to too much data being buffered [#1125]
311
+ - Prevent possibility of requests loops and infinite rebuffering when a pushed segment is always completely and immediately garbage collected by the browser [#1123]
312
+ - DASH: Fix potential rare memory leak when stopping the content after it has reloaded at least once [#1135]
313
+ - Directfile: Properly announce the audio track's `audioDescription` accessibility attribute in directfile mode on Safari [#1136]
314
+ - DASH: Fix issues that could arise if a segment is calculated to start at a negative position [#1122]
315
+ - DASH: Fix possibility of wrong segments being requested when a SegmentTimeline in a given Period (whose Period@end is set) had an S@r set to `-1` at its end [#1098]
316
+ - DASH: If the first `<S>` has its S@t attribute not set, make as if it is set to `0` [#1118]
531
317
 
532
318
  ### Other improvements
533
319
 
534
- - TTML: Add support for percent based thickness for textOutline in TTML Subtitles [#1108]
535
- - Improve TypeScript's language servers auto import feature with the RxPlayer by better
536
- redirecting to the exported type [#1126]
537
- - If seeking after the last potential position, load last segments before ending [#1097]
538
- - The duration set on the media element is now only relative to the current chosen tracks
539
- (it was previously relative to all potential track). This allows to seek later when
540
- switching e.g. to a longer video track [#1102]
541
- - Errors coming from an HTMLMediaElement now have the browser's error message if it exists
542
- [#1112]
543
- - TTML: Better handle EBU-TT subtitles by handling the `tt` XML namespace in our TTML
544
- parser [#1131]
545
- - DRM: Information on persisted DRM sessions are now automatically updated to their last
546
- version when possible [#1096]
547
- - Only log values which are relatively inexpensive to stringify to reduce the difference
548
- between debugging sessions and what is usually seen in production [#1116]
320
+ - TTML: Add support for percent based thickness for textOutline in TTML Subtitles [#1108]
321
+ - Improve TypeScript's language servers auto import feature with the RxPlayer by better redirecting to the exported type [#1126]
322
+ - If seeking after the last potential position, load last segments before ending [#1097]
323
+ - The duration set on the media element is now only relative to the current chosen tracks (it was previously relative to all potential track). This allows to seek later when switching e.g. to a longer video track [#1102]
324
+ - Errors coming from an HTMLMediaElement now have the browser's error message if it exists [#1112]
325
+ - TTML: Better handle EBU-TT subtitles by handling the `tt` XML namespace in our TTML parser [#1131]
326
+ - DRM: Information on persisted DRM sessions are now automatically updated to their last version when possible [#1096]
327
+ - Only log values which are relatively inexpensive to stringify to reduce the difference between debugging sessions and what is usually seen in production [#1116]
328
+
549
329
 
550
330
  ## v3.27.0 (2022-03-31)
551
331
 
552
332
  ### Features
553
333
 
554
- - Add a `maxVideoBufferSize` constructor option and `{get,set}MaxVideoBufferSize` methods
555
- to limit the size of loaded video data buffered at the same time [#1041, #1054]
556
- - DRM: Add a `"periods"` mode to the `keySystems[].singleLicensePer` `loadVideo` option,
557
- allowing to obtain decryption license for groups of Periods allowing a compromise
558
- between optimization, features and compatibility [#1028, #1061]
559
- - Add a `"reload"` `audioTrackSwitchingMode` to work-around rare compatibility issues when
560
- switching audio tracks [#1089]
334
+ - Add a `maxVideoBufferSize` constructor option and `{get,set}MaxVideoBufferSize` methods to limit the size of loaded video data buffered at the same time [#1041, #1054]
335
+ - DRM: Add a `"periods"` mode to the `keySystems[].singleLicensePer` `loadVideo` option, allowing to obtain decryption license for groups of Periods allowing a compromise between optimization, features and compatibility [#1028, #1061]
336
+ - Add a `"reload"` `audioTrackSwitchingMode` to work-around rare compatibility issues when switching audio tracks [#1089]
561
337
 
562
338
  ### Bug fixes
563
339
 
564
- - subtitles: Fix rare issue where subtitles could be skipped due to a rounding error
565
- [#1064]
566
- - DASH: fix issue where the wrong segments would be requested on $Number$-based MPD with a
567
- SegmentTimeline older than the `timeShiftBufferDepth` [#1052, #1060]
568
- - directfile: disable all audio tracks before enabling one to work-around Safari issue on
569
- MacOS Monterey [#1067]
570
- - avoid performing a small seek when changing the audio track [#1080]
571
- - api: allow switching to RELOADING state synchronously after LOADED [#1083]
572
- - Safari Mobile: Improve decryption support on Safari mobile by relying on the vendored
573
- `WebKitMediaKeys` API [#1072]
574
- - DASH: Fix issue which prevented the integrity check of most MP4 DASH segments when
575
- `transportOptions.checkMediaSegmentIntegrity` was set to `true`
576
- - avoid unnecessary warning logs when loading some initialization segments [#1049]
577
- - TypeScript: Add forgotten TypeScript types in the exposed segment and manifest loader
578
- APIs [#1057]
579
- - DRM: Avoid decryption issues when a license is persisted in a `singleLicensePer`
580
- `"init-data"` mode but loaded in a `"content"` mode [#1031, #1042]
581
- - DRM: Totally avoid the theoretical possibility of leaking MediaKeySessions when a
582
- `generateRequest` or `load` call takes multiple seconds [#1093]
340
+ - subtitles: Fix rare issue where subtitles could be skipped due to a rounding error [#1064]
341
+ - DASH: fix issue where the wrong segments would be requested on $Number$-based MPD with a SegmentTimeline older than the `timeShiftBufferDepth` [#1052, #1060]
342
+ - directfile: disable all audio tracks before enabling one to work-around Safari issue on MacOS Monterey [#1067]
343
+ - avoid performing a small seek when changing the audio track [#1080]
344
+ - api: allow switching to RELOADING state synchronously after LOADED [#1083]
345
+ - Safari Mobile: Improve decryption support on Safari mobile by relying on the vendored `WebKitMediaKeys` API [#1072]
346
+ - DASH: Fix issue which prevented the integrity check of most MP4 DASH segments when `transportOptions.checkMediaSegmentIntegrity` was set to `true`
347
+ - avoid unnecessary warning logs when loading some initialization segments [#1049]
348
+ - TypeScript: Add forgotten TypeScript types in the exposed segment and manifest loader APIs [#1057]
349
+ - DRM: Avoid decryption issues when a license is persisted in a `singleLicensePer` `"init-data"` mode but loaded in a `"content"` mode [#1031, #1042]
350
+ - DRM: Totally avoid the theoretical possibility of leaking MediaKeySessions when a `generateRequest` or `load` call takes multiple seconds [#1093]
583
351
 
584
352
  ### Other improvements
585
353
 
586
- - DASH: always consider that the non-last Period is finished when it contains
587
- SegmentTimeline elements [#1047]
588
- - add better buffer cleaning logic on a browser's `QuotaExceededError` to better handle
589
- memory limitations [#1065]
590
- - DASH: Prioritize selectionPriority attribute over a "main" Role when ordering
591
- AdaptationSets [#1082]
592
- - directfile/Safari: use the `getStartDate` method in `getWallClockTime`, `seekTo` and the
593
- `positionUpdate` event when available to obtain true offseted "wall-clock" times when
594
- playing HLS contents on Safari [#1055]
595
- - DRM: Improve DRM Session caches performance when `singleLicensePer` is set to
596
- `"content"`
597
- - DRM: Stop retrying closing MediaKeySessions multiple times when it fails, instead doing
598
- it only once when it should work [#1093]
599
- - TypeScript: Add IBitrateEstimate, IPositionUpdate and IPlayerState types to the exported
600
- types [#1084]
601
- - Remove dependency on pinkie's promise ponyfill [#1058, #1090]
602
- - tests: add performance tests, to better catch and avoid performance regressions [#1053,
603
- #1062]
604
- - DRM: Refactor DRM logic for better maintainability. DRM-linked logs are now prefixed by
605
- `DRM:` instead of `EME:` like previously [#1042]
354
+ - DASH: always consider that the non-last Period is finished when it contains SegmentTimeline elements [#1047]
355
+ - add better buffer cleaning logic on a browser's `QuotaExceededError` to better handle memory limitations [#1065]
356
+ - DASH: Prioritize selectionPriority attribute over a "main" Role when ordering AdaptationSets [#1082]
357
+ - directfile/Safari: use the `getStartDate` method in `getWallClockTime`, `seekTo` and the `positionUpdate` event when available to obtain true offseted "wall-clock" times when playing HLS contents on Safari [#1055]
358
+ - DRM: Improve DRM Session caches performance when `singleLicensePer` is set to `"content"`
359
+ - DRM: Stop retrying closing MediaKeySessions multiple times when it fails, instead doing it only once when it should work [#1093]
360
+ - TypeScript: Add IBitrateEstimate, IPositionUpdate and IPlayerState types to the exported types [#1084]
361
+ - Remove dependency on pinkie's promise ponyfill [#1058, #1090]
362
+ - tests: add performance tests, to better catch and avoid performance regressions [#1053, #1062]
363
+ - DRM: Refactor DRM logic for better maintainability. DRM-linked logs are now prefixed by `DRM:` instead of `EME:` like previously [#1042]
364
+
606
365
 
607
366
  ## v3.26.2 (2022-01-11)
608
367
 
609
368
  ### Bug fixes
610
369
 
611
- - API: re-switch to SEEKING state instead of BUFFERING when seeking to already-buffered
612
- data [#1015]
613
- - DASH: provide default startNumber attribute for number-based SegmentTemplate indexes
614
- with a SegmentTimeline [#1009]
615
- - TTML (subtitles): interpret percentages as relative to the computed cell size and not as
616
- the percentage of the inherited font size in the page [#1013]
617
- - subtitles: Work-around recent Chrome issue where the content of a native `<track>`
618
- element would still be visible despite being removed from the DOM (issue only
619
- reproducible in the `"native"` `textTrackMode`) [#1039]
620
- - API: Fix rare issue happening when switching rapidly between Representations, which led
621
- to multiple APIs such as `getAvailableVideoBitrate` or `getAvailableAudioTracks`
622
- returning either incorrect or empty results [#1018]
623
- - Improve prevention of rare segment-loading loops by fixing an issue with the clean-up of
624
- the short-term buffer history we maintain [#1045]
370
+ - API: re-switch to SEEKING state instead of BUFFERING when seeking to already-buffered data [#1015]
371
+ - DASH: provide default startNumber attribute for number-based SegmentTemplate indexes with a SegmentTimeline [#1009]
372
+ - TTML (subtitles): interpret percentages as relative to the computed cell size and not as the percentage of the inherited font size in the page [#1013]
373
+ - subtitles: Work-around recent Chrome issue where the content of a native `<track>` element would still be visible despite being removed from the DOM (issue only reproducible in the `"native"` `textTrackMode`) [#1039]
374
+ - API: Fix rare issue happening when switching rapidly between Representations, which led to multiple APIs such as `getAvailableVideoBitrate` or `getAvailableAudioTracks` returning either incorrect or empty results [#1018]
375
+ - Improve prevention of rare segment-loading loops by fixing an issue with the clean-up of the short-term buffer history we maintain [#1045]
625
376
 
626
377
  ### Other improvements
627
378
 
628
- - DASH-LL: Improve adaptive bitrate logic on low-latency contents by implementing a
629
- specific algorithm for those [#1025, #1036]
630
- - DASH-LL: Improve handling of $Time$-based DASH-LL contents [#1020]
631
- - DASH: Support UTCTiming element with the `urn:mpeg:dash:utc:http-xsdate:2014` scheme
632
- [#1021]
633
- - DOC: Important refactoring of the RxPlayer API documentation to improve readability,
634
- discoverability and to add search capability to it [#1016]
635
- - DASH: handle ContentProtection elements that have been defined at the
636
- Representation-level (and not at the AdaptationSet-level, as defined by the DASH-IF IOP)
637
- [#1027]
638
- - DASH: Be resilient when the resource behind an UTCTiming element leads to an error
639
- (usually due to an HTTP-related issue) - instead of failing with an error like now
640
- [#1026]
641
- - Better estimate the duration of ISOBMFF segments with multiple moof boxes [#1037]
642
- - EME: Add hex-encoded key id to the `KEY_STATUS_CHANGE_ERROR` error message so we can
643
- know which key we're talking about when debugging [#1033]
644
- - dev/scripts: for the "modular" (a.k.a. minimal) RxPlayer build now rely on TypeScript's
645
- const enums, instead of uglily using sed, to replace compile-time constants. [#1014]
646
- - dev/scripts: remove reliance on environment variables when running the RxPlayer build
647
- scripts [#1004]
648
- - dev/scripts: add esbuild devdependency and add "s" script to allow faster checks for
649
- RxPlayer developpers [#1003]
650
- - CI: Rely on Github actions instead of Travis for most CI-related matters [#1046]
651
- - code/refacto: replace central `Clock` concept (Observable bringing media-related updates
652
- to the RxPlayer at a regular pace) by a more flexible `PlaybackObserver` class [#1002]
379
+ - DASH-LL: Improve adaptive bitrate logic on low-latency contents by implementing a specific algorithm for those [#1025, #1036]
380
+ - DASH-LL: Improve handling of $Time$-based DASH-LL contents [#1020]
381
+ - DASH: Support UTCTiming element with the `urn:mpeg:dash:utc:http-xsdate:2014` scheme [#1021]
382
+ - DOC: Important refactoring of the RxPlayer API documentation to improve readability, discoverability and to add search capability to it [#1016]
383
+ - DASH: handle ContentProtection elements that have been defined at the Representation-level (and not at the AdaptationSet-level, as defined by the DASH-IF IOP) [#1027]
384
+ - DASH: Be resilient when the resource behind an UTCTiming element leads to an error (usually due to an HTTP-related issue) - instead of failing with an error like now [#1026]
385
+ - Better estimate the duration of ISOBMFF segments with multiple moof boxes [#1037]
386
+ - EME: Add hex-encoded key id to the `KEY_STATUS_CHANGE_ERROR` error message so we can know which key we're talking about when debugging [#1033]
387
+ - dev/scripts: for the "modular" (a.k.a. minimal) RxPlayer build now rely on TypeScript's const enums, instead of uglily using sed, to replace compile-time constants. [#1014]
388
+ - dev/scripts: remove reliance on environment variables when running the RxPlayer build scripts [#1004]
389
+ - dev/scripts: add esbuild devdependency and add "s" script to allow faster checks for RxPlayer developpers [#1003]
390
+ - CI: Rely on Github actions instead of Travis for most CI-related matters [#1046]
391
+ - code/refacto: replace central `Clock` concept (Observable bringing media-related updates to the RxPlayer at a regular pace) by a more flexible `PlaybackObserver` class [#1002]
392
+
653
393
 
654
394
  ## v3.26.1 (2021-09-14)
655
395
 
656
396
  ### Bug fixes
657
397
 
658
- - ttml: Do not throw if a TTML subtitles file doesn't contain any `<body>` tag, just
659
- ignore it [#993]
660
- - Auto-detect when playback is unexplicably frozen and try to unlock it through a small
661
- seek [#982]
662
- - Properly send `available{Audio,Video}BitratesChange` event for multi-Period contents
663
- [#983]
664
- - DASH/MetaPlaylist/Local: fix rare infinite rebuffering issue which could happen when
665
- changing or disabling the track of a future Period [#1000]
666
- - compat: Prevent rare segment-loading loops by automatically detecting when segments are
667
- garbage collected by the browser immediately after being pushed [#987, #990]
668
- - compat/DRM: In some Safari versions, communicating a license as a JS `ArrayBuffer` could
669
- throw, this is now fixed [#974]
670
- - DASH_WASM: Don't stop with a fatal error if an expected ISO8601 duration value is empty
671
- in the MPD
672
- - DASH_WASM: Parse `<Event>` elements which contain an XML namespace defined outside that
673
- element [#981]
674
- - DASH_WASM: Drastically reduce wasm compilation time and file size [#980]
398
+ - ttml: Do not throw if a TTML subtitles file doesn't contain any `<body>` tag, just ignore it [#993]
399
+ - Auto-detect when playback is unexplicably frozen and try to unlock it through a small seek [#982]
400
+ - Properly send `available{Audio,Video}BitratesChange` event for multi-Period contents [#983]
401
+ - DASH/MetaPlaylist/Local: fix rare infinite rebuffering issue which could happen when changing or disabling the track of a future Period [#1000]
402
+ - compat: Prevent rare segment-loading loops by automatically detecting when segments are garbage collected by the browser immediately after being pushed [#987, #990]
403
+ - compat/DRM: In some Safari versions, communicating a license as a JS `ArrayBuffer` could throw, this is now fixed [#974]
404
+ - DASH_WASM: Don't stop with a fatal error if an expected ISO8601 duration value is empty in the MPD
405
+ - DASH_WASM: Parse `<Event>` elements which contain an XML namespace defined outside that element [#981]
406
+ - DASH_WASM: Drastically reduce wasm compilation time and file size [#980]
675
407
 
676
408
  ### Other improvements
677
409
 
678
- - Request initialization segment and the first media segments at the same time when
679
- possible, potentially reducing loading times [#973]
680
- - Remove cached segment request detection in the adaptive logic, as it is sensible to
681
- false positives, leading to a poor bitrate in some short contents [#977]
682
- - Export more needed types through the `rx-player/types` path [#972, #976]
683
- - demo: Expose some player options in the demo page [#999]
684
- - dev: Rewrite build logic from bash to node.js to improve its maintainability
685
- - dev: Replace internal `info` script by more helpful and interactive `list` script [#991]
686
- - dev/code: Forbid the usage of TypeScript's type `any` in most of the RxPlayer's code -
687
- performing runtime type-checking in some cases (in DEV mode only) [#994]
688
- - dev/code: Remove RxJS from the transports code [#962]
410
+ - Request initialization segment and the first media segments at the same time when possible, potentially reducing loading times [#973]
411
+ - Remove cached segment request detection in the adaptive logic, as it is sensible to false positives, leading to a poor bitrate in some short contents [#977]
412
+ - Export more needed types through the `rx-player/types` path [#972, #976]
413
+ - demo: Expose some player options in the demo page [#999]
414
+ - dev: Rewrite build logic from bash to node.js to improve its maintainability
415
+ - dev: Replace internal `info` script by more helpful and interactive `list` script [#991]
416
+ - dev/code: Forbid the usage of TypeScript's type `any` in most of the RxPlayer's code - performing runtime type-checking in some cases (in DEV mode only) [#994]
417
+ - dev/code: Remove RxJS from the transports code [#962]
418
+
689
419
 
690
420
  ## v3.26.0 (2021-06-10)
691
421
 
692
422
  ### Features
693
423
 
694
- - Add HDR information through the `hdrInfo` property on video Representation/tracks as
695
- returned by APIs such as `getVideoTrack`, `getAvailableVideoTracks`, the
696
- `videoTrackChange` event, `getManifest`, `getCurrentAdaptations` and
697
- `getCurrentRepresentations` [#946]
698
- - Add the `DASH_WASM` experimental feature, allowing faster MPD parsing using WebAssembly
699
- [#937]
700
- - Add the experimental `VideoThumbnailLoader` tool, which uses "trickmodes" DASH
701
- AdaptationSet to generate thumbnails [#647]
702
- - Add `preferTrickModeTracks` option to `setPlaybackRate`, to switch on or off trickmode
703
- tracks when available on the Manifest [#940]
704
- - Add `areTrickModeTracksEnabled` method to indicate whether the RxPlayer is using
705
- trickmode tracks in priority [#940]
706
- - Add `trickModeTracks` and `isTrickModeTrack` properties to video tracks as returned by
707
- the `getVideoTrack` and `getAvailableVideoTracks` method and by the `videoTrackChange`
708
- event [#940]
709
- - Add `maxSessionCacheSize` `keySystems` option, to configure the maximum number of
710
- decryption sessions that can be kept alive at the same time in a cache [#938]
711
- - The `manifestLoader` callback defined in `transportOptions` can now ask for a request to
712
- be retried [#964]
713
- - `initialManifest` now accepts the Manifest as an `ArrayBuffer` [#937]
714
- - The `manifestLoader` callback defined in `transportOptions` can now send the Manifest as
715
- an `ArrayBuffer` [#937]
424
+ - Add HDR information through the `hdrInfo` property on video Representation/tracks as returned by APIs such as `getVideoTrack`, `getAvailableVideoTracks`, the `videoTrackChange` event, `getManifest`, `getCurrentAdaptations` and `getCurrentRepresentations` [#946]
425
+ - Add the `DASH_WASM` experimental feature, allowing faster MPD parsing using WebAssembly [#937]
426
+ - Add the experimental `VideoThumbnailLoader` tool, which uses "trickmodes" DASH AdaptationSet to generate thumbnails [#647]
427
+ - Add `preferTrickModeTracks` option to `setPlaybackRate`, to switch on or off trickmode tracks when available on the Manifest [#940]
428
+ - Add `areTrickModeTracksEnabled` method to indicate whether the RxPlayer is using trickmode tracks in priority [#940]
429
+ - Add `trickModeTracks` and `isTrickModeTrack` properties to video tracks as returned by the `getVideoTrack` and `getAvailableVideoTracks` method and by the `videoTrackChange` event [#940]
430
+ - Add `maxSessionCacheSize` `keySystems` option, to configure the maximum number of decryption sessions that can be kept alive at the same time in a cache [#938]
431
+ - The `manifestLoader` callback defined in `transportOptions` can now ask for a request to be retried [#964]
432
+ - `initialManifest` now accepts the Manifest as an `ArrayBuffer` [#937]
433
+ - The `manifestLoader` callback defined in `transportOptions` can now send the Manifest as an `ArrayBuffer` [#937]
716
434
 
717
435
  ### Bug fixes
718
436
 
719
- - DASH: don't ignore new EventStream elements that weren't in the previous MPD update for
720
- a given Period [#956]
721
- - DASH: fix fatal error linked to the `duration` of the `MediaSource` happening when
722
- playing a multi-Period live DASH content whose previous (before updating) last Period's
723
- segments had been fully generated and fully pushed. [#952]
724
- - DASH: Avoid loading plain-text subtitles in a loop when playing before the first cue
725
- starts or after the last cue ends [#945, #948]
726
- - DASH: Avoid loading plain-text subtitles in a loop when the
727
- `transportOptions.checkMediaSegmentIntegrity` is set to `true` [#947]
728
- - DASH: avoid ending a dynamic stream if new Periods may be added later to the MPD [#959]
729
- - DASH: avoid unnecessarily refresh a MPD based on SegmentList elements when they don't
730
- perfectly align with the pushed data [#963]
437
+ - DASH: don't ignore new EventStream elements that weren't in the previous MPD update for a given Period [#956]
438
+ - DASH: fix fatal error linked to the `duration` of the `MediaSource` happening when playing a multi-Period live DASH content whose previous (before updating) last Period's segments had been fully generated and fully pushed. [#952]
439
+ - DASH: Avoid loading plain-text subtitles in a loop when playing before the first cue starts or after the last cue ends [#945, #948]
440
+ - DASH: Avoid loading plain-text subtitles in a loop when the `transportOptions.checkMediaSegmentIntegrity` is set to `true` [#947]
441
+ - DASH: avoid ending a dynamic stream if new Periods may be added later to the MPD [#959]
442
+ - DASH: avoid unnecessarily refresh a MPD based on SegmentList elements when they don't perfectly align with the pushed data [#963]
731
443
 
732
444
  ### Other improvements
733
445
 
734
- - Improve `audioTrackSwitchingMode` `"direct"` mode by avoiding unnecessary reloading
735
- cases [#872, #887, #943]
736
- - When seeking after the end of an ended content, actually seek just a little before to
737
- avoid subtle issues [#941]
738
- - DASH: limit the postponment of a Manifest refresh due to poor MPD-parsing performance to
739
- 6-times the "regular" delay (not impacted by
740
- `tansportOptions.minimumManifestUpdateInterval`) [#958]
741
- - DASH: Avoid loading two times a segment instead of once when that segment is not
742
- anounced in the MPD through a SegmentBase, SegmentList nor SegmentTemplate element but
743
- just through the Representation's BaseURL. [#949]
744
- - Update used RxJS version to 7.0.0, which might bring with it a smaller size and better
745
- performances [#954]
746
- - demo: remove Chart.js dependency (we found that its new API documentation and errors
747
- were too impenetrable) and replace the "Buffer Size" chart by a homemade one. [#955,
748
- #957]
446
+ - Improve `audioTrackSwitchingMode` `"direct"` mode by avoiding unnecessary reloading cases [#872, #887, #943]
447
+ - When seeking after the end of an ended content, actually seek just a little before to avoid subtle issues [#941]
448
+ - DASH: limit the postponment of a Manifest refresh due to poor MPD-parsing performance to 6-times the "regular" delay (not impacted by `tansportOptions.minimumManifestUpdateInterval`) [#958]
449
+ - DASH: Avoid loading two times a segment instead of once when that segment is not anounced in the MPD through a SegmentBase, SegmentList nor SegmentTemplate element but just through the Representation's BaseURL. [#949]
450
+ - Update used RxJS version to 7.0.0, which might bring with it a smaller size and better performances [#954]
451
+ - demo: remove Chart.js dependency (we found that its new API documentation and errors were too impenetrable) and replace the "Buffer Size" chart by a homemade one. [#955, #957]
452
+
749
453
 
750
454
  ## v3.24.0 (2021-04-01)
751
455
 
752
456
  ### Features
753
457
 
754
- - Add `inbandEvent` event for when an event is encountered in a media segment [#892]
755
- - DRM: Add `singleLicensePer` `keySystems` option to be able to signal in advance that the
756
- current content has a single license, even if it has multiple encryption keys [#863,
757
- #904]
758
- - DRM: Add `keySystems[].licenseStorage.disableRetroCompatibility` boolean to unlock
759
- optimizations when compatibility with EME sessions persisted in older RxPlayer versions
760
- is not important [#919]
458
+ - Add `inbandEvent` event for when an event is encountered in a media segment [#892]
459
+ - DRM: Add `singleLicensePer` `keySystems` option to be able to signal in advance that the current content has a single license, even if it has multiple encryption keys [#863, #904]
460
+ - DRM: Add `keySystems[].licenseStorage.disableRetroCompatibility` boolean to unlock optimizations when compatibility with EME sessions persisted in older RxPlayer versions is not important [#919]
761
461
 
762
462
  ### Bug fixes
763
463
 
764
- - DASH: Fix rounding error that could cause infinite buffering issues when going from a
765
- DASH Period to the next [#897, #899]
766
- - DRM: Always pass on server certificate before any challenge is generated. Contents with
767
- multiple licenses previously could lead to the latter being done before the former.
768
- [#895]
769
- - DRM: Fix possible leaks of MediaKeySessions if closed at the wrong time [#920]
770
- - Fix issue making sudden and acute fall in bandwidth not being considered soon enough
771
- [#906]
772
- - On some devices when `maxBufferAhead` is set, avoid removing the initially loaded data
773
- if done before the initial seek could be performed [#907]
774
- - Avoid cases of infinite rebuffering on Tizen 4 by avoiding pushing segments "on top of
775
- others" too close to the current position [#925]
776
- - Avoid seeking issues on Tizen by not seeking over discontinuities that will be already
777
- handled by the browser [#922]
778
- - Fix initial seek on Tizen (Samsung TVs) on live contents by setting a much lower
779
- duration (to work-around a Tizen overflow) [#914]
780
- - DASH: Consider multiple defined `<Accessibility>` tags for a single AdaptationSet [#903]
781
- - Fix error that could be thrown on Safari when calling the `getStatusForHDCP` method from
782
- the experimental `MediaCapabilitiesProber` tool [#927]
464
+ - DASH: Fix rounding error that could cause infinite buffering issues when going from a DASH Period to the next [#897, #899]
465
+ - DRM: Always pass on server certificate before any challenge is generated. Contents with multiple licenses previously could lead to the latter being done before the former. [#895]
466
+ - DRM: Fix possible leaks of MediaKeySessions if closed at the wrong time [#920]
467
+ - Fix issue making sudden and acute fall in bandwidth not being considered soon enough [#906]
468
+ - On some devices when `maxBufferAhead` is set, avoid removing the initially loaded data if done before the initial seek could be performed [#907]
469
+ - Avoid cases of infinite rebuffering on Tizen 4 by avoiding pushing segments "on top of others" too close to the current position [#925]
470
+ - Avoid seeking issues on Tizen by not seeking over discontinuities that will be already handled by the browser [#922]
471
+ - Fix initial seek on Tizen (Samsung TVs) on live contents by setting a much lower duration (to work-around a Tizen overflow) [#914]
472
+ - DASH: Consider multiple defined `<Accessibility>` tags for a single AdaptationSet [#903]
473
+ - Fix error that could be thrown on Safari when calling the `getStatusForHDCP` method from the experimental `MediaCapabilitiesProber` tool [#927]
783
474
 
784
475
  ### Other improvements
785
476
 
786
- - Avoid to push on top of the current position if there's already a segment there as it
787
- can provoke minor decoding issues on some devices [#925]
788
- - Update video element's duration if the content duration changes [#917]
789
- - DASH: Improve loading time with encrypted contents by only using the encrypted
790
- initialization data found in the Manifest when found in it [#911, #919]
791
- - Record redirections made on a `manifestUpdateUrl` to request directly the right URL on
792
- next update. [#929]
793
- - Improve loading time when a `serverCertificate` is given by calling the
794
- `setServerCertificate` API earlier [#895]
795
- - Improve loading time when switching contents by fetching the Manifest at the same time
796
- the previous content is cleaned-up [#894]
797
- - Improve loading time on some CPU-constrained devices by not running unnecessary playback
798
- checks on the "progress" HTMLMediaElement event anymore [#893]
799
- - DASH: Consider DASH audio AdaptationSet with a "urn:mpeg:dash:role:2011" schemeIdUri and
800
- a "description" role as `audioDescription` tracks [#903]
801
- - Warn through the logger when the autoplay attribute is enabled on the media element but
802
- not on RxPlayer [#924]
803
- - Avoid switching to a SEEKING state if the seek operation was performed inside the
804
- RxPlayer's code [#872, #887]
805
- - DRM: Wait up to 100 milliseconds after a persistent MediaKeySession has been loaded to
806
- wait for possibly late `keyStatuses` updates [#928]
807
- - DRM: Only store persistent MediaKeySession once at least one key is known [#926]
808
- - DRM: Reconsider Representations that have been fallbacked from if they become
809
- decipherable [#905]
810
- - DRM: Lower the maximum size of the MediaKeySession cache from 50 to 15 to improve
811
- compatibility, even more now that license with multiple keys are properly handled
812
- - Doc: Move architecture documentation closer to the code it documents [#764, #900]
813
- - Doc: add "Quick links" to the top of the API documentation [#909]
477
+ - Avoid to push on top of the current position if there's already a segment there as it can provoke minor decoding issues on some devices [#925]
478
+ - Update video element's duration if the content duration changes [#917]
479
+ - DASH: Improve loading time with encrypted contents by only using the encrypted initialization data found in the Manifest when found in it [#911, #919]
480
+ - Record redirections made on a `manifestUpdateUrl` to request directly the right URL on next update. [#929]
481
+ - Improve loading time when a `serverCertificate` is given by calling the `setServerCertificate` API earlier [#895]
482
+ - Improve loading time when switching contents by fetching the Manifest at the same time the previous content is cleaned-up [#894]
483
+ - Improve loading time on some CPU-constrained devices by not running unnecessary playback checks on the "progress" HTMLMediaElement event anymore [#893]
484
+ - DASH: Consider DASH audio AdaptationSet with a "urn:mpeg:dash:role:2011" schemeIdUri and a "description" role as `audioDescription` tracks [#903]
485
+ - Warn through the logger when the autoplay attribute is enabled on the media element but not on RxPlayer [#924]
486
+ - Avoid switching to a SEEKING state if the seek operation was performed inside the RxPlayer's code [#872, #887]
487
+ - DRM: Wait up to 100 milliseconds after a persistent MediaKeySession has been loaded to wait for possibly late `keyStatuses` updates [#928]
488
+ - DRM: Only store persistent MediaKeySession once at least one key is known [#926]
489
+ - DRM: Reconsider Representations that have been fallbacked from if they become decipherable [#905]
490
+ - DRM: Lower the maximum size of the MediaKeySession cache from 50 to 15 to improve compatibility, even more now that license with multiple keys are properly handled
491
+ - Doc: Move architecture documentation closer to the code it documents [#764, #900]
492
+ - Doc: add "Quick links" to the top of the API documentation [#909]
493
+
814
494
 
815
495
  ## v3.23.1 (2021-02-01)
816
496
 
817
497
  ### Bug fixes
818
498
 
819
- - Fix support of encrypted contents on Safari (v3.23.0 regression)
499
+ - Fix support of encrypted contents on Safari (v3.23.0 regression)
500
+
820
501
 
821
502
  ## v3.23.0 (2021-02-01)
822
503
 
823
504
  ### Features
824
505
 
825
- - Add the `reload` method to be able to re-load the last loaded content as fast as
826
- possible (e.g. after fatal errors) [#859, #867]
827
- - Add `onCodecSwitch` loadVideo option, to select a strategy when a new incompatible codec
828
- is encountered [#856]
829
- - Emit `DISCONTINUITY_ENCOUNTERED` warnings when a discontinuity has been seeked over
830
- [#862]
831
- - Add minAudioBitrate and minVideoBitrate constructor options and the
832
- {set,get}Minimum{Audio,Video}Bitrate methods to define the minimum quality reachable
833
- through adaptive streaming [#876]
506
+ - Add the `reload` method to be able to re-load the last loaded content as fast as possible (e.g. after fatal errors) [#859, #867]
507
+ - Add `onCodecSwitch` loadVideo option, to select a strategy when a new incompatible codec is encountered [#856]
508
+ - Emit `DISCONTINUITY_ENCOUNTERED` warnings when a discontinuity has been seeked over [#862]
509
+ - Add minAudioBitrate and minVideoBitrate constructor options and the {set,get}Minimum{Audio,Video}Bitrate methods to define the minimum quality reachable through adaptive streaming [#876]
834
510
 
835
511
  ### Bug fixes
836
512
 
837
- - Fix impossibility to fallback to another Representation (with the
838
- `keySystems[].fallbackOn` `loadVideo` options) when a decryption key has been found to
839
- be non-usable [#889]
840
- - Fix DRM-related events being sent twice in a row instead of just once [#850]
841
- - Stop and throw `MANIFEST_PARSE_ERROR` error again when either audio or video has only
842
- unsupported codecs (instead of just playing the other type) [#864]
843
- - Avoid re-downloading a segment that ends a lot before its expected end [#846]
844
- - In "native" `textTrackMode`, avoid requesting text segments in a loop [#878]
845
- - Disable effects of `throttleVideoBitrateWhenHidden`, `limitVideoWidth` and
846
- `throttleVideoBitrate` player options on Firefox >= 67 due to how Picture in Picture
847
- mode is currently handled in them [#874]
848
- - Work-around race condition in old Chromium versions where loading a persistent
849
- MediaKeySession led to no key statuses right away [#847]
513
+ - Fix impossibility to fallback to another Representation (with the `keySystems[].fallbackOn` `loadVideo` options) when a decryption key has been found to be non-usable [#889]
514
+ - Fix DRM-related events being sent twice in a row instead of just once [#850]
515
+ - Stop and throw `MANIFEST_PARSE_ERROR` error again when either audio or video has only unsupported codecs (instead of just playing the other type) [#864]
516
+ - Avoid re-downloading a segment that ends a lot before its expected end [#846]
517
+ - In "native" `textTrackMode`, avoid requesting text segments in a loop [#878]
518
+ - Disable effects of `throttleVideoBitrateWhenHidden`, `limitVideoWidth` and `throttleVideoBitrate` player options on Firefox >= 67 due to how Picture in Picture mode is currently handled in them [#874]
519
+ - Work-around race condition in old Chromium versions where loading a persistent MediaKeySession led to no key statuses right away [#847]
850
520
 
851
521
  ### Other improvements
852
522
 
853
- - Skip over most audio or video discontinuities in the stream, even those not announced in
854
- the Manifest [#862]
855
- - When track or bitrate switching lead to a reload, seek back a consistent number of
856
- milliseconds to give back context [#848]
857
- - Don't call `setServerCertificate` API when `keySystems[].serverCertificate` option is
858
- set to `null` [#849]
859
- - On the rare platforms where an undefined initialization data type can be received on
860
- encrypted events, retry `generateRequest` with a default "cenc" value if the first one
861
- fails due to it being empty [#870]
862
- - Re-add debug logs logging the principal media properties at each clock tick [#844]
863
- - Use TextEncoder and TextDecoder interfaces when available to speed-up string conversions
864
- [#843, #875]
865
- - Throw a better error when no EME API is found
866
- - Reduce default bundles size by switching to webpack 5 to generate them
867
- - tests: Add conformance tests on the initial seek to help debugging related issues on new
868
- platforms [#873]
869
- - lint/code: Use eslint code linter even for the TypeScript code [#842]
523
+ - Skip over most audio or video discontinuities in the stream, even those not announced in the Manifest [#862]
524
+ - When track or bitrate switching lead to a reload, seek back a consistent number of milliseconds to give back context [#848]
525
+ - Don't call `setServerCertificate` API when `keySystems[].serverCertificate` option is set to `null` [#849]
526
+ - On the rare platforms where an undefined initialization data type can be received on encrypted events, retry `generateRequest` with a default "cenc" value if the first one fails due to it being empty [#870]
527
+ - Re-add debug logs logging the principal media properties at each clock tick [#844]
528
+ - Use TextEncoder and TextDecoder interfaces when available to speed-up string conversions [#843, #875]
529
+ - Throw a better error when no EME API is found
530
+ - Reduce default bundles size by switching to webpack 5 to generate them
531
+ - tests: Add conformance tests on the initial seek to help debugging related issues on new platforms [#873]
532
+ - lint/code: Use eslint code linter even for the TypeScript code [#842]
533
+
870
534
 
871
535
  ## v3.22.0 (2020-11-17)
872
536
 
873
537
  ### Features
874
538
 
875
- - Add `audioTrackSwitchingMode` `loadVideo` option to allow different strategies when
876
- switching between audio tracks [#801, #806]
877
- - Add `enableFastSwitching` `loadVideo` option to enable or disable optimizations doing
878
- segment replacement in the browser's buffer [#779, #780]
879
- - Add `initialManifest` `loadVideo` option to provide the Manifest to the RxPlayer when it
880
- has already been loaded [#807]
881
- - tools: Add `StringUtils` utilitary functions to tools to convert bytes to strings and
882
- the other way around [#809]
883
- - tools: The `TextTrackRenderer` tool is not experimental anymore: it now has a stable API
884
- [#810]
885
- - experimental/local-manifest: The RxPlayer now (only) plays the new `"0.2"` format
886
- version of the "LocalManifest" (in the experimental `"local"` transport) [#810]
539
+ - Add `audioTrackSwitchingMode` `loadVideo` option to allow different strategies when switching between audio tracks [#801, #806]
540
+ - Add `enableFastSwitching` `loadVideo` option to enable or disable optimizations doing segment replacement in the browser's buffer [#779, #780]
541
+ - Add `initialManifest` `loadVideo` option to provide the Manifest to the RxPlayer when it has already been loaded [#807]
542
+ - tools: Add `StringUtils` utilitary functions to tools to convert bytes to strings and the other way around [#809]
543
+ - tools: The `TextTrackRenderer` tool is not experimental anymore: it now has a stable API [#810]
544
+ - experimental/local-manifest: The RxPlayer now (only) plays the new `"0.2"` format version of the "LocalManifest" (in the experimental `"local"` transport) [#810]
887
545
 
888
546
  ### Bug fixes
889
547
 
890
- - directfile: Fix impossibility to play an encrypted content in directfile mode
891
- (regression brought in v3.21.1) [#827, #830]
892
- - subtitles: Display multiple cues with overlapping times [#829]
893
- - smooth: Fix minimum position in a Smooth live content when fewer segments than the dvr
894
- window length are available [#826]
895
- - dash/metaplaylist: Fix possible playback issues on multi-Period contents, where segments
896
- from multiple Periods overlap [#837]
897
- - Fix very rare race condition which triggered a "setting priority of null" error after
898
- synchronous segment requests were done [#817]
899
- - local-manifest: LocalManifest that transition from not finished to finished while
900
- playing now end properly [#818]
901
- - local-manifest: Fix and clarify the duration and maximum position reported for a playing
902
- LocalManifest [#818]
903
- - compatibility/drm: On some webkit-based browsers, do not require the use of a server
904
- certificate for DRM if the key system used is not FairPlay [#833]
905
- - drm: Properly update to a different server certificate on the MediaKeys or remove it if
906
- needed [#835]
907
- - drm: throw MEDIA_IS_ENCRYPTED_ERROR again when playing an encrypted event without either
908
- the `EME` feature, EME APIs or a `keySystems` option [#841]
548
+ - directfile: Fix impossibility to play an encrypted content in directfile mode (regression brought in v3.21.1) [#827, #830]
549
+ - subtitles: Display multiple cues with overlapping times [#829]
550
+ - smooth: Fix minimum position in a Smooth live content when fewer segments than the dvr window length are available [#826]
551
+ - dash/metaplaylist: Fix possible playback issues on multi-Period contents, where segments from multiple Periods overlap [#837]
552
+ - Fix very rare race condition which triggered a "setting priority of null" error after synchronous segment requests were done [#817]
553
+ - local-manifest: LocalManifest that transition from not finished to finished while playing now end properly [#818]
554
+ - local-manifest: Fix and clarify the duration and maximum position reported for a playing LocalManifest [#818]
555
+ - compatibility/drm: On some webkit-based browsers, do not require the use of a server certificate for DRM if the key system used is not FairPlay [#833]
556
+ - drm: Properly update to a different server certificate on the MediaKeys or remove it if needed [#835]
557
+ - drm: throw MEDIA_IS_ENCRYPTED_ERROR again when playing an encrypted event without either the `EME` feature, EME APIs or a `keySystems` option [#841]
909
558
 
910
559
  ### Other improvements
911
560
 
912
- - subtitles/ttml: Apply default position to TTML subtitles in `"html"` `textTrackMode`
913
- when no style is found [#815]
914
- - subtitles/ttml: Set default text color to white to TTML subtitles in `"html"`
915
- textTrackMode [#832]
916
- - drm: Avoid re-setting a server certificate we know has already been pushed to improve
917
- loading performance [#824, #835]
918
- - dash: Always prefer a "main" AdaptationSet when hesitating between multiple ones [#828]
919
- - dash: Improve minimum position precision for dynamic DASH contents when less segments
920
- are available than what would be guessed from the timeShiftBufferDepth [#826]
921
- - drm/logs: Better log why a MediaKeySession is not considered as "usable" [#822]
922
- - drm/logs: Be more verbose with DRM-related logs, even at lower logger levels [#821]
923
- - tests/conformance: Add "conformance tests", to quickly test the capabilities of new
924
- devices and targets [#814]
925
- - code: avoid circular dependency in `src/features` in original typescript source files
926
- [#805]
927
- - demo: Fix default position for the video track select element in the demo to always be
928
- at the currently selected video track [#813]
929
- - demo/code: Better integrate the RxPlayer to the demo: through a simple import, instead
930
- of adding a script tag for the bundled version [#811]
931
- - dev: Remove all enforced git-hooks (on pre-commit and pre-push) [#808]
561
+ - subtitles/ttml: Apply default position to TTML subtitles in `"html"` `textTrackMode` when no style is found [#815]
562
+ - subtitles/ttml: Set default text color to white to TTML subtitles in `"html"` textTrackMode [#832]
563
+ - drm: Avoid re-setting a server certificate we know has already been pushed to improve loading performance [#824, #835]
564
+ - dash: Always prefer a "main" AdaptationSet when hesitating between multiple ones [#828]
565
+ - dash: Improve minimum position precision for dynamic DASH contents when less segments are available than what would be guessed from the timeShiftBufferDepth [#826]
566
+ - drm/logs: Better log why a MediaKeySession is not considered as "usable" [#822]
567
+ - drm/logs: Be more verbose with DRM-related logs, even at lower logger levels [#821]
568
+ - tests/conformance: Add "conformance tests", to quickly test the capabilities of new devices and targets [#814]
569
+ - code: avoid circular dependency in `src/features` in original typescript source files [#805]
570
+ - demo: Fix default position for the video track select element in the demo to always be at the currently selected video track [#813]
571
+ - demo/code: Better integrate the RxPlayer to the demo: through a simple import, instead of adding a script tag for the bundled version [#811]
572
+ - dev: Remove all enforced git-hooks (on pre-commit and pre-push) [#808]
573
+
932
574
 
933
575
  ## v3.21.1 (2020-09-21)
934
576
 
935
577
  ### Bug fixes
936
578
 
937
- - compatibility/drm: make switching the current `MediaKeys` work on most platforms by
938
- re-ordering browser API calls [#766, #744]
939
- - compatibility/drm: in Edge and IE11, fix behavior which could lead to not fallbacking
940
- from a non-decryptable quality due to a badly parsed key ID [#790]
941
- - dash: when a Representation depends on multiple SegmentTemplate at the same time, merge
942
- all corresponding information instead of just relying on the last one [#767, #768]
943
- - smooth: skip discontinuity when seeking in the middle of one when playing a smooth
944
- content [#792]
945
- - api: fix `getUrl` and the minimum position calculation after playing for some time a
946
- live content with a set `manifestUpdateUrl` [#775, #776]
947
- - drm/subtitles: better handle UTF-8 and UTF-16 characters in an encrypted initialization
948
- data or in subtitles [#791]
949
- - requests: still retry all the other segment's URLs when a non-retryable error happen on
950
- the request for one of them [#798]
951
- - dash: fix infinite rebuffering when playing multi-Period DASH contents for some time
952
- with a `manifestUpdateUrl` set [#797]
579
+ - compatibility/drm: make switching the current `MediaKeys` work on most platforms by re-ordering browser API calls [#766, #744]
580
+ - compatibility/drm: in Edge and IE11, fix behavior which could lead to not fallbacking from a non-decryptable quality due to a badly parsed key ID [#790]
581
+ - dash: when a Representation depends on multiple SegmentTemplate at the same time, merge all corresponding information instead of just relying on the last one [#767, #768]
582
+ - smooth: skip discontinuity when seeking in the middle of one when playing a smooth content [#792]
583
+ - api: fix `getUrl` and the minimum position calculation after playing for some time a live content with a set `manifestUpdateUrl` [#775, #776]
584
+ - drm/subtitles: better handle UTF-8 and UTF-16 characters in an encrypted initialization data or in subtitles [#791]
585
+ - requests: still retry all the other segment's URLs when a non-retryable error happen on the request for one of them [#798]
586
+ - dash: fix infinite rebuffering when playing multi-Period DASH contents for some time with a `manifestUpdateUrl` set [#797]
953
587
 
954
588
  ### Other improvements
955
589
 
956
- - improve seek latency in some rare cases where we could profit from cancelling a request
957
- for a needed segment [#752, #769]
958
- - requests: only download an initialization segment when media segments for that
959
- Representation are needed [#773]
960
- - requests: avoid unnecessary segment requests when segments loaded don't exactly align
961
- with what is expected if contiguous segments exist [#772, #771]
962
- - better time quality switches to avoid having to re-download segments in the new quality
963
- [#781, #782, #783]
964
- - adaptive: limit bandwidth oscillations when the buffer level is low by choosing a lower
965
- bitrate by default and limiting fall in bandwidth when in "starvation mode" [#796]
966
- - compatibility/drm: filter out badly-formed CENC PSSH when found, if some well-formed
967
- exist [#788]
968
- - isobmff: support rare but possible occurence where an ISOBMFF box size is stored on 8
969
- bytes [#784]
970
- - logs: when logs are set to `"DEBUG"`, now regularly print visual representations of
971
- which segments live currently in the buffer(s) [#795]
972
- - demo: change separator in the demo's generated links from "\" to "!" to not change its
973
- form when percent-encoded [#758, #759]
974
- - project: better document changes in changelog and release notes, mostly by linking to
975
- related issues and PRs
976
- - code: rename "Buffer" module to "Stream" in the code, documentation and logs to better
977
- reflect what that code does [#793]
978
- - tests: add "global" unit tests for a more a module-oriented testing strategy (when
979
- compared to our existing function-oriented unit tests) to our EME (DRM) related code
980
- [#753]
590
+ - improve seek latency in some rare cases where we could profit from cancelling a request for a needed segment [#752, #769]
591
+ - requests: only download an initialization segment when media segments for that Representation are needed [#773]
592
+ - requests: avoid unnecessary segment requests when segments loaded don't exactly align with what is expected if contiguous segments exist [#772, #771]
593
+ - better time quality switches to avoid having to re-download segments in the new quality [#781, #782, #783]
594
+ - adaptive: limit bandwidth oscillations when the buffer level is low by choosing a lower bitrate by default and limiting fall in bandwidth when in "starvation mode" [#796]
595
+ - compatibility/drm: filter out badly-formed CENC PSSH when found, if some well-formed exist [#788]
596
+ - isobmff: support rare but possible occurence where an ISOBMFF box size is stored on 8 bytes [#784]
597
+ - logs: when logs are set to `"DEBUG"`, now regularly print visual representations of which segments live currently in the buffer(s) [#795]
598
+ - demo: change separator in the demo's generated links from "\" to "!" to not change its form when percent-encoded [#758, #759]
599
+ - project: better document changes in changelog and release notes, mostly by linking to related issues and PRs
600
+ - code: rename "Buffer" module to "Stream" in the code, documentation and logs to better reflect what that code does [#793]
601
+ - tests: add "global" unit tests for a more a module-oriented testing strategy (when compared to our existing function-oriented unit tests) to our EME (DRM) related code [#753]
602
+
981
603
 
982
604
  ## v3.21.0 (2020-06-17)
983
605
 
984
606
  ### Features
985
607
 
986
- - api/events: add `"streamEvent"` event for when a DASH EventStream's event is reached
987
- - api/events: add `"streamEventSkip"` event for when a DASH EventStream's event is
988
- "skipped"
989
- - types/events: add `IStreamEvent` and `IStreamEventData` - which define the payload
990
- emitted by both a `"streamEvent"` and `"streamEventSkip"` events to the exported types
991
- - api/tracks: add second argument to `setPreferredAudioTracks`, `setPreferredTextTracks`
992
- and `setPreferredVideoTracks` to be able to also apply them to the currently loaded
993
- Periods / content
994
- - text/webvtt: parse settings attributes of WebVTT subtitles when in HTML mode
995
- - api/tracks: add codec information to `getAvailableAudioTracks` and `getAudioTrack`
608
+ - api/events: add `"streamEvent"` event for when a DASH EventStream's event is reached
609
+ - api/events: add `"streamEventSkip"` event for when a DASH EventStream's event is "skipped"
610
+ - types/events: add `IStreamEvent` and `IStreamEventData` - which define the payload emitted by both a `"streamEvent"` and `"streamEventSkip"` events to the exported types
611
+ - api/tracks: add second argument to `setPreferredAudioTracks`, `setPreferredTextTracks` and `setPreferredVideoTracks` to be able to also apply them to the currently loaded Periods / content
612
+ - text/webvtt: parse settings attributes of WebVTT subtitles when in HTML mode
613
+ - api/tracks: add codec information to `getAvailableAudioTracks` and `getAudioTrack`
996
614
 
997
615
  ### Bug fixes
998
616
 
999
- - dash: do not reduce the minimum position when using the `manifestUpdateUrl`
1000
- `transportOptions` in `loadVideo`
1001
- - local-manifest: consider `language` property from a "local" Manifest
1002
- - local-manifest: refresh the Manifest even if we dont have a Manifest URL, as is often
1003
- the case when playing locally-stored contents
1004
- - local-manifest: allow the "expired" property of a local-manifest to be updated
1005
- - compat/eme/fairplay: for fairplay contents, better format the initialization data given
1006
- to the CDM. The previous behavior could lead to invalid license requests
1007
- - eme: re-allow serialization into a JSON string of the persisted session data, as
1008
- presented in the DRM tutorial
1009
- - compat/low-latency: fix compilation of async/await when playing low-latency contents
1010
- with the default bundled builds
1011
- - eme: ensure that the previous MediaKeySystemAccess used had `persistentState` to
1012
- "required" when a new content needs it to be
1013
- - eme: fix `closeSessionsOnStop` `keySystems` option actually not removing any
1014
- MediaKeySession when stopping a content (v3.20.1 regression).
617
+ - dash: do not reduce the minimum position when using the `manifestUpdateUrl` `transportOptions` in `loadVideo`
618
+ - local-manifest: consider `language` property from a "local" Manifest
619
+ - local-manifest: refresh the Manifest even if we dont have a Manifest URL, as is often the case when playing locally-stored contents
620
+ - local-manifest: allow the "expired" property of a local-manifest to be updated
621
+ - compat/eme/fairplay: for fairplay contents, better format the initialization data given to the CDM. The previous behavior could lead to invalid license requests
622
+ - eme: re-allow serialization into a JSON string of the persisted session data, as presented in the DRM tutorial
623
+ - compat/low-latency: fix compilation of async/await when playing low-latency contents with the default bundled builds
624
+ - eme: ensure that the previous MediaKeySystemAccess used had `persistentState` to "required" when a new content needs it to be
625
+ - eme: fix `closeSessionsOnStop` `keySystems` option actually not removing any MediaKeySession when stopping a content (v3.20.1 regression).
1015
626
 
1016
627
  ### Other improvements
1017
628
 
1018
- - dash: emit minor errors arising when parsing the DASH MPD through warning events (whose
1019
- payload will be an error with the `PIPELINE_PARSE_ERROR` code)
1020
- - dash: consider AdaptationSet@selectionPriority in our initial track choice if the user
1021
- preferences lead to multiple compatible tracks
1022
- - misc: do not download video segments when playing on an "audio" element.
1023
- - eme: replace the MediaKeySession's cache entry based on the least recently used instead
1024
- of on the least recently created to improve cache effectiveness.
1025
- - eme/persistent sessions: Limit the maximum of stored persistent MediaKeySessions to 1000
1026
- to avoid the storage to grow indefinitely (higher than that, the least-recently used
1027
- will be evicted)
629
+ - dash: emit minor errors arising when parsing the DASH MPD through warning events (whose payload will be an error with the `PIPELINE_PARSE_ERROR` code)
630
+ - dash: consider AdaptationSet@selectionPriority in our initial track choice if the user preferences lead to multiple compatible tracks
631
+ - misc: do not download video segments when playing on an "audio" element.
632
+ - eme: replace the MediaKeySession's cache entry based on the least recently used instead of on the least recently created to improve cache effectiveness.
633
+ - eme/persistent sessions: Limit the maximum of stored persistent MediaKeySessions to 1000 to avoid the storage to grow indefinitely (higher than that, the least-recently used will be evicted)
634
+
1028
635
 
1029
636
  ## v3.20.1 (2020-05-06)
1030
637
 
1031
638
  ### Bug fixes
1032
639
 
1033
- - eme: fix `OTHER_ERROR` issue arising when loading a new encrypted media when a previous
1034
- since-disposed instance of the RxPlayer played encrypted contents on the same media
1035
- element
1036
- - eme: fix `OTHER_ERROR` issue arising on Internet Explorer 11 when playing more than one
1037
- encrypted content
1038
- - eme: fix issue where more than 50 active MediaKeySessions at the same time could lead to
1039
- infinite rebuffering when playing back a previous content with multiple encryption keys
1040
- - directfile: for directfile contents, don't reset to the preferred audio, text or video
1041
- track when the track list changes
1042
- - eme: remove any possibility of collision in the storage of EME initialization data. The
1043
- previous behavior could theorically lead some initialization data to be ignored.
1044
- - eme: fix typo which conflated an EME "internal-error" key status and an
1045
- "output-restricted" one.
640
+ - eme: fix `OTHER_ERROR` issue arising when loading a new encrypted media when a previous since-disposed instance of the RxPlayer played encrypted contents on the same media element
641
+ - eme: fix `OTHER_ERROR` issue arising on Internet Explorer 11 when playing more than one encrypted content
642
+ - eme: fix issue where more than 50 active MediaKeySessions at the same time could lead to infinite rebuffering when playing back a previous content with multiple encryption keys
643
+ - directfile: for directfile contents, don't reset to the preferred audio, text or video track when the track list changes
644
+ - eme: remove any possibility of collision in the storage of EME initialization data. The previous behavior could theorically lead some initialization data to be ignored.
645
+ - eme: fix typo which conflated an EME "internal-error" key status and an "output-restricted" one.
646
+
1046
647
 
1047
648
  ## v3.20.0 (2020-04-22)
1048
649
 
1049
650
  ### Features
1050
651
 
1051
- - api: add `disableVideoTrack` method
1052
- - api: add the `preferredVideoTrack` constructor option and `setPreferredVideoTracks` /
1053
- `getPreferredVideoTracks` methods to set a video track preference (or to start with the
1054
- video track disabled).
1055
- - api: add optional `codec` property to preferred audio tracks APIs, allowing applications
1056
- to communicate a codec preference.
1057
- - api: make the `language` and `audioDescription` properties in `preferredAudioTracks`'
1058
- objects optional.
1059
- - api: add `signInterpreted` to `getVideoTrack` and `getAvailableVideoTracks` return
1060
- objects to know when a track contains sign language interpretation
652
+ - api: add `disableVideoTrack` method
653
+ - api: add the `preferredVideoTrack` constructor option and `setPreferredVideoTracks` / `getPreferredVideoTracks` methods to set a video track preference (or to start with the video track disabled).
654
+ - api: add optional `codec` property to preferred audio tracks APIs, allowing applications to communicate a codec preference.
655
+ - api: make the `language` and `audioDescription` properties in `preferredAudioTracks`' objects optional.
656
+ - api: add `signInterpreted` to `getVideoTrack` and `getAvailableVideoTracks` return objects to know when a track contains sign language interpretation
1061
657
 
1062
658
  ### Deprecated
1063
659
 
1064
- - api: deprecate the `getManifest()` method
1065
- - api: deprecate the `getCurrentAdaptations()` method
1066
- - api: deprecate the `getCurrentRepresentations()` method
660
+ - api: deprecate the `getManifest()` method
661
+ - api: deprecate the `getCurrentAdaptations()` method
662
+ - api: deprecate the `getCurrentRepresentations()` method
1067
663
 
1068
664
  ### Bug fixes
1069
665
 
1070
- - compat/eme: Set proper EME Safari implementation, to play contents with DRM on it
1071
- without issues
1072
- - compat/directfile/iOS: On Safari iOS, fix auto-play warnings when a directfile content
1073
- is played with the `playsinline` attribute set.
1074
- - directfile: In Directfile mode, always disable the current text track when a `null` is
1075
- encountered in the preferredTextTracks array
666
+ - compat/eme: Set proper EME Safari implementation, to play contents with DRM on it without issues
667
+ - compat/directfile/iOS: On Safari iOS, fix auto-play warnings when a directfile content is played with the `playsinline` attribute set.
668
+ - directfile: In Directfile mode, always disable the current text track when a `null` is encountered in the preferredTextTracks array
1076
669
 
1077
670
  ### Other improvements
1078
671
 
1079
- - abr: ignore requests that may have directly hit the cache in our adaptive logic
1080
- - dash/perf: improve parsing efficiency for very large MPDs, at the expense of a very
1081
- small risk of de-synchronization. Mechanisms still allow for regular re-synchronization.
672
+ - abr: ignore requests that may have directly hit the cache in our adaptive logic
673
+ - dash/perf: improve parsing efficiency for very large MPDs, at the expense of a very small risk of de-synchronization. Mechanisms still allow for regular re-synchronization.
674
+
1082
675
 
1083
676
  ## v3.19.0 (2020-03-11)
1084
677
 
1085
678
  ### Features
1086
679
 
1087
- - dash: handle multiple URL per segment announced through multiple BaseURL elements in the
1088
- MPD
1089
- - dash/smooth/metaplaylist: add `manifestUpdateUrl` to loadVideo's `transportOptions` to
1090
- provide a shorter version of the Manifest, used for more resource-efficient Manifest
1091
- updates
1092
- - tools/createMetaplaylist: add the experimental `createMetaplaylist` tool, which allows
1093
- to generate Metaplaylist contents from given Manifests
1094
- - tools/TextTrackRenderer: add the optional `language` property to the `setTextTrack`
1095
- method of the experimental `TextTrackRenderer` tool as it could be needed when parsing
1096
- SAMI subtitles
1097
- - types: export IAvailableAudioTrack, IAvailableTextTrack and IAvailableVideoTrack types
1098
- - types: export IAudioTrack, ITextTrack and IVideoTrack types
680
+ - dash: handle multiple URL per segment announced through multiple BaseURL elements in the MPD
681
+ - dash/smooth/metaplaylist: add `manifestUpdateUrl` to loadVideo's `transportOptions` to provide a shorter version of the Manifest, used for more resource-efficient Manifest updates
682
+ - tools/createMetaplaylist: add the experimental `createMetaplaylist` tool, which allows to generate Metaplaylist contents from given Manifests
683
+ - tools/TextTrackRenderer: add the optional `language` property to the `setTextTrack` method of the experimental `TextTrackRenderer` tool as it could be needed when parsing SAMI subtitles
684
+ - types: export IAvailableAudioTrack, IAvailableTextTrack and IAvailableVideoTrack types
685
+ - types: export IAudioTrack, ITextTrack and IVideoTrack types
1099
686
 
1100
687
  ### Bug fixes
1101
688
 
1102
- - dash/smooth: fix segment url resolution when there is query parameters in the Manifest
1103
- URL and/or segment path, themselves containing "/" characters
1104
- - local-manifest: fix videoElement's duration and `getVideoDuration` for contents in the
1105
- experimental `local` transport
1106
- - tools/parseBifThumbnails: do not return an un-displayable ArrayBuffer of the whole thing
1107
- in each `image` property in the experimental `parseBifThumbnails` function
689
+ - dash/smooth: fix segment url resolution when there is query parameters in the Manifest URL and/or segment path, themselves containing "/" characters
690
+ - local-manifest: fix videoElement's duration and `getVideoDuration` for contents in the experimental `local` transport
691
+ - tools/parseBifThumbnails: do not return an un-displayable ArrayBuffer of the whole thing in each `image` property in the experimental `parseBifThumbnails` function
1108
692
 
1109
693
  ### Other improvements
1110
694
 
1111
- - compat: avoid pushing a segment on top of the current position in Safari, as it can
1112
- sometime lead to green macro-blocks
1113
- - dash: add multiple performance improvements related to MPD parsing on embedded devices
1114
- - dash/smooth/metaplaylist/local: refresh less often the Manifest when parsing it takes
1115
- too much time to improve performance
1116
- - smooth: filter unsupported video and audio QualityLevels when parsing a Smooth Manifest
1117
- - build: greatly reduce the time needed to produce a modular build through the
1118
- `npm run build:modular` script
1119
- - build: remove Object.assign dependency
695
+ - compat: avoid pushing a segment on top of the current position in Safari, as it can sometime lead to green macro-blocks
696
+ - dash: add multiple performance improvements related to MPD parsing on embedded devices
697
+ - dash/smooth/metaplaylist/local: refresh less often the Manifest when parsing it takes too much time to improve performance
698
+ - smooth: filter unsupported video and audio QualityLevels when parsing a Smooth Manifest
699
+ - build: greatly reduce the time needed to produce a modular build through the `npm run build:modular` script
700
+ - build: remove Object.assign dependency
701
+
1120
702
 
1121
703
  ## v3.18.0 (2020-01-30)
1122
704
 
1123
705
  ### Features
1124
706
 
1125
- - directfile: support most audio tracks API when playing a directfile content
1126
- - directfile: support most text tracks API when playing a directfile content
1127
- - directfile: support most video tracks API when playing a directfile content
1128
- - api: add `seeking` and `seeked` events which announce the beginning and end of a seek,
1129
- even when seeking to an already buffered part
1130
- - subtitles/ttml: handle styles inheriting other styles in TTML subtitles
1131
- - local-manifest: add experimental `local` transport to allow the playback of downloaded
1132
- contents (even when offline)
1133
- - tools: add the experimental `TextTrackRenderer` tool to be able to add a custom text
1134
- track to any content
1135
- - tools: add the experimental `parseBifThumbnails` tool to easily parse thumbnails in the
1136
- BIF format
707
+ - directfile: support most audio tracks API when playing a directfile content
708
+ - directfile: support most text tracks API when playing a directfile content
709
+ - directfile: support most video tracks API when playing a directfile content
710
+ - api: add `seeking` and `seeked` events which announce the beginning and end of a seek, even when seeking to an already buffered part
711
+ - subtitles/ttml: handle styles inheriting other styles in TTML subtitles
712
+ - local-manifest: add experimental `local` transport to allow the playback of downloaded contents (even when offline)
713
+ - tools: add the experimental `TextTrackRenderer` tool to be able to add a custom text track to any content
714
+ - tools: add the experimental `parseBifThumbnails` tool to easily parse thumbnails in the BIF format
1137
715
 
1138
716
  ### Deprecated
1139
717
 
1140
- - api: deprecate the `supplementaryTextTracks` loadVideo option in profit of the external
1141
- TextTrackRenderer tool
1142
- - api: aeprecate the `supplementaryImageTracks` loadVideo option in profit of the external
1143
- parseBifThumbnails tool
1144
- - api: deprecate the `getImageTrackData` method in profit of the external
1145
- `parseBifThumbnails` tool
1146
- - api: deprecate the `imageTrackUpdate` event in profit of the external
1147
- `parseBifThumbnails` tool
1148
- - api: deprecate `hideNativeSubtitles` (officially)
718
+ - api: deprecate the `supplementaryTextTracks` loadVideo option in profit of the external TextTrackRenderer tool
719
+ - api: aeprecate the `supplementaryImageTracks` loadVideo option in profit of the external parseBifThumbnails tool
720
+ - api: deprecate the `getImageTrackData` method in profit of the external `parseBifThumbnails` tool
721
+ - api: deprecate the `imageTrackUpdate` event in profit of the external `parseBifThumbnails` tool
722
+ - api: deprecate `hideNativeSubtitles` (officially)
1149
723
 
1150
724
  ### Bug fixes
1151
725
 
1152
- - subtitles/ttml: Correctly handle alpha information in the rgba values included in a TTML
1153
- file
1154
- - images/bif: fix sometimes incorrect "ts" value on thumbnails returned by the
1155
- `getImageTrackData` method and the `imageTrackUpdate` event
726
+ - subtitles/ttml: Correctly handle alpha information in the rgba values included in a TTML file
727
+ - images/bif: fix sometimes incorrect "ts" value on thumbnails returned by the `getImageTrackData` method and the `imageTrackUpdate` event
1156
728
 
1157
729
  ### Other improvements
1158
730
 
1159
- - node: allow the RxPlayer to be imported from Node.js for server-side-rendering
1160
- - images/bif: throw a better error when an invalid BIF file is received
1161
- - api: be more "generous" with player events by ditching the deep-equal npm module due to
1162
- package size and some edge-case behavior
1163
- - demo: avoid re-rendering multiple ui components when unnecessary
731
+ - node: allow the RxPlayer to be imported from Node.js for server-side-rendering
732
+ - images/bif: throw a better error when an invalid BIF file is received
733
+ - api: be more "generous" with player events by ditching the deep-equal npm module due to package size and some edge-case behavior
734
+ - demo: avoid re-rendering multiple ui components when unnecessary
735
+
1164
736
 
1165
737
  ## v3.17.1 (2019-12-20)
1166
738
 
1167
739
  ### Bug fixes
1168
740
 
1169
- - dash/metaplaylist: fix infinite rebuffering issue when refreshing multi-Period contents
1170
- under specific conditions
1171
- - buffer: be less aggressive when garbage collecting subtitles (if the
1172
- maxBufferAhead/maxBufferBehind options are set) to avoid useful subtitles being removed
1173
- - directfile/compat: for directfile contents, trigger directly the LOADED state on
1174
- iOS/iPad/iPod browsers as those are not preloaded there
741
+ - dash/metaplaylist: fix infinite rebuffering issue when refreshing multi-Period contents under specific conditions
742
+ - buffer: be less aggressive when garbage collecting subtitles (if the maxBufferAhead/maxBufferBehind options are set) to avoid useful subtitles being removed
743
+ - directfile/compat: for directfile contents, trigger directly the LOADED state on iOS/iPad/iPod browsers as those are not preloaded there
1175
744
 
1176
745
  ### Other improvements
1177
746
 
1178
- - demo: display clickable "play" button on the video element when autoplay is blocked due
1179
- to browser policies - to help users unlock the situation
1180
- - demo: add "Other" key system to allow specifying a custom key system in the demo page
747
+ - demo: display clickable "play" button on the video element when autoplay is blocked due to browser policies - to help users unlock the situation
748
+ - demo: add "Other" key system to allow specifying a custom key system in the demo page
749
+
1181
750
 
1182
751
  ## v3.17.0 (2019-12-09)
1183
752
 
1184
753
  ### Features
1185
754
 
1186
- - eme/api: add keySystems.fallbackOn property to `loadVideo` to allow fallbacking to other
1187
- qualities when encountering various key errors
1188
- - eme/api: allow to set `fallbackOnLastTry` on a `getLicense` Error to be able to fallback
1189
- on other qualities when a license request is on error
1190
- - eme/api: add `NO_PLAYABLE_REPRESENTATION` `MediaError` for when every video or audio
1191
- quality cannot be played
1192
- - manifest/api: add `decipherable` property to a Representation object
1193
- - api: add `decipherabilityUpdate` event triggered when a Representation's decipherability
1194
- status is updated
1195
- - languages/api: add `dub` boolean to audio tracks (through `getAudioTrack` and
1196
- `getAvailableAudioTracks`) to tell if this is a dubbed track
1197
- - languages/ttml: with TTML subtitles, support length relative to the Computed Cell Size
1198
- for `tts:fontSize`, `tts:padding`, `tts:extent`, `tts:origin` and `tts:lineHeight`
1199
- - transports/api: add `checkMediaSegmentIntegrity` `transportOptions` to automatically
1200
- retry media segments which appear corrupted
1201
- - transports/api: add `minimumManifestUpdateInterval` `transportOptions` to limit the
1202
- Manifest update frequency
1203
- - transports/api: add "progress" callback to a custom segmentLoader to improve adaptive
1204
- streaming when an external segment loader is used
755
+ - eme/api: add keySystems.fallbackOn property to `loadVideo` to allow fallbacking to other qualities when encountering various key errors
756
+ - eme/api: allow to set `fallbackOnLastTry` on a `getLicense` Error to be able to fallback on other qualities when a license request is on error
757
+ - eme/api: add `NO_PLAYABLE_REPRESENTATION` `MediaError` for when every video or audio quality cannot be played
758
+ - manifest/api: add `decipherable` property to a Representation object
759
+ - api: add `decipherabilityUpdate` event triggered when a Representation's decipherability status is updated
760
+ - languages/api: add `dub` boolean to audio tracks (through `getAudioTrack` and `getAvailableAudioTracks`) to tell if this is a dubbed track
761
+ - languages/ttml: with TTML subtitles, support length relative to the Computed Cell Size for `tts:fontSize`, `tts:padding`, `tts:extent`, `tts:origin` and `tts:lineHeight`
762
+ - transports/api: add `checkMediaSegmentIntegrity` `transportOptions` to automatically retry media segments which appear corrupted
763
+ - transports/api: add `minimumManifestUpdateInterval` `transportOptions` to limit the Manifest update frequency
764
+ - transports/api: add "progress" callback to a custom segmentLoader to improve adaptive streaming when an external segment loader is used
1205
765
 
1206
766
  ### Bug fixes
1207
767
 
1208
- - dash/metaplaylist: download the first segment of a new Period when the last downloaded
1209
- segment from the previous Period ends after that segment ends
1210
- - smooth/metaplaylist: consider `serverSyncInfos` `transportOptions` for Smooth and
1211
- MetaPlaylist contents
1212
- - buffers: completely clean a previous audio/text track from the SourceBuffer when
1213
- switching to a different audio/text track
1214
- - dash: avoid requesting an inexistent segment when downloading a multi-Period DASH
1215
- content with a number-based SegmentTemplate with the `agressiveMode` option set to
1216
- `true`
1217
- - eme: do not wait for a previous invalid MediaKeySession to be closed before re-creating
1218
- a valid one for the same content, to work around a widevine issue
1219
- - eme: avoid race condition issue arising when multiple init data are received before the
1220
- MediaKeys have been attached to the media element
1221
- - dash: do not consider "trickmodes" AdaptationSet as directly playable video tracks
1222
- - directfile: begin directly at the end (instead of the beginning) when setting a
1223
- `startAt` loadVideo option with a `fromLastPosition` property set to `0` on directfile
1224
- contents
1225
- - metaplaylist: fix playback for non-live MetaPlaylist contents not starting at a `0` time
768
+ - dash/metaplaylist: download the first segment of a new Period when the last downloaded segment from the previous Period ends after that segment ends
769
+ - smooth/metaplaylist: consider `serverSyncInfos` `transportOptions` for Smooth and MetaPlaylist contents
770
+ - buffers: completely clean a previous audio/text track from the SourceBuffer when switching to a different audio/text track
771
+ - dash: avoid requesting an inexistent segment when downloading a multi-Period DASH content with a number-based SegmentTemplate with the `agressiveMode` option set to `true`
772
+ - eme: do not wait for a previous invalid MediaKeySession to be closed before re-creating a valid one for the same content, to work around a widevine issue
773
+ - eme: avoid race condition issue arising when multiple init data are received before the MediaKeys have been attached to the media element
774
+ - dash: do not consider "trickmodes" AdaptationSet as directly playable video tracks
775
+ - directfile: begin directly at the end (instead of the beginning) when setting a `startAt` loadVideo option with a `fromLastPosition` property set to `0` on directfile contents
776
+ - metaplaylist: fix playback for non-live MetaPlaylist contents not starting at a `0` time
1226
777
 
1227
778
  ### Other improvements
1228
779
 
1229
- - abr: better estimate a lower bitrate after a sudden fall in bandwidth
1230
- - dash/low-latency: properly use @availabilityTimeOffset when playing a low-latency DASH
1231
- content
1232
- - code: use only strict boolean expressions in the code (do not rely on falsy or truthy
1233
- values anymore).
1234
- - demo: add buffer content graphs to the demo page to vizualize exactly what have been
1235
- buffered
1236
- - demo: improve accessibility of the demo page for the english-speaking visually impaired
1237
- - misc: replace uglifyJS by terser for minification purposes
780
+ - abr: better estimate a lower bitrate after a sudden fall in bandwidth
781
+ - dash/low-latency: properly use @availabilityTimeOffset when playing a low-latency DASH content
782
+ - code: use only strict boolean expressions in the code (do not rely on falsy or truthy values anymore).
783
+ - demo: add buffer content graphs to the demo page to vizualize exactly what have been buffered
784
+ - demo: improve accessibility of the demo page for the english-speaking visually impaired
785
+ - misc: replace uglifyJS by terser for minification purposes
786
+
787
+
1238
788
 
1239
789
  ## v3.16.1 (2019-10-03)
1240
790
 
1241
791
  ### Bug fixes
1242
792
 
1243
- - dash: update timeshiftBufferDepth considered when refreshing the MPD
1244
- - dash: fix infinite rebuffering issue when refreshing a Multi-Period MPD with the oldest
1245
- Periods removed
1246
- - api: go to `"SEEKING"` state instead of `"BUFFERING"` when seeking while the player is
1247
- in the "BUFFERING" state
1248
- - api: Avoid reinitializing the video, audio and text track choice after a `"RELOADING"`
1249
- state
1250
- - api: When going back to a Period on which `disableTextTracks` was called, keep the text
1251
- track disabled even if different `preferredTextTracks` are set
1252
- - smooth: Replace `{CustomAttributes}` token in a segment URL
1253
- - dash: load the last segment of a Period when it is declared in a SegmentTemplate (with
1254
- no SegmentTimeline) and when its end is exactly equal to the end of the Period
793
+ - dash: update timeshiftBufferDepth considered when refreshing the MPD
794
+ - dash: fix infinite rebuffering issue when refreshing a Multi-Period MPD with the oldest Periods removed
795
+ - api: go to `"SEEKING"` state instead of `"BUFFERING"` when seeking while the player is in the "BUFFERING" state
796
+ - api: Avoid reinitializing the video, audio and text track choice after a `"RELOADING"` state
797
+ - api: When going back to a Period on which `disableTextTracks` was called, keep the text track disabled even if different `preferredTextTracks` are set
798
+ - smooth: Replace ``{CustomAttributes}`` token in a segment URL
799
+ - dash: load the last segment of a Period when it is declared in a SegmentTemplate (with no SegmentTimeline) and when its end is exactly equal to the end of the Period
1255
800
 
1256
801
  ### Other improvements
1257
802
 
1258
- - dash/metaplaylist: be more tolerant with the appendWindows set as the previous behavior
1259
- could lead to infinite rebuffering and segments re-downloading
1260
- - dash/metaplaylist/smooth: Better handle discontinuities in a VoD content
1261
- - dash/metaplaylist: Handle discontinuities between DASH Periods and between MetaPlaylist
1262
- contents
1263
- - dash/smooth: Avoid requesting multiple time the last segment when the duration given in
1264
- the Manifest are inexact
1265
- - smooth: Skip without throwing Manifest's StreamIndex with an unrecognized type
1266
- - dash: Improve prediction of when to update a dynamic MPD with xlinks
1267
- - dash: Be more tolerant of differences between a segment's time announced by the Manifest
1268
- and the reality to avoid multiple cases of segment re-downloading
1269
- - dash: Guess initialization range for segments defined in a SegmentBase without an
1270
- Initialization element
1271
- - dash: Throw better error when a sidx with a reference_type `1` is encountered
1272
- - api: Throw a better error when setting a `preferredAudioTracks` or `preferredTextTracks`
1273
- value in the wrong format
1274
- - demo: Allow to export and share demo links with custom contents
1275
- - demo: Fix video track switching in the demo page
1276
- - demo: Fix spinner not hiding when playing on very specific conditions
1277
- - demo: reset playback rate before loading a content
803
+ - dash/metaplaylist: be more tolerant with the appendWindows set as the previous behavior could lead to infinite rebuffering and segments re-downloading
804
+ - dash/metaplaylist/smooth: Better handle discontinuities in a VoD content
805
+ - dash/metaplaylist: Handle discontinuities between DASH Periods and between MetaPlaylist contents
806
+ - dash/smooth: Avoid requesting multiple time the last segment when the duration given in the Manifest are inexact
807
+ - smooth: Skip without throwing Manifest's StreamIndex with an unrecognized type
808
+ - dash: Improve prediction of when to update a dynamic MPD with xlinks
809
+ - dash: Be more tolerant of differences between a segment's time announced by the Manifest and the reality to avoid multiple cases of segment re-downloading
810
+ - dash: Guess initialization range for segments defined in a SegmentBase without an Initialization element
811
+ - dash: Throw better error when a sidx with a reference_type `1` is encountered
812
+ - api: Throw a better error when setting a `preferredAudioTracks` or `preferredTextTracks` value in the wrong format
813
+ - demo: Allow to export and share demo links with custom contents
814
+ - demo: Fix video track switching in the demo page
815
+ - demo: Fix spinner not hiding when playing on very specific conditions
816
+ - demo: reset playback rate before loading a content
817
+
1278
818
 
1279
819
  ## v3.16.0 (2019-09-16)
1280
820
 
1281
821
  ### Features
1282
822
 
1283
- - dash: add `lowLatencyMode` `loadVideo` option to play low-latency DASH contents with
1284
- chunk-encoded CMAF and chunked transfer encoding close to the live edge efficiently
1285
- - metaplaylist: add the experimental `metaplaylist` transport, which allows to smoothly
1286
- play a concatenation of multiple contents
1287
- - api: add `serverSyncInfos` to `transportOptions` (`loadVideo` option)
1288
- - errors: add `code` property to a `NetworkError` indicating the corresponding HTTP status
823
+ - dash: add `lowLatencyMode` `loadVideo` option to play low-latency DASH contents with chunk-encoded CMAF and chunked transfer encoding close to the live edge efficiently
824
+ - metaplaylist: add the experimental `metaplaylist` transport, which allows to smoothly play a concatenation of multiple contents
825
+ - api: add `serverSyncInfos` to `transportOptions` (`loadVideo` option)
826
+ - errors: add `code` property to a `NetworkError` indicating the corresponding HTTP status
1289
827
 
1290
828
  ### Bug fixes
1291
829
 
1292
- - dash: fix minimum time calculation for Multi-Period MPDs with SegmentTemplate segment
1293
- indexes but no SegmentTimeline
1294
- - dash: play static MPD not declaring any segment for a time of 0 seconds at the minimum
1295
- possible time by default
1296
- - dash: fix maximum position calculation for live Multi-Period contents where the
1297
- currently generated period is not the last one declared in the MPD
830
+ - dash: fix minimum time calculation for Multi-Period MPDs with SegmentTemplate segment indexes but no SegmentTimeline
831
+ - dash: play static MPD not declaring any segment for a time of 0 seconds at the minimum possible time by default
832
+ - dash: fix maximum position calculation for live Multi-Period contents where the currently generated period is not the last one declared in the MPD
1298
833
 
1299
834
  ### Other improvements
1300
835
 
1301
- - api: authorize to set no `url` to `loadVideo` if the `manifestLoader` `transportOption`
1302
- is set
1303
- - smooth: the `aggressiveMode` option now only allows requests for segments which had time
1304
- to at least begin to be generated to avoid too much HTTP 412
1305
- - dash: the `aggressiveMode` now also have an effect for some SegmentTemplate DASH
1306
- contents (download segments even if they're not finished)
1307
- - code: add pre-commit and pre-push git hooks to automate checking and facilitate
1308
- bisecting
1309
- - dash: better handle live Multi-Period contents where the currently broadcasted period is
1310
- not the last one declared in the MPD
1311
- - dash: better infer the end of a Period if the start of the next one is defined
1312
- - api: always start live contents at the live edge if one is defined and not just before
1313
- the last available segments
1314
- - ci: run integration tests with Travis and appveyor again
836
+ - api: authorize to set no `url` to `loadVideo` if the `manifestLoader` `transportOption` is set
837
+ - smooth: the `aggressiveMode` option now only allows requests for segments which had time to at least begin to be generated to avoid too much HTTP 412
838
+ - dash: the `aggressiveMode` now also have an effect for some SegmentTemplate DASH contents (download segments even if they're not finished)
839
+ - code: add pre-commit and pre-push git hooks to automate checking and facilitate bisecting
840
+ - dash: better handle live Multi-Period contents where the currently broadcasted period is not the last one declared in the MPD
841
+ - dash: better infer the end of a Period if the start of the next one is defined
842
+ - api: always start live contents at the live edge if one is defined and not just before the last available segments
843
+ - ci: run integration tests with Travis and appveyor again
844
+
1315
845
 
1316
846
  ## v3.15.1 (2019-08-07)
1317
847
 
1318
848
  ### Bug fixes
1319
849
 
1320
- - api: fix `networkConfig.segmentRetry` `loadVideo` option. Due to a typo, it was forced
1321
- to the default value (4)
1322
- - api/abr: when the `throttleVideoBitrateWhenHidden` option is set to true, wait 60
1323
- seconds (as documented) after the page is hidden before switching to a lower bitrate
1324
- - dash: fix segment indexing for SegmentList-based MPD with a period start different than
1325
- 0
850
+ - api: fix `networkConfig.segmentRetry` `loadVideo` option. Due to a typo, it was forced to the default value (4)
851
+ - api/abr: when the `throttleVideoBitrateWhenHidden` option is set to true, wait 60 seconds (as documented) after the page is hidden before switching to a lower bitrate
852
+ - dash: fix segment indexing for SegmentList-based MPD with a period start different than 0
1326
853
 
1327
854
  ### Other improvements
1328
855
 
1329
- - dash/smooth: check if the segment should still be available before retrying it (avoid
1330
- unnecessary HTTP 404 errors)
1331
- - dash/smooth: the Manifest can now be refreshed due to unexpected 404 HTTP errors on a
1332
- segment request (only on particular conditions)
1333
- - dash: better handle segments overlapping multiple periods by using the data that is only
1334
- within the concerned Period's bounds
1335
- - demo: authorize to play stored contents with an HTTP Manifest in the HTTPS demo
856
+ - dash/smooth: check if the segment should still be available before retrying it (avoid unnecessary HTTP 404 errors)
857
+ - dash/smooth: the Manifest can now be refreshed due to unexpected 404 HTTP errors on a segment request (only on particular conditions)
858
+ - dash: better handle segments overlapping multiple periods by using the data that is only within the concerned Period's bounds
859
+ - demo: authorize to play stored contents with an HTTP Manifest in the HTTPS demo
860
+
1336
861
 
1337
862
  ## v3.15.0 (2019-07-24)
1338
863
 
1339
864
  ### Features
1340
865
 
1341
- - eme: add `getLicenseConfig` property to the `keySystems` `loadVideo` option, to be able
1342
- to have much more control over getLicense's behavior
1343
- - eme: add `noRetry` to `getLicense` errors to abort retries when the licence request
1344
- fails
1345
- - eme: add `message` to `getLicense` and `onKeyStatusesChange` errors to allow custom
1346
- errors when the license request fails
1347
- - eme: add a new `ENCRYPTED_MEDIA_ERROR` with the code `CREATE_MEDIA_KEYS_ERROR` for when
1348
- we cannot create a MediaKeys instance (seen on some Android devices).
866
+ - eme: add `getLicenseConfig` property to the `keySystems` `loadVideo` option, to be able to have much more control over getLicense's behavior
867
+ - eme: add `noRetry` to `getLicense` errors to abort retries when the licence request fails
868
+ - eme: add `message` to `getLicense` and `onKeyStatusesChange` errors to allow custom errors when the license request fails
869
+ - eme: add a new `ENCRYPTED_MEDIA_ERROR` with the code `CREATE_MEDIA_KEYS_ERROR` for when we cannot create a MediaKeys instance (seen on some Android devices).
1349
870
 
1350
871
  ### Bug fixes
1351
872
 
1352
- - api: avoid sending {audio,video...}BitrateChange with a `-1` value when starting to play
1353
- a content
1354
- - api/abr: a call to `setAudioBitrate` or `setVideoBitrate` could be ignored for a content
1355
- if it was still loading. This is now fixed.
1356
- - api/abr: a call to `setMaxAutoBitrate` or `setMaxVideoBitrate` could be ignored for a
1357
- content if it was still loading. This is now fixed.
1358
- - dash: fix maximum position calculation when refreshing a live MPD with a UTCTiming
1359
- element and no SegmentTimeline.
1360
- - dash/smooth: a MPD/Manifest request failing could still be retried when loading another
1361
- content
1362
- - eme/compat: on Safari, depend on WebKitMediaKeys even if MediaKeys is defined because of
1363
- differences of implementations
1364
- - pipelines: always send `PIPELINE_LOAD_ERROR` warnings when a segment request or a
1365
- Manifest request is retried
1366
- - errors: replace undocumented `PIPELINE_RESOLVE_ERROR` code into the proper documented
1367
- `PIPELINE_LOAD_ERROR` code
1368
- - errors: replace undocumented `PIPELINE_PARSING_ERROR` code into the proper documented
1369
- `PIPELINE_PARSE_ERROR` code
1370
- - errors: add to the `ErrorCodes` static property the previously forgotten `NONE`,
1371
- `INVALID_KEY_SYSTEM` and `INVALID_ENCRYPTED_EVENT` codes.
873
+ - api: avoid sending {audio,video...}BitrateChange with a `-1` value when starting to play a content
874
+ - api/abr: a call to `setAudioBitrate` or `setVideoBitrate` could be ignored for a content if it was still loading. This is now fixed.
875
+ - api/abr: a call to `setMaxAutoBitrate` or `setMaxVideoBitrate` could be ignored for a content if it was still loading. This is now fixed.
876
+ - dash: fix maximum position calculation when refreshing a live MPD with a UTCTiming element and no SegmentTimeline.
877
+ - dash/smooth: a MPD/Manifest request failing could still be retried when loading another content
878
+ - eme/compat: on Safari, depend on WebKitMediaKeys even if MediaKeys is defined because of differences of implementations
879
+ - pipelines: always send `PIPELINE_LOAD_ERROR` warnings when a segment request or a Manifest request is retried
880
+ - errors: replace undocumented `PIPELINE_RESOLVE_ERROR` code into the proper documented `PIPELINE_LOAD_ERROR` code
881
+ - errors: replace undocumented `PIPELINE_PARSING_ERROR` code into the proper documented `PIPELINE_PARSE_ERROR` code
882
+ - errors: add to the `ErrorCodes` static property the previously forgotten `NONE`, `INVALID_KEY_SYSTEM` and `INVALID_ENCRYPTED_EVENT` codes.
1372
883
 
1373
884
  ### Other improvements
1374
885
 
1375
- - abr: make use of another adaptive algorithm, buffer-based, when enough buffer has been
1376
- built.
1377
- - demo: allow the user to save custom contents to local storage to be able to reuse them
1378
- when the page is refreshed
1379
- - eme: throw a better error in `onKeyStatusesChange` if the Promise is rejected without an
1380
- Error
1381
- - errors: refactore error management to better correlate the `fatal` boolean to a playback
1382
- stop and to better ensure a documented error is always thrown
1383
- - scripts: make our build script compatible with MacOS (handle BSD sed)
886
+ - abr: make use of another adaptive algorithm, buffer-based, when enough buffer has been built.
887
+ - demo: allow the user to save custom contents to local storage to be able to reuse them when the page is refreshed
888
+ - eme: throw a better error in `onKeyStatusesChange` if the Promise is rejected without an Error
889
+ - errors: refactore error management to better correlate the `fatal` boolean to a playback stop and to better ensure a documented error is always thrown
890
+ - scripts: make our build script compatible with MacOS (handle BSD sed)
891
+
1384
892
 
1385
893
  ## v3.14.0 (2019-06-26)
1386
894
 
1387
895
  ### Features
1388
896
 
1389
- - api/abr: add `throttleVideoBitrateWhenHidden` which unlike `throttleWhenHidden` does not
1390
- throttle the video bitrate if the media element is in picture-in-picture mode
897
+ - api/abr: add `throttleVideoBitrateWhenHidden` which unlike `throttleWhenHidden` does not throttle the video bitrate if the media element is in picture-in-picture mode
1391
898
 
1392
899
  ### Deprecated
1393
900
 
1394
- - api/abr: deprecate `throttleWhenHidden` in profit of `throttleVideoBitrateWhenHidden`
1395
- which has a better API definition for some edge cases
901
+ - api/abr: deprecate `throttleWhenHidden` in profit of `throttleVideoBitrateWhenHidden` which has a better API definition for some edge cases
1396
902
 
1397
903
  ### Bug fixes
1398
904
 
1399
- - api/abr: `limitVideoWidth` now also considers if the video is in picture-in-picture mode
1400
- - buffer: better prevent the `BUFFER_FULL_ERROR` `MediaError` on some memory-constrained
1401
- devices
1402
- - dash: consider the buffer depth as infinite (until `availabilityStartTime`) if the
1403
- `timeShiftBufferDepth` is not set
1404
- - smooth: consider the buffer depth as infinite if the `DVRWindowLength` is not set or set
1405
- to 0
1406
- - init: start live contents that just began (less than 10 seconds ago) at the minimum
1407
- position instead of throwing a STARTING_TIME_NOT_FOUND MEDIA_ERROR.
1408
- - tests: use web server (local by default) instead of stubbed XHRs to serve tests contents
1409
- to our integration and memory tests
905
+ - api/abr: `limitVideoWidth` now also considers if the video is in picture-in-picture mode
906
+ - buffer: better prevent the `BUFFER_FULL_ERROR` `MediaError` on some memory-constrained devices
907
+ - dash: consider the buffer depth as infinite (until `availabilityStartTime`) if the `timeShiftBufferDepth` is not set
908
+ - smooth: consider the buffer depth as infinite if the `DVRWindowLength` is not set or set to 0
909
+ - init: start live contents that just began (less than 10 seconds ago) at the minimum position instead of throwing a STARTING_TIME_NOT_FOUND MEDIA_ERROR.
910
+ - tests: use web server (local by default) instead of stubbed XHRs to serve tests contents to our integration and memory tests
911
+
1410
912
 
1411
913
  ## v3.13.0 (2019-05-15)
1412
914
 
1413
915
  ### Features
1414
916
 
1415
- - eme: add `disableMediaKeysAttachmentLock` key system option to bypass a deadlock (with
1416
- possible tradeoffs) when playing encrypted contents on some peculiar devices
917
+ - eme: add `disableMediaKeysAttachmentLock` key system option to bypass a deadlock (with possible tradeoffs) when playing encrypted contents on some peculiar devices
1417
918
 
1418
919
  ### Bug fixes
1419
920
 
1420
- - dash/smooth: never rely on Date.now when calculating time differences to avoid issues
1421
- when the user adjusts the system clock while playing a live content
1422
- - eme: throw a better error (avoid `toString is not a function` messages) for a
1423
- `KEY_LOAD_ERROR` when the `getLicense` function provided fails without a proper error
1424
- - api: fix rare situation with DASH multi-period contents where we reported no available
1425
- bitrate, Adaptation nor Representation when switching to another Period.
921
+ - dash/smooth: never rely on Date.now when calculating time differences to avoid issues when the user adjusts the system clock while playing a live content
922
+ - eme: throw a better error (avoid `toString is not a function` messages) for a `KEY_LOAD_ERROR` when the `getLicense` function provided fails without a proper error
923
+ - api: fix rare situation with DASH multi-period contents where we reported no available bitrate, Adaptation nor Representation when switching to another Period.
1426
924
 
1427
925
  ### Other improvements
1428
926
 
1429
- - eme: add other default contentTypes when calling requestMediaKeySystemAccess to improve
1430
- device support
1431
- - demo: update the demo UI
1432
- - code: change indentation style of a big chunk of the code to increase readability
927
+ - eme: add other default contentTypes when calling requestMediaKeySystemAccess to improve device support
928
+ - demo: update the demo UI
929
+ - code: change indentation style of a big chunk of the code to increase readability
930
+
1433
931
 
1434
932
  ## v3.12.0 (2019-04-10)
1435
933
 
1436
934
  ### Features
1437
935
 
1438
- - dash: add UTCTiming support
1439
- - smooth: add `aggressiveMode` transportOption to requests segments in advance
1440
- - dash/smooth: add `referenceDateTime` transportOption to set a default reference time for
1441
- live contents
936
+ - dash: add UTCTiming support
937
+ - smooth: add `aggressiveMode` transportOption to requests segments in advance
938
+ - dash/smooth: add `referenceDateTime` transportOption to set a default reference time for live contents
1442
939
 
1443
940
  ### Bug fixes
1444
941
 
1445
- - buffer: work around firefox bug leading to infinite rebuffering when seeking many times
1446
- in a content
942
+ - buffer: work around firefox bug leading to infinite rebuffering when seeking many times in a content
1447
943
 
1448
944
  ### Other improvements
1449
945
 
1450
- - dash/smooth: add optional `url`, `sendingTime` and `receivingTime` properties in the
1451
- response given by manifestLoader transportOption
1452
- - misc: deploy documentation pages and demos from our previous versions
1453
- - misc: add new RxPlayer logo to README.md and the demo
946
+ - dash/smooth: add optional `url`, `sendingTime` and `receivingTime` properties in the response given by manifestLoader transportOption
947
+ - misc: deploy documentation pages and demos from our previous versions
948
+ - misc: add new RxPlayer logo to README.md and the demo
949
+
1454
950
 
1455
951
  ## v3.11.1 (2019-03-11)
1456
952
 
1457
953
  ### Bug fixes
1458
954
 
1459
- - npm: publish package again. An error in the previous release led to some files missing
1460
- on npm
955
+ - npm: publish package again. An error in the previous release led to some files missing on npm
956
+
1461
957
 
1462
958
  ## v3.11.0 (2019-03-07)
1463
959
 
1464
960
  ### Features
1465
961
 
1466
- - languages/api: add `preferredAudioTracks` and `preferredTextTracks` player options
1467
- - languages/api: add `setPreferredAudioTracks`, `getPreferredAudioTracks`,
1468
- `setPreferredTextTracks` and `getPreferredTextTracks` methods
1469
- - languages/api: add `availableAudioTracksChange`, `availableTextTracksChange` and
1470
- `availableVideoTracksChange` events
1471
- - abr/api: add `availableAudioBitratesChange` and `availableVideoBitratesChange` events
1472
- - eme: allow playback of mixed encrypted and unencrypted contents on Chrome
1473
- - types: export the new `IAudioTrackPreference` and `ITextTrackPreference` types
962
+ - languages/api: add `preferredAudioTracks` and `preferredTextTracks` player options
963
+ - languages/api: add `setPreferredAudioTracks`, `getPreferredAudioTracks`, `setPreferredTextTracks` and `getPreferredTextTracks` methods
964
+ - languages/api: add `availableAudioTracksChange`, `availableTextTracksChange` and `availableVideoTracksChange` events
965
+ - abr/api: add `availableAudioBitratesChange` and `availableVideoBitratesChange` events
966
+ - eme: allow playback of mixed encrypted and unencrypted contents on Chrome
967
+ - types: export the new `IAudioTrackPreference` and `ITextTrackPreference` types
1474
968
 
1475
969
  ### Deprecated
1476
970
 
1477
- - languages/api: deprecate the `defaultAudioTrack` `loadVideo` option in favor of the
1478
- `preferredAudioTracks` player option.
1479
- - languages/api: deprecate the `defaultTextTrack` `loadVideo` option in favor of the
1480
- `preferredTextTracks` player option.
971
+ - languages/api: deprecate the `defaultAudioTrack` `loadVideo` option in favor of the `preferredAudioTracks` player option.
972
+ - languages/api: deprecate the `defaultTextTrack` `loadVideo` option in favor of the `preferredTextTracks` player option.
1481
973
 
1482
974
  ### Bug fixes
1483
975
 
1484
- - dash: fix `minimumUpdatePeriod` management for DASH contents
1485
- - smooth: better prevent 412 HTTP errors for smooth streaming contents
1486
- - subtitles: ensure subtitles are not visible in Firefox when disabling them in the
1487
- `"native"` textTrack mode.
1488
- - errors: avoid sending multiple `MEDIA_TIME_BEFORE_MANIFEST` or
1489
- `MEDIA_TIME_AFTER_MANIFEST` warnings instead of just one
1490
- - api: fix (deprecated) option `hideNativeSubtitles`
976
+ - dash: fix `minimumUpdatePeriod` management for DASH contents
977
+ - smooth: better prevent 412 HTTP errors for smooth streaming contents
978
+ - subtitles: ensure subtitles are not visible in Firefox when disabling them in the `"native"` textTrack mode.
979
+ - errors: avoid sending multiple `MEDIA_TIME_BEFORE_MANIFEST` or `MEDIA_TIME_AFTER_MANIFEST` warnings instead of just one
980
+ - api: fix (deprecated) option `hideNativeSubtitles`
1491
981
 
1492
982
  ### Other improvements
1493
983
 
1494
- - errors: set a readable error message for every error and warnings thrown
1495
- - tools/mediaCapabilitiesProber: set logs about unimportant missing APIs as debug-level
1496
- instead of warn-level
1497
- - types: provide type safety to `addEventListener` and `removeEventListener`
984
+ - errors: set a readable error message for every error and warnings thrown
985
+ - tools/mediaCapabilitiesProber: set logs about unimportant missing APIs as debug-level instead of warn-level
986
+ - types: provide type safety to `addEventListener` and `removeEventListener`
987
+
1498
988
 
1499
989
  ## v3.10.3 (2019-01-30)
1500
990
 
1501
991
  ### Bug fixes
1502
992
 
1503
- - dash/api: fix `getMinimumPosition` for MPDs with an availabilityStartTime superior to
1504
- unix epoch
1505
- - smooth: be more tolerant on downloaded segments (accept ISOBMFF with boxes in any order)
1506
- - buffers/abr: fix issue infrequently leading to a delay in quality changes
1507
- - buffers: improve synchronisation to the SourceBuffer's buffer to avoid cases where the
1508
- same segment could be downloaded multiple times
1509
- - subtitles: fix bug in the clean-up logic of subtitles in the `"html"` texttrack mode
1510
- that would lead to removed subtitles still being displayed
1511
- - pipelines: retry a segment request with a backoff instead of stopping when receiving a
1512
- HTTP 412
1513
- - compat/subtitles: work-around firefox issue in the `"native"` texttrack mode to ensure
1514
- track cues are removed when the content is stopped
1515
- - subtitles/webvtt: support default classes in the WebVTT specification
1516
- - subtitles/webvtt: multiple styles for the same element are now merged into one (instead
1517
- of considering only the last one)
1518
- - subtitles/webvtt: fix styling issues when both styles applied globally and styles
1519
- applied on a selector are defined
1520
- - subtitles/webvtt: do not remove whitespaces in styles to keep a sane formatting for some
1521
- complex values
993
+ - dash/api: fix ``getMinimumPosition`` for MPDs with an availabilityStartTime superior to unix epoch
994
+ - smooth: be more tolerant on downloaded segments (accept ISOBMFF with boxes in any order)
995
+ - buffers/abr: fix issue infrequently leading to a delay in quality changes
996
+ - buffers: improve synchronisation to the SourceBuffer's buffer to avoid cases where the same segment could be downloaded multiple times
997
+ - subtitles: fix bug in the clean-up logic of subtitles in the `"html"` texttrack mode that would lead to removed subtitles still being displayed
998
+ - pipelines: retry a segment request with a backoff instead of stopping when receiving a HTTP 412
999
+ - compat/subtitles: work-around firefox issue in the `"native"` texttrack mode to ensure track cues are removed when the content is stopped
1000
+ - subtitles/webvtt: support default classes in the WebVTT specification
1001
+ - subtitles/webvtt: multiple styles for the same element are now merged into one (instead of considering only the last one)
1002
+ - subtitles/webvtt: fix styling issues when both styles applied globally and styles applied on a selector are defined
1003
+ - subtitles/webvtt: do not remove whitespaces in styles to keep a sane formatting for some complex values
1522
1004
 
1523
1005
  ### Other improvements
1524
1006
 
1525
- - dash: warn through logs when fields are not in the expected format
1526
- - drm: throw more explicative error messages when DRM are not supported in the current
1527
- target
1528
- - dash/smooth: get more precize duration from ISOBMFF by better handling the default
1529
- duration taken from the tfhd box
1530
- - tests: continue unit test coverage improvements (from 22% in the `v3.10.2` to 33.6%)
1531
- - demo: fix initial text-track selection
1007
+ - dash: warn through logs when fields are not in the expected format
1008
+ - drm: throw more explicative error messages when DRM are not supported in the current target
1009
+ - dash/smooth: get more precize duration from ISOBMFF by better handling the default duration taken from the tfhd box
1010
+ - tests: continue unit test coverage improvements (from 22% in the ``v3.10.2`` to 33.6%)
1011
+ - demo: fix initial text-track selection
1012
+
1532
1013
 
1533
1014
  ## v3.10.2 (2019-01-08)
1534
1015
 
1535
1016
  ### Bug fixes
1536
1017
 
1537
- - dash/smooth: fix manifest updates for some DASH contents (SegmentTimeline without
1538
- SegmentTemplate) and for some Smooth usages
1539
- - compat/drm: adopt a new strategy for malfunctioning CENC PSSH on Edge by moving them at
1540
- the end of the initialization data
1541
- - dash/smooth: update deprecated Manifest.adaptations property when updating the manifest
1018
+ - dash/smooth: fix manifest updates for some DASH contents (SegmentTimeline without SegmentTemplate) and for some Smooth usages
1019
+ - compat/drm: adopt a new strategy for malfunctioning CENC PSSH on Edge by moving them at the end of the initialization data
1020
+ - dash/smooth: update deprecated Manifest.adaptations property when updating the manifest
1021
+
1542
1022
 
1543
1023
  ## Other improvements
1544
1024
 
1545
- - dash: refresh the MPD less often
1546
- - dash/smooth: improve precision of `getMaximumPosition` when the Manifest is updated
1547
- - tests: use the Jest library for unit tests
1548
- - tests: add a lot of unit tests to sensitive code (from a coverage of 13% in the v3.10.1
1549
- to 22% in the v3.10.2)
1550
- - npm: reduce size of the npm package
1025
+ - dash: refresh the MPD less often
1026
+ - dash/smooth: improve precision of `getMaximumPosition` when the Manifest is updated
1027
+ - tests: use the Jest library for unit tests
1028
+ - tests: add a lot of unit tests to sensitive code (from a coverage of 13% in the v3.10.1 to 22% in the v3.10.2)
1029
+ - npm: reduce size of the npm package
1030
+
1551
1031
 
1552
1032
  ## v3.10.1 (2019-01-03)
1553
1033
 
1554
1034
  ### Bug fixes
1555
1035
 
1556
- - abr: always consider the last quality estimation
1557
- - drm: work-arround Edge bug where the browser does not accept a valid CENC PSSH
1558
- (DRM-related information in an ISOBMFF)
1559
- - dash: handle `S` nodes (segments) with an @r attribute at `-1` in an MPD
1560
- - dash: handle `SegmentTimeline` which have as a first `S` node (segment) an undefined @t
1561
- attribute in an MPD
1562
- - dash: Representation.index.getLastPosition() for SegmentBase-based DASH Representations
1563
- now returns the end of the last segment (it returned the start of the last segment
1564
- before)
1565
- - dash/smooth: throw better error (`MANIFEST_PARSE_ERROR`) if none of the audio or video
1566
- tracks of a content can be played (e.g. none have supported codecs)
1036
+ - abr: always consider the last quality estimation
1037
+ - drm: work-arround Edge bug where the browser does not accept a valid CENC PSSH (DRM-related information in an ISOBMFF)
1038
+ - dash: handle `S` nodes (segments) with an @r attribute at `-1` in an MPD
1039
+ - dash: handle `SegmentTimeline` which have as a first `S` node (segment) an undefined @t attribute in an MPD
1040
+ - dash: Representation.index.getLastPosition() for SegmentBase-based DASH Representations now returns the end of the last segment (it returned the start of the last segment before)
1041
+ - dash/smooth: throw better error (`MANIFEST_PARSE_ERROR`) if none of the audio or video tracks of a content can be played (e.g. none have supported codecs)
1567
1042
 
1568
1043
  ### Other improvements
1569
1044
 
1570
- - manifest: better infer the minimum time of a Manifest
1571
- - code: refresh code architecture (rename and move modules, remove some dependencies...)
1572
- - tests: add coverage reports for both unit and "integration" tests, to check where tests
1573
- are lacking and better pin down our hot-spots
1574
- - tests: add appveyor countinous integration service for unit tests
1045
+ - manifest: better infer the minimum time of a Manifest
1046
+ - code: refresh code architecture (rename and move modules, remove some dependencies...)
1047
+ - tests: add coverage reports for both unit and "integration" tests, to check where tests are lacking and better pin down our hot-spots
1048
+ - tests: add appveyor countinous integration service for unit tests
1049
+
1575
1050
 
1576
1051
  ## v3.10.0 (2018-12-11)
1577
1052
 
1578
1053
  ### Features
1579
1054
 
1580
- - dash: Manage xlinks in "onLoad" resolution model
1581
- - dash: Implement AdaptationSet switching by merging similar and switchable AdaptationSet
1582
- into a single track
1583
- - compat: add `MEDIA_ERR_METADATA_NOT_LOADED` warning, triggered when the browser has
1584
- issues with loading the initial data (only seen on the Samsung mobile browser in
1585
- directfile mode)
1586
- - compat: add `MEDIA_ERR_PLAY_NOT_ALLOWED` warning, triggered when the application tries
1587
- to `play` but the current browser doesn't allow it (often due to autoplay policy)
1588
- - api: the `play` API now returns a Promise, mirroring the original browser's `play` API
1055
+ - dash: Manage xlinks in "onLoad" resolution model
1056
+ - dash: Implement AdaptationSet switching by merging similar and switchable AdaptationSet into a single track
1057
+ - compat: add ``MEDIA_ERR_METADATA_NOT_LOADED`` warning, triggered when the browser has issues with loading the initial data (only seen on the Samsung mobile browser in directfile mode)
1058
+ - compat: add ``MEDIA_ERR_PLAY_NOT_ALLOWED`` warning, triggered when the application tries to ``play`` but the current browser doesn't allow it (often due to autoplay policy)
1059
+ - api: the ``play`` API now returns a Promise, mirroring the original browser's ``play`` API
1589
1060
 
1590
1061
  ### Deprecated
1591
1062
 
1592
- - api: The `xhr` property from a `NetworkError` is now deprecated
1063
+ - api: The ``xhr`` property from a `NetworkError` is now deprecated
1593
1064
 
1594
1065
  ### Bug fixes
1595
1066
 
1596
- - compat/smooth: fix fatal error `BUFFER_APPEND_ERROR` happening on some HSS contents with
1597
- Edge
1598
- - dash/smooth: never refresh the manifest if its content is not dynamic
1599
- - dash/smooth: use new URL if the initial manifest request is redirected (again :/ -
1600
- thanks @fnatte)
1601
- - api: do not go out of the `LOADING` state if the metadata could not be fetched (even if
1602
- the browser tells us otherwise) - to work around Samsung Browser bug
1603
- - api: avoid going out of the `LOADED` state until the initial seek is done and metadata
1604
- is fetched
1605
- - compat: use Promise ponyfill to improve IE11 compatibility with the
1606
- MediaCapabilitiesProber and some EME functionalities
1607
- - api: translate most IETF language tags into corresponding ISO639-3 codes for the
1608
- `normalizedLanguage` property - given from APIs such as `getAvailableAudioTracks`
1609
- - tools: fix `mediaCapabilitiesProber.getCompatibleDRMConfigurations` experimental tool on
1610
- Safari
1611
- - api: filter out duplicates in `getAvailableVideoBitrates` and
1612
- `getAvailableAudioBitrates`
1067
+ - compat/smooth: fix fatal error `BUFFER_APPEND_ERROR` happening on some HSS contents with Edge
1068
+ - dash/smooth: never refresh the manifest if its content is not dynamic
1069
+ - dash/smooth: use new URL if the initial manifest request is redirected (again :/ - thanks @fnatte)
1070
+ - api: do not go out of the ``LOADING`` state if the metadata could not be fetched (even if the browser tells us otherwise) - to work around Samsung Browser bug
1071
+ - api: avoid going out of the ``LOADED`` state until the initial seek is done and metadata is fetched
1072
+ - compat: use Promise ponyfill to improve IE11 compatibility with the MediaCapabilitiesProber and some EME functionalities
1073
+ - api: translate most IETF language tags into corresponding ISO639-3 codes for the `normalizedLanguage` property - given from APIs such as `getAvailableAudioTracks`
1074
+ - tools: fix ``mediaCapabilitiesProber.getCompatibleDRMConfigurations`` experimental tool on Safari
1075
+ - api: filter out duplicates in ``getAvailableVideoBitrates`` and ``getAvailableAudioBitrates``
1613
1076
 
1614
1077
  ### Other improvements
1615
1078
 
1616
- - dash: better infer unknown Period durations
1617
- - dash: better manage overlapping Periods by giving more importance to the last
1618
- chronological one
1619
- - memory: clean-up `Adaptation` and `Representation` information on Periods which are not
1620
- considered anymore
1621
- - log: warn through our logs every time a warning event is sent by the API
1622
- - demo: authorize DRMs in IE11 or Safari when in HTTP in the demo page
1623
- - demo: fix time indication for non-live contents
1079
+ - dash: better infer unknown Period durations
1080
+ - dash: better manage overlapping Periods by giving more importance to the last chronological one
1081
+ - memory: clean-up ``Adaptation`` and ``Representation`` information on Periods which are not considered anymore
1082
+ - log: warn through our logs every time a warning event is sent by the API
1083
+ - demo: authorize DRMs in IE11 or Safari when in HTTP in the demo page
1084
+ - demo: fix time indication for non-live contents
1085
+
1624
1086
 
1625
1087
  ## v3.9.3 (2018-11-23)
1626
1088
 
1627
1089
  ### Bug fixes
1628
1090
 
1629
- - compat: fix `undefined Object.values function` issue happening in some older browsers
1630
- (mainly encountered in IE11 and old webkit versions)
1631
- - compat: remove side-effects relative to DRM on Safari
1632
- - tools: fix issue about an undefined Array.prototype.find method in some older browsers
1633
- when calling mediaCapabilitiesProber.getCompatibleDRMConfigurations (mainly encountered
1634
- in IE11)
1091
+ - compat: fix `undefined Object.values function` issue happening in some older browsers (mainly encountered in IE11 and old webkit versions)
1092
+ - compat: remove side-effects relative to DRM on Safari
1093
+ - tools: fix issue about an undefined Array.prototype.find method in some older browsers when calling mediaCapabilitiesProber.getCompatibleDRMConfigurations (mainly encountered in IE11)
1635
1094
 
1636
1095
  ### Other improvements
1637
1096
 
1638
- - eme: activate MediaKeys caching on Edge
1639
- - compat: add in our validation process a ban of methods and functions unavailable in
1640
- older browsers
1641
- - tests/smooth: reinforce our Smooth Streaming integration tests
1097
+ - eme: activate MediaKeys caching on Edge
1098
+ - compat: add in our validation process a ban of methods and functions unavailable in older browsers
1099
+ - tests/smooth: reinforce our Smooth Streaming integration tests
1100
+
1642
1101
 
1643
1102
  ## v3.9.2 (2018-11-14)
1644
1103
 
1645
1104
  ### Bug fixes
1646
1105
 
1647
- - smooth: authorize empty tracks ("StreamIndex") in Smooth manifests
1106
+ - smooth: authorize empty tracks ("StreamIndex") in Smooth manifests
1107
+
1648
1108
 
1649
1109
  ## v3.9.1 (2018-11-13)
1650
1110
 
1651
1111
  ### Bug fixes
1652
1112
 
1653
- - smooth: fix issue preventing emergency manifest updates
1654
- - dash: fix timeout for minimumUpdatePeriod in cases where the time at which the manifest
1655
- was last requested is not known (like when setting a customManifestLoader argument)
1113
+ - smooth: fix issue preventing emergency manifest updates
1114
+ - dash: fix timeout for minimumUpdatePeriod in cases where the time at which the manifest was last requested is not known (like when setting a customManifestLoader argument)
1656
1115
 
1657
1116
  ### Other improvements
1658
1117
 
1659
- - smooth: keep supplementary segment information when updating the manifest
1660
- - smooth: when updating segment information, perform garbage-collection of those
1661
- concerning unreachable segments
1118
+ - smooth: keep supplementary segment information when updating the manifest
1119
+ - smooth: when updating segment information, perform garbage-collection of those concerning unreachable segments
1120
+
1662
1121
 
1663
1122
  ## v3.9.0 (2018-11-08)
1664
1123
 
1665
1124
  ### Features
1666
1125
 
1667
- - dash: consider `minimumUpdatePeriod` attribute in MPDs
1668
- - buffer: add codec-switching for browsers supporting the
1669
- `SourceBuffer.prototype.changeType` API
1670
- - dash/smooth: accept and parse segments with a "stpp.ttml.im1t" codec (TTML IMSC1 in MP4)
1126
+ - dash: consider ``minimumUpdatePeriod`` attribute in MPDs
1127
+ - buffer: add codec-switching for browsers supporting the `SourceBuffer.prototype.changeType` API
1128
+ - dash/smooth: accept and parse segments with a "stpp.ttml.im1t" codec (TTML IMSC1 in MP4)
1671
1129
 
1672
1130
  ### Bug fixes
1673
1131
 
1674
- - smooth: fix calculations of the initial time, duration and minimum position for HSS VOD
1675
- contents not starting at a '0' time
1676
- - buffer: fix priority updates for segment requests
1677
- - dash: calculate VOD duration from the last period if undefined in the MPD's root
1678
- - dash: remove possibility of obtaining two periods with the same id
1679
- - typings: make `manualBitrateSwitchingMode` `loadVideo` option an optional TypeScript
1680
- typing (thanks @fnatte again!)
1132
+ - smooth: fix calculations of the initial time, duration and minimum position for HSS VOD contents not starting at a '0' time
1133
+ - buffer: fix priority updates for segment requests
1134
+ - dash: calculate VOD duration from the last period if undefined in the MPD's root
1135
+ - dash: remove possibility of obtaining two periods with the same id
1136
+ - typings: make `manualBitrateSwitchingMode` ``loadVideo`` option an optional TypeScript typing (thanks @fnatte again!)
1681
1137
 
1682
1138
  ### Other improvements
1683
1139
 
1684
- - abr: do not always cancel pending requests when switching to a new bitrate
1685
- - abr: re-estimate the bandwidth immediately after each request
1686
- - buffer: remove automatic garbage-collection of the "image" source-buffer (its rules
1687
- should be more complex than those in place)
1688
- - tools/mediaCapabilitiesProber: Make `getCompatibleDRMConfigurations` work under IE11 and
1689
- old webkit versions
1690
- - tools/mediaCapabilitiesProber: Add a multitude of bug fixes to the experimental
1691
- mediaCapabilitiesProber
1692
- - package: divide by more than 2 the size of our package published in `npm` (thanks
1693
- @necccc)
1694
- - tests: add memory tests to detect memory leaks
1695
- - demo: add 'favicon' to the demo page
1140
+ - abr: do not always cancel pending requests when switching to a new bitrate
1141
+ - abr: re-estimate the bandwidth immediately after each request
1142
+ - buffer: remove automatic garbage-collection of the "image" source-buffer (its rules should be more complex than those in place)
1143
+ - tools/mediaCapabilitiesProber: Make ``getCompatibleDRMConfigurations`` work under IE11 and old webkit versions
1144
+ - tools/mediaCapabilitiesProber: Add a multitude of bug fixes to the experimental mediaCapabilitiesProber
1145
+ - package: divide by more than 2 the size of our package published in `npm` (thanks @necccc)
1146
+ - tests: add memory tests to detect memory leaks
1147
+ - demo: add 'favicon' to the demo page
1148
+
1696
1149
 
1697
1150
  ## v3.8.1 (2018-10-17)
1698
1151
 
1699
1152
  ### Bug fixes
1700
1153
 
1701
- - abr: fix memory leak in ABR Management
1702
- - eme: avoid re-attaching a server certificate at each encrypted event
1154
+ - abr: fix memory leak in ABR Management
1155
+ - eme: avoid re-attaching a server certificate at each encrypted event
1703
1156
 
1704
1157
  ### Other improvements
1705
1158
 
1706
- - buffer: lower the "paddings" applied to the video buffer when raising the quality
1707
- - abr: when pratical, avoid relying on the "Content-Length" header to protect against
1708
- miscalculations when downloading from misconfigured servers
1709
- - abr: lower the minimum number of bytes we wait to download before we evaluate the
1710
- bandwidth
1711
- - abr: use performance.now instead of Date.now for better precision
1712
- - module: move express from the dependencies to the devDependencies
1713
- - demo: fix standalone demo and add possibility to launch it via HTTPS
1159
+ - buffer: lower the "paddings" applied to the video buffer when raising the quality
1160
+ - abr: when pratical, avoid relying on the "Content-Length" header to protect against miscalculations when downloading from misconfigured servers
1161
+ - abr: lower the minimum number of bytes we wait to download before we evaluate the bandwidth
1162
+ - abr: use performance.now instead of Date.now for better precision
1163
+ - module: move express from the dependencies to the devDependencies
1164
+ - demo: fix standalone demo and add possibility to launch it via HTTPS
1165
+
1714
1166
 
1715
1167
  ## v3.8.0 (2018-10-11)
1716
1168
 
1717
1169
  ### Features
1718
1170
 
1719
- - api/dash/smooth: add representationFilter API to prevent Representations (i.e. media
1720
- qualities) from being played
1721
- - api/buffer: add `manualBitrateSwitchingMode` option to allow a direct representation
1722
- switch when calling `setVideoBitrate` and `setAudioBitrate`
1723
- - api/buffer: emit a `MEDIA_TIME_BEFORE_MANIFEST` warning when the wanted time is before
1724
- what is announced in the manifest
1725
- - api/buffer: emit a `MEDIA_TIME_AFTER_MANIFEST` warning when the wanted time is after
1726
- what is announced in the manifest
1171
+ - api/dash/smooth: add representationFilter API to prevent Representations (i.e. media qualities) from being played
1172
+ - api/buffer: add ``manualBitrateSwitchingMode`` option to allow a direct representation switch when calling ``setVideoBitrate`` and ``setAudioBitrate``
1173
+ - api/buffer: emit a ``MEDIA_TIME_BEFORE_MANIFEST`` warning when the wanted time is before what is announced in the manifest
1174
+ - api/buffer: emit a ``MEDIA_TIME_AFTER_MANIFEST`` warning when the wanted time is after what is announced in the manifest
1727
1175
 
1728
1176
  ### Bug fixes
1729
1177
 
1730
- - remove export of undeclared `ICompatVTTCue` from modular build
1178
+ - remove export of undeclared ``ICompatVTTCue`` from modular build
1731
1179
 
1732
1180
  ### Other improvements
1733
1181
 
1734
- - buffer: to avoid taking too much memory, regularly clean-up text and image buffer 5
1735
- hours ahead/behind the current position (customizable)
1736
- - demo: add HTTPS capabilities on local full demo
1737
- - rxjs: update rxjs to 6.3.3
1738
- - typescript: update typescript to 3.1.2
1182
+ - buffer: to avoid taking too much memory, regularly clean-up text and image buffer 5 hours ahead/behind the current position (customizable)
1183
+ - demo: add HTTPS capabilities on local full demo
1184
+ - rxjs: update rxjs to 6.3.3
1185
+ - typescript: update typescript to 3.1.2
1186
+
1739
1187
 
1740
1188
  ## v3.7.0 (2018-09-21)
1741
1189
 
1742
1190
  ### Features
1743
1191
 
1744
- - eme: add `throwOnLicenseExpiration` boolean to `keySystems` (`loadVideo` option) to
1745
- allow better expiration management
1746
- - eme: in the `getLicense` property of `keySystems` (`loadVideo` option), it is now
1747
- possible to resolve with `null` to avoid a license update.
1748
- - eme: in the `onKeyStatusesChange` property of `keySystems` (`loadVideo` option), it is
1749
- now possible to resolve with `null` to avoid a license update.
1750
- - tools: replace experimental tool `mediaCapabilitiesProber.isDRMSupported` by the more
1751
- useful `mediaCapabilitiesProber.getCompatibleDRMConfigurations`
1192
+ - eme: add ``throwOnLicenseExpiration`` boolean to ``keySystems`` (``loadVideo`` option) to allow better expiration management
1193
+ - eme: in the ``getLicense`` property of ``keySystems`` (``loadVideo`` option), it is now possible to resolve with ``null`` to avoid a license update.
1194
+ - eme: in the ``onKeyStatusesChange`` property of ``keySystems`` (``loadVideo`` option), it is now possible to resolve with ``null`` to avoid a license update.
1195
+ - tools: replace experimental tool ``mediaCapabilitiesProber.isDRMSupported`` by the more useful ``mediaCapabilitiesProber.getCompatibleDRMConfigurations``
1752
1196
 
1753
1197
  ### Deprecated
1754
1198
 
1755
- - smooth: giving a WSX URL instead of the Manifest URL for a smooth content is now
1756
- deprecated.
1757
- - smooth: giving a _publishing point definition_ URL (.isml) instead of the Manifest URL
1758
- for a smooth content is now deprecated.
1759
- - smooth: giving a _Smooth Streaming server manifest_ URL (.ism) instead of the Manifest
1760
- URL for a smooth content is now deprecated.
1199
+ - smooth: giving a WSX URL instead of the Manifest URL for a smooth content is now deprecated.
1200
+ - smooth: giving a _publishing point definition_ URL (.isml) instead of the Manifest URL for a smooth content is now deprecated.
1201
+ - smooth: giving a _Smooth Streaming server manifest_ URL (.ism) instead of the Manifest URL for a smooth content is now deprecated.
1761
1202
 
1762
1203
  ### Bug fixes
1763
1204
 
1764
- - api: switch state to "ENDED" if seeking to the end while the player is in the "LOADED"
1765
- state.
1766
- - api: switch state to "SEEKING" if seeking in the content while the player is in the
1767
- "LOADED" state.
1768
- - dash: consider multiple `Role` nodes for an AdaptationSet.
1769
- - typescript: fix typings error when an application build us without the `skipLibCheck`
1770
- TypeScript option enabled.
1771
- - smooth: fix Manifest URL generation when a ".ism" or a ".isml" URL is given.
1772
- - doc: document deprecation of the `adaptations` property returned from a `Manifest`
1773
- object (as returned from the `getManifest` method).
1205
+ - api: switch state to "ENDED" if seeking to the end while the player is in the "LOADED" state.
1206
+ - api: switch state to "SEEKING" if seeking in the content while the player is in the "LOADED" state.
1207
+ - dash: consider multiple `Role` nodes for an AdaptationSet.
1208
+ - typescript: fix typings error when an application build us without the ``skipLibCheck`` TypeScript option enabled.
1209
+ - smooth: fix Manifest URL generation when a ".ism" or a ".isml" URL is given.
1210
+ - doc: document deprecation of the ``adaptations`` property returned from a ``Manifest`` object (as returned from the ``getManifest`` method).
1774
1211
 
1775
1212
  ### Other improvements
1776
1213
 
1777
- - doc: add quick start tutorial.
1778
- - doc: add player states documentation.
1779
- - demo: add possibility to play encrypted contents.
1780
- - demo: update demo page.
1781
- - tests: consolidate our integration tests.
1214
+ - doc: add quick start tutorial.
1215
+ - doc: add player states documentation.
1216
+ - demo: add possibility to play encrypted contents.
1217
+ - demo: update demo page.
1218
+ - tests: consolidate our integration tests.
1219
+
1782
1220
 
1783
1221
  ## v3.6.1 (2018-09-03)
1784
1222
 
1785
1223
  ### Bug fixes
1786
1224
 
1787
- - directfile: send `LOADED` event again for directfile contents - thanks @Fnatte
1788
- - dash: don't merge "main" AdaptationSet if they are not of a video type
1789
- - eme: fix bug which prevented the `closeSessionsOnStop` keySystem option to work properly
1790
- - typescript: export types compatible with project references
1225
+ - directfile: send ``LOADED`` event again for directfile contents - thanks @Fnatte
1226
+ - dash: don't merge "main" AdaptationSet if they are not of a video type
1227
+ - eme: fix bug which prevented the ``closeSessionsOnStop`` keySystem option to work properly
1228
+ - typescript: export types compatible with project references
1229
+
1791
1230
 
1792
1231
  ### Other improvements
1793
1232
 
1794
- - directfile/tests: add basic directfile integration tests
1795
- - build: update to Babel 7
1796
- - rxjs: update to RxJS 6.3.1
1233
+ - directfile/tests: add basic directfile integration tests
1234
+ - build: update to Babel 7
1235
+ - rxjs: update to RxJS 6.3.1
1236
+
1797
1237
 
1798
1238
  ## v3.6.0 (2018-08-24)
1799
1239
 
1800
1240
  ### Features
1801
-
1802
- - api: add video track switching
1803
- - dash: add webm support
1804
- - api: Emit warning if autoPlay is blocked on the current browser
1805
- - api: add `getAvailableVideoTracks` method to retrieve every video tracks
1806
- - api: add `getVideoTrack` method to get the active video track
1807
- - api: add `setVideoTrack` method to switch the video track
1808
- - api: add `videoTrackChange` event to know when a video track has been switched
1809
- - api: add `RELOADING` event for cases where the player needs to reload (such as during a
1810
- video track switch)
1241
+ - api: add video track switching
1242
+ - dash: add webm support
1243
+ - api: Emit warning if autoPlay is blocked on the current browser
1244
+ - api: add ``getAvailableVideoTracks`` method to retrieve every video tracks
1245
+ - api: add ``getVideoTrack`` method to get the active video track
1246
+ - api: add ``setVideoTrack`` method to switch the video track
1247
+ - api: add ``videoTrackChange`` event to know when a video track has been switched
1248
+ - api: add ``RELOADING`` event for cases where the player needs to reload (such as during a video track switch)
1811
1249
 
1812
1250
  ### Deprecated
1813
1251
 
1814
- - api: the method `isFullscreen` has been deprecated
1815
- - api: the method `setFullscreen` has been deprecated
1816
- - api: the method `exitFullscreen` has been deprecated
1817
- - api: the method `getNativeTextTrack` has been deprecated
1818
- - api: the event `fullscreenChange` has been deprecated
1819
- - api: the event `nativeTextTrackChange` has been deprecated
1252
+ - api: the method ``isFullscreen`` has been deprecated
1253
+ - api: the method ``setFullscreen`` has been deprecated
1254
+ - api: the method ``exitFullscreen`` has been deprecated
1255
+ - api: the method ``getNativeTextTrack`` has been deprecated
1256
+ - api: the event ``fullscreenChange`` has been deprecated
1257
+ - api: the event ``nativeTextTrackChange`` has been deprecated
1820
1258
 
1821
1259
  ### Bug Fixes
1822
1260
 
1823
- - ttml: display forbidden characters (such as ">") in a `"native"` `textTrackMode`
1824
- - ttml: process `xml:space` even if it is not defined at the top level
1825
- - buffer: perform a better clean-up of previous media in a SourceBuffer when switching
1826
- audio or text track
1827
- - manifest/dash: throw a MANIFEST_PARSE_ERROR when no AdaptationSet of a given type in a
1828
- Period is in a compatible codec
1261
+ - ttml: display forbidden characters (such as ">") in a ``"native"`` ``textTrackMode``
1262
+ - ttml: process ``xml:space`` even if it is not defined at the top level
1263
+ - buffer: perform a better clean-up of previous media in a SourceBuffer when switching audio or text track
1264
+ - manifest/dash: throw a MANIFEST_PARSE_ERROR when no AdaptationSet of a given type in a Period is in a compatible codec
1829
1265
 
1830
1266
  ### Other improvements
1831
1267
 
1832
- - types: export and document main typings used internally such as ILoadVideoOptions (the
1833
- loadVideo argument)
1834
- - misc: log every fatal errors
1835
- - misc: remove dumb npm inclusion as a project dependency
1836
- - doc: improve architecture documentation
1268
+ - types: export and document main typings used internally such as ILoadVideoOptions (the loadVideo argument)
1269
+ - misc: log every fatal errors
1270
+ - misc: remove dumb npm inclusion as a project dependency
1271
+ - doc: improve architecture documentation
1272
+
1837
1273
 
1838
1274
  ## v3.5.2 (2018-08-06)
1839
1275
 
1840
1276
  ### Bug fixes
1841
1277
 
1842
- - dash: Manage presentationTimeOffset completely (allow advanced multi-period
1843
- configurations)
1278
+ - dash: Manage presentationTimeOffset completely (allow advanced multi-period configurations)
1844
1279
  - dash: Fix Adaptations bug when the first DASH adaptation was a "main" one
1845
1280
  - smooth: Remove the limitation of a minimum bitrate in Smooth Streaming
1846
1281
  - dash: Fix condition which prevented to play audio-only live DASH streams
@@ -1853,517 +1288,470 @@
1853
1288
  - drm: Add keyId information to the internal Manifest structure
1854
1289
  - typescript: update typescript to v3.0.1
1855
1290
 
1291
+
1856
1292
  ## v3.5.1 (2018-07-11)
1857
1293
 
1858
1294
  ### Bug fixes
1859
1295
 
1860
- - parsers: fix wrong computation of segment time in template index
1861
- - abr: get concerned request in starvation mode
1296
+ - parsers: fix wrong computation of segment time in template index
1297
+ - abr: get concerned request in starvation mode
1862
1298
 
1863
1299
  ## v3.5.0 (2018-07-03)
1864
1300
 
1865
1301
  ### Added
1866
1302
 
1867
- - tools: add `mediaCapabilitiesProber` tool as an experimental tool
1868
- - builds: add minimal import with feature selection (allowing cleaner feature switching or
1869
- lazy-loading)
1870
- - dash: allow multiple "main" adaptation
1871
- - api: add static `version` property to the RxPlayer API
1303
+ - tools: add ``mediaCapabilitiesProber`` tool as an experimental tool
1304
+ - builds: add minimal import with feature selection (allowing cleaner feature switching or lazy-loading)
1305
+ - dash: allow multiple "main" adaptation
1306
+ - api: add static ``version`` property to the RxPlayer API
1872
1307
 
1873
1308
  ### Bug fixes
1874
1309
 
1875
- - vtt: fix `line` setting for vtt tracks in `"native"` textTrackMode
1876
- - dash: always play "main" adaptation first
1877
- - misc: don't interfere with a client's RxJS implementation by switching to RxJS 6
1878
- - dash: presentationTimeOffset doesn't have an influence on requested segment anymore
1879
- - smooth/dash: throw a `"MANIFEST_PARSE_ERROR"` if no audio and video
1880
- adaptations/StreamIndex are available in the current content
1310
+ - vtt: fix ``line`` setting for vtt tracks in ``"native"`` textTrackMode
1311
+ - dash: always play "main" adaptation first
1312
+ - misc: don't interfere with a client's RxJS implementation by switching to RxJS 6
1313
+ - dash: presentationTimeOffset doesn't have an influence on requested segment anymore
1314
+ - smooth/dash: throw a ``"MANIFEST_PARSE_ERROR"`` if no audio and video adaptations/StreamIndex are available in the current content
1881
1315
 
1882
1316
  ### Other improvements
1883
1317
 
1884
- - builds: Reduce size of the builds
1885
- - builds: use uglifyJS instead of Closure-compiler
1886
- - builds: update to typescript 2.9
1887
- - rxjs: update to RxJS version 6 (v6.2.1)
1888
- - code: set complete URL in segment's media property
1889
- - demo: add time indicator on the progress bar
1890
- - demo: update fullscreen mode to also display the text track element
1891
- - misc: moved demo server scripts to the respective demo directories
1892
- - misc: moved manifest parsers to the `src/parsers` directory
1893
- - misc: moved scripts from `./tools` to `./scripts`
1894
- - misc: moved webpack configs to the root of the project
1318
+ - builds: Reduce size of the builds
1319
+ - builds: use uglifyJS instead of Closure-compiler
1320
+ - builds: update to typescript 2.9
1321
+ - rxjs: update to RxJS version 6 (v6.2.1)
1322
+ - code: set complete URL in segment's media property
1323
+ - demo: add time indicator on the progress bar
1324
+ - demo: update fullscreen mode to also display the text track element
1325
+ - misc: moved demo server scripts to the respective demo directories
1326
+ - misc: moved manifest parsers to the ``src/parsers`` directory
1327
+ - misc: moved scripts from ``./tools`` to ``./scripts``
1328
+ - misc: moved webpack configs to the root of the project
1329
+
1895
1330
 
1896
1331
  ## v3.4.1 (2018-05-31)
1897
1332
 
1898
1333
  ### Bug fixes
1899
1334
 
1900
- - buffer: fix several bugs happening when calling `endOfStream` to announce the end of the
1901
- current content. Especially prevalent on Chrome.
1902
- - net: use redirected URL as a base for further requests when the manifest request led to
1903
- a HTTP redirect.
1904
- - vtt/srt: ignore silently (do not throw) when an unknown block has been detected in a vtt
1905
- or srt file
1906
- - vtt/srt: support styling spans (like b, i and u XML tags) spanning multiple lines
1907
- - api: `getAvailableTextTracks` and `getAvailableAudioTracks` now always return an array
1908
- (and never null) as announced in the API documentation
1909
- - api: set default log level to `"NONE"` instead of `"INFO"`
1910
- - misc: remove development-only code from the non-minified code
1335
+ - buffer: fix several bugs happening when calling ``endOfStream`` to announce the end of the current content. Especially prevalent on Chrome.
1336
+ - net: use redirected URL as a base for further requests when the manifest request led to a HTTP redirect.
1337
+ - vtt/srt: ignore silently (do not throw) when an unknown block has been detected in a vtt or srt file
1338
+ - vtt/srt: support styling spans (like b, i and u XML tags) spanning multiple lines
1339
+ - api: ``getAvailableTextTracks`` and ``getAvailableAudioTracks`` now always return an array (and never null) as announced in the API documentation
1340
+ - api: set default log level to ``"NONE"`` instead of ``"INFO"``
1341
+ - misc: remove development-only code from the non-minified code
1911
1342
 
1912
1343
  ### Other improvements
1913
1344
 
1914
- - misc: move some dev dependencies from `dependencies` to `devDependencies` in
1915
- `package.json`
1345
+ - misc: move some dev dependencies from ``dependencies`` to ``devDependencies`` in ``package.json``
1346
+
1916
1347
 
1917
1348
  ## v3.4.0 (2018-05-17)
1918
1349
 
1919
1350
  ### Added
1920
1351
 
1921
- - eme: allow multiple licenses per content
1922
- - eme: allow different MediaKeys to be attached on multiple media elements
1352
+ - eme: allow multiple licenses per content
1353
+ - eme: allow different MediaKeys to be attached on multiple media elements
1923
1354
 
1924
1355
  ### Bug fixes
1925
1356
 
1926
- - eme: limit simultaneous loaded MediaKeySession to 50 by default (configurable)
1927
- - source-buffer: clean properly the text SourceBuffer on deactivation
1928
- - buffer: perform discontinuity seeks only for native source buffers
1357
+ - eme: limit simultaneous loaded MediaKeySession to 50 by default (configurable)
1358
+ - source-buffer: clean properly the text SourceBuffer on deactivation
1359
+ - buffer: perform discontinuity seeks only for native source buffers
1929
1360
 
1930
1361
  ### Other improvements
1931
1362
 
1932
- - doc: generate documentation pages
1933
- - misc: add sonarqube quality pass
1934
- - code: set a clearer private state for the API
1935
- - tools: update to webpack v4.8.3
1936
- - tools: update to typescript v2.8.3
1363
+ - doc: generate documentation pages
1364
+ - misc: add sonarqube quality pass
1365
+ - code: set a clearer private state for the API
1366
+ - tools: update to webpack v4.8.3
1367
+ - tools: update to typescript v2.8.3
1368
+
1937
1369
 
1938
1370
  ## v3.3.2 (2018-04-17)
1939
1371
 
1940
1372
  ### Bug Fixes
1941
1373
 
1942
- - api: emit SEEKING state instead of BUFFERING when the user seeks to an unbuffered part
1943
- just after resuming playback
1944
- - api: work around bug found in old versions of Chrome where the ENDED state would never
1945
- be triggered at the end of the stream
1946
- - api/language: fix bug where an audio or text language would not be switched to on
1947
- certain conditions in live contents
1948
- - smooth: fix frequent manifest refreshing happening immediately when changing audio/text
1949
- language
1950
- - eme/error: fix reason string and error message for KEY_STATUS_CHANGE_ERROR
1374
+ - api: emit SEEKING state instead of BUFFERING when the user seeks to an unbuffered part just after resuming playback
1375
+ - api: work around bug found in old versions of Chrome where the ENDED state would never be triggered at the end of the stream
1376
+ - api/language: fix bug where an audio or text language would not be switched to on certain conditions in live contents
1377
+ - smooth: fix frequent manifest refreshing happening immediately when changing audio/text language
1378
+ - eme/error: fix reason string and error message for KEY_STATUS_CHANGE_ERROR
1951
1379
 
1952
1380
  ### Other improvements
1953
1381
 
1954
- - buffer: update download queue immediately when seeking to an already-buffered part, to
1955
- always prioritize needed segments
1956
- - buffer: schedule segments per level of priority to lower some buffering/seeking/loading
1957
- time
1958
- - demo: fix "Big Buck Bunny WEBM"'s URL
1382
+ - buffer: update download queue immediately when seeking to an already-buffered part, to always prioritize needed segments
1383
+ - buffer: schedule segments per level of priority to lower some buffering/seeking/loading time
1384
+ - demo: fix "Big Buck Bunny WEBM"'s URL
1385
+
1959
1386
 
1960
1387
  ## v3.3.1 (2018-03-13)
1961
1388
 
1962
1389
  ### Bug Fixes
1963
1390
 
1964
- - misc: fix missing browser API on IE11
1965
- - buffer: end correctly streams which experienced a custom sourcebuffer (text/image) crash
1391
+ - misc: fix missing browser API on IE11
1392
+ - buffer: end correctly streams which experienced a custom sourcebuffer (text/image) crash
1966
1393
 
1967
1394
  ### Other improvements
1968
1395
 
1969
- - tools: support development on windows
1396
+ - tools: support development on windows
1397
+
1970
1398
 
1971
1399
  ## v3.3.0 (2018-03-05)
1972
1400
 
1973
1401
  ### Added
1974
1402
 
1975
- - api: add directfile API to allow the playback of files natively managed by the browser
1403
+ - api: add directfile API to allow the playback of files natively managed by the browser
1976
1404
 
1977
1405
  ### Bug Fixes
1978
1406
 
1979
- - api: fix player state when seeking after the video ended
1980
- - text/api: fix getTextTrack API which could return the current audio track instead
1981
- - text: clean-up custom HTML text track SourceBuffer's buffered when the text track is
1982
- disabled
1407
+ - api: fix player state when seeking after the video ended
1408
+ - text/api: fix getTextTrack API which could return the current audio track instead
1409
+ - text: clean-up custom HTML text track SourceBuffer's buffered when the text track is disabled
1410
+
1983
1411
 
1984
1412
  ## v3.2.0 (2018-02-23)
1985
1413
 
1986
1414
  ### Added
1987
1415
 
1988
- - dash: Handle multi-periods DASH manifests
1989
- - api: add `periodChange` event
1990
- - api: add `stopAtEnd` option to the constructor, to deactivate automatic content
1991
- un-loading when it ends
1992
- - api: add `manifestLoader` to the `transportOptions` of a `loadVideo` call
1416
+ - dash: Handle multi-periods DASH manifests
1417
+ - api: add ``periodChange`` event
1418
+ - api: add ``stopAtEnd`` option to the constructor, to deactivate automatic content un-loading when it ends
1419
+ - api: add ``manifestLoader`` to the ``transportOptions`` of a ``loadVideo`` call
1993
1420
 
1994
1421
  ### Bug Fixes
1995
1422
 
1996
- - stream: call `endOfStream` for better end detection and to allow the Chrome browser to
1997
- display the last frames of a video
1998
- - buffer: always play the last possible milliseconds of a content (removed END_OF_PLAY
1999
- config attribute)
2000
- - eme: workaround a bug found on Chrome where setting a `keySystems` option in `loadVideo`
2001
- would always throw on HTTP (not HTTPS) pages.
2002
- - vtt: fix WebVTT parsing when the last line of a WebVTT file is not a new line
2003
- - dash: ignore availabilityStartTime settings for a static MPD
2004
- - buffer: ignore segments for a duration inferior to the MINIMUM_SEGMENT_SIZE (200ms by
2005
- default) to avoid infinite re-downloading
1423
+ - stream: call ``endOfStream`` for better end detection and to allow the Chrome browser to display the last frames of a video
1424
+ - buffer: always play the last possible milliseconds of a content (removed END_OF_PLAY config attribute)
1425
+ - eme: workaround a bug found on Chrome where setting a ``keySystems`` option in ``loadVideo`` would always throw on HTTP (not HTTPS) pages.
1426
+ - vtt: fix WebVTT parsing when the last line of a WebVTT file is not a new line
1427
+ - dash: ignore availabilityStartTime settings for a static MPD
1428
+ - buffer: ignore segments for a duration inferior to the MINIMUM_SEGMENT_SIZE (200ms by default) to avoid infinite re-downloading
2006
1429
 
2007
1430
  ### Other improvements
2008
1431
 
2009
- - update RxJS to v5.5.6
2010
- - update TypeScript to v2.7.2
1432
+ - update RxJS to v5.5.6
1433
+ - update TypeScript to v2.7.2
1434
+
2011
1435
 
2012
1436
  ## v3.1.0 (2018-01-30)
2013
1437
 
2014
1438
  ### Added
2015
1439
 
2016
- - api: add `networkConfig` to `loadVideo` options
2017
- - eme: add `closeSessionsOnStop` to the `keySystems` `loadVideo` option
1440
+ - api: add ``networkConfig`` to ``loadVideo`` options
1441
+ - eme: add ``closeSessionsOnStop`` to the ``keySystems`` ``loadVideo`` option
2018
1442
 
2019
1443
  ### Bug Fixes
2020
1444
 
2021
- - dash: fix Range request ranges for representations based on a SegmentList index
2022
- - smooth: allows smooth Manifests for non-live contents to begin at a timestamp != 0
1445
+ - dash: fix Range request ranges for representations based on a SegmentList index
1446
+ - smooth: allows smooth Manifests for non-live contents to begin at a timestamp != 0
1447
+
2023
1448
 
2024
1449
  ## v3.0.7 (2018-01-19)
2025
1450
 
2026
1451
  ### Bug fixes
2027
1452
 
2028
- - eme: fix bug which prevented to play encrypted contents on IE11
1453
+ - eme: fix bug which prevented to play encrypted contents on IE11
1454
+
2029
1455
 
2030
1456
  ## v3.0.6 (2018-01-11)
2031
1457
 
2032
1458
  ### Bug Fixes
2033
1459
 
2034
- - buffer: fix issue which could led to multiple video or audio segments being downloaded
2035
- at the same time
2036
- - dash/text: support MPD AdaptationSet with a "caption" Role as text Adaptations
2037
- - dash/text: remove offset set for subtitles on live contents, which led to unsynchronized
2038
- subtitles
2039
- - dash: fix issue which could led to segments being re-downloaded too much in a
2040
- SegmentTemplate scheme
1460
+ - buffer: fix issue which could led to multiple video or audio segments being downloaded at the same time
1461
+ - dash/text: support MPD AdaptationSet with a "caption" Role as text Adaptations
1462
+ - dash/text: remove offset set for subtitles on live contents, which led to unsynchronized subtitles
1463
+ - dash: fix issue which could led to segments being re-downloaded too much in a SegmentTemplate scheme
2041
1464
 
2042
1465
  ### Other improvements
2043
1466
 
2044
- - demo: set "html" textTrackMode by default to have a better stylization of closed
2045
- captions.
1467
+ - demo: set "html" textTrackMode by default to have a better stylization of closed captions.
1468
+
2046
1469
 
2047
1470
  ## v3.0.5 (2017-12-11)
2048
1471
 
2049
1472
  ### Bug Fixes
2050
1473
 
2051
- - eme: consider unknown errors (e.g. errors coming from the user of the library) as fatal
2052
- eme errors
1474
+ - eme: consider unknown errors (e.g. errors coming from the user of the library) as fatal eme errors
1475
+
2053
1476
 
2054
1477
  ## v3.0.4 (2017-12-05)
2055
1478
 
2056
1479
  ### Bug Fixes
2057
1480
 
2058
- - text/webvtt: authorize header options without parsing them
2059
- - text/webvtt: authorize timestamps without hours
1481
+ - text/webvtt: authorize header options without parsing them
1482
+ - text/webvtt: authorize timestamps without hours
2060
1483
 
2061
1484
  ### Other improvements
2062
1485
 
2063
- - misc: remove multiple unneeded assertions in DEV mode
2064
- - misc: update DEV mode default debug level from DEBUG to INFO
1486
+ - misc: remove multiple unneeded assertions in DEV mode
1487
+ - misc: update DEV mode default debug level from DEBUG to INFO
1488
+
2065
1489
 
2066
1490
  ## v3.0.3 (2017-11-24)
2067
1491
 
2068
1492
  ### Bug Fixes
2069
1493
 
2070
- - text/ttml: apply correctly a style if directly set on an attribute
2071
- - eme: load new video even if the last EME clean-up failed
1494
+ - text/ttml: apply correctly a style if directly set on an attribute
1495
+ - eme: load new video even if the last EME clean-up failed
2072
1496
 
2073
1497
  ### Other improvements
2074
1498
 
2075
- - misc: set better work arround for typescript issue
2076
- [20104](https://github.com/Microsoft/TypeScript/issues/20104) to make building npm
2077
- scripts usable again
2078
- - tools: update the update-version npm script
2079
- - demo: `npm run start` and `npm run standalone` now build the rx-player in the
2080
- "development" environment
2081
- - tools: add more logs in DEBUG mode
1499
+ - misc: set better work arround for typescript issue [20104](https://github.com/Microsoft/TypeScript/issues/20104) to make building npm scripts usable again
1500
+ - tools: update the update-version npm script
1501
+ - demo: ``npm run start`` and ``npm run standalone`` now build the rx-player in the "development" environment
1502
+ - tools: add more logs in DEBUG mode
1503
+
2082
1504
 
2083
1505
  ## v3.0.2 (2017-11-17)
2084
1506
 
2085
1507
  ### Bug Fixes
2086
1508
 
2087
- - misc: work around typescript issue
2088
- [20104](https://github.com/Microsoft/TypeScript/issues/20104) temporarly to launch in
2089
- Chrome in HTTP
1509
+ - misc: work around typescript issue [20104](https://github.com/Microsoft/TypeScript/issues/20104) temporarly to launch in Chrome in HTTP
1510
+
2090
1511
 
2091
1512
  ## v3.0.1 (2017-11-17)
2092
1513
 
2093
1514
  ### Bug Fixes
2094
1515
 
2095
- - abr: adopt a less agressive strategy to avoid re-bufferings
2096
- - smooth: avoid most of the manifest refresh requests
1516
+ - abr: adopt a less agressive strategy to avoid re-bufferings
1517
+ - smooth: avoid most of the manifest refresh requests
2097
1518
 
2098
1519
  ### Other improvements
2099
1520
 
2100
- - Switch codebase to TypeScript
2101
- - Add Travis CI
1521
+ - Switch codebase to TypeScript
1522
+ - Add Travis CI
1523
+
2102
1524
 
2103
1525
  ## v3.0.0 (2017-11-10)
2104
1526
 
2105
1527
  ### Added
2106
1528
 
2107
- - misc: add possibility to do custom builds through environment variables, to remove
2108
- unwanted features from minified code.
2109
- - languages: add support for segmented VTT subtitles
2110
- - languages/dash: add support for plain text TTML, SAMI, SRT, VTT and MP4-embedded VTT
2111
- subtitles in DASH manifests
2112
- - languages/smooth: add support for MP4-embedded VTT subtitles in Smooth manifests
2113
- - languages: add possibility to show fragmented or not TTML, SAMI, SRT and VTT text tracks
2114
- in a <track> element, even for browser that do not support the VTTCue API
2115
- - languages: add possibility to show TTML, SRT, VTT and SAMI text tracks in HTML tags for
2116
- richer stylisation.
2117
- - api: add `textTrackElement` option to `loadVideo`
2118
- - api: add `textTrackMode` option to `loadVideo`
2119
- - api: add `nativeTextTracksChange` event
2120
- - eme: it is now possible to directly set the reverse domain name of the wanted key system
2121
- in the `type` property of `loadVideo`'s `keySystems` option.
2122
- - api: add property `percentage` to the `startAt` argument of `loadVideo`.
2123
- - abr: add `bitrateEstimationChange` event
2124
- - api: add `LogLevel` static property
2125
- - api: a Date object can now be given to the `loadVideo` argument `startAt.wallClockTime`.
2126
- It will be automatically converted into seconds.
2127
- - languages: add `normalizedLanguage` property in manifest-related-APIs to expose the ISO
2128
- 639-3 language code of the audio and text tracks
2129
- - languages: add `normalized` property in language-related-API to expose the ISO 639-3
2130
- language code of the audio and text tracks
2131
- - loadVideo: add `codecs` property to supplementaryTextTracks
2132
- - api: add `wantedBufferAhead` constructor option
2133
- - api: add `maxBufferAhead` constructor option
2134
- - api: add `maxBufferBehind` constructor option
2135
- - api: add `getVideoBufferGap` method
2136
- - api: add `isMute` method
2137
- - api: add `getManualAudioBitrate` method
2138
- - api: add `getManualVideoBitrate` method
2139
- - config: add a global config file (src/config.js) to easily tweak the player behavior
1529
+ - misc: add possibility to do custom builds through environment variables, to remove unwanted features from minified code.
1530
+ - languages: add support for segmented VTT subtitles
1531
+ - languages/dash: add support for plain text TTML, SAMI, SRT, VTT and MP4-embedded VTT subtitles in DASH manifests
1532
+ - languages/smooth: add support for MP4-embedded VTT subtitles in Smooth manifests
1533
+ - languages: add possibility to show fragmented or not TTML, SAMI, SRT and VTT text tracks in a <track> element, even for browser that do not support the VTTCue API
1534
+ - languages: add possibility to show TTML, SRT, VTT and SAMI text tracks in HTML tags for richer stylisation.
1535
+ - api: add ``textTrackElement`` option to ``loadVideo``
1536
+ - api: add ``textTrackMode`` option to ``loadVideo``
1537
+ - api: add ``nativeTextTracksChange`` event
1538
+ - eme: it is now possible to directly set the reverse domain name of the wanted key system in the ``type`` property of ``loadVideo``'s ``keySystems`` option.
1539
+ - api: add property ``percentage`` to the ``startAt`` argument of ``loadVideo``.
1540
+ - abr: add ``bitrateEstimationChange`` event
1541
+ - api: add ``LogLevel`` static property
1542
+ - api: a Date object can now be given to the ``loadVideo`` argument ``startAt.wallClockTime``. It will be automatically converted into seconds.
1543
+ - languages: add ``normalizedLanguage`` property in manifest-related-APIs to expose the ISO 639-3 language code of the audio and text tracks
1544
+ - languages: add ``normalized`` property in language-related-API to expose the ISO 639-3 language code of the audio and text tracks
1545
+ - loadVideo: add ``codecs`` property to supplementaryTextTracks
1546
+ - api: add ``wantedBufferAhead`` constructor option
1547
+ - api: add ``maxBufferAhead`` constructor option
1548
+ - api: add ``maxBufferBehind`` constructor option
1549
+ - api: add ``getVideoBufferGap`` method
1550
+ - api: add ``isMute`` method
1551
+ - api: add ``getManualAudioBitrate`` method
1552
+ - api: add ``getManualVideoBitrate`` method
1553
+ - config: add a global config file (src/config.js) to easily tweak the player behavior
2140
1554
 
2141
1555
  ### Changed
2142
1556
 
2143
- - languages: switch from ISO 639-2 to ISO 639-3 language codes in various APIs
2144
- - languages: the `language` property returned by language and manifest related APIs now
2145
- reflect the exact language as set in the manifest
2146
- - api: `setVideoBitrate` can now be called even when no content is playing
2147
- - api: `setAudioBitrate` can now be called even when no content is playing
2148
- - api: `setVideoBitrate` can now be called even when no video track has the exact same
2149
- bitrate
2150
- - api: `setAudioBitrate` can now be called even when no audio track has the exact same
2151
- bitrate
2152
- - api: giving a number to `seekTo` now has the same effect than setting a position option
2153
- in argument (`seekTo({ position }) === seekTo(position)`)
2154
- - api: `getUrl` now do not throw if no content is playing
2155
- - api: `isLive` now do not throw if no content is playing
2156
- - api: `loadVideo` does not return anything anymore
2157
- - api: private (undocumented) variables have been isolated on a player instance to a
2158
- `_priv` object.
2159
- - api: the constructor option `throttleWhenHidden` is now set to false by default
2160
- - api: the constructor option `limitVideoWidth` is now set to false by default
1557
+ - languages: switch from ISO 639-2 to ISO 639-3 language codes in various APIs
1558
+ - languages: the ``language`` property returned by language and manifest related APIs now reflect the exact language as set in the manifest
1559
+ - api: ``setVideoBitrate`` can now be called even when no content is playing
1560
+ - api: ``setAudioBitrate`` can now be called even when no content is playing
1561
+ - api: ``setVideoBitrate`` can now be called even when no video track has the exact same bitrate
1562
+ - api: ``setAudioBitrate`` can now be called even when no audio track has the exact same bitrate
1563
+ - api: giving a number to ``seekTo`` now has the same effect than setting a position option in argument (``seekTo({ position }) === seekTo(position)``)
1564
+ - api: ``getUrl`` now do not throw if no content is playing
1565
+ - api: ``isLive`` now do not throw if no content is playing
1566
+ - api: ``loadVideo`` does not return anything anymore
1567
+ - api: private (undocumented) variables have been isolated on a player instance to a ``_priv`` object.
1568
+ - api: the constructor option ``throttleWhenHidden`` is now set to false by default
1569
+ - api: the constructor option ``limitVideoWidth`` is now set to false by default
2161
1570
 
2162
1571
  ### Removed
2163
1572
 
2164
- - api: remove `defaultAudioTrack` constructor option
2165
- - api: remove `defaultTextTrack` constructor option
2166
- - api: remove `transportOptions` constructor option
2167
- - api: remove `transport` constructor option
2168
- - api: remove `nativeTextTrackChange` event in favor of `nativeTextTracksChange` event
2169
- (notice the "s")
2170
- - api: remove `goToStart` method
2171
- - api: remove `getStartTime` method
2172
- - api: remove `getEndTime` method
2173
- - api: remove `toggleDebug` method
2174
- - api: remove `hideDebug` method
2175
- - api: remove `showDebug` method
2176
- - api: remove `getDebug` method
2177
- - api: remove `getImageTrack` method
2178
- - api: remove `setVideoBufferSize` method in favor of `setWantedBufferAhead` method
2179
- - api: remove `getVideoBufferSize` method in favor of `getWantedBufferAhead` method
2180
- - api: remove `setAudioBufferSize` method in favor of `setWantedBufferAhead` method
2181
- - api: remove `getAudioBufferSize` method in favor of `getWantedBufferAhead` method
2182
- - api: remove `maximumBufferTime` property from `positionUpdate` events
2183
- - api: remove `getCurrentTime` method
2184
- - api: remove `asObservable` method
2185
- - api: remove `loadVideo` option `manifests` in favor of `url` and `keySystems` options
2186
- - api: remove `loadVideo` option `subtitles` in favor of `supplementaryTextTracks` option
2187
- - api: remove `loadVideo` option `images` in favor of `supplementaryImageTracks` option
2188
- - api: remove constructor option `initVideoBitrate` in favor of `initialVideoBitrate`
2189
- option
2190
- - api: remove constructor option `initAudioBitrate` in favor of `initialVideoBitrate`
2191
- option
2192
- - api: remove constructor option `defaultLanguage` in favor of `defaultAudioTrack` option
2193
- - api: remove constructor option `defaultSubtitle` in favor of `defaultTextTrack` option
2194
- - position: remove `subtitleChange` event
2195
- - position: remove `languageChange` event
2196
- - position: remove `progress` event
2197
- - position: remove `currentTimeChange` event in favor of `positionUpdate` event
2198
- - adaptive: remove `getMetrics` method
2199
- - adaptive: remove `getAverageBitrates` method
2200
- - adaptive: remove `getVideoMaxBitrate` method in favor of `getMaxVideoBitrate` method
2201
- - adaptive: remove `getAudioMaxBitrate` method in favor of `getMaxAudioBitrate` method
2202
- - errors: remove static method `getErrorTypes` in favor of the static property
2203
- `errorTypes`
2204
- - errors: remove static method `getErrorCodes` in favor of the static property
2205
- `errorCodes`
2206
- - languages: remove `normalizeLanguageCode` method
2207
- - languages: remove `getAvailableLanguages` method
2208
- - languages: remove `getAvailableSubtitles` method
2209
- - languages: remove `isLanguageAvailable` method
2210
- - languages: remove `isSubtitleAvailable` method
2211
- - languages: remove `getLanguage` method
2212
- - languages: remove `getSubtitle` method
2213
- - languages: remove `setLanguage` method
2214
- - languages: remove `setSubtitle` method
1573
+ - api: remove ``defaultAudioTrack`` constructor option
1574
+ - api: remove ``defaultTextTrack`` constructor option
1575
+ - api: remove ``transportOptions`` constructor option
1576
+ - api: remove ``transport`` constructor option
1577
+ - api: remove ``nativeTextTrackChange`` event in favor of ``nativeTextTracksChange`` event (notice the "s")
1578
+ - api: remove ``goToStart`` method
1579
+ - api: remove ``getStartTime`` method
1580
+ - api: remove ``getEndTime`` method
1581
+ - api: remove ``toggleDebug`` method
1582
+ - api: remove ``hideDebug`` method
1583
+ - api: remove ``showDebug`` method
1584
+ - api: remove ``getDebug`` method
1585
+ - api: remove ``getImageTrack`` method
1586
+ - api: remove ``setVideoBufferSize`` method in favor of ``setWantedBufferAhead`` method
1587
+ - api: remove ``getVideoBufferSize`` method in favor of ``getWantedBufferAhead`` method
1588
+ - api: remove ``setAudioBufferSize`` method in favor of ``setWantedBufferAhead`` method
1589
+ - api: remove ``getAudioBufferSize`` method in favor of ``getWantedBufferAhead`` method
1590
+ - api: remove ``maximumBufferTime`` property from ``positionUpdate`` events
1591
+ - api: remove ``getCurrentTime`` method
1592
+ - api: remove ``asObservable`` method
1593
+ - api: remove ``loadVideo`` option ``manifests`` in favor of ``url`` and ``keySystems`` options
1594
+ - api: remove ``loadVideo`` option ``subtitles`` in favor of ``supplementaryTextTracks`` option
1595
+ - api: remove ``loadVideo`` option ``images`` in favor of ``supplementaryImageTracks`` option
1596
+ - api: remove constructor option ``initVideoBitrate`` in favor of ``initialVideoBitrate`` option
1597
+ - api: remove constructor option ``initAudioBitrate`` in favor of ``initialVideoBitrate`` option
1598
+ - api: remove constructor option ``defaultLanguage`` in favor of ``defaultAudioTrack`` option
1599
+ - api: remove constructor option ``defaultSubtitle`` in favor of ``defaultTextTrack`` option
1600
+ - position: remove ``subtitleChange`` event
1601
+ - position: remove ``languageChange`` event
1602
+ - position: remove ``progress`` event
1603
+ - position: remove ``currentTimeChange`` event in favor of ``positionUpdate`` event
1604
+ - adaptive: remove ``getMetrics`` method
1605
+ - adaptive: remove ``getAverageBitrates`` method
1606
+ - adaptive: remove ``getVideoMaxBitrate`` method in favor of ``getMaxVideoBitrate`` method
1607
+ - adaptive: remove ``getAudioMaxBitrate`` method in favor of ``getMaxAudioBitrate`` method
1608
+ - errors: remove static method ``getErrorTypes`` in favor of the static property ``errorTypes``
1609
+ - errors: remove static method ``getErrorCodes`` in favor of the static property ``errorCodes``
1610
+ - languages: remove ``normalizeLanguageCode`` method
1611
+ - languages: remove ``getAvailableLanguages`` method
1612
+ - languages: remove ``getAvailableSubtitles`` method
1613
+ - languages: remove ``isLanguageAvailable`` method
1614
+ - languages: remove ``isSubtitleAvailable`` method
1615
+ - languages: remove ``getLanguage`` method
1616
+ - languages: remove ``getSubtitle`` method
1617
+ - languages: remove ``setLanguage`` method
1618
+ - languages: remove ``setSubtitle`` method
2215
1619
 
2216
1620
  ### Bug Fixes:
2217
1621
 
2218
- - dash: fix bug that prevented to play most dash contents with SegmentTemplate-based
2219
- manifests
2220
- - dash: it's now possible to play SegmentTimeline-based contents with a numbering scheme
2221
- - dash/text: calculate the text track time offset for dynamic DASH contents (prevented
2222
- most text tracks from live DASH contents to be displayed)
2223
- - eme: fix EME issues when loading multiple videos in IE/Edge
2224
- - api: The state of the player when ready to play with autoPlay === false is now
2225
- `"LOADED"` and not `"PAUSED"`
2226
- - api: fix infinite loading bug when a new content is synchronously launched as soon as
2227
- the previous one is ended or fell on error
2228
- - dash: allow absolute BaseURL in Periods
2229
- - languages: avoid excessive re-downloads if a `supplementaryTextTracks` is provided and
2230
- either a `maxBufferBehind` or a `maxBufferAhead` is set.
2231
- - eme: the `reason` for the eme error `KEY_STATUS_CHANGE_ERROR` is now correctly filled in
2232
- - eme: do not set widevine robustnesses for non-widevine key systems
2233
- - languages: fix bug which led the text buffer to _crash_ when the `wantedBufferBehind`
2234
- option is set
2235
- - languages: fix bug which led to TextTracks chunks being re-downloaded multiple times
2236
- - speed: fix playback rate bug when setting it while the player is stalled
2237
- - smooth: fix "fallback" callback in the segmentLoader API for smooth contents.
2238
- - smooth: fix some minor risks of infinite rebuffering for live contents, when the
2239
- isobmff's tfrf box is not well parsed.
2240
- - buffer: avoid infinite player rebuffering when the manifest is not exactly aligned with
2241
- the real duration of the content
2242
- - buffer: avoid multiple causes of infinite player rebuffering by managing segment garbage
2243
- collection
2244
- - languages: getAudioTrack now always returns the currently set audio track
2245
- - languages: getTextTrack now always returns the currently set text track
1622
+ - dash: fix bug that prevented to play most dash contents with SegmentTemplate-based manifests
1623
+ - dash: it's now possible to play SegmentTimeline-based contents with a numbering scheme
1624
+ - dash/text: calculate the text track time offset for dynamic DASH contents (prevented most text tracks from live DASH contents to be displayed)
1625
+ - eme: fix EME issues when loading multiple videos in IE/Edge
1626
+ - api: The state of the player when ready to play with autoPlay === false is now ``"LOADED"`` and not ``"PAUSED"``
1627
+ - api: fix infinite loading bug when a new content is synchronously launched as soon as the previous one is ended or fell on error
1628
+ - dash: allow absolute BaseURL in Periods
1629
+ - languages: avoid excessive re-downloads if a ``supplementaryTextTracks`` is provided and either a ``maxBufferBehind`` or a ``maxBufferAhead`` is set.
1630
+ - eme: the ``reason`` for the eme error ``KEY_STATUS_CHANGE_ERROR`` is now correctly filled in
1631
+ - eme: do not set widevine robustnesses for non-widevine key systems
1632
+ - languages: fix bug which led the text buffer to _crash_ when the ``wantedBufferBehind`` option is set
1633
+ - languages: fix bug which led to TextTracks chunks being re-downloaded multiple times
1634
+ - speed: fix playback rate bug when setting it while the player is stalled
1635
+ - smooth: fix "fallback" callback in the segmentLoader API for smooth contents.
1636
+ - smooth: fix some minor risks of infinite rebuffering for live contents, when the isobmff's tfrf box is not well parsed.
1637
+ - buffer: avoid infinite player rebuffering when the manifest is not exactly aligned with the real duration of the content
1638
+ - buffer: avoid multiple causes of infinite player rebuffering by managing segment garbage collection
1639
+ - languages: getAudioTrack now always returns the currently set audio track
1640
+ - languages: getTextTrack now always returns the currently set text track
2246
1641
 
2247
1642
  ### Other improvements
2248
1643
 
2249
- - manifest: improve manifest refreshing logic, by not downloading it when unnecessary
2250
- - smooth: begin to play arround 10s before the live edge instead of 20 seconds for smooth
2251
- contents
2252
- - network: the backoff algorithm has been refactored for better network error resilience
2253
- - adaptive: improved ABR management to provide a better, faster and more stable bandwidth
2254
- estimation
2255
- - adaptive: add strategies for abrupt changes of bandwidth to avoid excessive re-buffering
2256
- on network fluctuations
2257
- - adaptive: the adaptive algorithm now take into account the current playback rate
2258
- - doc: added file architecture documentation
2259
- - tests: fixed and added integration tests
2260
- - demo: the demo now manages most languages defined by in the ISO 639-3 standard
1644
+ - manifest: improve manifest refreshing logic, by not downloading it when unnecessary
1645
+ - smooth: begin to play arround 10s before the live edge instead of 20 seconds for smooth contents
1646
+ - network: the backoff algorithm has been refactored for better network error resilience
1647
+ - adaptive: improved ABR management to provide a better, faster and more stable bandwidth estimation
1648
+ - adaptive: add strategies for abrupt changes of bandwidth to avoid excessive re-buffering on network fluctuations
1649
+ - adaptive: the adaptive algorithm now take into account the current playback rate
1650
+ - doc: added file architecture documentation
1651
+ - tests: fixed and added integration tests
1652
+ - demo: the demo now manages most languages defined by in the ISO 639-3 standard
1653
+
2261
1654
 
2262
1655
  ## v2.3.2 (2017-07-25)
2263
1656
 
2264
1657
  ### Bug Fixes
2265
1658
 
2266
- - eme: update EME workflow to improve support (especially chromebooks)
1659
+ - eme: update EME workflow to improve support (especially chromebooks)
1660
+
2267
1661
 
2268
1662
  ## v2.3.1 (2017-07-10)
2269
1663
 
2270
1664
  ### Bug Fixes
2271
1665
 
2272
- - buffer: improve buffer ranges "bookeeping" logic to avoid re-downloading the same
2273
- segments
1666
+ - buffer: improve buffer ranges "bookeeping" logic to avoid re-downloading the same segments
1667
+
2274
1668
 
2275
1669
  ## v2.3.0 (2017-07-07)
2276
1670
 
2277
1671
  ### Added
2278
1672
 
2279
- - eme: add audioRobustnesses to loadVideo's keySystems argument (/!\ undocumented API -
2280
- can break without official notice)
2281
- - eme: add videoRobustnesses to loadVideo's keySystems argument (/!\ undocumented API -
2282
- can break without official notice)
2283
- - eme: add serverCertificate to loadVideo's keySystems argument
2284
- - buffer: add {set,get}MaxBufferAhead methods
2285
- - buffer: add {set,get}MaxBufferBehind methods
2286
- - buffer: add {set,get}WantedBufferAhead methods replacing the deprecated buffer size
2287
- methods
1673
+ - eme: add audioRobustnesses to loadVideo's keySystems argument (/!\ undocumented API - can break without official notice)
1674
+ - eme: add videoRobustnesses to loadVideo's keySystems argument (/!\ undocumented API - can break without official notice)
1675
+ - eme: add serverCertificate to loadVideo's keySystems argument
1676
+ - buffer: add {set,get}MaxBufferAhead methods
1677
+ - buffer: add {set,get}MaxBufferBehind methods
1678
+ - buffer: add {set,get}WantedBufferAhead methods replacing the deprecated buffer size methods
2288
1679
 
2289
1680
  ### Deprecated
2290
1681
 
2291
- - setVideoBufferSize has been deprecated in favor of setWantedBufferAhead
2292
- - getVideoBufferSize has been deprecated in favor of getWantedBufferAhead
2293
- - setAudioBufferSize has been deprecated in favor of setWantedBufferAhead
2294
- - getAudioBufferSize has been deprecated in favor of getWantedBufferAhead
1682
+ - setVideoBufferSize has been deprecated in favor of setWantedBufferAhead
1683
+ - getVideoBufferSize has been deprecated in favor of getWantedBufferAhead
1684
+ - setAudioBufferSize has been deprecated in favor of setWantedBufferAhead
1685
+ - getAudioBufferSize has been deprecated in favor of getWantedBufferAhead
2295
1686
 
2296
1687
  ### Bug Fixes
2297
1688
 
2298
- - buffer: avoid some infinite re-buffering by re-calculating buffer ranges at every tick
2299
- - eme: add eme support for some legacy browser without video or audio capabilities
2300
- - general: add support for older browsers (which does not support
2301
- array.prototype.{find,findIndex,includes})
2302
- - general: use Object.assign ponyfill instead of the previous polyfill to avoid malicious
2303
- interferences with other codebases
1689
+ - buffer: avoid some infinite re-buffering by re-calculating buffer ranges at every tick
1690
+ - eme: add eme support for some legacy browser without video or audio capabilities
1691
+ - general: add support for older browsers (which does not support array.prototype.{find,findIndex,includes})
1692
+ - general: use Object.assign ponyfill instead of the previous polyfill to avoid malicious interferences with other codebases
1693
+
2304
1694
 
2305
1695
  ## v2.2.1 (2017-06-27)
2306
1696
 
2307
1697
  ### Bug fixes
2308
1698
 
2309
- - adaptive: fix width limitation bug. Impacted limitVideoWidth + setMaxVideoBitrate APIs
1699
+ - adaptive: fix width limitation bug. Impacted limitVideoWidth + setMaxVideoBitrate APIs
1700
+
2310
1701
 
2311
1702
  ## v2.2.0 (2017-06-19)
2312
1703
 
2313
1704
  ### Added
2314
1705
 
2315
- - position: add maximumBufferPosition to the positionUpdate event's payload to replace the
2316
- previous "liveGap" from currentTimeChange event
1706
+ - position: add maximumBufferPosition to the positionUpdate event's payload to replace the previous "liveGap" from currentTimeChange event
2317
1707
 
2318
1708
  ### Bug fixes
2319
1709
 
2320
- - upgrade to rxjs 5.4.1 to escape memory leak
2321
- - position: "liveGap" from currentTimeChange event now means the difference to the maximum
2322
- "bufferisable" position to keep compatibility with the old API
1710
+ - upgrade to rxjs 5.4.1 to escape memory leak
1711
+ - position: "liveGap" from currentTimeChange event now means the difference to the maximum "bufferisable" position to keep compatibility with the old API
1712
+
2323
1713
 
2324
1714
  ## v2.1.3 (2017-06-15)
2325
1715
 
2326
1716
  ### Bug fixes
2327
1717
 
2328
- - api: fix timeFragment.start handling
1718
+ - api: fix timeFragment.start handling
1719
+
2329
1720
 
2330
1721
  ## v2.1.2 (2017-06-14)
2331
1722
 
2332
1723
  ### Bug fixes
2333
1724
 
2334
- - stream: the BUFFER_APPEND_ERROR error, happening when a SourceBuffer.appendBuffer failed
2335
- for an unknown reason, is now a fatal error for audio/video segments
2336
- - eme: fix rxjs timeout management which prevented from playing DRM-protected contents
2337
- - api: add securities to avoid useless errors to be thrown when the player (already)
2338
- encounter an error
2339
- - position: fix bug which prevented to seek at the beginning of the content with the new
2340
- api
2341
- - position: fix typo which prevented to perform absolute seeks with the new api
2342
- - buffer: automatically seek if there is discontinuity in a live stream
2343
- - adaptive: take the lowest bitrate (instead of the initial/default one) when the player
2344
- is not displayed/too small
1725
+ - stream: the BUFFER_APPEND_ERROR error, happening when a SourceBuffer.appendBuffer failed for an unknown reason, is now a fatal error for audio/video segments
1726
+ - eme: fix rxjs timeout management which prevented from playing DRM-protected contents
1727
+ - api: add securities to avoid useless errors to be thrown when the player (already) encounter an error
1728
+ - position: fix bug which prevented to seek at the beginning of the content with the new api
1729
+ - position: fix typo which prevented to perform absolute seeks with the new api
1730
+ - buffer: automatically seek if there is discontinuity in a live stream
1731
+ - adaptive: take the lowest bitrate (instead of the initial/default one) when the player is not displayed/too small
1732
+
2345
1733
 
2346
1734
  ## v2.1.1 (2017-06-02)
2347
1735
 
2348
1736
  ### Bug fixes
2349
1737
 
2350
- - hotfix: fixed rxjs imports
2351
- - hotfix: the player can now be imported through a commonjs require
2352
- - hotfix: the player could not play if the video element's width was too short
2353
- - manifest: segment id were not always the same on a segmentLoader and on the API calls.
2354
- - adaptive: setVideoBitrate now throw a more meaningful error if no content is playing
2355
- - adaptive: setAudioBitrate now throw a more meaningful error if no content is playing
2356
- - language: setSubtitle now throw a more meaningful error if no content is playing
2357
- - language: setLanguage now throw a more meaningful error if no content is playing
2358
- - language: isLanguageAvailable do not throw and return false if no content is playing
2359
- - language: isSubtitleAvailable do not throw and return false if no content is playing
1738
+ - hotfix: fixed rxjs imports
1739
+ - hotfix: the player can now be imported through a commonjs require
1740
+ - hotfix: the player could not play if the video element's width was too short
1741
+ - manifest: segment id were not always the same on a segmentLoader and on the API calls.
1742
+ - adaptive: setVideoBitrate now throw a more meaningful error if no content is playing
1743
+ - adaptive: setAudioBitrate now throw a more meaningful error if no content is playing
1744
+ - language: setSubtitle now throw a more meaningful error if no content is playing
1745
+ - language: setLanguage now throw a more meaningful error if no content is playing
1746
+ - language: isLanguageAvailable do not throw and return false if no content is playing
1747
+ - language: isSubtitleAvailable do not throw and return false if no content is playing
2360
1748
 
2361
1749
  ### Other improvements
2362
1750
 
2363
- - api: deprecated api now only warn once
2364
- - tests: integration tests have been added
2365
- - manifest: the manifest object and the management of its index has been refactored for
2366
- future improvements
1751
+ - api: deprecated api now only warn once
1752
+ - tests: integration tests have been added
1753
+ - manifest: the manifest object and the management of its index has been refactored for future improvements
1754
+
2367
1755
 
2368
1756
  ## v2.1.0 (2017-05-29)
2369
1757
 
@@ -2386,12 +1774,10 @@
2386
1774
  - api: add getWallClockTime method
2387
1775
  - manifest: add getCurrentRepresentations method
2388
1776
  - manifest: add getCurrentAdaptations method
2389
- - api: add throttleWhenHidden option to constructor (to disable throttling when the
2390
- current page is hidden for an extended time)
2391
- - api: add limitVideoWidth option to constructor (to disable throttling to match the video
2392
- element's width)
1777
+ - api: add throttleWhenHidden option to constructor (to disable throttling when the current page is hidden for an extended time)
1778
+ - api: add limitVideoWidth option to constructor (to disable throttling to match the video element's width)
2393
1779
  - api: add initialAudioBitrate and initialVideoBitrate to constructor's options
2394
- - api: add defaultTextTrack and defaultAudioTrack to loadVideo and constructor's options
1780
+ - api: add defaultTextTrack and defaultAudioTrack to loadVideo and constructor's options
2395
1781
  - languages: add getAvailableAudioTracks method with audio description support
2396
1782
  - languages: add getAvailableTextTracks method with closed caption support
2397
1783
  - languages: add getAudioTrack method with audio description support
@@ -2404,8 +1790,7 @@
2404
1790
 
2405
1791
  ### Deprecated
2406
1792
 
2407
- - position: the timeFragment API is deprecated (loadVideo's timeFragment argument,
2408
- getStartTime, getEndTime and goToStart)
1793
+ - position: the timeFragment API is deprecated (loadVideo's timeFragment argument, getStartTime, getEndTime and goToStart)
2409
1794
  - api: currentTimeChange event is replaced by the positionUpdate event
2410
1795
  - api: progress event is deprecated and not replaced
2411
1796
  - api: getImageTrack is replaced by the imageTrackUpdate event
@@ -2427,14 +1812,10 @@
2427
1812
  - api: using setFullscreen(false) is replaced by exitFullscreen
2428
1813
  - api: getErrorTypes method has been deprecated in favor of the ErrorTypes property
2429
1814
  - api: getErrorCodes method has been deprecated in favor of the ErrorCodes property
2430
- - languages: initAudioBitrate option in constructor is deprecated in favor of
2431
- initialAudioBitrate
2432
- - languages: initVideoBitrate option in constructor is deprecated in favor of
2433
- initialVideoBitrate
2434
- - languages: defaultSubtitle option in constructor and loadVideo is deprecated in favor of
2435
- defaultTextTrack
2436
- - languages: defaultLanguage option in constructor and loadVideo is deprecated in favor of
2437
- defaultAudioTrack
1815
+ - languages: initAudioBitrate option in constructor is deprecated in favor of initialAudioBitrate
1816
+ - languages: initVideoBitrate option in constructor is deprecated in favor of initialVideoBitrate
1817
+ - languages: defaultSubtitle option in constructor and loadVideo is deprecated in favor of defaultTextTrack
1818
+ - languages: defaultLanguage option in constructor and loadVideo is deprecated in favor of defaultAudioTrack
2438
1819
  - languages: getAvailableLanguages is deprecated in favor of getAvailableAudioTracks
2439
1820
  - languages: getAvailableSubtitles is deprecated in favor of getAvailableTextTracks
2440
1821
  - languages: getLanguage is deprecated in favor of getAudioTrack
@@ -2446,17 +1827,14 @@
2446
1827
 
2447
1828
  ### Bug fixes
2448
1829
 
2449
- - adaptive: fix a bug where it was impossible to switch between multiple videos
2450
- representations with the same width
1830
+ - adaptive: fix a bug where it was impossible to switch between multiple videos representations with the same width
2451
1831
  - languages: fix bug where the user could switch to a closed caption track unknowngly
2452
1832
  - languages: fix bug where the user could switch to an audio description track unknowngly
2453
1833
  - manifest: improved and documented getManifest's return value
2454
- - manifest: defined and documented a generic manifest object structure (slowly replacing
2455
- the old object).
1834
+ - manifest: defined and documented a generic manifest object structure (slowly replacing the old object).
2456
1835
  - images: image playlists are now not re-fetched if the request failed (no retry)
2457
1836
  - dash: lowered security time raising the startup time for SegmentTemplate-based contents
2458
- - api: getLanguage/getSubtitle returns now the language of the last chunk received, not
2459
- the last set
1837
+ - api: getLanguage/getSubtitle returns now the language of the last chunk received, not the last set
2460
1838
  - manifest: fixed manifest-refreshing logic (mainly for live contents)
2461
1839
  - dash: fixed support for dash SegmentTimeline-based contents
2462
1840
  - api: differentiate unset default languages from empty strings
@@ -2478,10 +1856,12 @@
2478
1856
  - demo: The Demo has been completely rewritten
2479
1857
  - demo: The bundle has been removed from the code committed.
2480
1858
 
1859
+
2481
1860
  ## v2.0.0-alpha1 (2016-02-09)
2482
1861
 
2483
1862
  - RxJS: use RxJS5.beta1
2484
- - Promise: remove es6-promise dependency and stop relying completely on promises
1863
+ - Promise: remove es6-promise dependency and stop relying completely
1864
+ on promises
2485
1865
 
2486
1866
  - eme: improve IE11 and Edge support on EME
2487
1867
  - smooth: activate patch in place on non IE targets for less memory allocation
@@ -2495,6 +1875,7 @@
2495
1875
 
2496
1876
  - lint: add new rules (no-var, prefer-const, enforce brackets)
2497
1877
 
1878
+
2498
1879
  ## v1.4.0 (2016-01-26)
2499
1880
 
2500
1881
  ### Added
@@ -2506,7 +1887,7 @@
2506
1887
 
2507
1888
  ### Bug fixes
2508
1889
 
2509
- - player: fix getAvailable\* for direct files
1890
+ - player: fix getAvailable* for direct files
2510
1891
  - player: fix subtle race on loadedmetadata after retry
2511
1892
  - eme: remove compat code for old chrome versions with eme flags
2512
1893
  - eme: always ask for temporary session type
@@ -2514,16 +1895,19 @@
2514
1895
  - eme: improve persistent license support and compat
2515
1896
  - smooth: fix index timeline if no duration
2516
1897
 
2517
- ## Demo
1898
+ Demo
1899
+ ----
2518
1900
 
2519
1901
  - allow to pass query parameters
2520
1902
 
1903
+
2521
1904
  ## v1.3.1 (2015-10-14)
2522
1905
 
2523
1906
  ### Bug fixes
2524
1907
 
2525
1908
  - smooth: fix parseBoolean causing isLive to be always true
2526
1909
 
1910
+
2527
1911
  ## v1.3.0 (2015-10-14)
2528
1912
 
2529
1913
  ### Added
@@ -2532,16 +1916,19 @@
2532
1916
  - timings: add progress sampling
2533
1917
  - compat: add firefox workaround for autoplay
2534
1918
 
1919
+
2535
1920
  ## v1.2.1 (2015-09-23)
2536
1921
 
2537
1922
  ### Bug fixes
2538
1923
 
2539
1924
  - stream: do not stall on loadedmetadata event
2540
1925
 
1926
+
2541
1927
  ## v1.2.0 (2015-09-23)
2542
1928
 
2543
- This release introduces the use of ES6 classes for all modules that depends on a sort of
2544
- class hierarchy. It comes with an upgrade of RxJSv3.1.1.
1929
+ This release introduces the use of ES6 classes for all modules that
1930
+ depends on a sort of class hierarchy. It comes with an upgrade of
1931
+ RxJSv3.1.1.
2545
1932
 
2546
1933
  We also started using eslint as our main linter instead of jshint.
2547
1934
 
@@ -2553,6 +1940,7 @@ We also started using eslint as our main linter instead of jshint.
2553
1940
  - dash: incremental id from adaptations/representations (c24fecb)
2554
1941
  - stream: discontinuity check on each stalled tick (3a5b796)
2555
1942
 
1943
+
2556
1944
  ### Bug fixes
2557
1945
 
2558
1946
  - fix missing new on Promise (4679632)
@@ -2564,6 +1952,7 @@ We also started using eslint as our main linter instead of jshint.
2564
1952
  - player: fix getUrl (577ce87)
2565
1953
  - manifest: enforce id setting to parsers (927d275)
2566
1954
 
1955
+
2567
1956
  ## v1.1.0 (2015-08-14)
2568
1957
 
2569
1958
  ### Added
@@ -2580,6 +1969,7 @@ We also started using eslint as our main linter instead of jshint.
2580
1969
  - fix no MediaKeySession reuse on Chrome
2581
1970
  - fix quota error with MediaKeys attached to multiple video elements on Chrome
2582
1971
 
1972
+
2583
1973
  ## v1.0.0 (2015-06-16)
2584
1974
 
2585
1975
  Initial public release.