rx-player 4.2.0-dev.2024091600 → 4.2.0-dev.2024092400
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 +13 -11
- 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/eme/close_session.js +2 -2
- package/dist/commonjs/compat/eme/load_session.js +2 -2
- package/dist/commonjs/compat/patch_webkit_source_buffer.d.ts.map +1 -1
- package/dist/commonjs/compat/patch_webkit_source_buffer.js +0 -3
- package/dist/commonjs/config.d.ts +7 -156
- package/dist/commonjs/config.d.ts.map +1 -1
- package/dist/commonjs/config.js +50 -3
- package/dist/commonjs/core/fetchers/manifest/manifest_fetcher.js +2 -2
- package/dist/commonjs/core/fetchers/segment/segment_fetcher.js +2 -2
- package/dist/commonjs/core/fetchers/utils/schedule_request.js +2 -2
- package/dist/commonjs/core/main/worker/worker_main.d.ts.map +1 -1
- package/dist/commonjs/core/main/worker/worker_main.js +4 -0
- package/dist/commonjs/core/segment_sinks/garbage_collector.js +2 -2
- package/dist/commonjs/core/segment_sinks/implementations/audio_video/audio_video_segment_buffer.js +2 -2
- package/dist/commonjs/core/segment_sinks/implementations/text/text_segment_buffer.js +2 -2
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
- package/dist/commonjs/core/stream/adaptation/adaptation_stream.js +20 -9
- package/dist/commonjs/core/stream/adaptation/index.d.ts +1 -1
- package/dist/commonjs/core/stream/adaptation/index.d.ts.map +1 -1
- package/dist/commonjs/core/stream/adaptation/index.js +0 -15
- package/dist/commonjs/core/stream/orchestrator/stream_orchestrator.js +2 -2
- package/dist/commonjs/core/stream/period/index.d.ts +1 -1
- package/dist/commonjs/core/stream/period/index.d.ts.map +1 -1
- package/dist/commonjs/core/stream/period/index.js +0 -15
- package/dist/commonjs/core/stream/period/period_stream.js +2 -2
- package/dist/commonjs/core/stream/representation/index.d.ts +1 -1
- package/dist/commonjs/core/stream/representation/index.d.ts.map +1 -1
- package/dist/commonjs/core/stream/representation/index.js +0 -15
- package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.d.ts.map +1 -1
- package/dist/commonjs/core/stream/representation/utils/append_segment_to_buffer.js +16 -11
- package/dist/commonjs/core/stream/representation/utils/push_init_segment.js +2 -2
- package/dist/commonjs/core/stream/representation/utils/push_media_segment.js +2 -2
- package/dist/commonjs/default_config.js +4 -0
- package/dist/commonjs/experimental/tools/VideoThumbnailLoader/video_thumbnail_loader.js +2 -2
- package/dist/commonjs/experimental/tools/createMetaplaylist/get_duration_from_manifest.js +2 -2
- package/dist/commonjs/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/commonjs/main_thread/api/public_api.js +19 -4
- package/dist/commonjs/main_thread/decrypt/attach_media_keys.js +2 -2
- package/dist/commonjs/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/content_decryptor.js +4 -2
- package/dist/commonjs/main_thread/decrypt/create_or_load_session.js +2 -2
- package/dist/commonjs/main_thread/decrypt/create_session.js +2 -2
- package/dist/commonjs/main_thread/decrypt/dispose_decryption_resources.js +2 -2
- package/dist/commonjs/main_thread/decrypt/find_key_system.js +2 -2
- package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/get_media_keys.js +3 -2
- package/dist/commonjs/main_thread/decrypt/init_media_keys.js +2 -2
- package/dist/commonjs/main_thread/decrypt/session_events_listener.js +2 -2
- package/dist/commonjs/main_thread/decrypt/set_server_certificate.js +2 -4
- package/dist/commonjs/main_thread/decrypt/utils/clean_old_loaded_sessions.js +2 -2
- package/dist/commonjs/main_thread/decrypt/utils/loaded_sessions_store.js +2 -2
- package/dist/commonjs/main_thread/init/media_source_content_initializer.js +2 -2
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +2 -2
- package/dist/commonjs/multithread_types.d.ts +8 -1
- package/dist/commonjs/multithread_types.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +2 -2
- package/dist/commonjs/parsers/manifest/index.d.ts +1 -1
- package/dist/commonjs/parsers/manifest/index.d.ts.map +1 -1
- package/dist/commonjs/parsers/manifest/index.js +0 -15
- package/dist/commonjs/transports/dash/integrity_checks.js +2 -2
- package/dist/commonjs/transports/dash/load_chunked_segment_data.js +2 -2
- package/dist/commonjs/transports/dash/segment_loader.js +2 -2
- package/dist/commonjs/transports/dash/text_loader.js +2 -2
- package/dist/commonjs/transports/smooth/segment_loader.js +2 -2
- package/dist/commonjs/utils/request/fetch.js +2 -2
- package/dist/commonjs/utils/retry_promise_with_backoff.js +2 -2
- 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/patch_webkit_source_buffer.d.ts.map +1 -1
- package/dist/es2017/compat/patch_webkit_source_buffer.js +0 -3
- package/dist/es2017/config.d.ts +7 -156
- package/dist/es2017/config.d.ts.map +1 -1
- package/dist/es2017/config.js +6 -1
- package/dist/es2017/core/main/worker/worker_main.d.ts.map +1 -1
- package/dist/es2017/core/main/worker/worker_main.js +4 -0
- package/dist/es2017/core/stream/adaptation/adaptation_stream.d.ts.map +1 -1
- package/dist/es2017/core/stream/adaptation/adaptation_stream.js +18 -7
- package/dist/es2017/core/stream/adaptation/index.d.ts +1 -1
- package/dist/es2017/core/stream/adaptation/index.d.ts.map +1 -1
- package/dist/es2017/core/stream/adaptation/index.js +0 -1
- package/dist/es2017/core/stream/period/index.d.ts +1 -1
- package/dist/es2017/core/stream/period/index.d.ts.map +1 -1
- package/dist/es2017/core/stream/period/index.js +0 -1
- package/dist/es2017/core/stream/representation/index.d.ts +1 -1
- package/dist/es2017/core/stream/representation/index.d.ts.map +1 -1
- package/dist/es2017/core/stream/representation/index.js +0 -1
- package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.d.ts.map +1 -1
- package/dist/es2017/core/stream/representation/utils/append_segment_to_buffer.js +6 -2
- package/dist/es2017/default_config.js +4 -0
- package/dist/es2017/main_thread/api/public_api.d.ts.map +1 -1
- package/dist/es2017/main_thread/api/public_api.js +17 -2
- package/dist/es2017/main_thread/decrypt/content_decryptor.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/content_decryptor.js +2 -0
- package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/get_media_keys.js +1 -0
- package/dist/es2017/multithread_types.d.ts +8 -1
- package/dist/es2017/multithread_types.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/index.d.ts +1 -1
- package/dist/es2017/parsers/manifest/index.d.ts.map +1 -1
- package/dist/es2017/parsers/manifest/index.js +1 -1
- package/dist/rx-player.js +50 -11
- package/dist/rx-player.min.js +14 -14
- package/dist/worker.js +6 -6
- package/package.json +20 -15
- package/src/__GENERATED_CODE/embedded_worker.ts +1 -1
- package/src/compat/patch_webkit_source_buffer.ts +0 -3
- package/src/config.ts +10 -2
- package/src/core/main/worker/worker_main.ts +5 -0
- package/src/core/stream/adaptation/adaptation_stream.ts +18 -7
- package/src/core/stream/adaptation/index.ts +1 -1
- package/src/core/stream/period/index.ts +1 -1
- package/src/core/stream/representation/index.ts +1 -1
- package/src/core/stream/representation/utils/append_segment_to_buffer.ts +6 -2
- package/src/default_config.ts +21 -0
- package/src/main_thread/api/public_api.ts +19 -2
- package/src/main_thread/decrypt/content_decryptor.ts +2 -0
- package/src/main_thread/decrypt/get_media_keys.ts +1 -0
- package/src/main_thread/init/multi_thread_content_initializer.ts +0 -18
- package/src/multithread_types.ts +9 -0
- package/src/parsers/manifest/index.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch_webkit_source_buffer.d.ts","sourceRoot":"","sources":["../../../src/compat/patch_webkit_source_buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA6BH,MAAM,CAAC,OAAO,UAAU,uBAAuB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"patch_webkit_source_buffer.d.ts","sourceRoot":"","sources":["../../../src/compat/patch_webkit_source_buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA6BH,MAAM,CAAC,OAAO,UAAU,uBAAuB,IAAI,IAAI,CAiEtD"}
|
|
@@ -36,10 +36,8 @@ export default function patchWebkitSourceBuffer() {
|
|
|
36
36
|
sourceBufferWebkitProto._listeners = [];
|
|
37
37
|
sourceBufferWebkitProto._emitUpdate = function (eventName, val) {
|
|
38
38
|
queueMicrotask(() => {
|
|
39
|
-
// @ts-expect-error: trigger is normally protected
|
|
40
39
|
this.trigger(eventName, val);
|
|
41
40
|
this.updating = false;
|
|
42
|
-
// @ts-expect-error: trigger is normally protected
|
|
43
41
|
this.trigger("updateend", new Event("updateend"));
|
|
44
42
|
});
|
|
45
43
|
};
|
|
@@ -48,7 +46,6 @@ export default function patchWebkitSourceBuffer() {
|
|
|
48
46
|
if (this.updating) {
|
|
49
47
|
throw new Error("updating");
|
|
50
48
|
}
|
|
51
|
-
// @ts-expect-error: trigger is normally protected
|
|
52
49
|
this.trigger("updatestart", new Event("updatestart"));
|
|
53
50
|
this.updating = true;
|
|
54
51
|
try {
|
package/dist/es2017/config.d.ts
CHANGED
|
@@ -6,162 +6,13 @@
|
|
|
6
6
|
* __NOT__ part of the RxPlayer API.
|
|
7
7
|
*/
|
|
8
8
|
import type { IDefaultConfig } from "./default_config";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
bitrateSwitch: number;
|
|
17
|
-
trackSwitch: {
|
|
18
|
-
audio: number;
|
|
19
|
-
video: number;
|
|
20
|
-
other: number;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
DEFAULT_CODEC_SWITCHING_BEHAVIOR: "continue" | "reload";
|
|
24
|
-
DEFAULT_AUTO_PLAY: boolean;
|
|
25
|
-
DEFAULT_WANTED_BUFFER_AHEAD: number;
|
|
26
|
-
DEFAULT_MAX_BUFFER_AHEAD: number;
|
|
27
|
-
DEFAULT_MAX_BUFFER_BEHIND: number;
|
|
28
|
-
DEFAULT_MAX_VIDEO_BUFFER_SIZE: number;
|
|
29
|
-
MAXIMUM_MAX_BUFFER_AHEAD: Partial<Record<"audio" | "video" | "text", number>>;
|
|
30
|
-
MINIMUM_MAX_BUFFER_AHEAD: Partial<Record<"audio" | "video" | "image" | "text", number>>;
|
|
31
|
-
MAXIMUM_MAX_BUFFER_BEHIND: Partial<Record<"audio" | "video" | "text", number>>;
|
|
32
|
-
DEFAULT_BASE_BANDWIDTH: number;
|
|
33
|
-
INACTIVITY_DELAY: number;
|
|
34
|
-
DEFAULT_THROTTLE_VIDEO_BITRATE_WHEN_HIDDEN: boolean;
|
|
35
|
-
DEFAULT_VIDEO_RESOLUTION_LIMIT: "none";
|
|
36
|
-
DEFAULT_LIVE_GAP: {
|
|
37
|
-
DEFAULT: number;
|
|
38
|
-
LOW_LATENCY: number;
|
|
39
|
-
};
|
|
40
|
-
BUFFER_DISCONTINUITY_THRESHOLD: number;
|
|
41
|
-
BITRATE_REBUFFERING_RATIO: number;
|
|
42
|
-
DEFAULT_MAX_MANIFEST_REQUEST_RETRY: number;
|
|
43
|
-
DEFAULT_CDN_DOWNGRADE_TIME: number;
|
|
44
|
-
DEFAULT_MAX_REQUESTS_RETRY_ON_ERROR: number;
|
|
45
|
-
INITIAL_BACKOFF_DELAY_BASE: {
|
|
46
|
-
REGULAR: number;
|
|
47
|
-
LOW_LATENCY: number;
|
|
48
|
-
};
|
|
49
|
-
MAX_BACKOFF_DELAY_BASE: {
|
|
50
|
-
REGULAR: number;
|
|
51
|
-
LOW_LATENCY: number;
|
|
52
|
-
};
|
|
53
|
-
SAMPLING_INTERVAL_MEDIASOURCE: number;
|
|
54
|
-
SAMPLING_INTERVAL_LOW_LATENCY: number;
|
|
55
|
-
SAMPLING_INTERVAL_NO_MEDIASOURCE: number;
|
|
56
|
-
ABR_ENTER_BUFFER_BASED_ALGO: number;
|
|
57
|
-
ABR_EXIT_BUFFER_BASED_ALGO: number;
|
|
58
|
-
ABR_MINIMUM_TOTAL_BYTES: number;
|
|
59
|
-
ABR_MINIMUM_CHUNK_SIZE: number;
|
|
60
|
-
ABR_STARVATION_FACTOR: {
|
|
61
|
-
DEFAULT: number;
|
|
62
|
-
LOW_LATENCY: number;
|
|
63
|
-
};
|
|
64
|
-
ABR_REGULAR_FACTOR: {
|
|
65
|
-
DEFAULT: number;
|
|
66
|
-
LOW_LATENCY: number;
|
|
67
|
-
};
|
|
68
|
-
ABR_STARVATION_GAP: {
|
|
69
|
-
DEFAULT: number;
|
|
70
|
-
LOW_LATENCY: number;
|
|
71
|
-
};
|
|
72
|
-
OUT_OF_STARVATION_GAP: {
|
|
73
|
-
DEFAULT: number;
|
|
74
|
-
LOW_LATENCY: number;
|
|
75
|
-
};
|
|
76
|
-
ABR_STARVATION_DURATION_DELTA: number;
|
|
77
|
-
ABR_FAST_EMA: number;
|
|
78
|
-
ABR_SLOW_EMA: number;
|
|
79
|
-
RESUME_GAP_AFTER_SEEKING: {
|
|
80
|
-
DEFAULT: number;
|
|
81
|
-
LOW_LATENCY: number;
|
|
82
|
-
};
|
|
83
|
-
RESUME_GAP_AFTER_NOT_ENOUGH_DATA: {
|
|
84
|
-
DEFAULT: number;
|
|
85
|
-
LOW_LATENCY: number;
|
|
86
|
-
};
|
|
87
|
-
RESUME_GAP_AFTER_BUFFERING: {
|
|
88
|
-
DEFAULT: number;
|
|
89
|
-
LOW_LATENCY: number;
|
|
90
|
-
};
|
|
91
|
-
REBUFFERING_GAP: {
|
|
92
|
-
DEFAULT: number;
|
|
93
|
-
LOW_LATENCY: number;
|
|
94
|
-
};
|
|
95
|
-
MINIMUM_BUFFER_AMOUNT_BEFORE_FREEZING: number;
|
|
96
|
-
UNFREEZING_SEEK_DELAY: number;
|
|
97
|
-
FREEZING_STALLED_DELAY: number;
|
|
98
|
-
UNFREEZING_DELTA_POSITION: number;
|
|
99
|
-
SEGMENT_SYNCHRONIZATION_DELAY: number;
|
|
100
|
-
MISSING_DATA_TRIGGER_SYNC_DELAY: number;
|
|
101
|
-
MAX_TIME_MISSING_FROM_COMPLETE_SEGMENT: number;
|
|
102
|
-
MAX_MANIFEST_BUFFERED_START_END_DIFFERENCE: number;
|
|
103
|
-
MAX_MANIFEST_BUFFERED_DURATION_DIFFERENCE: number;
|
|
104
|
-
MINIMUM_SEGMENT_SIZE: number;
|
|
105
|
-
APPEND_WINDOW_SECURITIES: {
|
|
106
|
-
START: number;
|
|
107
|
-
END: number;
|
|
108
|
-
};
|
|
109
|
-
MAXIMUM_HTML_TEXT_TRACK_UPDATE_INTERVAL: number;
|
|
110
|
-
TEXT_TRACK_SIZE_CHECKS_INTERVAL: number;
|
|
111
|
-
BUFFER_PADDING: {
|
|
112
|
-
audio: number;
|
|
113
|
-
video: number;
|
|
114
|
-
other: number;
|
|
115
|
-
};
|
|
116
|
-
SEGMENT_PRIORITIES_STEPS: number[];
|
|
117
|
-
MAX_HIGH_PRIORITY_LEVEL: number;
|
|
118
|
-
MIN_CANCELABLE_PRIORITY: number;
|
|
119
|
-
EME_DEFAULT_VIDEO_CODECS: string[];
|
|
120
|
-
EME_DEFAULT_AUDIO_CODECS: string[];
|
|
121
|
-
EME_DEFAULT_WIDEVINE_ROBUSTNESSES: string[];
|
|
122
|
-
EME_DEFAULT_PLAYREADY_RECOMMENDATION_ROBUSTNESSES: string[];
|
|
123
|
-
EME_KEY_SYSTEMS: Partial<Record<string, string[]>>;
|
|
124
|
-
MAX_CONSECUTIVE_MANIFEST_PARSING_IN_UNSAFE_MODE: number;
|
|
125
|
-
MIN_MANIFEST_PARSING_TIME_TO_ENTER_UNSAFE_MODE: number;
|
|
126
|
-
MIN_DASH_S_ELEMENTS_TO_PARSE_UNSAFELY: number;
|
|
127
|
-
OUT_OF_SYNC_MANIFEST_REFRESH_DELAY: number;
|
|
128
|
-
FAILED_PARTIAL_UPDATE_MANIFEST_REFRESH_DELAY: number;
|
|
129
|
-
DASH_FALLBACK_LIFETIME_WHEN_MINIMUM_UPDATE_PERIOD_EQUAL_0: number;
|
|
130
|
-
EME_DEFAULT_MAX_SIMULTANEOUS_MEDIA_KEY_SESSIONS: number;
|
|
131
|
-
EME_MAX_STORED_PERSISTENT_SESSION_INFORMATION: number;
|
|
132
|
-
EME_WAITING_DELAY_LOADED_SESSION_EMPTY_KEYSTATUSES: number;
|
|
133
|
-
FORCED_ENDED_THRESHOLD: number;
|
|
134
|
-
ADAP_REP_SWITCH_BUFFER_PADDINGS: {
|
|
135
|
-
video: {
|
|
136
|
-
before: number;
|
|
137
|
-
after: number;
|
|
138
|
-
};
|
|
139
|
-
audio: {
|
|
140
|
-
before: number;
|
|
141
|
-
after: number;
|
|
142
|
-
};
|
|
143
|
-
text: {
|
|
144
|
-
before: number;
|
|
145
|
-
after: number;
|
|
146
|
-
};
|
|
147
|
-
};
|
|
148
|
-
SOURCE_BUFFER_FLUSHING_INTERVAL: number;
|
|
149
|
-
CONTENT_REPLACEMENT_PADDING: number;
|
|
150
|
-
CACHE_LOAD_DURATION_THRESHOLDS: {
|
|
151
|
-
video: number;
|
|
152
|
-
audio: number;
|
|
153
|
-
};
|
|
154
|
-
STREAM_EVENT_EMITTER_POLL_INTERVAL: number;
|
|
155
|
-
DEFAULT_MAXIMUM_TIME_ROUNDING_ERROR: number;
|
|
156
|
-
BUFFERED_HISTORY_RETENTION_TIME: number;
|
|
157
|
-
BUFFERED_HISTORY_MAXIMUM_ENTRIES: number;
|
|
158
|
-
MIN_BUFFER_AHEAD: number;
|
|
159
|
-
UPTO_CURRENT_POSITION_CLEANUP: number;
|
|
160
|
-
DEFAULT_VIDEO_REPRESENTATIONS_SWITCHING_MODE: "seamless";
|
|
161
|
-
DEFAULT_AUDIO_REPRESENTATIONS_SWITCHING_MODE: "seamless";
|
|
162
|
-
DEFAULT_VIDEO_TRACK_SWITCHING_MODE: "reload";
|
|
163
|
-
DEFAULT_AUDIO_TRACK_SWITCHING_MODE: "seamless";
|
|
164
|
-
};
|
|
9
|
+
import EventEmitter from "./utils/event_emitter";
|
|
10
|
+
interface IConfigHandlerEvents {
|
|
11
|
+
update: Partial<IDefaultConfig>;
|
|
12
|
+
}
|
|
13
|
+
declare class ConfigHandler extends EventEmitter<IConfigHandlerEvents> {
|
|
14
|
+
updated: boolean;
|
|
15
|
+
private _config;
|
|
165
16
|
update(config: Partial<IDefaultConfig>): void;
|
|
166
17
|
getCurrent(): IDefaultConfig;
|
|
167
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,cAAM,aAAc,SAAQ,YAAY,CAAC,oBAAoB,CAAC;IACrD,OAAO,UAAS;IACvB,OAAO,CAAC,OAAO,CAAkB;IAEjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;IAOtC,UAAU,IAAI,cAAc;CAG7B;AACD,QAAA,MAAM,aAAa,eAAsB,CAAC;AAC1C,eAAe,aAAa,CAAC"}
|
package/dist/es2017/config.js
CHANGED
|
@@ -7,13 +7,18 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import DEFAULT_CONFIG from "./default_config";
|
|
9
9
|
import deepMerge from "./utils/deep_merge";
|
|
10
|
-
|
|
10
|
+
import EventEmitter from "./utils/event_emitter";
|
|
11
|
+
class ConfigHandler extends EventEmitter {
|
|
11
12
|
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.updated = false;
|
|
12
15
|
this._config = DEFAULT_CONFIG;
|
|
13
16
|
}
|
|
14
17
|
update(config) {
|
|
15
18
|
const newConfig = deepMerge(this._config, config);
|
|
16
19
|
this._config = newConfig;
|
|
20
|
+
this.updated = true;
|
|
21
|
+
this.trigger("update", config);
|
|
17
22
|
}
|
|
18
23
|
getCurrent() {
|
|
19
24
|
return this._config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker_main.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/worker_main.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,OAAO,UAAU,oBAAoB,
|
|
1
|
+
{"version":3,"file":"worker_main.d.ts","sourceRoot":"","sources":["../../../../../src/core/main/worker/worker_main.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,OAAO,UAAU,oBAAoB,SA6W3C"}
|
|
@@ -303,6 +303,10 @@ export default function initializeWorkerMain() {
|
|
|
303
303
|
sendSegmentSinksStoreInfos(contentPreparer, msg.value.messageId);
|
|
304
304
|
break;
|
|
305
305
|
}
|
|
306
|
+
case "config-update" /* MainThreadMessageType.ConfigUpdate */: {
|
|
307
|
+
config.update(msg.value);
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
306
310
|
default:
|
|
307
311
|
assertUnreachable(msg);
|
|
308
312
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/adaptation_stream.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EACE,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,0BAA0B,EAC7B,SAAS,EAAE,0BAA0B,EACrC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,
|
|
1
|
+
{"version":3,"file":"adaptation_stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/adaptation_stream.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AASxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,EACE,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,0BAA0B,EAC7B,SAAS,EAAE,0BAA0B,EACrC,kBAAkB,EAAE,kBAAkB,GACrC,IAAI,CAubN"}
|
|
@@ -274,7 +274,7 @@ export default function AdaptationStream({ playbackObserver, content, options, r
|
|
|
274
274
|
const bufferGoalCanceller = new TaskCanceller();
|
|
275
275
|
bufferGoalCanceller.linkToSignal(fnCancelSignal);
|
|
276
276
|
const bufferGoal = createMappedReference(wantedBufferAhead, (prev) => {
|
|
277
|
-
return
|
|
277
|
+
return getBufferGoal(representation, prev);
|
|
278
278
|
}, bufferGoalCanceller.signal);
|
|
279
279
|
const maxBufferSize = adaptation.type === "video" ? maxVideoBufferSize : new SharedReference(Infinity);
|
|
280
280
|
log.info("Stream: changing representation", adaptation.type, representation.id, representation.bitrate);
|
|
@@ -293,10 +293,11 @@ export default function AdaptationStream({ playbackObserver, content, options, r
|
|
|
293
293
|
const lastBufferGoalRatio = (_a = bufferGoalRatioMap.get(representation.id)) !== null && _a !== void 0 ? _a : 1;
|
|
294
294
|
// 70%, 49%, 34.3%, 24%, 16.81%, 11.76%, 8.24% and 5.76%
|
|
295
295
|
const newBufferGoalRatio = lastBufferGoalRatio * 0.7;
|
|
296
|
-
if (newBufferGoalRatio <= 0.05 || wba * newBufferGoalRatio <= 2) {
|
|
297
|
-
throw formattedError;
|
|
298
|
-
}
|
|
299
296
|
bufferGoalRatioMap.set(representation.id, newBufferGoalRatio);
|
|
297
|
+
if (newBufferGoalRatio <= 0.05 || getBufferGoal(representation, wba) <= 2) {
|
|
298
|
+
representationStreamCallbacks.error(formattedError);
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
300
301
|
// We wait 4 seconds to let the situation evolve by itself before
|
|
301
302
|
// retrying loading segments with a lower buffer goal
|
|
302
303
|
cancellableSleep(4000, adapStreamCanceller.signal)
|
|
@@ -353,15 +354,25 @@ export default function AdaptationStream({ playbackObserver, content, options, r
|
|
|
353
354
|
}, fnCancelSignal);
|
|
354
355
|
}
|
|
355
356
|
/**
|
|
356
|
-
*
|
|
357
|
+
* Returns how much media data should be pre-buffered for this
|
|
358
|
+
* `Representation`, according to the `wantedBufferAhead` setting and previous
|
|
359
|
+
* issues encountered with that `Representation`.
|
|
360
|
+
* @param {Object} representation - The `Representation` you want to buffer.
|
|
361
|
+
* @param {number} wba - The value of `wantedBufferAhead` set by the user.
|
|
357
362
|
* @returns {number}
|
|
358
363
|
*/
|
|
359
|
-
function
|
|
364
|
+
function getBufferGoal(representation, wba) {
|
|
360
365
|
const oldBufferGoalRatio = bufferGoalRatioMap.get(representation.id);
|
|
361
366
|
const bufferGoalRatio = oldBufferGoalRatio !== undefined ? oldBufferGoalRatio : 1;
|
|
362
367
|
if (oldBufferGoalRatio === undefined) {
|
|
363
368
|
bufferGoalRatioMap.set(representation.id, bufferGoalRatio);
|
|
364
369
|
}
|
|
365
|
-
|
|
370
|
+
if (bufferGoalRatio < 1 && wba === Infinity) {
|
|
371
|
+
// When `wba` is equal to `Infinity`, dividing it will still make it equal
|
|
372
|
+
// to `Infinity`. To make the `bufferGoalRatio` still have an effect, we
|
|
373
|
+
// just starts from a `wba` set to the high value of 5 minutes.
|
|
374
|
+
return 5 * 60 * 1000 * bufferGoalRatio;
|
|
375
|
+
}
|
|
376
|
+
return wba * bufferGoalRatio;
|
|
366
377
|
}
|
|
367
378
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/adaptation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,mBAAmB,SAAS,CAAC;AAE7B,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/period/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/period/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,mBAAmB,SAAS,CAAC;AAE7B,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/stream/representation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,mBAAmB,SAAS,CAAC;AAE7B,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"append_segment_to_buffer.d.ts","sourceRoot":"","sources":["../../../../../../src/core/stream/representation/utils/append_segment_to_buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,UAAU,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,wBAA8B,qBAAqB,CAAC,CAAC,EACnD,gBAAgB,EAAE,yBAAyB,CAAC,wCAAwC,CAAC,EACrF,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,EAAE,mBAAmB,CAAA;CAAE,EACvE,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAC5C,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"append_segment_to_buffer.d.ts","sourceRoot":"","sources":["../../../../../../src/core/stream/representation/utils/append_segment_to_buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,UAAU,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,wBAA8B,qBAAqB,CAAC,CAAC,EACnD,gBAAgB,EAAE,yBAAyB,CAAC,wCAAwC,CAAC,EACrF,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG;IAAE,cAAc,EAAE,mBAAmB,CAAA;CAAE,EACvE,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAC5C,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB"}
|
|
@@ -54,8 +54,12 @@ export default async function appendSegmentToBuffer(playbackObserver, segmentSin
|
|
|
54
54
|
log.warn("Stream: Running garbage collector");
|
|
55
55
|
const start = Math.max(currentPos - 5, 0);
|
|
56
56
|
const end = currentPos + bufferGoal.getValue() + 12;
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
if (start > 0) {
|
|
58
|
+
await segmentSink.removeBuffer(0, start);
|
|
59
|
+
}
|
|
60
|
+
if (end < Number.MAX_VALUE) {
|
|
61
|
+
await segmentSink.removeBuffer(end, Number.MAX_VALUE);
|
|
62
|
+
}
|
|
59
63
|
await sleep(200);
|
|
60
64
|
if (cancellationSignal.cancellationError !== null) {
|
|
61
65
|
throw cancellationSignal.cancellationError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/public_api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/api/public_api.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import getStartDate from "../../compat/get_start_date";
|
|
|
19
19
|
import hasMseInWorker from "../../compat/has_mse_in_worker";
|
|
20
20
|
import hasWorkerApi from "../../compat/has_worker_api";
|
|
21
21
|
import isDebugModeEnabled from "../../compat/is_debug_mode_enabled";
|
|
22
|
+
import config from "../../config";
|
|
22
23
|
import { ErrorCodes, ErrorTypes, formatError, MediaError } from "../../errors";
|
|
23
24
|
import WorkerInitializationError from "../../errors/worker_initialization_error";
|
|
24
25
|
import features, { addFeatures } from "../../features";
|
|
@@ -142,7 +143,7 @@ class Player extends EventEmitter {
|
|
|
142
143
|
// Workaround to support Firefox autoplay on FF 42.
|
|
143
144
|
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
|
|
144
145
|
videoElement.preload = "auto";
|
|
145
|
-
this.version = /* PLAYER_VERSION */ "4.2.0-dev.
|
|
146
|
+
this.version = /* PLAYER_VERSION */ "4.2.0-dev.2024092400";
|
|
146
147
|
this.log = log;
|
|
147
148
|
this.state = "STOPPED";
|
|
148
149
|
this.videoElement = videoElement;
|
|
@@ -257,6 +258,20 @@ class Player extends EventEmitter {
|
|
|
257
258
|
},
|
|
258
259
|
});
|
|
259
260
|
}, this._destroyCanceller.signal);
|
|
261
|
+
const sendConfigUpdates = (updates) => {
|
|
262
|
+
if (this._priv_worker === null) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
log.debug("---> Sending To Worker:", "config-update" /* MainThreadMessageType.ConfigUpdate */);
|
|
266
|
+
this._priv_worker.postMessage({
|
|
267
|
+
type: "config-update" /* MainThreadMessageType.ConfigUpdate */,
|
|
268
|
+
value: updates,
|
|
269
|
+
});
|
|
270
|
+
};
|
|
271
|
+
if (config.updated) {
|
|
272
|
+
sendConfigUpdates(config.getCurrent());
|
|
273
|
+
}
|
|
274
|
+
config.addEventListener("update", sendConfigUpdates, this._destroyCanceller.signal);
|
|
260
275
|
});
|
|
261
276
|
}
|
|
262
277
|
/**
|
|
@@ -2456,5 +2471,5 @@ class Player extends EventEmitter {
|
|
|
2456
2471
|
* Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
|
|
2457
2472
|
*/
|
|
2458
2473
|
Player._priv_currentlyUsedVideoElements = new WeakSet();
|
|
2459
|
-
Player.version = /* PLAYER_VERSION */ "4.2.0-dev.
|
|
2474
|
+
Player.version = /* PLAYER_VERSION */ "4.2.0-dev.2024092400";
|
|
2460
2475
|
export default Player;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content_decryptor.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/content_decryptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAO9E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAerD,OAAO,KAAK,EACV,eAAe,EAEf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAA8B,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAU5E,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAChF;;;;;;;;;;;;OAYG;IACI,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACI,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,CAA6B;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAgB;IAElC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAoB;IAE1C;;OAEG;IACH,OAAO,CAAC,4BAA4B,CAAoB;IAExD;;;;;OAKG;WACW,UAAU,IAAI,OAAO;IAInC;;;;;;;;;;;;;OAaG;gBACS,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"content_decryptor.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/content_decryptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAO9E,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,oBAAoB,CAAC;AAIzE,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAerD,OAAO,KAAK,EACV,eAAe,EAEf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAA8B,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAU5E,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAChF;;;;;;;;;;;;OAYG;IACI,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACI,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE3B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,CAA6B;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAgB;IAElC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAoB;IAE1C;;OAEG;IACH,OAAO,CAAC,4BAA4B,CAAoB;IAExD;;;;;OAKG;WACW,UAAU,IAAI,OAAO;IAInC;;;;;;;;;;;;;OAaG;gBACS,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE;IAsEtE;;;;OAIG;IACI,QAAQ,IAAI,qBAAqB;IAIxC;;;;;;;;OAQG;IACI,MAAM,IAAI,IAAI;IAiFrB;;;;;;OAMG;IACI,OAAO;IAYd;;;;;;;;;;OAUG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAgB7E;;;;;;;;OAQG;IACI,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,GAAG,IAAI;IAqBtE;;;;;;;;OAQG;YACW,0BAA0B;IAiTxC,OAAO,CAAC,8BAA8B;IAyItC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAmChC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAuBrB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAOlB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;CAQ7B;AAeD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,UAAU,EAAE,EAC5B,YAAY,EAAE,UAAU,EAAE,GACzB,UAAU,EAAE,CAId;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,UAAU,EAAE,GACtB,UAAU,EAAE,CAUd;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,wBAAwB,EAC5C,SAAS,EAAE,UAAU,EAAE,GACtB,UAAU,EAAE,CAcd"}
|
|
@@ -115,6 +115,7 @@ export default class ContentDecryptor extends EventEmitter {
|
|
|
115
115
|
}
|
|
116
116
|
this.systemId = systemId;
|
|
117
117
|
if (this._stateData.state === ContentDecryptorState.Initializing) {
|
|
118
|
+
log.debug("DRM: Waiting for attachment.");
|
|
118
119
|
this._stateData = {
|
|
119
120
|
state: ContentDecryptorState.WaitingForAttachment,
|
|
120
121
|
isInitDataQueueLocked: true,
|
|
@@ -157,6 +158,7 @@ export default class ContentDecryptor extends EventEmitter {
|
|
|
157
158
|
const { options, mediaKeys, mediaKeySystemAccess, stores, askedConfiguration } = mediaKeysInfo;
|
|
158
159
|
const shouldDisableLock = options.disableMediaKeysAttachmentLock === true;
|
|
159
160
|
if (shouldDisableLock) {
|
|
161
|
+
log.debug("DRM: disabling MediaKeys attachment lock. Ready for content");
|
|
160
162
|
this._stateData = {
|
|
161
163
|
state: ContentDecryptorState.ReadyForContent,
|
|
162
164
|
isInitDataQueueLocked: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/get_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAGtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAuBtD,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,8BAA8B;IAC9B,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,+DAA+D;IAC/D,MAAM,EAAE,sBAAsB,CAAC;IAC/B,qEAAqE;IACrE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,yBAAyB;IACzB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAA8B,iBAAiB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"get_media_keys.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/decrypt/get_media_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAGtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAuBtD,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,oBAAoB,EAAE,oBAAoB,GAAG,2BAA2B,CAAC;IACzE;;;OAGG;IACH,kBAAkB,EAAE,2BAA2B,CAAC;IAChD,8BAA8B;IAC9B,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,+DAA+D;IAC/D,MAAM,EAAE,sBAAsB,CAAC;IAC/B,qEAAqE;IACrE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,yBAAyB;IACzB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAA8B,iBAAiB,CAC7C,YAAY,EAAE,aAAa,EAC3B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,kBAAkB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAoD1B"}
|
|
@@ -59,6 +59,7 @@ export default async function getMediaKeysInfos(mediaElement, keySystemsConfigs,
|
|
|
59
59
|
if (canReuseMediaKeys() &&
|
|
60
60
|
currentState !== null &&
|
|
61
61
|
evt.type === "reuse-media-key-system-access") {
|
|
62
|
+
log.debug("DRM: Reusing already created MediaKeys");
|
|
62
63
|
const { mediaKeys, loadedSessionsStore } = currentState;
|
|
63
64
|
// We might just rely on the currently attached MediaKeys instance.
|
|
64
65
|
// First check if server certificate parameters are the same than in the
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { ISegmentSinkMetrics } from "./core/segment_sinks/segment_buffers_store";
|
|
7
7
|
import type { IResolutionInfo, IManifestFetcherSettings, ISegmentQueueCreatorBackoffOptions, IInbandEvent, IPausedPlaybackObservation, IRepresentationsChoice, ITrackSwitchingMode } from "./core/types";
|
|
8
|
+
import type { IDefaultConfig } from "./default_config";
|
|
8
9
|
import type { ISerializedMediaError, ISerializedNetworkError, ISerializedEncryptedMediaError, ISerializedOtherError } from "./errors";
|
|
9
10
|
import type { ISerializedSourceBufferError } from "./errors/source_buffer_error";
|
|
10
11
|
import type { IContentProtection, ITextDisplayerData } from "./main_thread/types";
|
|
@@ -130,6 +131,11 @@ export interface ILogLevelUpdateMessage {
|
|
|
130
131
|
sendBackLogs: boolean;
|
|
131
132
|
};
|
|
132
133
|
}
|
|
134
|
+
/** Message sent by the main thread to update the Worker's global config. */
|
|
135
|
+
export interface IConfigUpdateMessage {
|
|
136
|
+
type: MainThreadMessageType.ConfigUpdate;
|
|
137
|
+
value: Partial<IDefaultConfig>;
|
|
138
|
+
}
|
|
133
139
|
/**
|
|
134
140
|
* Message sent by the main thread when a new content should be "prepared".
|
|
135
141
|
*
|
|
@@ -479,6 +485,7 @@ export declare const enum MainThreadMessageType {
|
|
|
479
485
|
RemoveTextDataError = "remove-text-error",
|
|
480
486
|
CodecSupportUpdate = "codec-support-update",
|
|
481
487
|
ContentUrlsUpdate = "urls-update",
|
|
488
|
+
ConfigUpdate = "config-update",
|
|
482
489
|
DecipherabilityStatusUpdate = "decipherability-update",
|
|
483
490
|
LogLevelUpdate = "log-level-update",
|
|
484
491
|
MediaSourceReadyStateChange = "media-source-ready-state-change",
|
|
@@ -493,7 +500,7 @@ export declare const enum MainThreadMessageType {
|
|
|
493
500
|
TrackUpdate = "track-update",
|
|
494
501
|
PullSegmentSinkStoreInfos = "pull-segment-sink-store-infos"
|
|
495
502
|
}
|
|
496
|
-
export type IMainThreadMessage = IInitMessage | ILogLevelUpdateMessage | IPrepareContentMessage | IStopContentMessage | IStartPreparedContentMessage | IReferenceUpdateMessage | ICodecSupportUpdateMessage | IPlaybackObservationMessage | IDecipherabilityStatusChangedMessage | IUpdateContentUrlsMessage | ISourceBufferErrorMainMessage | ISourceBufferOperationSuccessMainMessage | ITrackUpdateMessage | IRepresentationUpdateMessage | IPushTextDataSuccessMessage | IRemoveTextDataSuccessMessage | IPushTextDataErrorMessage | IRemoveTextDataErrorMessage | IMediaSourceReadyStateChangeMainMessage | IPullSegmentSinkStoreInfos;
|
|
503
|
+
export type IMainThreadMessage = IInitMessage | ILogLevelUpdateMessage | IConfigUpdateMessage | IPrepareContentMessage | IStopContentMessage | IStartPreparedContentMessage | IReferenceUpdateMessage | ICodecSupportUpdateMessage | IPlaybackObservationMessage | IDecipherabilityStatusChangedMessage | IUpdateContentUrlsMessage | ISourceBufferErrorMainMessage | ISourceBufferOperationSuccessMainMessage | ITrackUpdateMessage | IRepresentationUpdateMessage | IPushTextDataSuccessMessage | IRemoveTextDataSuccessMessage | IPushTextDataErrorMessage | IRemoveTextDataErrorMessage | IMediaSourceReadyStateChangeMainMessage | IPullSegmentSinkStoreInfos;
|
|
497
504
|
export type ISentError = ISerializedNetworkError | ISerializedMediaError | ISerializedEncryptedMediaError | ISerializedOtherError;
|
|
498
505
|
/**
|
|
499
506
|
* Message sent by the WebWorker when its initialization, started implicitely
|