rx-player 3.26.3-dev.2022021400 → 3.27.0-dev.20220317
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.
- package/CHANGELOG.md +15 -1
- package/FILES.md +5 -4
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/browser_detection.d.ts +4 -2
- package/dist/_esm5.processed/compat/browser_detection.js +4 -2
- package/dist/_esm5.processed/compat/eme/close_session.d.ts +11 -5
- package/dist/_esm5.processed/compat/eme/close_session.js +144 -36
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -5
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +21 -22
- package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +53 -34
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +43 -41
- package/dist/_esm5.processed/compat/eme/generate_key_request.d.ts +2 -3
- package/dist/_esm5.processed/compat/eme/generate_key_request.js +22 -26
- package/dist/_esm5.processed/compat/eme/load_session.d.ts +1 -2
- package/dist/_esm5.processed/compat/eme/load_session.js +68 -17
- package/dist/_esm5.processed/compat/event_listeners.js +2 -1
- package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +2 -2
- package/dist/_esm5.processed/config.d.ts +166 -1080
- package/dist/_esm5.processed/config.js +17 -1119
- package/dist/_esm5.processed/core/abr/bandwidth_estimator.js +4 -1
- package/dist/_esm5.processed/core/abr/network_analyzer.js +2 -1
- package/dist/_esm5.processed/core/api/get_player_state.js +1 -1
- package/dist/_esm5.processed/core/api/index.d.ts +2 -1
- package/dist/_esm5.processed/core/api/media_element_track_choice_manager.js +2 -1
- package/dist/_esm5.processed/core/api/option_utils.d.ts +3 -1
- package/dist/_esm5.processed/core/api/option_utils.js +19 -6
- package/dist/_esm5.processed/core/api/playback_observer.js +5 -1
- package/dist/_esm5.processed/core/api/public_api.d.ts +82 -71
- package/dist/_esm5.processed/core/api/public_api.js +72 -33
- package/dist/_esm5.processed/core/{eme → decrypt}/__tests__/__global__/utils.d.ts +7 -49
- package/dist/_esm5.processed/core/{eme → decrypt}/__tests__/__global__/utils.js +25 -65
- package/dist/_esm5.processed/core/{eme → decrypt}/attach_media_keys.d.ts +12 -12
- package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +104 -0
- package/dist/_esm5.processed/core/{eme/clear_eme_session.d.ts → decrypt/clear_on_stop.d.ts} +3 -4
- package/dist/_esm5.processed/core/decrypt/clear_on_stop.js +41 -0
- package/dist/_esm5.processed/core/decrypt/content_decryptor.d.ts +216 -0
- package/dist/_esm5.processed/core/decrypt/content_decryptor.js +866 -0
- package/dist/_esm5.processed/core/{eme/get_session.d.ts → decrypt/create_or_load_session.d.ts} +28 -26
- package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +124 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/create_session.d.ts +22 -19
- package/dist/_esm5.processed/core/decrypt/create_session.js +174 -0
- package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.d.ts +21 -0
- package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +81 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/find_key_system.d.ts +11 -14
- package/dist/_esm5.processed/core/decrypt/find_key_system.js +300 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/get_current_key_system.d.ts +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/get_current_key_system.js +1 -1
- package/dist/_esm5.processed/core/{eme → decrypt}/get_media_keys.d.ts +13 -5
- package/dist/_esm5.processed/core/decrypt/get_media_keys.js +153 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/index.d.ts +5 -6
- package/dist/_esm5.processed/core/{eme → decrypt}/index.js +5 -5
- package/dist/_esm5.processed/core/{eme → decrypt}/init_media_keys.d.ts +6 -4
- package/dist/_esm5.processed/core/decrypt/init_media_keys.js +82 -0
- package/dist/_esm5.processed/core/decrypt/session_events_listener.d.ts +77 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/session_events_listener.js +25 -24
- package/dist/_esm5.processed/core/{eme → decrypt}/set_server_certificate.d.ts +15 -6
- package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +141 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/types.d.ts +119 -241
- package/dist/_esm5.processed/core/{eme → decrypt}/types.js +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/are_init_values_compatible.d.ts +3 -3
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/are_init_values_compatible.js +5 -5
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/check_key_statuses.d.ts +2 -2
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/check_key_statuses.js +4 -3
- package/dist/_esm5.processed/core/{eme/utils/close_session.d.ts → decrypt/utils/clean_old_loaded_sessions.d.ts} +8 -7
- package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.js +85 -0
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/clean_old_stored_persistent_info.d.ts +1 -1
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/clean_old_stored_persistent_info.js +2 -2
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/get_drm_system_id.d.ts +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/get_drm_system_id.js +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.d.ts +69 -0
- package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +99 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/is_session_usable.d.ts +0 -1
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/is_session_usable.js +4 -5
- package/dist/_esm5.processed/core/decrypt/utils/key_id_comparison.d.ts +44 -0
- package/dist/_esm5.processed/core/decrypt/utils/key_id_comparison.js +77 -0
- package/dist/_esm5.processed/core/decrypt/utils/key_session_record.d.ts +104 -0
- package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +155 -0
- package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.d.ts +108 -0
- package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +303 -0
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/media_keys_infos_store.d.ts +4 -4
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/media_keys_infos_store.js +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/persistent_sessions_store.d.ts +8 -18
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/persistent_sessions_store.js +119 -97
- package/dist/_esm5.processed/core/{eme/utils/init_data_container.d.ts → decrypt/utils/serializable_bytes.d.ts} +8 -5
- package/dist/_esm5.processed/core/{eme/utils/init_data_container.js → decrypt/utils/serializable_bytes.js} +9 -9
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/server_certificate_store.d.ts +1 -1
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/server_certificate_store.js +1 -1
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +2 -2
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +1 -1
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +1 -1
- package/dist/_esm5.processed/core/init/get_initial_time.js +1 -1
- package/dist/_esm5.processed/core/init/initialize_directfile.d.ts +1 -1
- package/dist/_esm5.processed/core/init/initialize_directfile.js +11 -17
- package/dist/_esm5.processed/core/init/initialize_media_source.d.ts +4 -2
- package/dist/_esm5.processed/core/init/initialize_media_source.js +18 -69
- package/dist/_esm5.processed/core/init/link_drm_and_content.d.ts +61 -0
- package/dist/_esm5.processed/core/init/link_drm_and_content.js +94 -0
- package/dist/_esm5.processed/core/init/manifest_update_scheduler.js +2 -1
- package/dist/_esm5.processed/core/init/stall_avoider.js +1 -1
- package/dist/_esm5.processed/core/init/stream_events_emitter/stream_events_emitter.js +1 -1
- package/dist/_esm5.processed/core/init/types.d.ts +2 -4
- package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +3 -1
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +17 -1
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +22 -5
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +2 -1
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +6 -3
- package/dist/_esm5.processed/core/stream/events_generators.d.ts +8 -3
- package/dist/_esm5.processed/core/stream/events_generators.js +3 -2
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +1 -0
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/_esm5.processed/core/stream/period/create_empty_adaptation_stream.js +2 -1
- package/dist/_esm5.processed/core/stream/period/get_adaptation_switch_strategy.js +1 -1
- package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +2 -1
- package/dist/_esm5.processed/core/stream/period/period_stream.js +3 -3
- package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.js +2 -2
- package/dist/_esm5.processed/core/stream/representation/get_buffer_status.d.ts +6 -1
- package/dist/_esm5.processed/core/stream/representation/get_buffer_status.js +12 -9
- package/dist/_esm5.processed/core/stream/representation/get_needed_segments.d.ts +19 -14
- package/dist/_esm5.processed/core/stream/representation/get_needed_segments.js +86 -10
- package/dist/_esm5.processed/core/stream/representation/get_segment_priority.js +1 -1
- package/dist/_esm5.processed/core/stream/representation/push_media_segment.js +3 -3
- package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +6 -0
- package/dist/_esm5.processed/core/stream/representation/representation_stream.js +19 -8
- package/dist/_esm5.processed/core/stream/types.d.ts +1 -1
- package/dist/_esm5.processed/default_config.d.ts +1114 -0
- package/dist/_esm5.processed/default_config.js +1145 -0
- package/dist/_esm5.processed/experimental/index.d.ts +2 -0
- package/dist/_esm5.processed/experimental/index.js +2 -0
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/push_data.d.ts +1 -0
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/thumbnail_loader.js +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +1 -2
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +1 -2
- package/dist/_esm5.processed/features/features_object.js +1 -1
- package/dist/_esm5.processed/features/initialize_features.js +1 -1
- package/dist/_esm5.processed/features/list/eme.d.ts +3 -3
- package/dist/_esm5.processed/features/list/eme.js +5 -5
- package/dist/_esm5.processed/features/types.d.ts +3 -3
- package/dist/_esm5.processed/manifest/manifest.d.ts +1 -14
- package/dist/_esm5.processed/manifest/manifest.js +10 -74
- package/dist/_esm5.processed/manifest/representation.d.ts +35 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/is_period_fulfilled.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +87 -75
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +1 -0
- package/dist/_esm5.processed/public_types.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +3 -0
- package/dist/_esm5.processed/transports/dash/segment_parser.js +6 -3
- package/dist/_esm5.processed/transports/dash/text_parser.js +8 -2
- package/dist/_esm5.processed/transports/local/segment_parser.js +4 -1
- package/dist/_esm5.processed/transports/local/text_parser.js +8 -2
- package/dist/_esm5.processed/transports/smooth/pipelines.js +68 -10
- package/dist/_esm5.processed/transports/types.d.ts +22 -0
- package/dist/_esm5.processed/utils/deep_merge.d.ts +12 -0
- package/dist/_esm5.processed/utils/deep_merge.js +53 -0
- package/dist/_esm5.processed/utils/reference.d.ts +29 -0
- package/dist/_esm5.processed/utils/reference.js +72 -24
- package/dist/_esm5.processed/utils/request/fetch.js +1 -2
- package/dist/_esm5.processed/utils/request/xhr.js +1 -1
- package/dist/_esm5.processed/utils/rx-from_cancellable_promise.js +7 -2
- package/dist/_esm5.processed/utils/task_canceller.d.ts +5 -3
- package/dist/_esm5.processed/utils/task_canceller.js +3 -3
- package/dist/rx-player.js +5002 -3033
- package/dist/rx-player.min.js +1 -1
- package/dummy +1 -0
- package/{dist/_esm5.processed/core/eme/dispose_eme.d.ts → experimental/index.d.ts} +1 -4
- package/{dist/_esm5.processed/core/eme/dispose_media_keys.d.ts → experimental/index.js} +1 -6
- package/package.json +32 -34
- package/scripts/build/templates/experimental/index.d.ts +16 -0
- package/scripts/build/templates/experimental/index.js +16 -0
- package/sonar-project.properties +1 -1
- package/src/README.md +6 -6
- package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +45 -5
- package/src/compat/browser_detection.ts +4 -2
- package/src/compat/eme/close_session.ts +90 -56
- package/src/compat/eme/custom_media_keys/index.ts +21 -38
- package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +63 -46
- package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +51 -49
- package/src/compat/eme/generate_key_request.ts +25 -33
- package/src/compat/eme/load_session.ts +29 -31
- package/src/compat/event_listeners.ts +2 -1
- package/src/compat/should_favour_custom_safari_EME.ts +5 -2
- package/src/config.ts +17 -1210
- package/src/core/README.md +1 -1
- package/src/core/abr/bandwidth_estimator.ts +4 -4
- package/src/core/abr/network_analyzer.ts +5 -6
- package/src/core/api/__tests__/get_player_state.test.ts +3 -3
- package/src/core/api/__tests__/option_utils.test.ts +17 -17
- package/src/core/api/get_player_state.ts +1 -1
- package/src/core/api/index.ts +3 -0
- package/src/core/api/option_utils.ts +37 -20
- package/src/core/api/playback_observer.ts +12 -8
- package/src/core/api/public_api.ts +151 -111
- package/src/core/decrypt/README.md +22 -0
- package/src/core/decrypt/__tests__/__global__/get_license.test.ts +418 -0
- package/src/core/decrypt/__tests__/__global__/init_data.test.ts +675 -0
- package/src/core/{eme → decrypt}/__tests__/__global__/media_key_system_access.test.ts +99 -92
- package/src/core/decrypt/__tests__/__global__/media_keys.test.ts +156 -0
- package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +262 -0
- package/src/core/{eme → decrypt}/__tests__/__global__/utils.ts +31 -93
- package/src/core/{eme → decrypt}/attach_media_keys.ts +49 -56
- package/src/core/decrypt/clear_on_stop.ts +48 -0
- package/src/core/decrypt/content_decryptor.ts +1158 -0
- package/src/core/decrypt/create_or_load_session.ts +130 -0
- package/src/core/decrypt/create_session.ts +175 -0
- package/src/core/decrypt/dispose_decryption_resources.ts +39 -0
- package/src/core/{eme → decrypt}/find_key_system.ts +112 -122
- package/src/core/{eme → decrypt}/get_current_key_system.ts +1 -1
- package/src/core/decrypt/get_media_keys.ts +145 -0
- package/src/core/{eme → decrypt}/index.ts +11 -8
- package/src/core/decrypt/init_media_keys.ts +51 -0
- package/src/core/{eme → decrypt}/session_events_listener.ts +93 -55
- package/src/core/decrypt/set_server_certificate.ts +104 -0
- package/src/core/{eme → decrypt}/types.ts +128 -258
- package/src/core/{eme → decrypt}/utils/__tests__/are_init_values_compatible.test.ts +1 -1
- package/src/core/{eme → decrypt/utils}/__tests__/clean_old_loaded_sessions.test.ts +29 -71
- package/src/core/{eme → decrypt/utils}/__tests__/clean_old_stored_persistent_info.test.ts +6 -6
- package/src/core/{eme → decrypt}/utils/are_init_values_compatible.ts +9 -9
- package/src/core/{eme → decrypt/utils}/check_key_statuses.ts +6 -5
- package/{dist/_esm5.processed/core/eme/clean_old_loaded_sessions.js → src/core/decrypt/utils/clean_old_loaded_sessions.ts} +20 -20
- package/src/core/{eme → decrypt/utils}/clean_old_stored_persistent_info.ts +3 -3
- package/src/core/{eme → decrypt/utils}/get_drm_system_id.ts +1 -1
- package/src/core/decrypt/utils/init_data_values_container.ts +119 -0
- package/src/core/{eme → decrypt}/utils/is_session_usable.ts +4 -5
- package/src/core/decrypt/utils/key_id_comparison.ts +82 -0
- package/src/core/decrypt/utils/key_session_record.ts +175 -0
- package/src/core/decrypt/utils/loaded_sessions_store.ts +318 -0
- package/src/core/{eme → decrypt/utils}/media_keys_infos_store.ts +4 -4
- package/src/core/{eme → decrypt}/utils/persistent_sessions_store.ts +122 -104
- package/src/core/{eme/utils/init_data_container.ts → decrypt/utils/serializable_bytes.ts} +8 -5
- package/src/core/{eme → decrypt/utils}/server_certificate_store.ts +2 -2
- package/src/core/fetchers/manifest/manifest_fetcher.ts +4 -4
- package/src/core/fetchers/segment/segment_fetcher.ts +4 -4
- package/src/core/fetchers/segment/segment_fetcher_creator.ts +2 -2
- package/src/core/init/.initialize_media_source.ts.un~ +0 -0
- package/src/core/init/get_initial_time.ts +2 -1
- package/src/core/init/initialize_directfile.ts +17 -20
- package/src/core/init/initialize_media_source.ts +42 -105
- package/src/core/init/link_drm_and_content.ts +176 -0
- package/src/core/init/manifest_update_scheduler.ts +5 -3
- package/src/core/init/stall_avoider.ts +6 -5
- package/src/core/init/stream_events_emitter/stream_events_emitter.ts +2 -1
- package/src/core/init/types.ts +1 -39
- package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +2 -1
- package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +3 -4
- package/src/core/segment_buffers/inventory/segment_inventory.ts +42 -8
- package/src/core/stream/adaptation/adaptation_stream.ts +7 -1
- package/src/core/stream/events_generators.ts +9 -4
- package/src/core/stream/orchestrator/stream_orchestrator.ts +9 -4
- package/src/core/stream/period/create_empty_adaptation_stream.ts +2 -1
- package/src/core/stream/period/get_adaptation_switch_strategy.ts +1 -1
- package/src/core/stream/period/period_stream.ts +5 -2
- package/src/core/stream/representation/force_garbage_collection.ts +2 -2
- package/src/core/stream/representation/get_buffer_status.ts +28 -16
- package/src/core/stream/representation/get_needed_segments.ts +124 -28
- package/src/core/stream/representation/get_segment_priority.ts +1 -2
- package/src/core/stream/representation/push_media_segment.ts +3 -2
- package/src/core/stream/representation/representation_stream.ts +30 -7
- package/src/core/stream/types.ts +1 -1
- package/src/default_config.ts +1241 -0
- package/src/experimental/index.ts +5 -0
- package/src/experimental/tools/VideoThumbnailLoader/push_data.ts +1 -0
- package/src/experimental/tools/VideoThumbnailLoader/thumbnail_loader.ts +2 -1
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +3 -10
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +4 -4
- package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +1 -2
- package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +1 -2
- package/src/features/__tests__/initialize_features.test.ts +2 -2
- package/src/features/features_object.ts +1 -1
- package/src/features/initialize_features.ts +1 -1
- package/src/features/list/__tests__/eme.test.ts +5 -5
- package/src/features/list/eme.ts +5 -5
- package/src/features/types.ts +3 -10
- package/src/manifest/manifest.ts +6 -76
- package/src/manifest/representation.ts +36 -3
- package/src/parsers/manifest/dash/common/indexes/is_period_fulfilled.ts +1 -2
- package/src/parsers/manifest/dash/common/indexes/template.ts +1 -2
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +1 -1
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +109 -64
- package/src/parsers/manifest/dash/common/parse_mpd.ts +1 -2
- package/src/parsers/manifest/smooth/create_parser.ts +1 -0
- package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +1 -0
- package/src/public_types.ts +5 -1
- package/src/transports/dash/image_pipelines.ts +3 -0
- package/src/transports/dash/segment_parser.ts +5 -0
- package/src/transports/dash/text_parser.ts +8 -0
- package/src/transports/local/segment_parser.ts +4 -0
- package/src/transports/local/text_parser.ts +8 -0
- package/src/transports/smooth/pipelines.ts +22 -9
- package/src/transports/types.ts +22 -0
- package/src/utils/__tests__/deep_merge.test.ts +48 -0
- package/src/utils/deep_merge.ts +46 -0
- package/src/utils/reference.ts +116 -23
- package/src/utils/request/fetch.ts +1 -2
- package/src/utils/request/xhr.ts +2 -1
- package/src/utils/rx-from_cancellable_promise.ts +7 -2
- package/src/utils/task_canceller.ts +6 -4
- package/dist/_esm5.processed/core/eme/attach_media_keys.js +0 -57
- package/dist/_esm5.processed/core/eme/clean_old_loaded_sessions.d.ts +0 -59
- package/dist/_esm5.processed/core/eme/clear_eme_session.js +0 -50
- package/dist/_esm5.processed/core/eme/create_session.js +0 -126
- package/dist/_esm5.processed/core/eme/dispose_eme.js +0 -23
- package/dist/_esm5.processed/core/eme/dispose_media_keys.js +0 -36
- package/dist/_esm5.processed/core/eme/eme_manager.d.ts +0 -31
- package/dist/_esm5.processed/core/eme/eme_manager.js +0 -278
- package/dist/_esm5.processed/core/eme/find_key_system.js +0 -253
- package/dist/_esm5.processed/core/eme/get_media_keys.js +0 -85
- package/dist/_esm5.processed/core/eme/get_session.js +0 -68
- package/dist/_esm5.processed/core/eme/init_media_keys.js +0 -66
- package/dist/_esm5.processed/core/eme/session_events_listener.d.ts +0 -41
- package/dist/_esm5.processed/core/eme/set_server_certificate.js +0 -85
- package/dist/_esm5.processed/core/eme/utils/close_session.js +0 -81
- package/dist/_esm5.processed/core/eme/utils/init_data_store.d.ts +0 -115
- package/dist/_esm5.processed/core/eme/utils/init_data_store.js +0 -181
- package/dist/_esm5.processed/core/eme/utils/loaded_sessions_store.d.ts +0 -123
- package/dist/_esm5.processed/core/eme/utils/loaded_sessions_store.js +0 -173
- package/dist/_esm5.processed/core/init/create_eme_manager.d.ts +0 -34
- package/dist/_esm5.processed/core/init/create_eme_manager.js +0 -52
- package/src/core/eme/README.md +0 -26
- package/src/core/eme/__tests__/__global__/get_license.test.ts +0 -414
- package/src/core/eme/__tests__/__global__/init_data.test.ts +0 -908
- package/src/core/eme/__tests__/__global__/media_keys.test.ts +0 -266
- package/src/core/eme/__tests__/__global__/server_certificate.test.ts +0 -364
- package/src/core/eme/__tests__/init_media_keys.test.ts +0 -182
- package/src/core/eme/clean_old_loaded_sessions.ts +0 -96
- package/src/core/eme/clear_eme_session.ts +0 -62
- package/src/core/eme/create_session.ts +0 -187
- package/src/core/eme/dispose_eme.ts +0 -25
- package/src/core/eme/dispose_media_keys.ts +0 -46
- package/src/core/eme/eme_manager.ts +0 -387
- package/src/core/eme/get_media_keys.ts +0 -141
- package/src/core/eme/get_session.ts +0 -135
- package/src/core/eme/init_media_keys.ts +0 -106
- package/src/core/eme/set_server_certificate.ts +0 -115
- package/src/core/eme/utils/close_session.ts +0 -113
- package/src/core/eme/utils/init_data_store.ts +0 -234
- package/src/core/eme/utils/loaded_sessions_store.ts +0 -235
- package/src/core/init/create_eme_manager.ts +0 -95
|
@@ -27,18 +27,21 @@ export function createSharedReference(initialValue) {
|
|
|
27
27
|
/** Current value referenced by this `ISharedReference`. */
|
|
28
28
|
var value = initialValue;
|
|
29
29
|
/**
|
|
30
|
-
* List of currently subscribed
|
|
30
|
+
* List of currently subscribed listeners which listen to the referenced
|
|
31
31
|
* value's updates.
|
|
32
32
|
*
|
|
33
|
-
* Contains
|
|
34
|
-
* - `
|
|
35
|
-
*
|
|
36
|
-
*
|
|
33
|
+
* Contains three properties:
|
|
34
|
+
* - `trigger`: Function which will be called with the new reference's value
|
|
35
|
+
* once it changes
|
|
36
|
+
* - `complete`: Allows to clean-up the listener, will be called once the
|
|
37
|
+
* reference is finished.
|
|
38
|
+
* - `hasBeenCleared`: becomes `true` when the Observable becomes
|
|
39
|
+
* unsubscribed and thus when it is removed from the `cbs` array.
|
|
37
40
|
* Adding this property allows to detect when a previously-added
|
|
38
41
|
* Observable has since been unsubscribed e.g. as a side-effect during a
|
|
39
42
|
* function call.
|
|
40
43
|
*/
|
|
41
|
-
var
|
|
44
|
+
var cbs = [];
|
|
42
45
|
var isFinished = false;
|
|
43
46
|
return {
|
|
44
47
|
/**
|
|
@@ -63,15 +66,15 @@ export function createSharedReference(initialValue) {
|
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
value = newVal;
|
|
66
|
-
if (
|
|
69
|
+
if (cbs.length === 0) {
|
|
67
70
|
return;
|
|
68
71
|
}
|
|
69
|
-
var
|
|
70
|
-
for (var _i = 0,
|
|
71
|
-
var
|
|
72
|
+
var clonedCbs = cbs.slice();
|
|
73
|
+
for (var _i = 0, clonedCbs_1 = clonedCbs; _i < clonedCbs_1.length; _i++) {
|
|
74
|
+
var cbObj = clonedCbs_1[_i];
|
|
72
75
|
try {
|
|
73
|
-
if (!
|
|
74
|
-
|
|
76
|
+
if (!cbObj.hasBeenCleared) {
|
|
77
|
+
cbObj.trigger(newVal);
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
catch (_) {
|
|
@@ -79,6 +82,11 @@ export function createSharedReference(initialValue) {
|
|
|
79
82
|
}
|
|
80
83
|
}
|
|
81
84
|
},
|
|
85
|
+
setValueIfChanged: function (newVal) {
|
|
86
|
+
if (newVal !== value) {
|
|
87
|
+
this.setValue(newVal);
|
|
88
|
+
}
|
|
89
|
+
},
|
|
82
90
|
/**
|
|
83
91
|
* Returns an Observable which synchronously emits the current value (unless
|
|
84
92
|
* the `skipCurrentValue` argument has been set to `true`) and then each
|
|
@@ -95,23 +103,63 @@ export function createSharedReference(initialValue) {
|
|
|
95
103
|
obs.complete();
|
|
96
104
|
return undefined;
|
|
97
105
|
}
|
|
98
|
-
var
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
var cbObj = { trigger: obs.next.bind(obs),
|
|
107
|
+
complete: obs.complete.bind(obs),
|
|
108
|
+
hasBeenCleared: false };
|
|
109
|
+
cbs.push(cbObj);
|
|
101
110
|
return function () {
|
|
102
111
|
/**
|
|
103
112
|
* Code in here can still be running while this is happening.
|
|
104
|
-
* Set `
|
|
113
|
+
* Set `hasBeenCleared` to `true` to avoid still using the
|
|
105
114
|
* `subscriber` from this object.
|
|
106
115
|
*/
|
|
107
|
-
|
|
108
|
-
var indexOf =
|
|
116
|
+
cbObj.hasBeenCleared = true;
|
|
117
|
+
var indexOf = cbs.indexOf(cbObj);
|
|
109
118
|
if (indexOf >= 0) {
|
|
110
|
-
|
|
119
|
+
cbs.splice(indexOf, 1);
|
|
111
120
|
}
|
|
112
121
|
};
|
|
113
122
|
});
|
|
114
123
|
},
|
|
124
|
+
/**
|
|
125
|
+
* Allows to register a callback to be called each time the value inside the
|
|
126
|
+
* reference is updated.
|
|
127
|
+
* @param {Function} cb - Callback to be called each time the reference is
|
|
128
|
+
* updated. Takes the new value im argument.
|
|
129
|
+
* @param {Object} [options]
|
|
130
|
+
* @param {Object} [options.clearSignal] - Allows to provide a
|
|
131
|
+
* CancellationSignal which will unregister the callback when it emits.
|
|
132
|
+
* @param {boolean} [options.emitCurrentValue] - If `true`, the callback will
|
|
133
|
+
* also be immediately called with the current value.
|
|
134
|
+
*/
|
|
135
|
+
onUpdate: function (cb, options) {
|
|
136
|
+
if ((options === null || options === void 0 ? void 0 : options.emitCurrentValue) === true) {
|
|
137
|
+
cb(value);
|
|
138
|
+
}
|
|
139
|
+
if (isFinished) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
var cbObj = { trigger: cb,
|
|
143
|
+
complete: unlisten,
|
|
144
|
+
hasBeenCleared: false };
|
|
145
|
+
cbs.push(cbObj);
|
|
146
|
+
if ((options === null || options === void 0 ? void 0 : options.clearSignal) === undefined) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
options.clearSignal.register(unlisten);
|
|
150
|
+
function unlisten() {
|
|
151
|
+
/**
|
|
152
|
+
* Code in here can still be running while this is happening.
|
|
153
|
+
* Set `hasBeenCleared` to `true` to avoid still using the
|
|
154
|
+
* `subscriber` from this object.
|
|
155
|
+
*/
|
|
156
|
+
cbObj.hasBeenCleared = true;
|
|
157
|
+
var indexOf = cbs.indexOf(cbObj);
|
|
158
|
+
if (indexOf >= 0) {
|
|
159
|
+
cbs.splice(indexOf, 1);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
},
|
|
115
163
|
/**
|
|
116
164
|
* Indicate that no new values will be emitted.
|
|
117
165
|
* Allows to automatically close all Observables generated from this shared
|
|
@@ -119,12 +167,12 @@ export function createSharedReference(initialValue) {
|
|
|
119
167
|
*/
|
|
120
168
|
finish: function () {
|
|
121
169
|
isFinished = true;
|
|
122
|
-
var
|
|
123
|
-
for (var _i = 0,
|
|
124
|
-
var
|
|
170
|
+
var clonedCbs = cbs.slice();
|
|
171
|
+
for (var _i = 0, clonedCbs_2 = clonedCbs; _i < clonedCbs_2.length; _i++) {
|
|
172
|
+
var cbObj = clonedCbs_2[_i];
|
|
125
173
|
try {
|
|
126
|
-
if (!
|
|
127
|
-
|
|
174
|
+
if (!cbObj.hasBeenCleared) {
|
|
175
|
+
cbObj.complete();
|
|
128
176
|
}
|
|
129
177
|
}
|
|
130
178
|
catch (_) {
|
|
@@ -53,7 +53,6 @@ import config from "../../config";
|
|
|
53
53
|
import { NetworkErrorTypes, RequestError, } from "../../errors";
|
|
54
54
|
import log from "../../log";
|
|
55
55
|
import isNullOrUndefined from "../is_null_or_undefined";
|
|
56
|
-
var DEFAULT_REQUEST_TIMEOUT = config.DEFAULT_REQUEST_TIMEOUT;
|
|
57
56
|
var _Headers = typeof Headers === "function" ? Headers :
|
|
58
57
|
null;
|
|
59
58
|
var _AbortController = typeof AbortController === "function" ?
|
|
@@ -92,7 +91,7 @@ export default function fetchRequest(options) {
|
|
|
92
91
|
abortController.abort();
|
|
93
92
|
}
|
|
94
93
|
var requestTimeout = isNullOrUndefined(options.timeout) ?
|
|
95
|
-
DEFAULT_REQUEST_TIMEOUT :
|
|
94
|
+
config.getCurrent().DEFAULT_REQUEST_TIMEOUT :
|
|
96
95
|
options.timeout;
|
|
97
96
|
var timeout = window.setTimeout(function () {
|
|
98
97
|
timeouted = true;
|
|
@@ -18,9 +18,9 @@ import { RequestError } from "../../errors";
|
|
|
18
18
|
import isNonEmptyString from "../is_non_empty_string";
|
|
19
19
|
import isNullOrUndefined from "../is_null_or_undefined";
|
|
20
20
|
import PPromise from "../promise";
|
|
21
|
-
var DEFAULT_REQUEST_TIMEOUT = config.DEFAULT_REQUEST_TIMEOUT;
|
|
22
21
|
var DEFAULT_RESPONSE_TYPE = "json";
|
|
23
22
|
export default function request(options) {
|
|
23
|
+
var DEFAULT_REQUEST_TIMEOUT = config.getCurrent().DEFAULT_REQUEST_TIMEOUT;
|
|
24
24
|
var requestOptions = {
|
|
25
25
|
url: options.url,
|
|
26
26
|
headers: options.headers,
|
|
@@ -38,21 +38,26 @@ import { Observable } from "rxjs";
|
|
|
38
38
|
export default function fromCancellablePromise(canceller, fn) {
|
|
39
39
|
return new Observable(function (obs) {
|
|
40
40
|
var isUnsubscribedFrom = false;
|
|
41
|
+
var isComplete = false;
|
|
41
42
|
fn().then(function (i) {
|
|
42
43
|
if (isUnsubscribedFrom) {
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
46
|
+
isComplete = true;
|
|
45
47
|
obs.next(i);
|
|
46
48
|
obs.complete();
|
|
47
49
|
}, function (err) {
|
|
50
|
+
isComplete = true;
|
|
48
51
|
if (isUnsubscribedFrom) {
|
|
49
52
|
return;
|
|
50
53
|
}
|
|
51
54
|
obs.error(err);
|
|
52
55
|
});
|
|
53
56
|
return function () {
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
if (!isComplete) {
|
|
58
|
+
isUnsubscribedFrom = true;
|
|
59
|
+
canceller.cancel();
|
|
60
|
+
}
|
|
56
61
|
};
|
|
57
62
|
});
|
|
58
63
|
}
|
|
@@ -142,9 +142,9 @@ export default class TaskCanceller {
|
|
|
142
142
|
* An optional CancellationError can be given in argument for when this
|
|
143
143
|
* cancellation is actually triggered as a chain reaction from a previous
|
|
144
144
|
* cancellation.
|
|
145
|
-
* @param {Error} [
|
|
145
|
+
* @param {Error} [srcError]
|
|
146
146
|
*/
|
|
147
|
-
cancel(
|
|
147
|
+
cancel(srcError?: CancellationError): void;
|
|
148
148
|
/**
|
|
149
149
|
* Check that the `error` in argument is a `CancellationError`, most likely
|
|
150
150
|
* meaning that the linked error is due to a task aborted via a
|
|
@@ -166,7 +166,9 @@ export declare class CancellationSignal {
|
|
|
166
166
|
*/
|
|
167
167
|
isCancelled: boolean;
|
|
168
168
|
/**
|
|
169
|
-
* Error associated to the cancellation
|
|
169
|
+
* Error associated to the cancellation, only set if the `CancellationSignal`
|
|
170
|
+
* has been used (which means that the task has been cancelled).
|
|
171
|
+
*
|
|
170
172
|
* Can be used to notify to a caller that this task was aborted (for example
|
|
171
173
|
* by rejecting it through the Promise associated to that task).
|
|
172
174
|
*
|
|
@@ -148,14 +148,14 @@ var TaskCanceller = /** @class */ (function () {
|
|
|
148
148
|
* An optional CancellationError can be given in argument for when this
|
|
149
149
|
* cancellation is actually triggered as a chain reaction from a previous
|
|
150
150
|
* cancellation.
|
|
151
|
-
* @param {Error} [
|
|
151
|
+
* @param {Error} [srcError]
|
|
152
152
|
*/
|
|
153
|
-
TaskCanceller.prototype.cancel = function (
|
|
153
|
+
TaskCanceller.prototype.cancel = function (srcError) {
|
|
154
154
|
if (this.isUsed) {
|
|
155
155
|
return;
|
|
156
156
|
}
|
|
157
157
|
this.isUsed = true;
|
|
158
|
-
var cancellationError =
|
|
158
|
+
var cancellationError = srcError !== null && srcError !== void 0 ? srcError : new CancellationError();
|
|
159
159
|
this._trigger(cancellationError);
|
|
160
160
|
};
|
|
161
161
|
/**
|