rx-player 4.5.0-dev.2026031700 → 4.5.0-dev.2026033100
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 +3 -1
- package/VERSION +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/commonjs/compat/browser_compatibility_types.d.ts +16 -14
- package/dist/commonjs/compat/browser_compatibility_types.d.ts.map +1 -1
- package/dist/commonjs/compat/browser_compatibility_types.js +7 -4
- package/dist/commonjs/compat/browser_version.d.ts +2 -1
- package/dist/commonjs/compat/browser_version.d.ts.map +1 -1
- package/dist/commonjs/compat/browser_version.js +13 -0
- package/dist/commonjs/compat/disable_remote_playback_on_managed_media_source.d.ts.map +1 -1
- package/dist/commonjs/compat/disable_remote_playback_on_managed_media_source.js +1 -1
- package/dist/commonjs/compat/is_codec_supported.d.ts.map +1 -1
- package/dist/commonjs/compat/is_codec_supported.js +4 -3
- package/dist/commonjs/compat/should_patch_out_dolby_vision_config_data_from_mp4.d.ts +26 -0
- package/dist/commonjs/compat/should_patch_out_dolby_vision_config_data_from_mp4.d.ts.map +1 -0
- package/dist/commonjs/compat/should_patch_out_dolby_vision_config_data_from_mp4.js +45 -0
- package/dist/commonjs/core/entry/utils.js +3 -3
- package/dist/commonjs/core/fetchers/segment/segment_fetcher.d.ts.map +1 -1
- package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +2 -1
- package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +2 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +8 -6
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +4 -3
- package/dist/commonjs/initialize_worker.js +1 -1
- package/dist/commonjs/main_thread/api/debug/modules/segment_buffer_content.js +3 -3
- package/dist/commonjs/main_thread/api/public_api.js +2 -2
- package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.js +24 -12
- package/dist/commonjs/manifest/classes/adaptation.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/adaptation.js +3 -1
- package/dist/commonjs/manifest/classes/representation.d.ts +6 -2
- package/dist/commonjs/manifest/classes/representation.d.ts.map +1 -1
- package/dist/commonjs/manifest/classes/representation.js +45 -23
- package/dist/commonjs/manifest/types.d.ts +14 -6
- package/dist/commonjs/manifest/types.d.ts.map +1 -1
- package/dist/commonjs/manifest/utils.js +4 -4
- package/dist/commonjs/mse/main_media_source_interface.d.ts.map +1 -1
- package/dist/commonjs/mse/main_media_source_interface.js +3 -2
- package/dist/commonjs/mse/worker_media_source_interface.d.ts.map +1 -1
- package/dist/commonjs/parsers/containers/isobmff/get_box.d.ts +12 -1
- package/dist/commonjs/parsers/containers/isobmff/get_box.d.ts.map +1 -1
- package/dist/commonjs/parsers/containers/isobmff/get_box.js +16 -0
- package/dist/commonjs/parsers/containers/isobmff/index.d.ts +2 -1
- package/dist/commonjs/parsers/containers/isobmff/index.d.ts.map +1 -1
- package/dist/commonjs/parsers/containers/isobmff/index.js +3 -1
- package/dist/commonjs/parsers/containers/isobmff/remove_dolby_vision_config_data.d.ts +13 -0
- package/dist/commonjs/parsers/containers/isobmff/remove_dolby_vision_config_data.d.ts.map +1 -0
- package/dist/commonjs/parsers/containers/isobmff/remove_dolby_vision_config_data.js +180 -0
- package/dist/commonjs/parsers/manifest/metaplaylist/metaplaylist_parser.js +4 -4
- package/dist/commonjs/transports/dash/segment_parser.d.ts.map +1 -1
- package/dist/commonjs/transports/dash/segment_parser.js +6 -0
- package/dist/commonjs/transports/dash/text_parser.d.ts.map +1 -1
- package/dist/commonjs/transports/dash/text_parser.js +5 -1
- package/dist/commonjs/transports/local/text_parser.d.ts.map +1 -1
- package/dist/commonjs/transports/local/text_parser.js +5 -1
- package/dist/commonjs/transports/metaplaylist/pipelines.d.ts.map +1 -1
- package/dist/commonjs/transports/metaplaylist/pipelines.js +2 -1
- package/dist/commonjs/transports/smooth/pipelines.js +3 -3
- package/dist/commonjs/transports/types.d.ts +28 -2
- package/dist/commonjs/transports/types.d.ts.map +1 -1
- package/dist/commonjs/transports/utils/parse_text_track.d.ts +9 -2
- package/dist/commonjs/transports/utils/parse_text_track.d.ts.map +1 -1
- package/dist/commonjs/transports/utils/parse_text_track.js +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_worker.js +1 -1
- package/dist/es2017/compat/browser_compatibility_types.d.ts +16 -14
- package/dist/es2017/compat/browser_compatibility_types.d.ts.map +1 -1
- package/dist/es2017/compat/browser_compatibility_types.js +7 -1
- package/dist/es2017/compat/browser_version.d.ts +2 -1
- package/dist/es2017/compat/browser_version.d.ts.map +1 -1
- package/dist/es2017/compat/browser_version.js +13 -1
- package/dist/es2017/compat/disable_remote_playback_on_managed_media_source.d.ts.map +1 -1
- package/dist/es2017/compat/disable_remote_playback_on_managed_media_source.js +2 -2
- package/dist/es2017/compat/is_codec_supported.d.ts.map +1 -1
- package/dist/es2017/compat/is_codec_supported.js +2 -1
- package/dist/es2017/compat/should_patch_out_dolby_vision_config_data_from_mp4.d.ts +26 -0
- package/dist/es2017/compat/should_patch_out_dolby_vision_config_data_from_mp4.d.ts.map +1 -0
- package/dist/es2017/compat/should_patch_out_dolby_vision_config_data_from_mp4.js +42 -0
- package/dist/es2017/core/entry/utils.js +4 -4
- package/dist/es2017/core/fetchers/segment/segment_fetcher.d.ts.map +1 -1
- package/dist/es2017/core/fetchers/segment/segment_fetcher.js +2 -1
- package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.js +2 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.js +3 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.js +2 -1
- package/dist/es2017/initialize_worker.js +1 -1
- package/dist/es2017/main_thread/api/debug/modules/segment_buffer_content.js +3 -3
- package/dist/es2017/main_thread/api/public_api.js +2 -2
- package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.js +9 -7
- package/dist/es2017/manifest/classes/adaptation.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/adaptation.js +3 -1
- package/dist/es2017/manifest/classes/representation.d.ts +6 -2
- package/dist/es2017/manifest/classes/representation.d.ts.map +1 -1
- package/dist/es2017/manifest/classes/representation.js +45 -23
- package/dist/es2017/manifest/types.d.ts +14 -6
- package/dist/es2017/manifest/types.d.ts.map +1 -1
- package/dist/es2017/manifest/utils.js +4 -4
- package/dist/es2017/mse/main_media_source_interface.d.ts.map +1 -1
- package/dist/es2017/mse/main_media_source_interface.js +2 -1
- package/dist/es2017/mse/worker_media_source_interface.d.ts.map +1 -1
- package/dist/es2017/parsers/containers/isobmff/get_box.d.ts +12 -1
- package/dist/es2017/parsers/containers/isobmff/get_box.d.ts.map +1 -1
- package/dist/es2017/parsers/containers/isobmff/get_box.js +16 -1
- package/dist/es2017/parsers/containers/isobmff/index.d.ts +2 -1
- package/dist/es2017/parsers/containers/isobmff/index.d.ts.map +1 -1
- package/dist/es2017/parsers/containers/isobmff/index.js +2 -1
- package/dist/es2017/parsers/containers/isobmff/remove_dolby_vision_config_data.d.ts +13 -0
- package/dist/es2017/parsers/containers/isobmff/remove_dolby_vision_config_data.d.ts.map +1 -0
- package/dist/es2017/parsers/containers/isobmff/remove_dolby_vision_config_data.js +155 -0
- package/dist/es2017/parsers/manifest/metaplaylist/metaplaylist_parser.js +4 -4
- package/dist/es2017/transports/dash/segment_parser.d.ts.map +1 -1
- package/dist/es2017/transports/dash/segment_parser.js +7 -1
- package/dist/es2017/transports/dash/text_parser.d.ts.map +1 -1
- package/dist/es2017/transports/dash/text_parser.js +5 -1
- package/dist/es2017/transports/local/text_parser.d.ts.map +1 -1
- package/dist/es2017/transports/local/text_parser.js +5 -1
- package/dist/es2017/transports/metaplaylist/pipelines.d.ts.map +1 -1
- package/dist/es2017/transports/metaplaylist/pipelines.js +2 -1
- package/dist/es2017/transports/smooth/pipelines.js +3 -3
- package/dist/es2017/transports/types.d.ts +28 -2
- package/dist/es2017/transports/types.d.ts.map +1 -1
- package/dist/es2017/transports/utils/parse_text_track.d.ts +9 -2
- package/dist/es2017/transports/utils/parse_text_track.d.ts.map +1 -1
- package/dist/es2017/transports/utils/parse_text_track.js +1 -1
- package/dist/worker.js +6 -6
- package/eslint.config.mjs +1 -14
- package/package.json +1 -1
- package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
- package/src/compat/__tests__/browser_compatibility_types.test.ts +15 -26
- package/src/compat/__tests__/browser_version.test.ts +57 -18
- package/src/compat/__tests__/clear_element_src.test.ts +20 -40
- package/src/compat/__tests__/is_codec_supported.test.ts +39 -44
- package/src/compat/__tests__/is_vtt_cue.test.ts +5 -8
- package/src/compat/__tests__/make_vtt_cue.test.ts +20 -31
- package/src/compat/__tests__/remove_cue.test.ts +8 -20
- package/src/compat/__tests__/should_patch_out_dolby_vision_config_data_from_mp4.test.ts +78 -0
- package/src/compat/browser_compatibility_types.ts +8 -1
- package/src/compat/browser_version.ts +17 -1
- package/src/compat/disable_remote_playback_on_managed_media_source.ts +2 -2
- package/src/compat/is_codec_supported.ts +2 -1
- package/src/compat/should_patch_out_dolby_vision_config_data_from_mp4.ts +50 -0
- package/src/core/adaptive/__tests__/adaptive_representation_selector.test.ts +68 -28
- package/src/core/adaptive/__tests__/buffer_based_chooser.test.ts +26 -84
- package/src/core/entry/__tests__/utils.test.ts +7 -1
- package/src/core/entry/utils.ts +4 -4
- package/src/core/fetchers/segment/segment_fetcher.ts +2 -1
- package/src/errors/__tests__/format_error.test.ts +23 -24
- package/src/experimental/tools/VideoThumbnailLoader/prepare_source_buffer.ts +2 -1
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/mediaDisplayInfos.test.ts +106 -0
- package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/HDCPPolicy.test.ts +19 -42
- package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/decodingInfo.test.ts +33 -40
- package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/defaultCodecsFinder.test.ts +44 -68
- package/src/experimental/tools/mediaCapabilitiesProber/probers/__tests__/mediaContentType.test.ts +45 -80
- package/src/experimental/tools/mediaCapabilitiesProber/probers/defaultCodecsFinder.ts +3 -1
- package/src/experimental/tools/mediaCapabilitiesProber/probers/mediaContentType.ts +2 -1
- package/src/features/__tests__/add_features.test.ts +12 -27
- package/src/initialize_worker.ts +1 -1
- package/src/main_thread/api/__tests__/option_utils.test.ts +38 -67
- package/src/main_thread/api/__tests__/public_api.test.ts +56 -138
- package/src/main_thread/api/debug/modules/segment_buffer_content.ts +3 -3
- package/src/main_thread/api/public_api.ts +2 -2
- package/src/main_thread/decrypt/__tests__/__global__/find_key_system.test.ts +46 -28
- package/src/main_thread/decrypt/__tests__/__global__/get_license.test.ts +40 -10
- package/src/main_thread/decrypt/__tests__/__global__/init_data.test.ts +112 -129
- package/src/main_thread/decrypt/__tests__/__global__/media_key_system_access.test.ts +282 -377
- package/src/main_thread/decrypt/__tests__/__global__/media_keys.test.ts +70 -63
- package/src/main_thread/decrypt/__tests__/__global__/server_certificate.test.ts +73 -54
- package/src/main_thread/decrypt/__tests__/__global__/utils.ts +43 -83
- package/src/main_thread/decrypt/__tests__/find_key_system.test.ts +36 -17
- package/src/main_thread/decrypt/utils/__tests__/clean_old_stored_persistent_info.test.ts +44 -48
- package/src/main_thread/init/utils/__tests__/are_same_stream_events.test.ts +7 -22
- package/src/main_thread/init/utils/__tests__/refresh_scheduled_events_list.test.ts +3 -6
- package/src/main_thread/init/utils/__tests__/update_manifest_codec_support.test.ts +42 -19
- package/src/main_thread/init/utils/update_manifest_codec_support.ts +8 -6
- package/src/manifest/classes/__tests__/adaptation.test.ts +69 -125
- package/src/manifest/classes/__tests__/manifest.test.ts +88 -95
- package/src/manifest/classes/__tests__/period.test.ts +167 -117
- package/src/manifest/classes/__tests__/representation.test.ts +84 -25
- package/src/manifest/classes/__tests__/update_periods.test.ts +96 -225
- package/src/manifest/classes/adaptation.ts +4 -1
- package/src/manifest/classes/representation.ts +59 -27
- package/src/manifest/types.ts +14 -6
- package/src/manifest/utils.ts +4 -4
- package/src/mse/__tests__/main_media_source_interface.test.ts +3 -1
- package/src/mse/__tests__/worker_media_source_interface.test.ts +608 -0
- package/src/mse/main_media_source_interface.ts +2 -1
- package/src/mse/worker_media_source_interface.ts +2 -2
- package/src/parsers/containers/isobmff/__tests__/get_box.test.ts +449 -0
- package/src/parsers/containers/isobmff/__tests__/remove_dolby_vision_config_data.test.ts +282 -0
- package/src/parsers/containers/isobmff/get_box.ts +17 -0
- package/src/parsers/containers/isobmff/index.ts +8 -1
- package/src/parsers/containers/isobmff/remove_dolby_vision_config_data.ts +179 -0
- package/src/parsers/manifest/dash/common/__tests__/get_clock_offset.test.ts +19 -25
- package/src/parsers/manifest/dash/common/__tests__/get_http_utc-timing_url.test.ts +7 -19
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/ContentProtection.test.ts +26 -37
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/Initialization.test.ts +24 -53
- package/src/parsers/manifest/dash/js-parser/node_parsers/__tests__/SegmentURL.test.ts +31 -78
- package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +6 -4
- package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +79 -87
- package/src/parsers/texttracks/ttml/__tests__/resolve_styles_inheritance.test.ts +20 -26
- package/src/parsers/texttracks/ttml/html/__tests__/__global__/html_ttml_parser.test.ts +2 -7
- package/src/parsers/texttracks/webvtt/__tests__/parse_cue_block.test.ts +33 -30
- package/src/parsers/texttracks/webvtt/__tests__/parse_style_block.test.ts +33 -100
- package/src/parsers/texttracks/webvtt/html/__tests__/convert_payload_to_html.test.ts +16 -18
- package/src/parsers/texttracks/webvtt/html/__tests__/parse_webvtt_to_div.test.ts +73 -78
- package/src/parsers/texttracks/webvtt/html/__tests__/to_html.test.ts +36 -37
- package/src/transports/dash/segment_parser.ts +13 -0
- package/src/transports/dash/text_parser.ts +5 -1
- package/src/transports/local/text_parser.ts +5 -1
- package/src/transports/metaplaylist/pipelines.ts +2 -1
- package/src/transports/smooth/isobmff/__tests__/create_boxes.test.ts +150 -127
- package/src/transports/smooth/pipelines.ts +3 -3
- package/src/transports/types.ts +28 -2
- package/src/transports/utils/__tests__/check_isobmff_integrity.test.ts +49 -75
- package/src/transports/utils/parse_text_track.ts +10 -3
- package/src/utils/__tests__/object_assign.test.ts +2 -2
|
@@ -1,49 +1,44 @@
|
|
|
1
|
-
import { describe, beforeEach, it, expect, vi } from "vitest";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { describe, beforeEach, it, expect, vi, afterEach } from "vitest";
|
|
2
|
+
import { OtherError } from "../../../errors";
|
|
3
|
+
import checkISOBMFFIntegrity from "../check_isobmff_integrity";
|
|
4
|
+
|
|
5
|
+
const mocks = vi.hoisted(() => {
|
|
6
|
+
return {
|
|
7
|
+
findCompleteBox: vi.fn(),
|
|
8
|
+
};
|
|
9
|
+
});
|
|
10
|
+
vi.mock("../../../parsers/containers/isobmff", () => ({
|
|
11
|
+
findCompleteBox: mocks.findCompleteBox,
|
|
12
|
+
}));
|
|
4
13
|
|
|
5
14
|
describe("transports utils - checkISOBMFFIntegrity", () => {
|
|
6
15
|
beforeEach(() => {
|
|
7
16
|
vi.resetModules();
|
|
8
17
|
});
|
|
18
|
+
afterEach(() => {
|
|
19
|
+
mocks.findCompleteBox.mockReset();
|
|
20
|
+
});
|
|
9
21
|
|
|
10
|
-
it("should check just ftyp and and moov integrity for init segments",
|
|
11
|
-
|
|
12
|
-
vi.doMock("../../../parsers/containers/isobmff", () => ({
|
|
13
|
-
findCompleteBox: mockFindCompleteBox,
|
|
14
|
-
}));
|
|
15
|
-
const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
|
|
16
|
-
.default as typeof ICheckISOBMFFIntegrity;
|
|
22
|
+
it("should check just ftyp and and moov integrity for init segments", () => {
|
|
23
|
+
mocks.findCompleteBox.mockImplementation(() => 45);
|
|
17
24
|
const myUint8Array = new Uint8Array([0, 1, 2]);
|
|
18
25
|
expect(() => checkISOBMFFIntegrity(myUint8Array, true)).not.toThrow();
|
|
19
|
-
expect(
|
|
20
|
-
expect(
|
|
21
|
-
expect(
|
|
26
|
+
expect(mocks.findCompleteBox).toHaveBeenCalledTimes(2);
|
|
27
|
+
expect(mocks.findCompleteBox).toHaveBeenCalledWith(myUint8Array, 0x66747970);
|
|
28
|
+
expect(mocks.findCompleteBox).toHaveBeenCalledWith(myUint8Array, 0x6d6f6f76);
|
|
22
29
|
});
|
|
23
30
|
|
|
24
|
-
it("should check just moof and and mdat integrity for regular segments",
|
|
25
|
-
|
|
26
|
-
vi.doMock("../../../parsers/containers/isobmff", () => ({
|
|
27
|
-
findCompleteBox: mockFindCompleteBox,
|
|
28
|
-
}));
|
|
29
|
-
const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
|
|
30
|
-
.default as typeof ICheckISOBMFFIntegrity;
|
|
31
|
+
it("should check just moof and and mdat integrity for regular segments", () => {
|
|
32
|
+
mocks.findCompleteBox.mockImplementation(() => 45);
|
|
31
33
|
const myUint8Array = new Uint8Array([0, 1, 2]);
|
|
32
34
|
expect(() => checkISOBMFFIntegrity(myUint8Array, false)).not.toThrow();
|
|
33
|
-
expect(
|
|
34
|
-
expect(
|
|
35
|
-
expect(
|
|
35
|
+
expect(mocks.findCompleteBox).toHaveBeenCalledTimes(2);
|
|
36
|
+
expect(mocks.findCompleteBox).toHaveBeenCalledWith(myUint8Array, 0x6d6f6f66);
|
|
37
|
+
expect(mocks.findCompleteBox).toHaveBeenCalledWith(myUint8Array, 0x6d646174);
|
|
36
38
|
});
|
|
37
39
|
|
|
38
|
-
it("should throw an other error if an init segment is missing a complete ftyp",
|
|
39
|
-
|
|
40
|
-
vi.doMock("../../../parsers/containers/isobmff", () => ({
|
|
41
|
-
findCompleteBox: mockFindCompleteBox,
|
|
42
|
-
}));
|
|
43
|
-
const OtherError = (await vi.importActual("../../../errors"))
|
|
44
|
-
.OtherError as typeof IOtherError;
|
|
45
|
-
const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
|
|
46
|
-
.default as typeof ICheckISOBMFFIntegrity;
|
|
40
|
+
it("should throw an other error if an init segment is missing a complete ftyp", () => {
|
|
41
|
+
mocks.findCompleteBox.mockImplementation((_, box) => (box === 0x66747970 ? -1 : 45));
|
|
47
42
|
const myUint8Array = new Uint8Array([0, 1, 2]);
|
|
48
43
|
let error: unknown = null;
|
|
49
44
|
try {
|
|
@@ -52,23 +47,16 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
|
|
|
52
47
|
error = e;
|
|
53
48
|
}
|
|
54
49
|
expect(error).toBeInstanceOf(OtherError);
|
|
55
|
-
expect((error as
|
|
56
|
-
expect((error as
|
|
57
|
-
expect((error as
|
|
58
|
-
expect((error as
|
|
50
|
+
expect((error as OtherError).name).toEqual("OtherError");
|
|
51
|
+
expect((error as OtherError).type).toEqual("OTHER_ERROR");
|
|
52
|
+
expect((error as OtherError).code).toEqual("INTEGRITY_ERROR");
|
|
53
|
+
expect((error as OtherError).message).toEqual(
|
|
59
54
|
"INTEGRITY_ERROR: Incomplete `ftyp` box",
|
|
60
55
|
);
|
|
61
56
|
});
|
|
62
57
|
|
|
63
|
-
it("should throw an other error if an init segment is missing a complete moov",
|
|
64
|
-
|
|
65
|
-
vi.doMock("../../../parsers/containers/isobmff", () => ({
|
|
66
|
-
findCompleteBox: mockFindCompleteBox,
|
|
67
|
-
}));
|
|
68
|
-
const OtherError = (await vi.importActual("../../../errors"))
|
|
69
|
-
.OtherError as typeof IOtherError;
|
|
70
|
-
const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
|
|
71
|
-
.default as typeof ICheckISOBMFFIntegrity;
|
|
58
|
+
it("should throw an other error if an init segment is missing a complete moov", () => {
|
|
59
|
+
mocks.findCompleteBox.mockImplementation((_, box) => (box === 0x6d6f6f76 ? -1 : 45));
|
|
72
60
|
const myUint8Array = new Uint8Array([0, 1, 2]);
|
|
73
61
|
let error: unknown = null;
|
|
74
62
|
try {
|
|
@@ -77,23 +65,16 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
|
|
|
77
65
|
error = e;
|
|
78
66
|
}
|
|
79
67
|
expect(error).toBeInstanceOf(OtherError);
|
|
80
|
-
expect((error as
|
|
81
|
-
expect((error as
|
|
82
|
-
expect((error as
|
|
83
|
-
expect((error as
|
|
68
|
+
expect((error as OtherError).name).toEqual("OtherError");
|
|
69
|
+
expect((error as OtherError).type).toEqual("OTHER_ERROR");
|
|
70
|
+
expect((error as OtherError).code).toEqual("INTEGRITY_ERROR");
|
|
71
|
+
expect((error as OtherError).message).toEqual(
|
|
84
72
|
"INTEGRITY_ERROR: Incomplete `moov` box",
|
|
85
73
|
);
|
|
86
74
|
});
|
|
87
75
|
|
|
88
|
-
it("should throw an other error if a regular segment is missing a complete moof",
|
|
89
|
-
|
|
90
|
-
vi.doMock("../../../parsers/containers/isobmff", () => ({
|
|
91
|
-
findCompleteBox: mockFindCompleteBox,
|
|
92
|
-
}));
|
|
93
|
-
const OtherError = (await vi.importActual("../../../errors"))
|
|
94
|
-
.OtherError as typeof IOtherError;
|
|
95
|
-
const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
|
|
96
|
-
.default as typeof ICheckISOBMFFIntegrity;
|
|
76
|
+
it("should throw an other error if a regular segment is missing a complete moof", () => {
|
|
77
|
+
mocks.findCompleteBox.mockImplementation((_, box) => (box === 0x6d6f6f66 ? -1 : 45));
|
|
97
78
|
const myUint8Array = new Uint8Array([0, 1, 2]);
|
|
98
79
|
let error: unknown = null;
|
|
99
80
|
try {
|
|
@@ -102,23 +83,16 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
|
|
|
102
83
|
error = e;
|
|
103
84
|
}
|
|
104
85
|
expect(error).toBeInstanceOf(OtherError);
|
|
105
|
-
expect((error as
|
|
106
|
-
expect((error as
|
|
107
|
-
expect((error as
|
|
108
|
-
expect((error as
|
|
86
|
+
expect((error as OtherError).name).toEqual("OtherError");
|
|
87
|
+
expect((error as OtherError).type).toEqual("OTHER_ERROR");
|
|
88
|
+
expect((error as OtherError).code).toEqual("INTEGRITY_ERROR");
|
|
89
|
+
expect((error as OtherError).message).toEqual(
|
|
109
90
|
"INTEGRITY_ERROR: Incomplete `moof` box",
|
|
110
91
|
);
|
|
111
92
|
});
|
|
112
93
|
|
|
113
|
-
it("should throw an other error if a regular segment is missing a complete mdat",
|
|
114
|
-
|
|
115
|
-
vi.doMock("../../../parsers/containers/isobmff", () => ({
|
|
116
|
-
findCompleteBox: mockFindCompleteBox,
|
|
117
|
-
}));
|
|
118
|
-
const OtherError = (await vi.importActual("../../../errors"))
|
|
119
|
-
.OtherError as typeof IOtherError;
|
|
120
|
-
const checkISOBMFFIntegrity = (await vi.importActual("../check_isobmff_integrity"))
|
|
121
|
-
.default as typeof ICheckISOBMFFIntegrity;
|
|
94
|
+
it("should throw an other error if a regular segment is missing a complete mdat", () => {
|
|
95
|
+
mocks.findCompleteBox.mockImplementation((_, box) => (box === 0x6d646174 ? -1 : 45));
|
|
122
96
|
const myUint8Array = new Uint8Array([0, 1, 2]);
|
|
123
97
|
let error: unknown = null;
|
|
124
98
|
try {
|
|
@@ -127,10 +101,10 @@ describe("transports utils - checkISOBMFFIntegrity", () => {
|
|
|
127
101
|
error = e;
|
|
128
102
|
}
|
|
129
103
|
expect(error).toBeInstanceOf(OtherError);
|
|
130
|
-
expect((error as
|
|
131
|
-
expect((error as
|
|
132
|
-
expect((error as
|
|
133
|
-
expect((error as
|
|
104
|
+
expect((error as OtherError).name).toEqual("OtherError");
|
|
105
|
+
expect((error as OtherError).type).toEqual("OTHER_ERROR");
|
|
106
|
+
expect((error as OtherError).code).toEqual("INTEGRITY_ERROR");
|
|
107
|
+
expect((error as OtherError).message).toEqual(
|
|
134
108
|
"INTEGRITY_ERROR: Incomplete `mdat` box",
|
|
135
109
|
);
|
|
136
110
|
});
|
|
@@ -87,9 +87,16 @@ export function getISOBMFFEmbeddedTextTrackData(
|
|
|
87
87
|
language,
|
|
88
88
|
codecs,
|
|
89
89
|
}: {
|
|
90
|
+
/** The segment containing that subtitles data. */
|
|
90
91
|
segment: ISegment;
|
|
91
|
-
codecs
|
|
92
|
-
|
|
92
|
+
/** The wanted subtitles "codecs" as announced by the packager/encoder. */
|
|
93
|
+
codecs: string | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* The wanted language to display.
|
|
96
|
+
* Some subtitles format embed several different subtitles group for
|
|
97
|
+
* different languages. This allows to select the right one.
|
|
98
|
+
*/
|
|
99
|
+
language: string | undefined;
|
|
93
100
|
},
|
|
94
101
|
chunkBytes: Uint8Array<ArrayBuffer>,
|
|
95
102
|
initTimescale: number | undefined,
|
|
@@ -175,7 +182,7 @@ export function getPlainTextTrackData(
|
|
|
175
182
|
}
|
|
176
183
|
}
|
|
177
184
|
|
|
178
|
-
const type = getPlainTextTrackFormat(context.
|
|
185
|
+
const type = getPlainTextTrackFormat(context.chosenCodec, context.mimeType);
|
|
179
186
|
return {
|
|
180
187
|
data: textTrackData,
|
|
181
188
|
type,
|
|
@@ -5,10 +5,10 @@ describe("utils - objectAssign", () => {
|
|
|
5
5
|
it("should throw if target is not an object", () => {
|
|
6
6
|
expect(() => {
|
|
7
7
|
objectAssign(null as unknown as object, {});
|
|
8
|
-
}).toThrow(
|
|
8
|
+
}).toThrow();
|
|
9
9
|
expect(() => {
|
|
10
10
|
objectAssign(undefined as unknown as object, {});
|
|
11
|
-
}).toThrow(
|
|
11
|
+
}).toThrow();
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
it("should update the first argument and return it", () => {
|