hls.js 1.6.0-beta.2.0.canary.10871 → 1.6.0-beta.2.0.canary.10876

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.
@@ -93,8 +93,6 @@ class FetchLoader implements Loader<LoaderContext> {
93
93
  stats.loading.start = self.performance.now();
94
94
 
95
95
  const initParams = getRequestParameters(context, this.controller.signal);
96
- const onProgress: LoaderOnProgress<LoaderContext> | undefined =
97
- callbacks.onProgress;
98
96
  const isArrayBuffer = context.responseType === 'arraybuffer';
99
97
  const LENGTH = isArrayBuffer ? 'byteLength' : 'length';
100
98
  const { maxTimeToFirstByteMs, maxLoadTimeMs } = config.loadPolicy;
@@ -109,8 +107,10 @@ class FetchLoader implements Loader<LoaderContext> {
109
107
  ? maxTimeToFirstByteMs
110
108
  : maxLoadTimeMs;
111
109
  this.requestTimeout = self.setTimeout(() => {
112
- this.abortInternal();
113
- callbacks.onTimeout(stats, context, this.response);
110
+ if (this.callbacks) {
111
+ this.abortInternal();
112
+ this.callbacks.onTimeout(stats, context, this.response);
113
+ }
114
114
  }, config.timeout);
115
115
 
116
116
  const fetchPromise = isPromise(this.request)
@@ -127,8 +127,10 @@ class FetchLoader implements Loader<LoaderContext> {
127
127
  config.timeout = maxLoadTimeMs;
128
128
  this.requestTimeout = self.setTimeout(
129
129
  () => {
130
- this.abortInternal();
131
- callbacks.onTimeout(stats, context, this.response);
130
+ if (this.callbacks) {
131
+ this.abortInternal();
132
+ this.callbacks.onTimeout(stats, context, this.response);
133
+ }
132
134
  },
133
135
  maxLoadTimeMs - (first - stats.loading.start),
134
136
  );
@@ -145,6 +147,7 @@ class FetchLoader implements Loader<LoaderContext> {
145
147
 
146
148
  stats.total = getContentLength(response.headers) || stats.total;
147
149
 
150
+ const onProgress = this.callbacks?.onProgress;
148
151
  if (onProgress && Number.isFinite(config.highWaterMark)) {
149
152
  return this.loadProgressively(
150
153
  response,
@@ -184,11 +187,12 @@ class FetchLoader implements Loader<LoaderContext> {
184
187
  code: response.status,
185
188
  };
186
189
 
190
+ const onProgress = this.callbacks?.onProgress;
187
191
  if (onProgress && !Number.isFinite(config.highWaterMark)) {
188
192
  onProgress(stats, context, responseData, response);
189
193
  }
190
194
 
191
- callbacks.onSuccess(loaderResponse, stats, context, response);
195
+ this.callbacks?.onSuccess(loaderResponse, stats, context, response);
192
196
  })
193
197
  .catch((error) => {
194
198
  self.clearTimeout(this.requestTimeout);
@@ -199,7 +203,7 @@ class FetchLoader implements Loader<LoaderContext> {
199
203
  // when destroying, 'error' itself can be undefined
200
204
  const code: number = !error ? 0 : error.code || 0;
201
205
  const text: string = !error ? null : error.message;
202
- callbacks.onError(
206
+ this.callbacks?.onError(
203
207
  { code, text },
204
208
  context,
205
209
  error ? error.details : null,
@@ -113,7 +113,7 @@ class XhrLoader implements Loader<LoaderContext> {
113
113
  })
114
114
  .catch((error: Error) => {
115
115
  // IE11 throws an exception on xhr.open if attempting to access an HTTP resource over HTTPS
116
- this.callbacks!.onError(
116
+ this.callbacks?.onError(
117
117
  { code: xhr.status, text: error.message },
118
118
  context,
119
119
  xhr,
@@ -220,23 +220,16 @@ class XhrLoader implements Loader<LoaderContext> {
220
220
  stats.loaded = stats.total = len;
221
221
  stats.bwEstimate =
222
222
  (stats.total * 8000) / (stats.loading.end - stats.loading.first);
223
- if (!this.callbacks) {
224
- return;
225
- }
226
- const onProgress = this.callbacks.onProgress;
223
+ const onProgress = this.callbacks?.onProgress;
227
224
  if (onProgress) {
228
225
  onProgress(stats, context, data, xhr);
229
226
  }
230
- if (!this.callbacks) {
231
- return;
232
- }
233
227
  const response: LoaderResponse = {
234
228
  url: xhr.responseURL,
235
229
  data: data,
236
230
  code: status,
237
231
  };
238
-
239
- this.callbacks.onSuccess(response, stats, context, xhr);
232
+ this.callbacks?.onSuccess(response, stats, context, xhr);
240
233
  return;
241
234
  }
242
235
  }
@@ -254,7 +247,7 @@ class XhrLoader implements Loader<LoaderContext> {
254
247
  this.retry(retryConfig);
255
248
  } else {
256
249
  logger.error(`${status} while loading ${context.url}`);
257
- this.callbacks!.onError(
250
+ this.callbacks?.onError(
258
251
  { code: status, text: xhr.statusText },
259
252
  context,
260
253
  xhr,