rx-player 4.3.0-dev.2025012900 → 4.3.0-dev.2025030400

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 (372) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/VERSION +1 -1
  3. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  4. package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  5. package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  6. package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
  7. package/dist/commonjs/compat/browser_compatibility_types.d.ts +32 -13
  8. package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
  9. package/dist/commonjs/compat/browser_compatibility_types.js +12 -32
  10. package/dist/commonjs/compat/eme/close_session.d.ts +2 -2
  11. package/dist/commonjs/compat/eme/close_session.d.ts.map +1 -1
  12. package/dist/commonjs/compat/eme/custom_key_system_access.d.ts +4 -9
  13. package/dist/commonjs/compat/eme/custom_key_system_access.d.ts.map +1 -1
  14. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.d.ts +5 -6
  15. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.d.ts.map +1 -1
  16. package/dist/commonjs/compat/eme/custom_media_keys/ie11_media_keys.js +6 -4
  17. package/dist/commonjs/compat/eme/custom_media_keys/index.d.ts +0 -2
  18. package/dist/commonjs/compat/eme/custom_media_keys/index.d.ts.map +1 -1
  19. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +4 -5
  20. package/dist/commonjs/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  21. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +5 -6
  22. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  23. package/dist/commonjs/compat/eme/custom_media_keys/old_webkit_media_keys.js +1 -1
  24. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts +5 -11
  25. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  26. package/dist/commonjs/compat/eme/custom_media_keys/webkit_media_keys.js +2 -2
  27. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts +5 -6
  28. package/dist/commonjs/compat/eme/eme-api-implementation.d.ts.map +1 -1
  29. package/dist/commonjs/compat/eme/eme-api-implementation.js +1 -0
  30. package/dist/commonjs/compat/eme/generate_key_request.d.ts +2 -2
  31. package/dist/commonjs/compat/eme/generate_key_request.d.ts.map +1 -1
  32. package/dist/commonjs/compat/eme/get_init_data.d.ts +2 -2
  33. package/dist/commonjs/compat/eme/get_init_data.d.ts.map +1 -1
  34. package/dist/commonjs/compat/eme/index.d.ts +1 -3
  35. package/dist/commonjs/compat/eme/index.d.ts.map +1 -1
  36. package/dist/commonjs/compat/eme/load_session.d.ts +2 -2
  37. package/dist/commonjs/compat/eme/load_session.d.ts.map +1 -1
  38. package/dist/commonjs/compat/eme/set_media_keys.d.ts +2 -3
  39. package/dist/commonjs/compat/eme/set_media_keys.d.ts.map +1 -1
  40. package/dist/commonjs/compat/event_listeners.d.ts +2 -3
  41. package/dist/commonjs/compat/event_listeners.d.ts.map +1 -1
  42. package/dist/commonjs/compat/remove_cue.d.ts +2 -1
  43. package/dist/commonjs/compat/remove_cue.d.ts.map +1 -1
  44. package/dist/commonjs/core/main/common/FreezeResolver.d.ts +176 -0
  45. package/dist/commonjs/core/main/common/FreezeResolver.d.ts.map +1 -0
  46. package/dist/commonjs/core/main/common/FreezeResolver.js +431 -0
  47. package/dist/commonjs/core/main/common/synchronize_sinks_on_observation.d.ts +11 -0
  48. package/dist/commonjs/core/main/common/synchronize_sinks_on_observation.d.ts.map +1 -0
  49. package/dist/commonjs/core/main/common/synchronize_sinks_on_observation.js +20 -0
  50. package/dist/commonjs/core/main/worker/content_preparer.d.ts +82 -5
  51. package/dist/commonjs/core/main/worker/content_preparer.d.ts.map +1 -1
  52. package/dist/commonjs/core/main/worker/content_preparer.js +83 -18
  53. package/dist/commonjs/core/main/worker/worker_main.d.ts.map +1 -1
  54. package/dist/commonjs/core/main/worker/worker_main.js +69 -14
  55. package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  56. package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +26 -4
  57. package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  58. package/dist/commonjs/default_config.d.ts +26 -0
  59. package/dist/commonjs/default_config.d.ts.map +1 -1
  60. package/dist/commonjs/default_config.js +26 -0
  61. package/dist/commonjs/main_thread/api/option_utils.d.ts +26 -0
  62. package/dist/commonjs/main_thread/api/option_utils.d.ts.map +1 -1
  63. package/dist/commonjs/main_thread/api/option_utils.js +5 -2
  64. package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
  65. package/dist/commonjs/main_thread/api/public_api.js +14 -12
  66. package/dist/commonjs/main_thread/api/utils.d.ts +1 -2
  67. package/dist/commonjs/main_thread/api/utils.d.ts.map +1 -1
  68. package/dist/commonjs/main_thread/api/utils.js +2 -3
  69. package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  70. package/dist/commonjs/main_thread/decrypt/create_or_load_session.d.ts +2 -2
  71. package/dist/commonjs/main_thread/decrypt/create_or_load_session.d.ts.map +1 -1
  72. package/dist/commonjs/main_thread/decrypt/create_session.d.ts +3 -3
  73. package/dist/commonjs/main_thread/decrypt/create_session.d.ts.map +1 -1
  74. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts +3 -4
  75. package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  76. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts +3 -4
  77. package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  78. package/dist/commonjs/main_thread/decrypt/session_events_listener.d.ts +2 -2
  79. package/dist/commonjs/main_thread/decrypt/session_events_listener.d.ts.map +1 -1
  80. package/dist/commonjs/main_thread/decrypt/set_server_certificate.d.ts +3 -3
  81. package/dist/commonjs/main_thread/decrypt/set_server_certificate.d.ts.map +1 -1
  82. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.d.ts +2 -2
  83. package/dist/commonjs/main_thread/decrypt/utils/check_key_statuses.d.ts.map +1 -1
  84. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.d.ts +2 -2
  85. package/dist/commonjs/main_thread/decrypt/utils/is_session_usable.d.ts.map +1 -1
  86. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.d.ts +10 -10
  87. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.d.ts.map +1 -1
  88. package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.js +2 -2
  89. package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.d.ts +4 -4
  90. package/dist/commonjs/main_thread/decrypt/utils/media_keys_attacher.d.ts.map +1 -1
  91. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts +5 -7
  92. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  93. package/dist/commonjs/main_thread/decrypt/utils/persistent_sessions_store.js +3 -5
  94. package/dist/commonjs/main_thread/decrypt/utils/server_certificate_store.d.ts +5 -5
  95. package/dist/commonjs/main_thread/decrypt/utils/server_certificate_store.d.ts.map +1 -1
  96. package/dist/commonjs/main_thread/init/directfile_content_initializer.js +1 -1
  97. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +6 -0
  98. package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  99. package/dist/commonjs/main_thread/init/media_source_content_initializer.js +77 -25
  100. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +6 -0
  101. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  102. package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +8 -8
  103. package/dist/commonjs/main_thread/init/types.d.ts +3 -2
  104. package/dist/commonjs/main_thread/init/types.d.ts.map +1 -1
  105. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.d.ts +2 -0
  106. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
  107. package/dist/commonjs/main_thread/init/utils/create_core_playback_observer.js +1 -0
  108. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.d.ts +1 -3
  109. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.d.ts.map +1 -1
  110. package/dist/commonjs/main_thread/init/utils/get_loaded_reference.js +4 -5
  111. package/dist/commonjs/main_thread/init/utils/rebuffering_controller.d.ts.map +1 -1
  112. package/dist/commonjs/main_thread/init/utils/rebuffering_controller.js +1 -13
  113. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +1 -4
  114. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts.map +1 -1
  115. package/dist/commonjs/main_thread/init/utils/stream_events_emitter/stream_events_emitter.js +3 -5
  116. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts +2 -2
  117. package/dist/commonjs/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  118. package/dist/commonjs/main_thread/tracks_store/tracks_store.js +16 -22
  119. package/dist/commonjs/manifest/classes/index.d.ts +2 -2
  120. package/dist/commonjs/manifest/classes/index.d.ts.map +1 -1
  121. package/dist/commonjs/manifest/classes/manifest.d.ts +17 -2
  122. package/dist/commonjs/manifest/classes/manifest.d.ts.map +1 -1
  123. package/dist/commonjs/manifest/classes/manifest.js +55 -12
  124. package/dist/commonjs/manifest/classes/representation.d.ts +9 -0
  125. package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
  126. package/dist/commonjs/manifest/classes/representation.js +1 -0
  127. package/dist/commonjs/manifest/index.d.ts +2 -2
  128. package/dist/commonjs/manifest/index.d.ts.map +1 -1
  129. package/dist/commonjs/manifest/utils.js +1 -1
  130. package/dist/commonjs/multithread_types.d.ts +8 -0
  131. package/dist/commonjs/multithread_types.d.ts.map +1 -1
  132. package/dist/commonjs/parsers/containers/isobmff/extract_complete_chunks.d.ts +1 -1
  133. package/dist/commonjs/parsers/containers/isobmff/extract_complete_chunks.js +1 -1
  134. package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +1 -1
  135. package/dist/commonjs/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  136. package/dist/commonjs/playback_observer/media_element_playback_observer.js +6 -4
  137. package/dist/commonjs/playback_observer/types.d.ts +2 -0
  138. package/dist/commonjs/playback_observer/types.d.ts.map +1 -1
  139. package/dist/commonjs/playback_observer/worker_playback_observer.d.ts +2 -0
  140. package/dist/commonjs/playback_observer/worker_playback_observer.d.ts.map +1 -1
  141. package/dist/commonjs/public_types.d.ts +14 -0
  142. package/dist/commonjs/public_types.d.ts.map +1 -1
  143. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
  144. package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
  145. package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
  146. package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
  147. package/dist/es2017/compat/browser_compatibility_types.d.ts +32 -13
  148. package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
  149. package/dist/es2017/compat/browser_compatibility_types.js +12 -32
  150. package/dist/es2017/compat/eme/close_session.d.ts +2 -2
  151. package/dist/es2017/compat/eme/close_session.d.ts.map +1 -1
  152. package/dist/es2017/compat/eme/custom_key_system_access.d.ts +4 -9
  153. package/dist/es2017/compat/eme/custom_key_system_access.d.ts.map +1 -1
  154. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.d.ts +5 -6
  155. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.d.ts.map +1 -1
  156. package/dist/es2017/compat/eme/custom_media_keys/ie11_media_keys.js +4 -4
  157. package/dist/es2017/compat/eme/custom_media_keys/index.d.ts +0 -2
  158. package/dist/es2017/compat/eme/custom_media_keys/index.d.ts.map +1 -1
  159. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts +4 -5
  160. package/dist/es2017/compat/eme/custom_media_keys/moz_media_keys_constructor.d.ts.map +1 -1
  161. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts +5 -6
  162. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.d.ts.map +1 -1
  163. package/dist/es2017/compat/eme/custom_media_keys/old_webkit_media_keys.js +1 -1
  164. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts +5 -11
  165. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.d.ts.map +1 -1
  166. package/dist/es2017/compat/eme/custom_media_keys/webkit_media_keys.js +2 -2
  167. package/dist/es2017/compat/eme/eme-api-implementation.d.ts +5 -6
  168. package/dist/es2017/compat/eme/eme-api-implementation.d.ts.map +1 -1
  169. package/dist/es2017/compat/eme/eme-api-implementation.js +1 -0
  170. package/dist/es2017/compat/eme/generate_key_request.d.ts +2 -2
  171. package/dist/es2017/compat/eme/generate_key_request.d.ts.map +1 -1
  172. package/dist/es2017/compat/eme/get_init_data.d.ts +2 -2
  173. package/dist/es2017/compat/eme/get_init_data.d.ts.map +1 -1
  174. package/dist/es2017/compat/eme/index.d.ts +1 -3
  175. package/dist/es2017/compat/eme/index.d.ts.map +1 -1
  176. package/dist/es2017/compat/eme/load_session.d.ts +2 -2
  177. package/dist/es2017/compat/eme/load_session.d.ts.map +1 -1
  178. package/dist/es2017/compat/eme/set_media_keys.d.ts +2 -3
  179. package/dist/es2017/compat/eme/set_media_keys.d.ts.map +1 -1
  180. package/dist/es2017/compat/event_listeners.d.ts +2 -3
  181. package/dist/es2017/compat/event_listeners.d.ts.map +1 -1
  182. package/dist/es2017/compat/remove_cue.d.ts +2 -1
  183. package/dist/es2017/compat/remove_cue.d.ts.map +1 -1
  184. package/dist/es2017/core/main/common/FreezeResolver.d.ts +176 -0
  185. package/dist/es2017/core/main/common/FreezeResolver.d.ts.map +1 -0
  186. package/dist/es2017/core/main/common/FreezeResolver.js +363 -0
  187. package/dist/es2017/core/main/common/synchronize_sinks_on_observation.d.ts +11 -0
  188. package/dist/es2017/core/main/common/synchronize_sinks_on_observation.d.ts.map +1 -0
  189. package/dist/es2017/core/main/common/synchronize_sinks_on_observation.js +17 -0
  190. package/dist/es2017/core/main/worker/content_preparer.d.ts +82 -5
  191. package/dist/es2017/core/main/worker/content_preparer.d.ts.map +1 -1
  192. package/dist/es2017/core/main/worker/content_preparer.js +82 -17
  193. package/dist/es2017/core/main/worker/worker_main.d.ts.map +1 -1
  194. package/dist/es2017/core/main/worker/worker_main.js +68 -14
  195. package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
  196. package/dist/es2017/core/stream/adaptation/adaptation_stream.js +24 -2
  197. package/dist/es2017/core/stream/orchestrator/stream_orchestrator.d.ts.map +1 -1
  198. package/dist/es2017/default_config.d.ts +26 -0
  199. package/dist/es2017/default_config.d.ts.map +1 -1
  200. package/dist/es2017/default_config.js +26 -0
  201. package/dist/es2017/main_thread/api/option_utils.d.ts +26 -0
  202. package/dist/es2017/main_thread/api/option_utils.d.ts.map +1 -1
  203. package/dist/es2017/main_thread/api/option_utils.js +4 -1
  204. package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
  205. package/dist/es2017/main_thread/api/public_api.js +14 -12
  206. package/dist/es2017/main_thread/api/utils.d.ts +1 -2
  207. package/dist/es2017/main_thread/api/utils.d.ts.map +1 -1
  208. package/dist/es2017/main_thread/api/utils.js +2 -3
  209. package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
  210. package/dist/es2017/main_thread/decrypt/create_or_load_session.d.ts +2 -2
  211. package/dist/es2017/main_thread/decrypt/create_or_load_session.d.ts.map +1 -1
  212. package/dist/es2017/main_thread/decrypt/create_session.d.ts +3 -3
  213. package/dist/es2017/main_thread/decrypt/create_session.d.ts.map +1 -1
  214. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts +3 -4
  215. package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
  216. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts +3 -4
  217. package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
  218. package/dist/es2017/main_thread/decrypt/session_events_listener.d.ts +2 -2
  219. package/dist/es2017/main_thread/decrypt/session_events_listener.d.ts.map +1 -1
  220. package/dist/es2017/main_thread/decrypt/set_server_certificate.d.ts +3 -3
  221. package/dist/es2017/main_thread/decrypt/set_server_certificate.d.ts.map +1 -1
  222. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.d.ts +2 -2
  223. package/dist/es2017/main_thread/decrypt/utils/check_key_statuses.d.ts.map +1 -1
  224. package/dist/es2017/main_thread/decrypt/utils/is_session_usable.d.ts +2 -2
  225. package/dist/es2017/main_thread/decrypt/utils/is_session_usable.d.ts.map +1 -1
  226. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.d.ts +10 -10
  227. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.d.ts.map +1 -1
  228. package/dist/es2017/main_thread/decrypt/utils/loaded_sessions_store.js +2 -2
  229. package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.d.ts +4 -4
  230. package/dist/es2017/main_thread/decrypt/utils/media_keys_attacher.d.ts.map +1 -1
  231. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts +5 -7
  232. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.d.ts.map +1 -1
  233. package/dist/es2017/main_thread/decrypt/utils/persistent_sessions_store.js +3 -5
  234. package/dist/es2017/main_thread/decrypt/utils/server_certificate_store.d.ts +5 -5
  235. package/dist/es2017/main_thread/decrypt/utils/server_certificate_store.d.ts.map +1 -1
  236. package/dist/es2017/main_thread/init/directfile_content_initializer.js +1 -1
  237. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +6 -0
  238. package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
  239. package/dist/es2017/main_thread/init/media_source_content_initializer.js +77 -26
  240. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +6 -0
  241. package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
  242. package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +8 -8
  243. package/dist/es2017/main_thread/init/types.d.ts +3 -2
  244. package/dist/es2017/main_thread/init/types.d.ts.map +1 -1
  245. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.d.ts +2 -0
  246. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.d.ts.map +1 -1
  247. package/dist/es2017/main_thread/init/utils/create_core_playback_observer.js +1 -0
  248. package/dist/es2017/main_thread/init/utils/get_loaded_reference.d.ts +1 -3
  249. package/dist/es2017/main_thread/init/utils/get_loaded_reference.d.ts.map +1 -1
  250. package/dist/es2017/main_thread/init/utils/get_loaded_reference.js +4 -5
  251. package/dist/es2017/main_thread/init/utils/rebuffering_controller.d.ts.map +1 -1
  252. package/dist/es2017/main_thread/init/utils/rebuffering_controller.js +1 -13
  253. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts +1 -4
  254. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.d.ts.map +1 -1
  255. package/dist/es2017/main_thread/init/utils/stream_events_emitter/stream_events_emitter.js +3 -5
  256. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts +2 -2
  257. package/dist/es2017/main_thread/tracks_store/tracks_store.d.ts.map +1 -1
  258. package/dist/es2017/main_thread/tracks_store/tracks_store.js +16 -22
  259. package/dist/es2017/manifest/classes/index.d.ts +2 -2
  260. package/dist/es2017/manifest/classes/index.d.ts.map +1 -1
  261. package/dist/es2017/manifest/classes/manifest.d.ts +17 -2
  262. package/dist/es2017/manifest/classes/manifest.d.ts.map +1 -1
  263. package/dist/es2017/manifest/classes/manifest.js +32 -0
  264. package/dist/es2017/manifest/classes/representation.d.ts +9 -0
  265. package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
  266. package/dist/es2017/manifest/classes/representation.js +1 -0
  267. package/dist/es2017/manifest/index.d.ts +2 -2
  268. package/dist/es2017/manifest/index.d.ts.map +1 -1
  269. package/dist/es2017/manifest/utils.js +1 -1
  270. package/dist/es2017/multithread_types.d.ts +8 -0
  271. package/dist/es2017/multithread_types.d.ts.map +1 -1
  272. package/dist/es2017/parsers/containers/isobmff/extract_complete_chunks.d.ts +1 -1
  273. package/dist/es2017/parsers/containers/isobmff/extract_complete_chunks.js +1 -1
  274. package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.js +1 -1
  275. package/dist/es2017/playback_observer/media_element_playback_observer.d.ts.map +1 -1
  276. package/dist/es2017/playback_observer/media_element_playback_observer.js +6 -4
  277. package/dist/es2017/playback_observer/types.d.ts +2 -0
  278. package/dist/es2017/playback_observer/types.d.ts.map +1 -1
  279. package/dist/es2017/playback_observer/worker_playback_observer.d.ts +2 -0
  280. package/dist/es2017/playback_observer/worker_playback_observer.d.ts.map +1 -1
  281. package/dist/es2017/public_types.d.ts +14 -0
  282. package/dist/es2017/public_types.d.ts.map +1 -1
  283. package/dist/mpd-parser.wasm +0 -0
  284. package/dist/rx-player.js +489 -191
  285. package/dist/rx-player.min.js +18 -18
  286. package/dist/worker.js +6 -6
  287. package/package.json +18 -18
  288. package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
  289. package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
  290. package/src/compat/browser_compatibility_types.ts +45 -42
  291. package/src/compat/eme/close_session.ts +2 -4
  292. package/src/compat/eme/custom_key_system_access.ts +4 -11
  293. package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +29 -23
  294. package/src/compat/eme/custom_media_keys/index.ts +0 -2
  295. package/src/compat/eme/custom_media_keys/moz_media_keys_constructor.ts +5 -9
  296. package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +15 -20
  297. package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +28 -36
  298. package/src/compat/eme/eme-api-implementation.ts +16 -14
  299. package/src/compat/eme/generate_key_request.ts +2 -2
  300. package/src/compat/eme/get_init_data.ts +2 -2
  301. package/src/compat/eme/index.ts +1 -10
  302. package/src/compat/eme/load_session.ts +4 -10
  303. package/src/compat/eme/set_media_keys.ts +2 -3
  304. package/src/compat/event_listeners.ts +2 -2
  305. package/src/compat/remove_cue.ts +11 -4
  306. package/src/core/main/common/FreezeResolver.ts +584 -0
  307. package/src/core/main/common/synchronize_sinks_on_observation.ts +22 -0
  308. package/src/core/main/worker/content_preparer.ts +112 -24
  309. package/src/core/main/worker/worker_main.ts +90 -13
  310. package/src/core/stream/adaptation/adaptation_stream.ts +38 -4
  311. package/src/core/stream/orchestrator/stream_orchestrator.ts +2 -6
  312. package/src/default_config.ts +27 -0
  313. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +3 -3
  314. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +2 -2
  315. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/decodingInfos.test.ts +4 -4
  316. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaContentType.test.ts +2 -2
  317. package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +1 -1
  318. package/src/main_thread/api/__tests__/option_utils.test.ts +3 -0
  319. package/src/main_thread/api/option_utils.ts +30 -0
  320. package/src/main_thread/api/public_api.ts +16 -12
  321. package/src/main_thread/api/utils.ts +1 -3
  322. package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +2 -2
  323. package/src/main_thread/decrypt/content_decryptor.ts +9 -8
  324. package/src/main_thread/decrypt/create_or_load_session.ts +3 -3
  325. package/src/main_thread/decrypt/create_session.ts +3 -3
  326. package/src/main_thread/decrypt/find_key_system.ts +5 -3
  327. package/src/main_thread/decrypt/get_media_keys.ts +9 -6
  328. package/src/main_thread/decrypt/session_events_listener.ts +3 -3
  329. package/src/main_thread/decrypt/set_server_certificate.ts +4 -4
  330. package/src/main_thread/decrypt/utils/check_key_statuses.ts +2 -2
  331. package/src/main_thread/decrypt/utils/is_session_usable.ts +2 -4
  332. package/src/main_thread/decrypt/utils/loaded_sessions_store.ts +15 -16
  333. package/src/main_thread/decrypt/utils/media_keys_attacher.ts +7 -7
  334. package/src/main_thread/decrypt/utils/persistent_sessions_store.ts +5 -7
  335. package/src/main_thread/decrypt/utils/server_certificate_store.ts +6 -12
  336. package/src/main_thread/init/directfile_content_initializer.ts +1 -1
  337. package/src/main_thread/init/media_source_content_initializer.ts +98 -36
  338. package/src/main_thread/init/multi_thread_content_initializer.ts +14 -15
  339. package/src/main_thread/init/types.ts +3 -2
  340. package/src/main_thread/init/utils/create_core_playback_observer.ts +3 -0
  341. package/src/main_thread/init/utils/get_loaded_reference.ts +3 -6
  342. package/src/main_thread/init/utils/rebuffering_controller.ts +2 -24
  343. package/src/main_thread/init/utils/stream_events_emitter/stream_events_emitter.ts +3 -7
  344. package/src/main_thread/tracks_store/tracks_store.ts +16 -26
  345. package/src/manifest/classes/__tests__/representation.test.ts +16 -0
  346. package/src/manifest/classes/index.ts +2 -2
  347. package/src/manifest/classes/manifest.ts +48 -4
  348. package/src/manifest/classes/representation.ts +10 -0
  349. package/src/manifest/index.ts +2 -2
  350. package/src/manifest/utils.ts +1 -1
  351. package/src/multithread_types.ts +8 -0
  352. package/src/parsers/containers/isobmff/extract_complete_chunks.ts +1 -1
  353. package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +1 -1
  354. package/src/playback_observer/media_element_playback_observer.ts +14 -24
  355. package/src/playback_observer/types.ts +2 -0
  356. package/src/playback_observer/worker_playback_observer.ts +2 -0
  357. package/src/public_types.ts +17 -0
  358. package/src/utils/__tests__/logger.test.ts +44 -60
  359. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts +0 -48
  360. package/dist/commonjs/compat/eme/custom_media_keys/types.d.ts.map +0 -1
  361. package/dist/commonjs/compat/eme/custom_media_keys/types.js +0 -17
  362. package/dist/commonjs/core/main/common/DecipherabilityFreezeDetector.d.ts +0 -80
  363. package/dist/commonjs/core/main/common/DecipherabilityFreezeDetector.d.ts.map +0 -1
  364. package/dist/commonjs/core/main/common/DecipherabilityFreezeDetector.js +0 -127
  365. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts +0 -48
  366. package/dist/es2017/compat/eme/custom_media_keys/types.d.ts.map +0 -1
  367. package/dist/es2017/compat/eme/custom_media_keys/types.js +0 -16
  368. package/dist/es2017/core/main/common/DecipherabilityFreezeDetector.d.ts +0 -80
  369. package/dist/es2017/core/main/common/DecipherabilityFreezeDetector.d.ts.map +0 -1
  370. package/dist/es2017/core/main/common/DecipherabilityFreezeDetector.js +0 -91
  371. package/src/compat/eme/custom_media_keys/types.ts +0 -66
  372. package/src/core/main/common/DecipherabilityFreezeDetector.ts +0 -147
@@ -40,12 +40,32 @@ var adaptive_1 = require("../../adaptive");
40
40
  var cmcd_1 = require("../../cmcd");
41
41
  var fetchers_1 = require("../../fetchers");
42
42
  var segment_sinks_1 = require("../../segment_sinks");
43
- var DecipherabilityFreezeDetector_1 = require("../common/DecipherabilityFreezeDetector");
43
+ var FreezeResolver_1 = require("../common/FreezeResolver");
44
44
  var globals_1 = require("./globals");
45
45
  var send_message_1 = require("./send_message");
46
46
  var track_choice_setter_1 = require("./track_choice_setter");
47
47
  var worker_text_displayer_interface_1 = require("./worker_text_displayer_interface");
48
+ /** Function allowing to associate a unique identifier to all created `MediaSource` */
48
49
  var generateMediaSourceId = (0, id_generator_1.default)();
50
+ /**
51
+ * Class facilitating the workflows behind loading a new content for the
52
+ * RxPlayer Core:
53
+ *
54
+ * - Handle Manifest fetching and Manifest updates.
55
+ *
56
+ * - Handle the `MediaSource`'s creation and indirectly of its `SourceBuffer`s
57
+ * as well as handling "MediaSource reloading".
58
+ *
59
+ * - initialize various modules (`segmentQueueCreator`, CmcdDataBuilder`,
60
+ * `RepresentationEstimator`) linked to the initialized content.
61
+ *
62
+ * You can start loading a content through the `initializeNewContent` method.
63
+ *
64
+ * When a content is linked to the `ContentPreparer` you can inspect the
65
+ * different initialized modules by calling its `getCurrentContent` method.
66
+ *
67
+ * @class ContentPreparer
68
+ */
49
69
  var ContentPreparer = /** @class */ (function () {
50
70
  /**
51
71
  * @param {Object} capabilities
@@ -69,6 +89,18 @@ var ContentPreparer = /** @class */ (function () {
69
89
  var contentCanceller = new task_canceller_1.default();
70
90
  this._contentCanceller = contentCanceller;
71
91
  }
92
+ /**
93
+ * Start fetching the wanted content's Manifest and initializing the various
94
+ * modules stored by the `ContentPreparer` linked to that content.
95
+ *
96
+ * The returned Promise resolves with the parsed Manifest when those modules
97
+ * are all ready and you can thus begin to load the content.
98
+ *
99
+ * Reject if it failed to do so.
100
+ * @param {Object} context - Information on the content that should be
101
+ * initialized.
102
+ * @returns {Promise.<Object>}
103
+ */
72
104
  ContentPreparer.prototype.initializeNewContent = function (context) {
73
105
  var _this = this;
74
106
  return new Promise(function (res, rej) {
@@ -78,7 +110,7 @@ var ContentPreparer = /** @class */ (function () {
78
110
  var currentMediaSourceCanceller = new task_canceller_1.default();
79
111
  _this._currentMediaSourceCanceller = currentMediaSourceCanceller;
80
112
  currentMediaSourceCanceller.linkToSignal(contentCanceller.signal);
81
- var contentId = context.contentId, url = context.url, hasText = context.hasText, transportOptions = context.transportOptions;
113
+ var contentId = context.contentId, url = context.url, hasText = context.hasText, transportOptions = context.transportOptions, enableRepresentationAvoidance = context.enableRepresentationAvoidance;
82
114
  var manifest = null;
83
115
  // TODO better way
84
116
  (0, assert_1.default)(features_1.default.transports.dash !== undefined, "Multithread RxPlayer should have access to the DASH feature");
@@ -104,16 +136,17 @@ var ContentPreparer = /** @class */ (function () {
104
136
  });
105
137
  var segmentQueueCreator = new fetchers_1.SegmentQueueCreator(dashPipelines, cmcdDataBuilder, context.segmentRetryOptions, contentCanceller.signal);
106
138
  var trackChoiceSetter = new track_choice_setter_1.default();
107
- var _c = __read(createMediaSourceAndBuffersStore(contentId, {
139
+ var _c = __read(createMediaSourceInterfaceAndSegmentSinksStore(contentId, {
108
140
  hasMseInWorker: _this._hasMseInWorker,
109
141
  hasVideo: _this._hasVideo,
110
142
  hasText: hasText,
111
143
  }, currentMediaSourceCanceller.signal), 3), mediaSource = _c[0], segmentSinksStore = _c[1], workerTextSender = _c[2];
112
- var decipherabilityFreezeDetector = new DecipherabilityFreezeDetector_1.default(segmentSinksStore);
144
+ var freezeResolver = new FreezeResolver_1.default(segmentSinksStore);
113
145
  _this._currentContent = {
114
146
  cmcdDataBuilder: cmcdDataBuilder,
115
147
  contentId: contentId,
116
- decipherabilityFreezeDetector: decipherabilityFreezeDetector,
148
+ enableRepresentationAvoidance: enableRepresentationAvoidance,
149
+ freezeResolver: freezeResolver,
117
150
  mediaSource: mediaSource,
118
151
  manifest: null,
119
152
  manifestFetcher: manifestFetcher,
@@ -148,6 +181,11 @@ var ContentPreparer = /** @class */ (function () {
148
181
  checkIfReadyAndValidate();
149
182
  }, currentMediaSourceCanceller.signal);
150
183
  manifestFetcher.addEventListener("error", function (err) {
184
+ (0, send_message_1.default)({
185
+ type: "error" /* WorkerMessageType.Error */,
186
+ contentId: contentId,
187
+ value: (0, send_message_1.formatErrorForSender)(err),
188
+ });
151
189
  rej(err);
152
190
  }, contentCanceller.signal);
153
191
  manifestFetcher.start();
@@ -179,13 +217,35 @@ var ContentPreparer = /** @class */ (function () {
179
217
  }
180
218
  });
181
219
  };
220
+ /**
221
+ * Get information on the current content prepared through the
222
+ * `initializeNewContent` method, or `null` if no content is currently
223
+ * prepared.
224
+ * @returns {Object|null}
225
+ */
182
226
  ContentPreparer.prototype.getCurrentContent = function () {
183
227
  return this._currentContent;
184
228
  };
229
+ /**
230
+ * Schedule an update for the Manifest file,
231
+ *
232
+ * Do nothing if no content is currently prepared.
233
+ * @param {Object} settings - Various settings to configure the ways and
234
+ * moment at which the Manifest will be refreshed.
235
+ */
185
236
  ContentPreparer.prototype.scheduleManifestRefresh = function (settings) {
186
237
  var _a;
187
238
  (_a = this._currentContent) === null || _a === void 0 ? void 0 : _a.manifestFetcher.scheduleManualRefresh(settings);
188
239
  };
240
+ /**
241
+ * If there is a prepared content right now, performs the destructive
242
+ * "reloading" strategy: dispose of its `MediaSource` (and of its
243
+ * `SourceBuffer`) and recreate one.
244
+ *
245
+ * The returned Promise resolves when it restarts being ready.
246
+ * @param {Object} reloadInfo
247
+ * @returns {Promise}
248
+ */
189
249
  ContentPreparer.prototype.reloadMediaSource = function (reloadInfo) {
190
250
  var _this = this;
191
251
  this._currentMediaSourceCanceller.cancel();
@@ -199,19 +259,20 @@ var ContentPreparer = /** @class */ (function () {
199
259
  contentId: this._currentContent.contentId,
200
260
  value: reloadInfo,
201
261
  }, []);
202
- var _a = __read(createMediaSourceAndBuffersStore(this._currentContent.contentId, {
262
+ var _a = __read(createMediaSourceInterfaceAndSegmentSinksStore(this._currentContent.contentId, {
203
263
  hasMseInWorker: this._hasMseInWorker,
204
264
  hasVideo: this._hasVideo,
205
265
  hasText: this._currentContent.workerTextSender !== null,
206
- }, this._currentMediaSourceCanceller.signal), 3), mediaSource = _a[0], segmentSinksStore = _a[1], workerTextSender = _a[2];
207
- this._currentContent.mediaSource = mediaSource;
266
+ }, this._currentMediaSourceCanceller.signal), 3), mediaSourceInterface = _a[0], segmentSinksStore = _a[1], workerTextSender = _a[2];
267
+ this._currentContent.mediaSource = mediaSourceInterface;
208
268
  this._currentContent.segmentSinksStore = segmentSinksStore;
269
+ this._currentContent.freezeResolver = new FreezeResolver_1.default(segmentSinksStore);
209
270
  this._currentContent.workerTextSender = workerTextSender;
210
271
  return new Promise(function (res, rej) {
211
- mediaSource.addEventListener("mediaSourceOpen", function () {
272
+ mediaSourceInterface.addEventListener("mediaSourceOpen", function () {
212
273
  res();
213
274
  }, _this._currentMediaSourceCanceller.signal);
214
- mediaSource.addEventListener("mediaSourceClose", function () {
275
+ mediaSourceInterface.addEventListener("mediaSourceClose", function () {
215
276
  rej(new Error("MediaSource ReadyState changed to close during init."));
216
277
  }, _this._currentMediaSourceCanceller.signal);
217
278
  _this._currentMediaSourceCanceller.signal.register(function (error) {
@@ -219,6 +280,10 @@ var ContentPreparer = /** @class */ (function () {
219
280
  });
220
281
  });
221
282
  };
283
+ /**
284
+ * Dispose all resources linked to the currently preopared content if one and
285
+ * stop linking it to this `ContentPreparer`.
286
+ */
222
287
  ContentPreparer.prototype.disposeCurrentContent = function () {
223
288
  this._contentCanceller.cancel();
224
289
  this._contentCanceller = new task_canceller_1.default();
@@ -235,11 +300,11 @@ exports.default = ContentPreparer;
235
300
  * @param {Object} cancelSignal
236
301
  * @returns {Array.<Object>}
237
302
  */
238
- function createMediaSourceAndBuffersStore(contentId, capabilities, cancelSignal) {
239
- var mediaSource;
303
+ function createMediaSourceInterfaceAndSegmentSinksStore(contentId, capabilities, cancelSignal) {
304
+ var mediaSourceInterface;
240
305
  if (capabilities.hasMseInWorker) {
241
306
  var mainMediaSource = new main_media_source_interface_1.default(generateMediaSourceId());
242
- mediaSource = mainMediaSource;
307
+ mediaSourceInterface = mainMediaSource;
243
308
  var sentMediaSourceLink = void 0;
244
309
  var handle = mainMediaSource.handle;
245
310
  if (handle.type === "handle") {
@@ -256,21 +321,21 @@ function createMediaSourceAndBuffersStore(contentId, capabilities, cancelSignal)
256
321
  type: "attach-media-source" /* WorkerMessageType.AttachMediaSource */,
257
322
  contentId: contentId,
258
323
  value: sentMediaSourceLink,
259
- mediaSourceId: mediaSource.id,
324
+ mediaSourceId: mediaSourceInterface.id,
260
325
  }, [handle.value]);
261
326
  }
262
327
  else {
263
- mediaSource = new worker_media_source_interface_1.default(generateMediaSourceId(), contentId, send_message_1.default);
328
+ mediaSourceInterface = new worker_media_source_interface_1.default(generateMediaSourceId(), contentId, send_message_1.default);
264
329
  }
265
330
  var textSender = capabilities.hasText
266
331
  ? new worker_text_displayer_interface_1.default(contentId, send_message_1.default)
267
332
  : null;
268
333
  var hasVideo = capabilities.hasVideo;
269
- var segmentSinksStore = new segment_sinks_1.default(mediaSource, hasVideo, textSender);
334
+ var segmentSinksStore = new segment_sinks_1.default(mediaSourceInterface, hasVideo, textSender);
270
335
  cancelSignal.register(function () {
271
336
  segmentSinksStore.disposeAll();
272
337
  textSender === null || textSender === void 0 ? void 0 : textSender.stop();
273
- mediaSource.dispose();
338
+ mediaSourceInterface.dispose();
274
339
  });
275
- return [mediaSource, segmentSinksStore, textSender];
340
+ return [mediaSourceInterface, segmentSinksStore, textSender];
276
341
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker_main.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/worker_main.ts"],"names":[],"mappings":"AAgDA,MAAM,CAAC,OAAO,UAAU,oBAAoB,SAgX3C"}
1
+ {"version":3,"file":"worker_main.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/worker_main.ts"],"names":[],"mappings":"AAkDA,MAAM,CAAC,OAAO,UAAU,oBAAoB,SAiX3C"}
@@ -68,6 +68,7 @@ var task_canceller_1 = require("../../../utils/task_canceller");
68
68
  var stream_1 = require("../../stream");
69
69
  var create_content_time_boundaries_observer_1 = require("../common/create_content_time_boundaries_observer");
70
70
  var get_buffered_data_per_media_buffer_1 = require("../common/get_buffered_data_per_media_buffer");
71
+ var synchronize_sinks_on_observation_1 = require("../common/synchronize_sinks_on_observation");
71
72
  var content_preparer_1 = require("./content_preparer");
72
73
  var globals_1 = require("./globals");
73
74
  var send_message_1 = require("./send_message");
@@ -154,6 +155,7 @@ function initializeWorkerMain() {
154
155
  currentLoadedContentTaskCanceller.signal.register(function () {
155
156
  currentContentObservationRef_1.finish();
156
157
  });
158
+ log_1.default.debug("WP: Loading new pepared content.");
157
159
  loadOrReloadPreparedContent(msg.value, contentPreparer, currentContentObservationRef_1, currentCanceller.signal);
158
160
  break;
159
161
  }
@@ -418,6 +420,7 @@ function updateGlobalReference(msg) {
418
420
  }
419
421
  function loadOrReloadPreparedContent(val, contentPreparer, playbackObservationRef, parentCancelSignal) {
420
422
  var _a;
423
+ log_1.default.debug("WP: Loading prepared content");
421
424
  var currentLoadCanceller = new task_canceller_1.default();
422
425
  currentLoadCanceller.linkToSignal(parentCancelSignal);
423
426
  /**
@@ -439,24 +442,19 @@ function loadOrReloadPreparedContent(val, contentPreparer, playbackObservationRe
439
442
  });
440
443
  return;
441
444
  }
442
- var contentId = preparedContent.contentId, cmcdDataBuilder = preparedContent.cmcdDataBuilder, manifest = preparedContent.manifest, mediaSource = preparedContent.mediaSource, representationEstimator = preparedContent.representationEstimator, segmentSinksStore = preparedContent.segmentSinksStore, segmentQueueCreator = preparedContent.segmentQueueCreator;
445
+ var contentId = preparedContent.contentId, cmcdDataBuilder = preparedContent.cmcdDataBuilder, enableRepresentationAvoidance = preparedContent.enableRepresentationAvoidance, manifest = preparedContent.manifest, mediaSource = preparedContent.mediaSource, representationEstimator = preparedContent.representationEstimator, segmentSinksStore = preparedContent.segmentSinksStore, segmentQueueCreator = preparedContent.segmentQueueCreator;
443
446
  var drmSystemId = val.drmSystemId, enableFastSwitching = val.enableFastSwitching, initialTime = val.initialTime, onCodecSwitch = val.onCodecSwitch;
444
447
  playbackObservationRef.onUpdate(function (observation) {
445
- if (preparedContent.decipherabilityFreezeDetector.needToReload(observation)) {
446
- handleMediaSourceReload({
447
- timeOffset: 0,
448
- minimumPosition: 0,
449
- maximumPosition: Infinity,
448
+ (0, synchronize_sinks_on_observation_1.default)(observation, segmentSinksStore);
449
+ var freezeResolution = preparedContent.freezeResolver.onNewObservation(observation);
450
+ if (freezeResolution !== null) {
451
+ handleFreezeResolution(freezeResolution, {
452
+ contentId: contentId,
453
+ manifest: manifest,
454
+ handleMediaSourceReload: handleMediaSourceReload,
455
+ enableRepresentationAvoidance: enableRepresentationAvoidance,
450
456
  });
451
457
  }
452
- // Synchronize SegmentSinks with what has been buffered.
453
- ["video", "audio", "text"].forEach(function (tType) {
454
- var _a;
455
- var segmentSinkStatus = segmentSinksStore.getStatus(tType);
456
- if (segmentSinkStatus.type === "initialized") {
457
- segmentSinkStatus.value.synchronizeInventory((_a = observation.buffered[tType]) !== null && _a !== void 0 ? _a : []);
458
- }
459
- });
460
458
  }, { clearSignal: currentLoadCanceller.signal });
461
459
  var initialPeriod = (_a = manifest.getPeriodForTime(initialTime)) !== null && _a !== void 0 ? _a : manifest.getNextPeriod(initialTime);
462
460
  if (initialPeriod === undefined) {
@@ -744,7 +742,9 @@ function loadOrReloadPreparedContent(val, contentPreparer, playbackObservationRe
744
742
  if (currentLoadCanceller !== null) {
745
743
  currentLoadCanceller.cancel();
746
744
  }
745
+ log_1.default.debug("WP: Reloading MediaSource", payload.timeOffset, payload.minimumPosition, payload.maximumPosition);
747
746
  contentPreparer.reloadMediaSource(payload).then(function () {
747
+ log_1.default.info("WP: MediaSource Reloaded, loading content again");
748
748
  loadOrReloadPreparedContent({
749
749
  initialTime: newInitialTime,
750
750
  drmSystemId: val.drmSystemId,
@@ -807,3 +807,58 @@ function sendSegmentSinksStoreInfos(contentPreparer, messageId) {
807
807
  value: { segmentSinkMetrics: segmentSinksMetrics, messageId: messageId },
808
808
  });
809
809
  }
810
+ /**
811
+ * Handle accordingly an `IFreezeResolution` object.
812
+ * @param {Object|null} freezeResolution - The `IFreezeResolution` suggested.
813
+ * @param {Object} param - Parameters that might be needed to implement the
814
+ * resolution.
815
+ * @param {string} param.contentId - `contentId` for the current content, used
816
+ * e.g. for message exchanges between threads.
817
+ * @param {Object} param.manifest - The current content's Manifest object.
818
+ * @param {Function} param.handleMediaSourceReload - Function to call if we need
819
+ * to ask for a "MediaSource reload".
820
+ * @param {Boolean} param.enableRepresentationAvoidance - If `true`, this
821
+ * function is authorized to mark `Representation` as "to avoid" if the
822
+ * `IFreezeResolution` object suggest it.
823
+ */
824
+ function handleFreezeResolution(freezeResolution, _a) {
825
+ var contentId = _a.contentId, manifest = _a.manifest, handleMediaSourceReload = _a.handleMediaSourceReload, enableRepresentationAvoidance = _a.enableRepresentationAvoidance;
826
+ switch (freezeResolution.type) {
827
+ case "reload": {
828
+ log_1.default.info("WP: Planning reload due to freeze");
829
+ handleMediaSourceReload({
830
+ timeOffset: 0,
831
+ minimumPosition: 0,
832
+ maximumPosition: Infinity,
833
+ });
834
+ break;
835
+ }
836
+ case "flush": {
837
+ log_1.default.info("WP: Flushing buffer due to freeze");
838
+ (0, send_message_1.default)({
839
+ type: "needs-buffer-flush" /* WorkerMessageType.NeedsBufferFlush */,
840
+ contentId: contentId,
841
+ value: {
842
+ relativeResumingPosition: freezeResolution.value.relativeSeek,
843
+ relativePosHasBeenDefaulted: false,
844
+ },
845
+ });
846
+ break;
847
+ }
848
+ case "avoid-representations": {
849
+ log_1.default.info("WP: Planning Representation avoidance due to freeze");
850
+ var content = freezeResolution.value;
851
+ if (enableRepresentationAvoidance) {
852
+ manifest.addRepresentationsToAvoid(content);
853
+ }
854
+ handleMediaSourceReload({
855
+ timeOffset: 0,
856
+ minimumPosition: 0,
857
+ maximumPosition: Infinity,
858
+ });
859
+ break;
860
+ }
861
+ default:
862
+ (0, assert_1.assertUnreachable)(freezeResolution);
863
+ }
864
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"adaptation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/adaptation_stream.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EACE,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,0BAA0B,EAC7B,SAAS,EAAE,0BAA0B,EACrC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CA2dN"}
1
+ {"version":3,"file":"adaptation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/adaptation_stream.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EACE,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,0BAA0B,EAC7B,SAAS,EAAE,0BAA0B,EACrC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CAieN"}
@@ -114,7 +114,7 @@ function AdaptationStream(_a, callbacks, parentCancelSignal) {
114
114
  /** Stores the last emitted bitrate. */
115
115
  var previouslyEmittedBitrate;
116
116
  var initialRepIds = content.representations.getValue().representationIds;
117
- var initialRepresentations = content.adaptation.representations.filter(function (r) { return (0, array_includes_1.default)(initialRepIds, r.id) && r.isPlayable() !== false; });
117
+ var initialRepresentations = getRepresentationList(content.adaptation.representations, initialRepIds);
118
118
  /** Emit the list of Representation for the adaptive logic. */
119
119
  var representationsList = new reference_1.default(initialRepresentations, adapStreamCanceller.signal);
120
120
  // Start-up Adaptive logic
@@ -164,9 +164,10 @@ function AdaptationStream(_a, callbacks, parentCancelSignal) {
164
164
  cancelCurrentStreams.cancel();
165
165
  }
166
166
  var newRepIds = content.representations.getValue().representationIds;
167
- var newRepresentations = content.adaptation.representations.filter(function (r) {
168
- return (0, array_includes_1.default)(newRepIds, r.id);
169
- });
167
+ // NOTE: We expect that the rest of the RxPlayer code is already handling
168
+ // cases where the list of playable `Representation` changes:
169
+ // decipherability updates, "`Representation` avoidance" etc.
170
+ var newRepresentations = getRepresentationList(content.adaptation.representations, newRepIds);
170
171
  representationsList.setValueIfChanged(newRepresentations);
171
172
  cancelCurrentStreams = new task_canceller_1.default();
172
173
  cancelCurrentStreams.linkToSignal(adapStreamCanceller.signal);
@@ -520,3 +521,24 @@ function AdaptationStream(_a, callbacks, parentCancelSignal) {
520
521
  return wba * bufferGoalRatio;
521
522
  }
522
523
  }
524
+ /**
525
+ * Construct the list of the `Representation` to play, based on what's supported
526
+ * and what the API seem to authorize.
527
+ * @param {Array.<Object>} availableRepresentations - All available
528
+ * Representation in the current `Adaptation`, including unsupported ones.
529
+ * @param {Array.<string>} authorizedRepIds - The subset of `Representation`
530
+ * that the API authorize us to play.
531
+ * @returns {Array.<Object>}
532
+ */
533
+ function getRepresentationList(availableRepresentations, authorizedRepIds) {
534
+ var filteredRepresentations = availableRepresentations.filter(function (r) {
535
+ return (0, array_includes_1.default)(authorizedRepIds, r.id) &&
536
+ !r.shouldBeAvoided &&
537
+ r.isPlayable() !== false;
538
+ });
539
+ if (filteredRepresentations.length > 0) {
540
+ return filteredRepresentations;
541
+ }
542
+ // Retry without "`Representation` avoidance"
543
+ return availableRepresentations.filter(function (r) { return (0, array_includes_1.default)(authorizedRepIds, r.id) && r.isPlayable() !== false; });
544
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"stream_orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/orchestrator/stream_orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EACV,SAAS,EAET,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAEjC,MAAM,WAAW,CAAC;AAKnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,OAAO,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,EACxD,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,uBAAuB,EAAE,wBAAwB,EACjD,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,4BAA4B,EACvC,wBAAwB,EAAE,kBAAkB,GAC3C,IAAI,CAoiBN;AAED,MAAM,MAAM,sCAAsC,GAAG,gCAAgC,CAAC;AAEtF,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC9D,iBAAiB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACpD,kBAAkB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACrD,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,sEAAsE;AACtE,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAChE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAChE;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAAC;IACtE;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD;;;;;;;;;OASG;IACH,yBAAyB,IAAI,IAAI,CAAC;CACnC;AAED,sDAAsD;AACtD,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,WAAW,CAAC;CACzB"}
1
+ {"version":3,"file":"stream_orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/orchestrator/stream_orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,SAAS,EAA8B,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAGzD,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAEjC,MAAM,WAAW,CAAC;AAKnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,OAAO,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,EACxD,gBAAgB,EAAE,yBAAyB,CAAC,sCAAsC,CAAC,EACnF,uBAAuB,EAAE,wBAAwB,EACjD,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,4BAA4B,EACvC,wBAAwB,EAAE,kBAAkB,GAC3C,IAAI,CAoiBN;AAED,MAAM,MAAM,sCAAsC,GAAG,gCAAgC,CAAC;AAEtF,+DAA+D;AAC/D,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC9D,iBAAiB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACpD,kBAAkB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACrD,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjD,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,sEAAsE;AACtE,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAChE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAChE;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAAC;IACtE;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD;;;;;;;;;OASG;IACH,yBAAyB,IAAI,IAAI,CAAC;CACnC;AAED,sDAAsD;AACtD,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;OAIG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,UAAU,EAAE,WAAW,CAAC;CACzB"}
@@ -497,6 +497,32 @@ declare const DEFAULT_CONFIG: {
497
497
  * buffers.
498
498
  */
499
499
  UNFREEZING_DELTA_POSITION: number;
500
+ /**
501
+ * `FREEZING` is a situation where the playback does not seem to advance despite
502
+ * all web indicators telling us we can.
503
+ * Those may be linked to device issues, but sometimes are just linked to
504
+ * performance or it may be just decryption negotiations taking more time than
505
+ * expected.
506
+ *
507
+ * Anyway we might in the RxPlayer "flush" the buffer in that situation to
508
+ * un-stuck playback (this is usually done by seeking close to the current
509
+ * position),
510
+ *
511
+ * Yet that "flush" attempt may not in the end be succesful.
512
+ *
513
+ * If a flush was performed more than `FREEZING_FLUSH_FAILURE_DELAY.MINIMUM`
514
+ * milliseconds ago and less than `FREEZING_FLUSH_FAILURE_DELAY.MAXIMUM`
515
+ * milliseconds ago, yet a `FREEZING` situation at roughly the same playback
516
+ * position (deviating from less than
517
+ * `FREEZING_FLUSH_FAILURE_DELAY.POSITION_DELTA` seconds from it) is
518
+ * encountered again, we will consider that the flushing attempt was unsuccesful
519
+ * and try more agressive solutions (such as reloading the content).
520
+ */
521
+ FREEZING_FLUSH_FAILURE_DELAY: {
522
+ MAXIMUM: number;
523
+ MINIMUM: number;
524
+ POSITION_DELTA: number;
525
+ };
500
526
  /**
501
527
  * The RxPlayer has a recurring logic which will synchronize the browser's
502
528
  * buffers' buffered time ranges with its internal representation in the
@@ -1 +1 @@
1
- {"version":3,"file":"default_config.d.ts","sourceRoot":"","sources":["../../src/default_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default_config.d.ts","sourceRoot":"","sources":["../../src/default_config.ts"],"names":[],"mappings":"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"}
@@ -506,6 +506,32 @@ var DEFAULT_CONFIG = {
506
506
  * buffers.
507
507
  */
508
508
  UNFREEZING_DELTA_POSITION: 0.001,
509
+ /**
510
+ * `FREEZING` is a situation where the playback does not seem to advance despite
511
+ * all web indicators telling us we can.
512
+ * Those may be linked to device issues, but sometimes are just linked to
513
+ * performance or it may be just decryption negotiations taking more time than
514
+ * expected.
515
+ *
516
+ * Anyway we might in the RxPlayer "flush" the buffer in that situation to
517
+ * un-stuck playback (this is usually done by seeking close to the current
518
+ * position),
519
+ *
520
+ * Yet that "flush" attempt may not in the end be succesful.
521
+ *
522
+ * If a flush was performed more than `FREEZING_FLUSH_FAILURE_DELAY.MINIMUM`
523
+ * milliseconds ago and less than `FREEZING_FLUSH_FAILURE_DELAY.MAXIMUM`
524
+ * milliseconds ago, yet a `FREEZING` situation at roughly the same playback
525
+ * position (deviating from less than
526
+ * `FREEZING_FLUSH_FAILURE_DELAY.POSITION_DELTA` seconds from it) is
527
+ * encountered again, we will consider that the flushing attempt was unsuccesful
528
+ * and try more agressive solutions (such as reloading the content).
529
+ */
530
+ FREEZING_FLUSH_FAILURE_DELAY: {
531
+ MAXIMUM: 20000,
532
+ MINIMUM: 4000,
533
+ POSITION_DELTA: 1,
534
+ },
509
535
  /**
510
536
  * The RxPlayer has a recurring logic which will synchronize the browser's
511
537
  * buffers' buffered time ranges with its internal representation in the
@@ -47,29 +47,55 @@ export interface IParsedConstructorOptions {
47
47
  /**
48
48
  * Base type which the types for the parsed options of the RxPlayer's
49
49
  * `loadVideo` method exend.
50
+ * @see ILoadVideoOptions
50
51
  */
51
52
  interface IParsedLoadVideoOptionsBase {
53
+ /** @see ILoadVideoOptions.url */
52
54
  url: string | undefined;
55
+ /** @see ILoadVideoOptions.transport */
53
56
  transport: string;
57
+ /** @see ILoadVideoOptions.autoPlay */
54
58
  autoPlay: boolean;
59
+ /** @see ILoadVideoOptions.initialManifest */
55
60
  initialManifest: ILoadedManifestFormat | undefined;
61
+ /** @see ILoadVideoOptions.keySystems */
56
62
  keySystems: IKeySystemOption[];
63
+ /** @see ILoadVideoOptions.lowLatencyMode */
57
64
  lowLatencyMode: boolean;
65
+ /** @see ILoadVideoOptions.minimumManifestUpdateInterval */
58
66
  minimumManifestUpdateInterval: number;
67
+ /** @see ILoadVideoOptions.requestConfig */
59
68
  requestConfig: IRequestConfig;
69
+ /** @see ILoadVideoOptions.startAt */
60
70
  startAt: IParsedStartAtOption | undefined;
71
+ /** @see ILoadVideoOptions.enableFastSwitching */
61
72
  enableFastSwitching: boolean;
73
+ /** @see ILoadVideoOptions.defaultAudioTrackSwitchingMode */
62
74
  defaultAudioTrackSwitchingMode: IAudioTrackSwitchingMode | undefined;
75
+ /** @see ILoadVideoOptions.onCodecSwitch */
63
76
  onCodecSwitch: "continue" | "reload";
77
+ /** @see ILoadVideoOptions.checkMediaSegmentIntegrity */
64
78
  checkMediaSegmentIntegrity?: boolean | undefined;
79
+ /** @see ILoadVideoOptions.checkManifestIntegrity */
65
80
  checkManifestIntegrity?: boolean | undefined;
81
+ /** @see ILoadVideoOptions.manifestLoader */
66
82
  manifestLoader?: IManifestLoader | undefined;
83
+ /** @see ILoadVideoOptions.referenceDateTime */
67
84
  referenceDateTime?: number | undefined;
85
+ /** @see ILoadVideoOptions.representationFilter */
68
86
  representationFilter?: IRepresentationFilter | string | undefined;
87
+ /** @see ILoadVideoOptions.segmentLoader */
69
88
  segmentLoader?: ISegmentLoader | undefined;
89
+ /** @see ILoadVideoOptions.serverSyncInfos */
70
90
  serverSyncInfos?: IServerSyncInfos | undefined;
91
+ /** @see ILoadVideoOptions.mode */
71
92
  mode: IRxPlayerMode;
93
+ /** @see ILoadVideoOptions.cmcd */
72
94
  cmcd: ICmcdOptions | undefined;
95
+ /** @see ILoadVideoOptions.experimentalOptions */
96
+ experimentalOptions: {
97
+ enableRepresentationAvoidance: boolean;
98
+ };
73
99
  __priv_manifestUpdateUrl?: string | undefined;
74
100
  __priv_patchLastSegmentInSidx?: boolean | undefined;
75
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"option_utils.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/option_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"option_utils.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/option_utils.ts"],"names":[],"mappings":"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"}
@@ -165,7 +165,7 @@ function checkReloadOptions(options) {
165
165
  */
166
166
  function parseLoadVideoOptions(options) {
167
167
  var e_1, _a;
168
- var _b, _c, _d;
168
+ var _b, _c, _d, _e;
169
169
  var url;
170
170
  var transport;
171
171
  var keySystems;
@@ -173,7 +173,7 @@ function parseLoadVideoOptions(options) {
173
173
  var mode;
174
174
  var textTrackElement;
175
175
  var startAt;
176
- var _e = config_1.default.getCurrent(), DEFAULT_AUTO_PLAY = _e.DEFAULT_AUTO_PLAY, DEFAULT_CODEC_SWITCHING_BEHAVIOR = _e.DEFAULT_CODEC_SWITCHING_BEHAVIOR, DEFAULT_ENABLE_FAST_SWITCHING = _e.DEFAULT_ENABLE_FAST_SWITCHING, DEFAULT_TEXT_TRACK_MODE = _e.DEFAULT_TEXT_TRACK_MODE;
176
+ var _f = config_1.default.getCurrent(), DEFAULT_AUTO_PLAY = _f.DEFAULT_AUTO_PLAY, DEFAULT_CODEC_SWITCHING_BEHAVIOR = _f.DEFAULT_CODEC_SWITCHING_BEHAVIOR, DEFAULT_ENABLE_FAST_SWITCHING = _f.DEFAULT_ENABLE_FAST_SWITCHING, DEFAULT_TEXT_TRACK_MODE = _f.DEFAULT_TEXT_TRACK_MODE;
177
177
  if ((0, is_null_or_undefined_1.default)(options)) {
178
178
  throw new Error("No option set on loadVideo");
179
179
  }
@@ -325,5 +325,8 @@ function parseLoadVideoOptions(options) {
325
325
  mode: mode,
326
326
  url: url,
327
327
  cmcd: options.cmcd,
328
+ experimentalOptions: {
329
+ enableRepresentationAvoidance: ((_e = options.experimentalOptions) === null || _e === void 0 ? void 0 : _e.enableRepresentationAvoidance) === true,
330
+ },
328
331
  };
329
332
  }
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/public_api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/public_api.ts"],"names":[],"mappings":"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"}