rx-player 4.0.0-dev.2023110700 → 4.0.0-dev.2023120600
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 +18 -226
- package/FILES.md +1 -1
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/add_text_track.d.ts +1 -3
- package/dist/_esm5.processed/compat/add_text_track.js +4 -7
- package/dist/_esm5.processed/compat/browser_compatibility_types.d.ts +0 -7
- package/dist/_esm5.processed/compat/event_listeners.d.ts +2 -15
- package/dist/_esm5.processed/compat/event_listeners.js +2 -37
- package/dist/_esm5.processed/compat/index.d.ts +1 -3
- package/dist/_esm5.processed/compat/index.js +1 -3
- package/dist/_esm5.processed/config.d.ts +9 -21
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.d.ts +0 -58
- package/dist/_esm5.processed/core/adaptive/adaptive_representation_selector.js +14 -54
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.d.ts +2 -8
- package/dist/_esm5.processed/core/adaptive/utils/select_optimal_representation.js +2 -11
- package/dist/_esm5.processed/core/api/debug/buffer_graph.js +2 -6
- package/dist/_esm5.processed/core/api/debug/modules/general_info.js +13 -32
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_content.js +3 -3
- package/dist/_esm5.processed/core/api/debug/modules/segment_buffer_size.js +1 -1
- package/dist/_esm5.processed/core/api/option_utils.d.ts +14 -35
- package/dist/_esm5.processed/core/api/option_utils.js +47 -230
- package/dist/_esm5.processed/core/api/public_api.d.ts +92 -266
- package/dist/_esm5.processed/core/api/public_api.js +451 -807
- package/dist/_esm5.processed/core/{segment_buffers/implementations/image → api/track_management}/index.d.ts +3 -2
- package/dist/_esm5.processed/core/{segment_buffers/implementations/image → api/track_management}/index.js +3 -2
- package/dist/_esm5.processed/core/api/{tracks_management/media_element_track_choice_manager.d.ts → track_management/media_element_tracks_store.d.ts} +15 -75
- package/dist/_esm5.processed/core/api/{tracks_management/media_element_track_choice_manager.js → track_management/media_element_tracks_store.js} +74 -193
- package/dist/_esm5.processed/core/api/track_management/track_dispatcher.d.ts +84 -0
- package/dist/_esm5.processed/core/api/track_management/track_dispatcher.js +158 -0
- package/dist/_esm5.processed/core/api/track_management/tracks_store.d.ts +406 -0
- package/dist/_esm5.processed/core/api/track_management/tracks_store.js +932 -0
- package/dist/_esm5.processed/core/api/utils.d.ts +1 -0
- package/dist/_esm5.processed/core/api/utils.js +28 -11
- package/dist/_esm5.processed/core/decrypt/content_decryptor.js +3 -3
- package/dist/_esm5.processed/core/decrypt/find_key_system.js +83 -71
- package/dist/_esm5.processed/core/decrypt/get_media_keys.js +6 -5
- package/dist/_esm5.processed/core/decrypt/session_events_listener.js +10 -72
- package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.d.ts +4 -4
- package/dist/_esm5.processed/core/decrypt/utils/persistent_sessions_store.js +6 -4
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +1 -3
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +7 -26
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +3 -9
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +16 -9
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -3
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +1 -1
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.d.ts +1 -6
- package/dist/_esm5.processed/core/fetchers/utils/schedule_request.js +4 -41
- package/dist/_esm5.processed/core/init/directfile_content_initializer.js +1 -1
- package/dist/_esm5.processed/core/init/media_source_content_initializer.d.ts +1 -8
- package/dist/_esm5.processed/core/init/media_source_content_initializer.js +5 -19
- package/dist/_esm5.processed/core/init/types.d.ts +5 -15
- package/dist/_esm5.processed/core/init/utils/rebuffering_controller.d.ts +2 -36
- package/dist/_esm5.processed/core/init/utils/rebuffering_controller.js +2 -82
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/utils.js +19 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +1 -2
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.js +2 -3
- package/dist/_esm5.processed/core/segment_buffers/implementations/types.d.ts +2 -2
- package/dist/_esm5.processed/core/segment_buffers/index.d.ts +2 -2
- package/dist/_esm5.processed/core/segment_buffers/index.js +2 -1
- package/dist/_esm5.processed/core/segment_buffers/inventory/index.d.ts +1 -0
- package/dist/_esm5.processed/core/segment_buffers/inventory/index.js +1 -0
- package/dist/_esm5.processed/core/segment_buffers/inventory/utils.d.ts +33 -0
- package/dist/_esm5.processed/core/segment_buffers/inventory/utils.js +49 -0
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.d.ts +0 -1
- package/dist/_esm5.processed/core/segment_buffers/segment_buffers_store.js +2 -16
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +0 -15
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +183 -93
- package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.d.ts +39 -0
- package/dist/_esm5.processed/core/stream/adaptation/get_representations_switch_strategy.js +133 -0
- package/dist/_esm5.processed/core/stream/adaptation/types.d.ts +27 -13
- package/dist/_esm5.processed/core/stream/index.d.ts +2 -3
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +2 -0
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +5 -7
- package/dist/_esm5.processed/core/stream/period/period_stream.js +13 -12
- package/dist/_esm5.processed/core/stream/period/types.d.ts +5 -14
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.d.ts +2 -4
- package/dist/_esm5.processed/core/stream/period/utils/get_adaptation_switch_strategy.js +10 -46
- package/dist/_esm5.processed/core/stream/representation/representation_stream.js +29 -23
- package/dist/_esm5.processed/core/stream/representation/types.d.ts +11 -1
- package/dist/_esm5.processed/default_config.d.ts +35 -98
- package/dist/_esm5.processed/default_config.js +36 -113
- package/dist/_esm5.processed/errors/custom_loader_error.d.ts +1 -3
- package/dist/_esm5.processed/errors/custom_loader_error.js +1 -3
- package/dist/_esm5.processed/errors/media_error.js +2 -2
- package/dist/_esm5.processed/errors/network_error.d.ts +0 -1
- package/dist/_esm5.processed/errors/network_error.js +0 -1
- package/dist/_esm5.processed/errors/request_error.d.ts +2 -3
- package/dist/_esm5.processed/errors/request_error.js +2 -5
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -3
- package/dist/_esm5.processed/features/features_object.js +0 -2
- package/dist/_esm5.processed/features/list/directfile.js +2 -5
- package/dist/_esm5.processed/features/list/index.d.ts +0 -2
- package/dist/_esm5.processed/features/list/index.js +0 -2
- package/dist/_esm5.processed/features/types.d.ts +3 -27
- package/dist/_esm5.processed/manifest/adaptation.d.ts +9 -11
- package/dist/_esm5.processed/manifest/adaptation.js +41 -30
- package/dist/_esm5.processed/manifest/index.d.ts +3 -4
- package/dist/_esm5.processed/manifest/manifest.d.ts +5 -54
- package/dist/_esm5.processed/manifest/manifest.js +5 -110
- package/dist/_esm5.processed/manifest/period.d.ts +4 -5
- package/dist/_esm5.processed/manifest/representation.d.ts +10 -5
- package/dist/_esm5.processed/manifest/representation.js +33 -10
- package/dist/_esm5.processed/manifest/representation_index/index.d.ts +2 -2
- package/dist/_esm5.processed/manifest/representation_index/static.d.ts +2 -0
- package/dist/_esm5.processed/manifest/representation_index/static.js +6 -0
- package/dist/_esm5.processed/manifest/representation_index/types.d.ts +42 -21
- package/dist/_esm5.processed/manifest/types.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/convert_supplemental_codecs.js +26 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +17 -31
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.js +26 -19
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +2 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.js +7 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +2 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +11 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +2 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +6 -0
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.js +1 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +3 -5
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +0 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +29 -17
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +13 -6
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/Representation.js +7 -2
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.d.ts +10 -1
- package/dist/_esm5.processed/parsers/manifest/dash/js-parser/node_parsers/utils.js +18 -2
- package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +6 -4
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +7 -6
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +5 -2
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.d.ts +2 -0
- package/dist/_esm5.processed/parsers/manifest/local/representation_index.js +6 -0
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.js +6 -6
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.d.ts +12 -3
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/representation_index.js +11 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +0 -1
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +11 -17
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +21 -83
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.js +53 -125
- package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.d.ts +119 -0
- package/dist/_esm5.processed/parsers/manifest/smooth/shared_smooth_segment_timeline.js +159 -0
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.d.ts +3 -6
- package/dist/_esm5.processed/parsers/manifest/smooth/utils/add_segment_infos.js +4 -4
- package/dist/_esm5.processed/parsers/manifest/types.d.ts +4 -3
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_extent.js +1 -8
- package/dist/_esm5.processed/parsers/texttracks/ttml/html/apply_origin.js +1 -9
- package/dist/_esm5.processed/public_types.d.ts +396 -308
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.d.ts +5 -4
- package/dist/_esm5.processed/tools/TextTrackRenderer/text_track_renderer.js +5 -4
- package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +4 -4
- package/dist/_esm5.processed/transports/dash/manifest_parser.js +2 -3
- package/dist/_esm5.processed/transports/dash/pipelines.js +1 -4
- package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/segment_loader.js +26 -20
- package/dist/_esm5.processed/transports/dash/segment_parser.js +19 -24
- package/dist/_esm5.processed/transports/dash/text_loader.js +5 -5
- package/dist/_esm5.processed/transports/dash/text_parser.js +28 -33
- package/dist/_esm5.processed/transports/local/pipelines.js +1 -10
- package/dist/_esm5.processed/transports/local/segment_loader.js +2 -2
- package/dist/_esm5.processed/transports/local/segment_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/local/segment_parser.js +10 -10
- package/dist/_esm5.processed/transports/local/text_parser.d.ts +2 -2
- package/dist/_esm5.processed/transports/local/text_parser.js +23 -23
- package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +34 -52
- package/dist/_esm5.processed/{utils/list_to_map.d.ts → transports/smooth/is_mp4_embedded_track.d.ts} +5 -5
- package/dist/_esm5.processed/{features/list/image_buffer.d.ts → transports/smooth/is_mp4_embedded_track.js} +7 -6
- package/dist/_esm5.processed/transports/smooth/pipelines.js +33 -190
- package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/smooth/segment_loader.js +28 -22
- package/dist/_esm5.processed/transports/smooth/utils.d.ts +1 -26
- package/dist/_esm5.processed/transports/smooth/utils.js +1 -55
- package/dist/_esm5.processed/transports/types.d.ts +94 -89
- package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +3 -3
- package/dist/_esm5.processed/transports/utils/infer_segment_container.d.ts +3 -3
- package/dist/_esm5.processed/transports/utils/infer_segment_container.js +5 -7
- package/dist/_esm5.processed/transports/utils/parse_text_track.d.ts +8 -12
- package/dist/_esm5.processed/transports/utils/parse_text_track.js +19 -21
- package/dist/_esm5.processed/utils/array_includes.d.ts +2 -1
- package/dist/_esm5.processed/utils/array_includes.js +30 -28
- package/dist/_esm5.processed/utils/request/xhr.js +5 -5
- package/dist/commonjs/compat/is_codec_supported.js +22 -1
- package/dist/commonjs/compat/patch_webkit_source_buffer.js +2 -2
- package/dist/commonjs/config.d.ts +1 -0
- package/dist/commonjs/core/api/debug/buffer_graph.js +2 -6
- package/dist/commonjs/core/api/debug/modules/general_info.js +17 -10
- package/dist/commonjs/core/api/option_utils.d.ts +4 -0
- package/dist/commonjs/core/api/option_utils.js +8 -3
- package/dist/commonjs/core/api/public_api.d.ts +11 -1
- package/dist/commonjs/core/api/public_api.js +46 -11
- package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
- package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +11 -3
- package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts +8 -1
- package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +8 -4
- package/dist/commonjs/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
- package/dist/commonjs/core/fetchers/utils/schedule_request.js +1 -1
- package/dist/commonjs/core/init/directfile_content_initializer.js +24 -7
- package/dist/commonjs/core/init/media_source_content_initializer.d.ts +6 -0
- package/dist/commonjs/core/init/media_source_content_initializer.js +4 -6
- package/dist/commonjs/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
- package/dist/commonjs/core/init/utils/content_time_boundaries_observer.js +16 -17
- package/dist/commonjs/core/init/utils/get_initial_time.d.ts +17 -3
- package/dist/commonjs/core/init/utils/get_initial_time.js +9 -7
- package/dist/commonjs/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
- package/dist/commonjs/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
- package/dist/commonjs/core/segment_buffers/implementations/text/html/utils.js +19 -2
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +2 -2
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/commonjs/core/stream/period/period_stream.js +2 -2
- package/dist/commonjs/core/stream/representation/utils/get_buffer_status.js +3 -3
- package/dist/commonjs/core/stream/representation/utils/get_needed_segments.js +1 -1
- package/dist/commonjs/default_config.d.ts +5 -0
- package/dist/commonjs/default_config.js +5 -0
- package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
- package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
- package/dist/commonjs/manifest/representation.js +18 -5
- package/dist/commonjs/manifest/representation_index/static.d.ts +1 -1
- package/dist/commonjs/manifest/representation_index/static.js +2 -2
- package/dist/commonjs/manifest/representation_index/types.d.ts +4 -4
- package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
- package/dist/commonjs/parsers/manifest/dash/common/convert_supplemental_codecs.js +30 -0
- package/dist/commonjs/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
- package/dist/commonjs/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/base.js +4 -3
- package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
- package/dist/commonjs/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
- package/dist/commonjs/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
- package/dist/commonjs/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/list.js +2 -2
- package/dist/commonjs/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
- package/dist/commonjs/parsers/manifest/dash/common/indexes/template.js +42 -29
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
- package/dist/commonjs/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +250 -51
- package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
- package/dist/commonjs/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
- package/dist/commonjs/parsers/manifest/dash/common/parse_adaptation_sets.js +13 -10
- package/dist/commonjs/parsers/manifest/dash/common/parse_mpd.js +27 -14
- package/dist/commonjs/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/dash/common/parse_periods.js +17 -18
- package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
- package/dist/commonjs/parsers/manifest/dash/common/parse_representation_index.js +21 -8
- package/dist/commonjs/parsers/manifest/dash/common/parse_representations.js +36 -20
- package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +3 -0
- package/dist/commonjs/parsers/manifest/dash/js-parser/node_parsers/Representation.js +3 -0
- package/dist/commonjs/parsers/manifest/dash/node_parser_types.d.ts +2 -0
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +4 -0
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +4 -0
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
- package/dist/commonjs/parsers/manifest/local/representation_index.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/local/representation_index.js +3 -3
- package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/metaplaylist/representation_index.js +2 -2
- package/dist/commonjs/parsers/manifest/smooth/representation_index.d.ts +5 -5
- package/dist/commonjs/parsers/manifest/smooth/representation_index.js +25 -9
- package/dist/commonjs/parsers/manifest/types.d.ts +1 -0
- package/dist/commonjs/parsers/manifest/utils/index_helpers.js +1 -1
- package/dist/commonjs/public_types.d.ts +78 -34
- package/dist/commonjs/transports/dash/init_segment_loader.js +10 -5
- package/dist/commonjs/transports/dash/manifest_parser.js +5 -2
- package/dist/commonjs/transports/dash/segment_loader.js +2 -1
- package/dist/commonjs/transports/dash/text_loader.js +2 -0
- package/dist/commonjs/transports/metaplaylist/manifest_loader.js +2 -1
- package/dist/commonjs/transports/metaplaylist/pipelines.js +4 -1
- package/dist/commonjs/transports/smooth/pipelines.js +4 -2
- package/dist/commonjs/transports/smooth/segment_loader.js +2 -1
- package/dist/commonjs/transports/types.d.ts +12 -0
- package/dist/commonjs/transports/utils/generate_manifest_loader.js +6 -3
- package/dist/commonjs/utils/queue_microtask.d.ts +2 -0
- package/dist/commonjs/utils/queue_microtask.js +7 -0
- package/dist/commonjs/utils/request/fetch.d.ts +6 -0
- package/dist/commonjs/utils/request/fetch.js +29 -8
- package/dist/commonjs/utils/request/xhr.d.ts +11 -5
- package/dist/commonjs/utils/request/xhr.js +29 -8
- package/dist/es2017/compat/is_codec_supported.js +22 -1
- package/dist/es2017/compat/patch_webkit_source_buffer.js +2 -2
- package/dist/es2017/config.d.ts +1 -0
- package/dist/es2017/core/api/debug/buffer_graph.js +2 -6
- package/dist/es2017/core/api/debug/modules/general_info.js +17 -10
- package/dist/es2017/core/api/option_utils.d.ts +4 -0
- package/dist/es2017/core/api/option_utils.js +8 -3
- package/dist/es2017/core/api/public_api.d.ts +11 -1
- package/dist/es2017/core/api/public_api.js +44 -9
- package/dist/es2017/core/fetchers/manifest/manifest_fetcher.d.ts +6 -0
- package/dist/es2017/core/fetchers/manifest/manifest_fetcher.js +11 -3
- package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts +8 -1
- package/dist/es2017/core/fetchers/segment/segment_fetcher.js +8 -4
- package/dist/es2017/core/fetchers/segment/segment_fetcher_creator.d.ts +1 -0
- package/dist/es2017/core/fetchers/utils/schedule_request.js +1 -1
- package/dist/es2017/core/init/directfile_content_initializer.js +24 -7
- package/dist/es2017/core/init/media_source_content_initializer.d.ts +6 -0
- package/dist/es2017/core/init/media_source_content_initializer.js +4 -6
- package/dist/es2017/core/init/utils/content_time_boundaries_observer.d.ts +13 -12
- package/dist/es2017/core/init/utils/content_time_boundaries_observer.js +16 -15
- package/dist/es2017/core/init/utils/get_initial_time.d.ts +17 -3
- package/dist/es2017/core/init/utils/get_initial_time.js +9 -7
- package/dist/es2017/core/segment_buffers/implementations/text/html/text_track_cues_store.js +54 -6
- package/dist/es2017/core/segment_buffers/implementations/text/html/utils.d.ts +2 -1
- package/dist/es2017/core/segment_buffers/implementations/text/html/utils.js +18 -2
- package/dist/es2017/core/stream/adaptation/adaptation_stream.js +2 -2
- package/dist/es2017/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/es2017/core/stream/period/period_stream.js +2 -2
- package/dist/es2017/core/stream/representation/utils/get_buffer_status.js +3 -3
- package/dist/es2017/core/stream/representation/utils/get_needed_segments.js +1 -1
- package/dist/es2017/default_config.d.ts +5 -0
- package/dist/es2017/default_config.js +5 -0
- package/dist/es2017/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +3 -1
- package/dist/es2017/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -0
- package/dist/es2017/manifest/representation.js +18 -5
- package/dist/es2017/manifest/representation_index/static.d.ts +1 -1
- package/dist/es2017/manifest/representation_index/static.js +2 -2
- package/dist/es2017/manifest/representation_index/types.d.ts +4 -4
- package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.d.ts +17 -0
- package/dist/es2017/parsers/manifest/dash/common/convert_supplemental_codecs.js +26 -0
- package/dist/es2017/parsers/manifest/dash/common/flatten_overlapping_periods.js +5 -0
- package/dist/es2017/parsers/manifest/dash/common/indexes/base.d.ts +6 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/base.js +4 -3
- package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +5 -2
- package/dist/es2017/parsers/manifest/dash/common/indexes/get_segments_from_timeline.js +15 -4
- package/dist/es2017/parsers/manifest/dash/common/indexes/index.d.ts +5 -5
- package/dist/es2017/parsers/manifest/dash/common/indexes/list.d.ts +1 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/list.js +2 -2
- package/dist/es2017/parsers/manifest/dash/common/indexes/template.d.ts +12 -5
- package/dist/es2017/parsers/manifest/dash/common/indexes/template.js +40 -27
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/index.d.ts +2 -1
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +99 -6
- package/dist/es2017/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +246 -51
- package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +40 -17
- package/dist/es2017/parsers/manifest/dash/common/manifest_bounds_calculator.js +38 -18
- package/dist/es2017/parsers/manifest/dash/common/parse_adaptation_sets.js +11 -8
- package/dist/es2017/parsers/manifest/dash/common/parse_mpd.js +27 -13
- package/dist/es2017/parsers/manifest/dash/common/parse_periods.d.ts +1 -1
- package/dist/es2017/parsers/manifest/dash/common/parse_periods.js +13 -16
- package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.d.ts +19 -6
- package/dist/es2017/parsers/manifest/dash/common/parse_representation_index.js +10 -8
- package/dist/es2017/parsers/manifest/dash/common/parse_representations.js +36 -20
- package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.js +3 -0
- package/dist/es2017/parsers/manifest/dash/js-parser/node_parsers/Representation.js +3 -0
- package/dist/es2017/parsers/manifest/dash/node_parser_types.d.ts +2 -0
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.js +4 -0
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/generators/Representation.js +4 -0
- package/dist/es2017/parsers/manifest/dash/wasm-parser/ts/types.d.ts +2 -1
- package/dist/es2017/parsers/manifest/local/representation_index.d.ts +1 -1
- package/dist/es2017/parsers/manifest/local/representation_index.js +3 -3
- package/dist/es2017/parsers/manifest/metaplaylist/representation_index.d.ts +1 -1
- package/dist/es2017/parsers/manifest/metaplaylist/representation_index.js +2 -2
- package/dist/es2017/parsers/manifest/smooth/representation_index.d.ts +5 -5
- package/dist/es2017/parsers/manifest/smooth/representation_index.js +25 -9
- package/dist/es2017/parsers/manifest/types.d.ts +1 -0
- package/dist/es2017/parsers/manifest/utils/index_helpers.js +1 -1
- package/dist/es2017/public_types.d.ts +78 -34
- package/dist/es2017/transports/dash/init_segment_loader.js +5 -0
- package/dist/es2017/transports/dash/manifest_parser.js +3 -0
- package/dist/es2017/transports/dash/segment_loader.js +1 -0
- package/dist/es2017/transports/dash/text_loader.js +2 -0
- package/dist/es2017/transports/metaplaylist/manifest_loader.js +1 -0
- package/dist/es2017/transports/metaplaylist/pipelines.js +4 -1
- package/dist/es2017/transports/smooth/pipelines.js +2 -0
- package/dist/es2017/transports/smooth/segment_loader.js +1 -0
- package/dist/es2017/transports/types.d.ts +12 -0
- package/dist/es2017/transports/utils/generate_manifest_loader.js +3 -0
- package/dist/es2017/utils/queue_microtask.d.ts +2 -0
- package/dist/es2017/utils/queue_microtask.js +5 -0
- package/dist/es2017/utils/request/fetch.d.ts +6 -0
- package/dist/es2017/utils/request/fetch.js +29 -8
- package/dist/es2017/utils/request/xhr.d.ts +11 -5
- package/dist/es2017/utils/request/xhr.js +30 -9
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +900 -492
- package/dist/rx-player.min.js +1 -1
- package/package.json +3 -7
- package/scripts/update-version +2 -0
- package/sonar-project.properties +1 -1
- package/src/compat/is_codec_supported.ts +23 -1
- package/src/compat/patch_webkit_source_buffer.ts +2 -2
- package/src/core/api/debug/buffer_graph.ts +2 -5
- package/src/core/api/debug/modules/general_info.ts +15 -10
- package/src/core/api/option_utils.ts +11 -3
- package/src/core/api/public_api.ts +48 -8
- package/src/core/fetchers/manifest/manifest_fetcher.ts +21 -3
- package/src/core/fetchers/segment/segment_fetcher.ts +19 -5
- package/src/core/fetchers/segment/segment_fetcher_creator.ts +1 -0
- package/src/core/fetchers/utils/schedule_request.ts +1 -1
- package/src/core/init/directfile_content_initializer.ts +23 -7
- package/src/core/init/media_source_content_initializer.ts +13 -7
- package/src/core/init/utils/content_time_boundaries_observer.ts +23 -22
- package/src/core/init/utils/get_initial_time.ts +25 -12
- package/src/core/segment_buffers/implementations/text/html/__tests__/utils.test.ts +15 -0
- package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +57 -6
- package/src/core/segment_buffers/implementations/text/html/utils.ts +19 -2
- package/src/core/stream/adaptation/adaptation_stream.ts +2 -2
- package/src/core/stream/orchestrator/stream_orchestrator.ts +3 -3
- package/src/core/stream/period/period_stream.ts +2 -2
- package/src/core/stream/representation/utils/get_buffer_status.ts +3 -3
- package/src/core/stream/representation/utils/get_needed_segments.ts +2 -2
- package/src/default_config.ts +5 -0
- package/src/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.ts +3 -1
- package/src/experimental/tools/createMetaplaylist/get_duration_from_manifest.ts +2 -0
- package/src/manifest/representation.ts +19 -6
- package/src/manifest/representation_index/static.ts +2 -2
- package/src/manifest/representation_index/types.ts +4 -4
- package/src/parsers/manifest/dash/common/__tests__/convert_supplemental_codecs.test.ts +37 -0
- package/src/parsers/manifest/dash/common/__tests__/flatten_overlapping_period.test.ts +20 -0
- package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +182 -36
- package/src/parsers/manifest/dash/common/convert_supplemental_codecs.ts +32 -0
- package/src/parsers/manifest/dash/common/flatten_overlapping_periods.ts +5 -0
- package/src/parsers/manifest/dash/common/indexes/base.ts +12 -4
- package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +19 -5
- package/src/parsers/manifest/dash/common/indexes/index.ts +16 -4
- package/src/parsers/manifest/dash/common/indexes/list.ts +2 -2
- package/src/parsers/manifest/dash/common/indexes/template.ts +52 -31
- package/src/parsers/manifest/dash/common/indexes/timeline/index.ts +4 -1
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +366 -60
- package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +63 -25
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +10 -4
- package/src/parsers/manifest/dash/common/parse_mpd.ts +28 -15
- package/src/parsers/manifest/dash/common/parse_periods.ts +12 -17
- package/src/parsers/manifest/dash/common/parse_representation_index.ts +50 -26
- package/src/parsers/manifest/dash/common/parse_representations.ts +39 -20
- package/src/parsers/manifest/dash/js-parser/node_parsers/AdaptationSet.ts +4 -0
- package/src/parsers/manifest/dash/js-parser/node_parsers/Representation.ts +4 -0
- package/src/parsers/manifest/dash/node_parser_types.ts +2 -0
- package/src/parsers/manifest/dash/wasm-parser/rs/events.rs +2 -0
- package/src/parsers/manifest/dash/wasm-parser/rs/processor/attributes.rs +2 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/AdaptationSet.ts +4 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/generators/Representation.ts +4 -0
- package/src/parsers/manifest/dash/wasm-parser/ts/types.ts +2 -0
- package/src/parsers/manifest/local/representation_index.ts +3 -3
- package/src/parsers/manifest/metaplaylist/representation_index.ts +2 -2
- package/src/parsers/manifest/smooth/representation_index.ts +23 -9
- package/src/parsers/manifest/types.ts +2 -0
- package/src/parsers/manifest/utils/__tests__/get_first_time_from_adaptations.test.ts +1 -1
- package/src/parsers/manifest/utils/__tests__/get_last_time_from_adaptation.test.ts +1 -1
- package/src/parsers/manifest/utils/index_helpers.ts +1 -1
- package/src/public_types.ts +79 -34
- package/src/transports/dash/init_segment_loader.ts +5 -0
- package/src/transports/dash/manifest_parser.ts +6 -0
- package/src/transports/dash/segment_loader.ts +1 -0
- package/src/transports/dash/text_loader.ts +2 -0
- package/src/transports/metaplaylist/manifest_loader.ts +1 -0
- package/src/transports/metaplaylist/pipelines.ts +4 -1
- package/src/transports/smooth/pipelines.ts +2 -0
- package/src/transports/smooth/segment_loader.ts +1 -0
- package/src/transports/types.ts +12 -0
- package/src/transports/utils/generate_manifest_loader.ts +3 -0
- package/src/utils/queue_microtask.ts +7 -0
- package/src/utils/request/fetch.ts +35 -8
- package/src/utils/request/xhr.ts +45 -14
- package/dist/_esm5.processed/compat/fullscreen.d.ts +0 -32
- package/dist/_esm5.processed/compat/fullscreen.js +0 -78
- package/dist/_esm5.processed/compat/is_offline.d.ts +0 -39
- package/dist/_esm5.processed/compat/is_offline.js +0 -43
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.d.ts +0 -258
- package/dist/_esm5.processed/core/api/tracks_management/track_choice_manager.js +0 -989
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.d.ts +0 -75
- package/dist/_esm5.processed/core/segment_buffers/implementations/image/image_segment_buffer.js +0 -133
- package/dist/_esm5.processed/features/list/bif_parser.d.ts +0 -23
- package/dist/_esm5.processed/features/list/bif_parser.js +0 -27
- package/dist/_esm5.processed/features/list/image_buffer.js +0 -25
- package/dist/_esm5.processed/transports/dash/image_pipelines.d.ts +0 -38
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +0 -129
- package/dist/_esm5.processed/utils/list_to_map.js +0 -28
- package/dist/_esm5.processed/utils/simple_set.d.ts +0 -51
- package/dist/_esm5.processed/utils/simple_set.js +0 -57
- package/dist/_esm5.processed/utils/uniq.d.ts +0 -36
- package/dist/_esm5.processed/utils/uniq.js +0 -43
- package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
- package/dist/commonjs/parsers/manifest/utils/is_segment_still_available.js +0 -54
- package/dist/es2017/parsers/manifest/utils/is_segment_still_available.d.ts +0 -29
- package/dist/es2017/parsers/manifest/utils/is_segment_still_available.js +0 -51
- package/src/parsers/manifest/utils/is_segment_still_available.ts +0 -58
- package/src/typings/next-tick.d.ts +0 -23
- package/src/typings/object-assign.d.ts +0 -48
|
@@ -17,13 +17,9 @@ import log from "../log";
|
|
|
17
17
|
import arrayFind from "../utils/array_find";
|
|
18
18
|
import isNullOrUndefined from "../utils/is_null_or_undefined";
|
|
19
19
|
import normalizeLanguage from "../utils/languages";
|
|
20
|
-
import uniq from "../utils/uniq";
|
|
21
20
|
import Representation from "./representation";
|
|
22
21
|
/** List in an array every possible value for the Adaptation's `type` property. */
|
|
23
|
-
export var SUPPORTED_ADAPTATIONS_TYPE = ["audio",
|
|
24
|
-
"video",
|
|
25
|
-
"text",
|
|
26
|
-
"image"];
|
|
22
|
+
export var SUPPORTED_ADAPTATIONS_TYPE = ["audio", "video", "text"];
|
|
27
23
|
/**
|
|
28
24
|
* Normalized Adaptation structure.
|
|
29
25
|
* An `Adaptation` describes a single `Track`. For example a specific audio
|
|
@@ -78,14 +74,36 @@ var Adaptation = /** @class */ (function () {
|
|
|
78
74
|
var isSupported = false;
|
|
79
75
|
for (var i = 0; i < argsRepresentations.length; i++) {
|
|
80
76
|
var representation = new Representation(argsRepresentations[i], { type: this.type });
|
|
81
|
-
var shouldAdd =
|
|
82
|
-
|
|
77
|
+
var shouldAdd = true;
|
|
78
|
+
if (!isNullOrUndefined(representationFilter)) {
|
|
79
|
+
var reprObject = {
|
|
80
|
+
id: representation.id,
|
|
81
|
+
bitrate: representation.bitrate,
|
|
82
|
+
codec: representation.codec,
|
|
83
|
+
height: representation.height,
|
|
84
|
+
width: representation.width,
|
|
85
|
+
frameRate: representation.frameRate,
|
|
86
|
+
hdrInfo: representation.hdrInfo,
|
|
87
|
+
};
|
|
88
|
+
if (representation.contentProtections !== undefined) {
|
|
89
|
+
reprObject.contentProtections = {};
|
|
90
|
+
if (representation.contentProtections.keyIds !== undefined) {
|
|
91
|
+
var keyIds = representation.contentProtections.keyIds
|
|
92
|
+
.map(function (_a) {
|
|
93
|
+
var keyId = _a.keyId;
|
|
94
|
+
return keyId;
|
|
95
|
+
});
|
|
96
|
+
reprObject.contentProtections.keyIds = keyIds;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
shouldAdd = representationFilter(reprObject, { bufferType: this.type,
|
|
83
100
|
language: this.language,
|
|
84
101
|
normalizedLanguage: this.normalizedLanguage,
|
|
85
102
|
isClosedCaption: this.isClosedCaption,
|
|
86
103
|
isDub: this.isDub,
|
|
87
104
|
isAudioDescription: this.isAudioDescription,
|
|
88
105
|
isSignInterpreted: this.isSignInterpreted });
|
|
106
|
+
}
|
|
89
107
|
if (shouldAdd) {
|
|
90
108
|
representations.push(representation);
|
|
91
109
|
if (!isSupported && representation.isSupported) {
|
|
@@ -102,29 +120,13 @@ var Adaptation = /** @class */ (function () {
|
|
|
102
120
|
// for manuallyAdded adaptations (not in the manifest)
|
|
103
121
|
this.manuallyAdded = isManuallyAdded === true;
|
|
104
122
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Returns unique bitrate for every Representation in this Adaptation.
|
|
107
|
-
* @returns {Array.<Number>}
|
|
108
|
-
*/
|
|
109
|
-
Adaptation.prototype.getAvailableBitrates = function () {
|
|
110
|
-
var bitrates = [];
|
|
111
|
-
for (var i = 0; i < this.representations.length; i++) {
|
|
112
|
-
var representation = this.representations[i];
|
|
113
|
-
if (representation.decipherable !== false) {
|
|
114
|
-
bitrates.push(representation.bitrate);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return uniq(bitrates);
|
|
118
|
-
};
|
|
119
123
|
/**
|
|
120
124
|
* Returns all Representation in this Adaptation that can be played (that is:
|
|
121
125
|
* not undecipherable and with a supported codec).
|
|
122
126
|
* @returns {Array.<Representation>}
|
|
123
127
|
*/
|
|
124
128
|
Adaptation.prototype.getPlayableRepresentations = function () {
|
|
125
|
-
return this.representations.filter(function (rep) {
|
|
126
|
-
return rep.isSupported && rep.decipherable !== false;
|
|
127
|
-
});
|
|
129
|
+
return this.representations.filter(function (rep) { return rep.isPlayable(); });
|
|
128
130
|
};
|
|
129
131
|
/**
|
|
130
132
|
* Returns the Representation linked to the given ID.
|
|
@@ -139,16 +141,20 @@ var Adaptation = /** @class */ (function () {
|
|
|
139
141
|
};
|
|
140
142
|
/**
|
|
141
143
|
* Format an `Adaptation`, generally of type `"audio"`, as an `IAudioTrack`.
|
|
144
|
+
* @param {boolean} filterPlayable - If `true` only "playable" Representation
|
|
145
|
+
* will be returned.
|
|
142
146
|
* @returns {Object}
|
|
143
147
|
*/
|
|
144
|
-
Adaptation.prototype.toAudioTrack = function () {
|
|
148
|
+
Adaptation.prototype.toAudioTrack = function (filterPlayable) {
|
|
145
149
|
var _a, _b;
|
|
146
150
|
var formatted = {
|
|
147
151
|
language: (_a = this.language) !== null && _a !== void 0 ? _a : "",
|
|
148
152
|
normalized: (_b = this.normalizedLanguage) !== null && _b !== void 0 ? _b : "",
|
|
149
153
|
audioDescription: this.isAudioDescription === true,
|
|
150
154
|
id: this.id,
|
|
151
|
-
representations:
|
|
155
|
+
representations: (filterPlayable ?
|
|
156
|
+
this.getPlayableRepresentations() :
|
|
157
|
+
this.representations).map(function (r) { return r.toAudioRepresentation(); }),
|
|
152
158
|
label: this.label,
|
|
153
159
|
};
|
|
154
160
|
if (this.isDub === true) {
|
|
@@ -173,13 +179,16 @@ var Adaptation = /** @class */ (function () {
|
|
|
173
179
|
};
|
|
174
180
|
/**
|
|
175
181
|
* Format an `Adaptation`, generally of type `"video"`, as an `IAudioTrack`.
|
|
182
|
+
* @param {boolean} filterPlayable - If `true` only "playable" Representation
|
|
183
|
+
* will be returned.
|
|
176
184
|
* @returns {Object}
|
|
177
185
|
*/
|
|
178
|
-
Adaptation.prototype.toVideoTrack = function () {
|
|
186
|
+
Adaptation.prototype.toVideoTrack = function (filterPlayable) {
|
|
179
187
|
var trickModeTracks = this.trickModeTracks !== undefined ?
|
|
180
188
|
this.trickModeTracks.map(function (trickModeAdaptation) {
|
|
181
|
-
var representations =
|
|
182
|
-
.
|
|
189
|
+
var representations = (filterPlayable ?
|
|
190
|
+
trickModeAdaptation.getPlayableRepresentations() :
|
|
191
|
+
trickModeAdaptation.representations).map(function (r) { return r.toVideoRepresentation(); });
|
|
183
192
|
var trickMode = { id: trickModeAdaptation.id, representations: representations, isTrickModeTrack: true };
|
|
184
193
|
if (trickModeAdaptation.isSignInterpreted === true) {
|
|
185
194
|
trickMode.signInterpreted = true;
|
|
@@ -189,7 +198,9 @@ var Adaptation = /** @class */ (function () {
|
|
|
189
198
|
undefined;
|
|
190
199
|
var videoTrack = {
|
|
191
200
|
id: this.id,
|
|
192
|
-
representations:
|
|
201
|
+
representations: (filterPlayable ?
|
|
202
|
+
this.getPlayableRepresentations() :
|
|
203
|
+
this.representations).map(function (r) { return r.toVideoRepresentation(); }),
|
|
193
204
|
label: this.label,
|
|
194
205
|
};
|
|
195
206
|
if (this.isSignInterpreted === true) {
|
|
@@ -14,12 +14,11 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import Adaptation, { SUPPORTED_ADAPTATIONS_TYPE } from "./adaptation";
|
|
17
|
-
import Manifest, { IDecipherabilityUpdateElement, IManifestParsingOptions
|
|
17
|
+
import Manifest, { IDecipherabilityUpdateElement, IManifestParsingOptions } from "./manifest";
|
|
18
18
|
import Period from "./period";
|
|
19
19
|
import Representation from "./representation";
|
|
20
|
-
import {
|
|
21
|
-
import { IAdaptationType } from "./types";
|
|
20
|
+
import { IMetaPlaylistPrivateInfos, IRepresentationIndex, ISegment, StaticRepresentationIndex } from "./representation_index";
|
|
22
21
|
import { areSameContent, getLoggableSegmentId, IBufferedChunkInfos } from "./utils";
|
|
23
22
|
export default Manifest;
|
|
24
23
|
export * from "./types";
|
|
25
|
-
export { areSameContent, getLoggableSegmentId, IBufferedChunkInfos, Period, Adaptation, Representation,
|
|
24
|
+
export { areSameContent, getLoggableSegmentId, IBufferedChunkInfos, Period, Adaptation, Representation, IDecipherabilityUpdateElement, IManifestParsingOptions, IMetaPlaylistPrivateInfos, IRepresentationIndex, ISegment, StaticRepresentationIndex, SUPPORTED_ADAPTATIONS_TYPE, };
|
|
@@ -14,51 +14,14 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { IParsedManifest } from "../parsers/manifest";
|
|
17
|
-
import { IPlayerError, IRepresentationFilter } from "../public_types";
|
|
17
|
+
import { ITrackType, IPlayerError, IRepresentationFilter } from "../public_types";
|
|
18
18
|
import EventEmitter from "../utils/event_emitter";
|
|
19
19
|
import Adaptation from "./adaptation";
|
|
20
20
|
import Period, { IManifestAdaptations } from "./period";
|
|
21
21
|
import Representation from "./representation";
|
|
22
|
-
import { IAdaptationType } from "./types";
|
|
23
22
|
import { IPeriodsUpdateResult } from "./update_periods";
|
|
24
|
-
/**
|
|
25
|
-
* Interface a manually-added supplementary image track should respect.
|
|
26
|
-
* @deprecated
|
|
27
|
-
*/
|
|
28
|
-
interface ISupplementaryImageTrack {
|
|
29
|
-
/** mime-type identifying the type of container for the track. */
|
|
30
|
-
mimeType: string;
|
|
31
|
-
/** URL to the thumbnails file */
|
|
32
|
-
url: string;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Interface a manually-added supplementary text track should respect.
|
|
36
|
-
* @deprecated
|
|
37
|
-
*/
|
|
38
|
-
interface ISupplementaryTextTrack {
|
|
39
|
-
/** mime-type identifying the type of container for the track. */
|
|
40
|
-
mimeType: string;
|
|
41
|
-
/** codecs in the container (mimeType can be enough) */
|
|
42
|
-
codecs?: string;
|
|
43
|
-
/** URL to the text track file */
|
|
44
|
-
url: string;
|
|
45
|
-
/** ISO639-{1,2,3} code for the language of the track */
|
|
46
|
-
language?: string;
|
|
47
|
-
/**
|
|
48
|
-
* Same as `language`, but in an Array.
|
|
49
|
-
* Kept for compatibility with old API.
|
|
50
|
-
* @deprecated
|
|
51
|
-
*/
|
|
52
|
-
languages?: string[];
|
|
53
|
-
/** If true, the track are closed captions. */
|
|
54
|
-
closedCaption: boolean;
|
|
55
|
-
}
|
|
56
23
|
/** Options given to the `Manifest` constructor. */
|
|
57
24
|
interface IManifestParsingOptions {
|
|
58
|
-
/** Text tracks to add manually to the Manifest instance. */
|
|
59
|
-
supplementaryTextTracks?: ISupplementaryTextTrack[] | undefined;
|
|
60
|
-
/** Image tracks to add manually to the Manifest instance. */
|
|
61
|
-
supplementaryImageTracks?: ISupplementaryImageTrack[] | undefined;
|
|
62
25
|
/** External callback peforming an automatic filtering of wanted Representations. */
|
|
63
26
|
representationFilter?: IRepresentationFilter | undefined;
|
|
64
27
|
/** Optional URL that points to a shorter version of the Manifest used
|
|
@@ -234,9 +197,9 @@ export default class Manifest extends EventEmitter<IManifestEvents> {
|
|
|
234
197
|
/**
|
|
235
198
|
* Returns the most important URL from which the Manifest can be refreshed.
|
|
236
199
|
* `undefined` if no URL is found.
|
|
237
|
-
* @returns {string
|
|
200
|
+
* @returns {Array.<string>}
|
|
238
201
|
*/
|
|
239
|
-
|
|
202
|
+
getUrls(): string[];
|
|
240
203
|
/**
|
|
241
204
|
* Update the current Manifest properties by giving a new updated version.
|
|
242
205
|
* This instance will be updated with the new information coming from it.
|
|
@@ -290,28 +253,16 @@ export default class Manifest extends EventEmitter<IManifestEvents> {
|
|
|
290
253
|
* @deprecated only returns adaptations for the first period
|
|
291
254
|
* @returns {Array.<Object>}
|
|
292
255
|
*/
|
|
293
|
-
getAdaptationsForType(adaptationType:
|
|
256
|
+
getAdaptationsForType(adaptationType: ITrackType): Adaptation[];
|
|
294
257
|
/**
|
|
295
258
|
* @deprecated only returns adaptations for the first period
|
|
296
259
|
* @returns {Array.<Object>}
|
|
297
260
|
*/
|
|
298
261
|
getAdaptation(wantedId: number | string): Adaptation | undefined;
|
|
299
|
-
/**
|
|
300
|
-
* Add supplementary image Adaptation(s) to the manifest.
|
|
301
|
-
* @private
|
|
302
|
-
* @param {Object|Array.<Object>} imageTracks
|
|
303
|
-
*/
|
|
304
|
-
private _addSupplementaryImageAdaptations;
|
|
305
|
-
/**
|
|
306
|
-
* Add supplementary text Adaptation(s) to the manifest.
|
|
307
|
-
* @private
|
|
308
|
-
* @param {Object|Array.<Object>} textTracks
|
|
309
|
-
*/
|
|
310
|
-
private _addSupplementaryTextAdaptations;
|
|
311
262
|
/**
|
|
312
263
|
* @param {Object} newManifest
|
|
313
264
|
* @param {number} updateType
|
|
314
265
|
*/
|
|
315
266
|
private _performUpdate;
|
|
316
267
|
}
|
|
317
|
-
export { IManifestParsingOptions
|
|
268
|
+
export { IManifestParsingOptions };
|
|
@@ -28,19 +28,14 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
28
28
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
29
29
|
};
|
|
30
30
|
})();
|
|
31
|
-
import { MediaError } from "../errors";
|
|
32
31
|
import log from "../log";
|
|
33
32
|
import arrayFind from "../utils/array_find";
|
|
34
33
|
import EventEmitter from "../utils/event_emitter";
|
|
35
34
|
import idGenerator from "../utils/id_generator";
|
|
36
|
-
import { getFilenameIndexInUrl } from "../utils/resolve_url";
|
|
37
35
|
import warnOnce from "../utils/warn_once";
|
|
38
|
-
import Adaptation from "./adaptation";
|
|
39
36
|
import Period from "./period";
|
|
40
|
-
import {
|
|
41
|
-
import { MANIFEST_UPDATE_TYPE, } from "./types";
|
|
37
|
+
import { MANIFEST_UPDATE_TYPE } from "./types";
|
|
42
38
|
import { replacePeriods, updatePeriods, } from "./update_periods";
|
|
43
|
-
var generateSupplementaryTrackID = idGenerator();
|
|
44
39
|
var generateNewManifestId = idGenerator();
|
|
45
40
|
/**
|
|
46
41
|
* Normalized Manifest structure.
|
|
@@ -75,7 +70,7 @@ var Manifest = /** @class */ (function (_super) {
|
|
|
75
70
|
function Manifest(parsedManifest, options) {
|
|
76
71
|
var _a;
|
|
77
72
|
var _this = _super.call(this) || this;
|
|
78
|
-
var
|
|
73
|
+
var representationFilter = options.representationFilter, manifestUpdateUrl = options.manifestUpdateUrl;
|
|
79
74
|
_this.contentWarnings = [];
|
|
80
75
|
_this.id = generateNewManifestId();
|
|
81
76
|
_this.expired = (_a = parsedManifest.expired) !== null && _a !== void 0 ? _a : null;
|
|
@@ -106,12 +101,6 @@ var Manifest = /** @class */ (function (_super) {
|
|
|
106
101
|
_this.suggestedPresentationDelay = parsedManifest.suggestedPresentationDelay;
|
|
107
102
|
_this.availabilityStartTime = parsedManifest.availabilityStartTime;
|
|
108
103
|
_this.publishTime = parsedManifest.publishTime;
|
|
109
|
-
if (supplementaryImageTracks.length > 0) {
|
|
110
|
-
_this._addSupplementaryImageAdaptations(supplementaryImageTracks);
|
|
111
|
-
}
|
|
112
|
-
if (supplementaryTextTracks.length > 0) {
|
|
113
|
-
_this._addSupplementaryTextAdaptations(supplementaryTextTracks);
|
|
114
|
-
}
|
|
115
104
|
return _this;
|
|
116
105
|
}
|
|
117
106
|
/**
|
|
@@ -168,10 +157,10 @@ var Manifest = /** @class */ (function (_super) {
|
|
|
168
157
|
/**
|
|
169
158
|
* Returns the most important URL from which the Manifest can be refreshed.
|
|
170
159
|
* `undefined` if no URL is found.
|
|
171
|
-
* @returns {string
|
|
160
|
+
* @returns {Array.<string>}
|
|
172
161
|
*/
|
|
173
|
-
Manifest.prototype.
|
|
174
|
-
return this.uris
|
|
162
|
+
Manifest.prototype.getUrls = function () {
|
|
163
|
+
return this.uris;
|
|
175
164
|
};
|
|
176
165
|
/**
|
|
177
166
|
* Update the current Manifest properties by giving a new updated version.
|
|
@@ -310,100 +299,6 @@ var Manifest = /** @class */ (function (_super) {
|
|
|
310
299
|
});
|
|
311
300
|
/* eslint-enable import/no-deprecated */
|
|
312
301
|
};
|
|
313
|
-
/**
|
|
314
|
-
* Add supplementary image Adaptation(s) to the manifest.
|
|
315
|
-
* @private
|
|
316
|
-
* @param {Object|Array.<Object>} imageTracks
|
|
317
|
-
*/
|
|
318
|
-
Manifest.prototype._addSupplementaryImageAdaptations = function (
|
|
319
|
-
/* eslint-disable import/no-deprecated */
|
|
320
|
-
imageTracks) {
|
|
321
|
-
var _this = this;
|
|
322
|
-
var _imageTracks = Array.isArray(imageTracks) ? imageTracks : [imageTracks];
|
|
323
|
-
var newImageTracks = _imageTracks.map(function (_a) {
|
|
324
|
-
var mimeType = _a.mimeType, url = _a.url;
|
|
325
|
-
var adaptationID = "gen-image-ada-" + generateSupplementaryTrackID();
|
|
326
|
-
var representationID = "gen-image-rep-" + generateSupplementaryTrackID();
|
|
327
|
-
var indexOfFilename = getFilenameIndexInUrl(url);
|
|
328
|
-
var cdnUrl = url.substring(0, indexOfFilename);
|
|
329
|
-
var filename = url.substring(indexOfFilename);
|
|
330
|
-
var newAdaptation = new Adaptation({ id: adaptationID,
|
|
331
|
-
type: "image",
|
|
332
|
-
representations: [{
|
|
333
|
-
bitrate: 0,
|
|
334
|
-
cdnMetadata: [{ baseUrl: cdnUrl }],
|
|
335
|
-
id: representationID,
|
|
336
|
-
mimeType: mimeType,
|
|
337
|
-
index: new StaticRepresentationIndex({
|
|
338
|
-
media: filename,
|
|
339
|
-
})
|
|
340
|
-
}] }, { isManuallyAdded: true });
|
|
341
|
-
if (newAdaptation.representations.length > 0 && !newAdaptation.isSupported) {
|
|
342
|
-
var error = new MediaError("MANIFEST_INCOMPATIBLE_CODECS_ERROR", "An Adaptation contains only incompatible codecs.", { adaptation: newAdaptation });
|
|
343
|
-
_this.contentWarnings.push(error);
|
|
344
|
-
}
|
|
345
|
-
return newAdaptation;
|
|
346
|
-
});
|
|
347
|
-
if (newImageTracks.length > 0 && this.periods.length > 0) {
|
|
348
|
-
var adaptations = this.periods[0].adaptations;
|
|
349
|
-
adaptations.image =
|
|
350
|
-
adaptations.image != null ? adaptations.image.concat(newImageTracks) :
|
|
351
|
-
newImageTracks;
|
|
352
|
-
}
|
|
353
|
-
};
|
|
354
|
-
/**
|
|
355
|
-
* Add supplementary text Adaptation(s) to the manifest.
|
|
356
|
-
* @private
|
|
357
|
-
* @param {Object|Array.<Object>} textTracks
|
|
358
|
-
*/
|
|
359
|
-
Manifest.prototype._addSupplementaryTextAdaptations = function (
|
|
360
|
-
/* eslint-disable import/no-deprecated */
|
|
361
|
-
textTracks
|
|
362
|
-
/* eslint-enable import/no-deprecated */
|
|
363
|
-
) {
|
|
364
|
-
var _this = this;
|
|
365
|
-
var _textTracks = Array.isArray(textTracks) ? textTracks : [textTracks];
|
|
366
|
-
var newTextAdaptations = _textTracks.reduce(function (allSubs, _a) {
|
|
367
|
-
var mimeType = _a.mimeType, codecs = _a.codecs, url = _a.url, language = _a.language,
|
|
368
|
-
/* eslint-disable import/no-deprecated */
|
|
369
|
-
languages = _a.languages,
|
|
370
|
-
/* eslint-enable import/no-deprecated */
|
|
371
|
-
closedCaption = _a.closedCaption;
|
|
372
|
-
var langsToMapOn = language != null ? [language] :
|
|
373
|
-
languages != null ? languages :
|
|
374
|
-
[];
|
|
375
|
-
var indexOfFilename = getFilenameIndexInUrl(url);
|
|
376
|
-
var cdnUrl = url.substring(0, indexOfFilename);
|
|
377
|
-
var filename = url.substring(indexOfFilename);
|
|
378
|
-
return allSubs.concat(langsToMapOn.map(function (_language) {
|
|
379
|
-
var adaptationID = "gen-text-ada-" + generateSupplementaryTrackID();
|
|
380
|
-
var representationID = "gen-text-rep-" + generateSupplementaryTrackID();
|
|
381
|
-
var newAdaptation = new Adaptation({ id: adaptationID,
|
|
382
|
-
type: "text",
|
|
383
|
-
language: _language, closedCaption: closedCaption, representations: [{
|
|
384
|
-
bitrate: 0,
|
|
385
|
-
cdnMetadata: [{ baseUrl: cdnUrl }],
|
|
386
|
-
id: representationID,
|
|
387
|
-
mimeType: mimeType,
|
|
388
|
-
codecs: codecs,
|
|
389
|
-
index: new StaticRepresentationIndex({
|
|
390
|
-
media: filename,
|
|
391
|
-
})
|
|
392
|
-
}] }, { isManuallyAdded: true });
|
|
393
|
-
if (newAdaptation.representations.length > 0 && !newAdaptation.isSupported) {
|
|
394
|
-
var error = new MediaError("MANIFEST_INCOMPATIBLE_CODECS_ERROR", "An Adaptation contains only incompatible codecs.", { adaptation: newAdaptation });
|
|
395
|
-
_this.contentWarnings.push(error);
|
|
396
|
-
}
|
|
397
|
-
return newAdaptation;
|
|
398
|
-
}));
|
|
399
|
-
}, []);
|
|
400
|
-
if (newTextAdaptations.length > 0 && this.periods.length > 0) {
|
|
401
|
-
var adaptations = this.periods[0].adaptations;
|
|
402
|
-
adaptations.text =
|
|
403
|
-
adaptations.text != null ? adaptations.text.concat(newTextAdaptations) :
|
|
404
|
-
newTextAdaptations;
|
|
405
|
-
}
|
|
406
|
-
};
|
|
407
302
|
/**
|
|
408
303
|
* @param {Object} newManifest
|
|
409
304
|
* @param {number} updateType
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { IManifestStreamEvent, IParsedPeriod } from "../parsers/manifest";
|
|
2
|
-
import { IPlayerError, IRepresentationFilter } from "../public_types";
|
|
2
|
+
import { ITrackType, IPlayerError, IRepresentationFilter } from "../public_types";
|
|
3
3
|
import Adaptation from "./adaptation";
|
|
4
|
-
import { IAdaptationType } from "./types";
|
|
5
4
|
/** Structure listing every `Adaptation` in a Period. */
|
|
6
|
-
export type IManifestAdaptations = Partial<Record<
|
|
5
|
+
export type IManifestAdaptations = Partial<Record<ITrackType, Adaptation[]>>;
|
|
7
6
|
/**
|
|
8
7
|
* Class representing the tracks and qualities available from a given time
|
|
9
8
|
* period in the the Manifest.
|
|
@@ -51,7 +50,7 @@ export default class Period {
|
|
|
51
50
|
* @param {string} adaptationType
|
|
52
51
|
* @returns {Array.<Object>}
|
|
53
52
|
*/
|
|
54
|
-
getAdaptationsForType(adaptationType:
|
|
53
|
+
getAdaptationsForType(adaptationType: ITrackType): Adaptation[];
|
|
55
54
|
/**
|
|
56
55
|
* Returns the Adaptation linked to the given ID.
|
|
57
56
|
* @param {number|string} wantedId
|
|
@@ -64,7 +63,7 @@ export default class Period {
|
|
|
64
63
|
* type. Will return for all types if `undefined`.
|
|
65
64
|
* @returns {Array.<Adaptation>}
|
|
66
65
|
*/
|
|
67
|
-
getSupportedAdaptations(type?:
|
|
66
|
+
getSupportedAdaptations(type?: ITrackType): Adaptation[];
|
|
68
67
|
/**
|
|
69
68
|
* Returns true if the give time is in the time boundaries of this `Period`.
|
|
70
69
|
* @param {number} time
|
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { ICdnMetadata, IContentProtections, IParsedRepresentation } from "../parsers/manifest";
|
|
17
|
-
import { IAudioRepresentation, IHDRInformation, IVideoRepresentation } from "../public_types";
|
|
17
|
+
import { IAudioRepresentation, ITrackType, IHDRInformation, IVideoRepresentation } from "../public_types";
|
|
18
18
|
import { IRepresentationIndex } from "./representation_index";
|
|
19
|
-
import { IAdaptationType } from "./types";
|
|
20
19
|
/**
|
|
21
20
|
* Normalized Representation structure.
|
|
22
21
|
* @class Representation
|
|
@@ -67,7 +66,7 @@ declare class Representation {
|
|
|
67
66
|
* Frame-rate, when it can be applied, of this Representation, in any textual
|
|
68
67
|
* indication possible (often under a ratio form).
|
|
69
68
|
*/
|
|
70
|
-
frameRate?:
|
|
69
|
+
frameRate?: number;
|
|
71
70
|
/**
|
|
72
71
|
* `true` if this `Representation` is linked to a spatial audio technology.
|
|
73
72
|
* For example, it may be set to `true` if the Representation relies on the
|
|
@@ -123,7 +122,7 @@ declare class Representation {
|
|
|
123
122
|
* @param {Object} args
|
|
124
123
|
*/
|
|
125
124
|
constructor(args: IParsedRepresentation, opts: {
|
|
126
|
-
type:
|
|
125
|
+
type: ITrackType;
|
|
127
126
|
});
|
|
128
127
|
/**
|
|
129
128
|
* Returns "mime-type string" which includes both the mime-type and the codec,
|
|
@@ -195,7 +194,7 @@ declare class Representation {
|
|
|
195
194
|
* @param {Uint8Array} data
|
|
196
195
|
* @returns {boolean}
|
|
197
196
|
*/
|
|
198
|
-
|
|
197
|
+
addProtectionData(initDataType: string, keyId: Uint8Array | undefined, data: Array<{
|
|
199
198
|
systemId: string;
|
|
200
199
|
data: Uint8Array;
|
|
201
200
|
}>): boolean;
|
|
@@ -209,6 +208,12 @@ declare class Representation {
|
|
|
209
208
|
* @returns {Object}
|
|
210
209
|
*/
|
|
211
210
|
toVideoRepresentation(): IVideoRepresentation;
|
|
211
|
+
/**
|
|
212
|
+
* Returns `true` if this Representation can be played (that is: not
|
|
213
|
+
* undecipherable and with a supported codec).
|
|
214
|
+
* @returns {Array.<Representation>}
|
|
215
|
+
*/
|
|
216
|
+
isPlayable(): boolean;
|
|
212
217
|
}
|
|
213
218
|
/** Protection data as returned by a Representation. */
|
|
214
219
|
export interface IRepresentationProtectionData {
|
|
@@ -27,6 +27,7 @@ var Representation = /** @class */ (function () {
|
|
|
27
27
|
* @param {Object} args
|
|
28
28
|
*/
|
|
29
29
|
function Representation(args, opts) {
|
|
30
|
+
var _a;
|
|
30
31
|
this.id = args.id;
|
|
31
32
|
this.uniqueId = generateRepresentationUniqueId();
|
|
32
33
|
this.bitrate = args.bitrate;
|
|
@@ -55,12 +56,24 @@ var Representation = /** @class */ (function () {
|
|
|
55
56
|
this.cdnMetadata = args.cdnMetadata;
|
|
56
57
|
this.index = args.index;
|
|
57
58
|
if (opts.type === "audio" || opts.type === "video") {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
this.isSupported = false;
|
|
60
|
+
// Supplemental codecs are defined as backwards-compatible codecs enhancing
|
|
61
|
+
// the experience of a base layer codec
|
|
62
|
+
if (args.supplementalCodecs !== undefined) {
|
|
63
|
+
var supplementalCodecMimeTypeStr = "".concat((_a = this.mimeType) !== null && _a !== void 0 ? _a : "", ";codecs=\"").concat(args.supplementalCodecs, "\"");
|
|
64
|
+
if (isCodecSupported(supplementalCodecMimeTypeStr)) {
|
|
65
|
+
this.codec = args.supplementalCodecs;
|
|
66
|
+
this.isSupported = true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (!this.isSupported) {
|
|
70
|
+
var mimeTypeStr = this.getMimeTypeString();
|
|
71
|
+
var isSupported = isCodecSupported(mimeTypeStr);
|
|
72
|
+
if (!isSupported) {
|
|
73
|
+
log.info("Unsupported Representation", mimeTypeStr, this.id, this.bitrate);
|
|
74
|
+
}
|
|
75
|
+
this.isSupported = isSupported;
|
|
62
76
|
}
|
|
63
|
-
this.isSupported = isSupported;
|
|
64
77
|
}
|
|
65
78
|
else {
|
|
66
79
|
this.isSupported = true; // TODO for other types
|
|
@@ -170,7 +183,7 @@ var Representation = /** @class */ (function () {
|
|
|
170
183
|
* @param {Uint8Array} data
|
|
171
184
|
* @returns {boolean}
|
|
172
185
|
*/
|
|
173
|
-
Representation.prototype.
|
|
186
|
+
Representation.prototype.addProtectionData = function (initDataType, keyId, data) {
|
|
174
187
|
var hasUpdatedProtectionData = false;
|
|
175
188
|
if (this.contentProtections === undefined) {
|
|
176
189
|
this.contentProtections = { keyIds: keyId !== undefined ? [{ keyId: keyId }] : [],
|
|
@@ -236,16 +249,26 @@ var Representation = /** @class */ (function () {
|
|
|
236
249
|
* @returns {Object}
|
|
237
250
|
*/
|
|
238
251
|
Representation.prototype.toAudioRepresentation = function () {
|
|
239
|
-
var _a = this, id = _a.id, isSpatialAudio = _a.isSpatialAudio,
|
|
240
|
-
return { id: id,
|
|
252
|
+
var _a = this, id = _a.id, bitrate = _a.bitrate, codec = _a.codec, isSpatialAudio = _a.isSpatialAudio, isSupported = _a.isSupported, decipherable = _a.decipherable;
|
|
253
|
+
return { id: id, bitrate: bitrate, codec: codec, isSpatialAudio: isSpatialAudio, isCodecSupported: isSupported,
|
|
254
|
+
seemsDecipherable: decipherable };
|
|
241
255
|
};
|
|
242
256
|
/**
|
|
243
257
|
* Format Representation as an `IVideoRepresentation`.
|
|
244
258
|
* @returns {Object}
|
|
245
259
|
*/
|
|
246
260
|
Representation.prototype.toVideoRepresentation = function () {
|
|
247
|
-
var _a = this, id = _a.id, bitrate = _a.bitrate, frameRate = _a.frameRate, width = _a.width, height = _a.height, codec = _a.codec, hdrInfo = _a.hdrInfo;
|
|
248
|
-
return { id: id, bitrate: bitrate, frameRate: frameRate, width: width, height: height, codec: codec, hdrInfo: hdrInfo
|
|
261
|
+
var _a = this, id = _a.id, bitrate = _a.bitrate, frameRate = _a.frameRate, width = _a.width, height = _a.height, codec = _a.codec, hdrInfo = _a.hdrInfo, isSupported = _a.isSupported, decipherable = _a.decipherable;
|
|
262
|
+
return { id: id, bitrate: bitrate, frameRate: frameRate, width: width, height: height, codec: codec, hdrInfo: hdrInfo, isCodecSupported: isSupported,
|
|
263
|
+
seemsDecipherable: decipherable };
|
|
264
|
+
};
|
|
265
|
+
/**
|
|
266
|
+
* Returns `true` if this Representation can be played (that is: not
|
|
267
|
+
* undecipherable and with a supported codec).
|
|
268
|
+
* @returns {Array.<Representation>}
|
|
269
|
+
*/
|
|
270
|
+
Representation.prototype.isPlayable = function () {
|
|
271
|
+
return this.isSupported && this.decipherable !== false;
|
|
249
272
|
};
|
|
250
273
|
return Representation;
|
|
251
274
|
}());
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import StaticRepresentationIndex from "./static";
|
|
17
|
-
import {
|
|
18
|
-
export {
|
|
17
|
+
import { IMetaPlaylistPrivateInfos, IRepresentationIndex, ISegment } from "./types";
|
|
18
|
+
export { IMetaPlaylistPrivateInfos, IRepresentationIndex, ISegment, StaticRepresentationIndex, };
|
|
@@ -124,6 +124,12 @@ var StaticRepresentationIndex = /** @class */ (function () {
|
|
|
124
124
|
StaticRepresentationIndex.prototype.isInitialized = function () {
|
|
125
125
|
return true;
|
|
126
126
|
};
|
|
127
|
+
StaticRepresentationIndex.prototype.initialize = function () {
|
|
128
|
+
log.error("A `StaticRepresentationIndex` does not need to be initialized");
|
|
129
|
+
};
|
|
130
|
+
StaticRepresentationIndex.prototype.addPredictedSegments = function () {
|
|
131
|
+
log.warn("Cannot add predicted segments to a `StaticRepresentationIndex`");
|
|
132
|
+
};
|
|
127
133
|
StaticRepresentationIndex.prototype._replace = function () {
|
|
128
134
|
log.warn("Tried to replace a static RepresentationIndex");
|
|
129
135
|
};
|