googlevideo 4.0.1 → 4.0.2

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.
Files changed (68) hide show
  1. package/dist/protos/generated/misc/common.js +42 -25
  2. package/dist/protos/generated/misc/common.js.map +1 -1
  3. package/dist/protos/generated/video_streaming/buffered_range.js +35 -20
  4. package/dist/protos/generated/video_streaming/buffered_range.js.map +1 -1
  5. package/dist/protos/generated/video_streaming/client_abr_state.js +94 -48
  6. package/dist/protos/generated/video_streaming/client_abr_state.js.map +1 -1
  7. package/dist/protos/generated/video_streaming/crypto_params.js +8 -5
  8. package/dist/protos/generated/video_streaming/crypto_params.js.map +1 -1
  9. package/dist/protos/generated/video_streaming/format_initialization_metadata.js +22 -12
  10. package/dist/protos/generated/video_streaming/format_initialization_metadata.js.map +1 -1
  11. package/dist/protos/generated/video_streaming/format_selection_config.js +8 -5
  12. package/dist/protos/generated/video_streaming/format_selection_config.js.map +1 -1
  13. package/dist/protos/generated/video_streaming/innertube_request.js +29 -16
  14. package/dist/protos/generated/video_streaming/innertube_request.js.map +1 -1
  15. package/dist/protos/generated/video_streaming/live_metadata.js +24 -13
  16. package/dist/protos/generated/video_streaming/live_metadata.js.map +1 -1
  17. package/dist/protos/generated/video_streaming/media_capabilities.js +30 -17
  18. package/dist/protos/generated/video_streaming/media_capabilities.js.map +1 -1
  19. package/dist/protos/generated/video_streaming/media_header.js +34 -18
  20. package/dist/protos/generated/video_streaming/media_header.js.map +1 -1
  21. package/dist/protos/generated/video_streaming/next_request_policy.js +18 -10
  22. package/dist/protos/generated/video_streaming/next_request_policy.js.map +1 -1
  23. package/dist/protos/generated/video_streaming/onesie_header.js +30 -17
  24. package/dist/protos/generated/video_streaming/onesie_header.js.map +1 -1
  25. package/dist/protos/generated/video_streaming/onesie_header_type.js +1 -1
  26. package/dist/protos/generated/video_streaming/onesie_innertube_request.js +12 -7
  27. package/dist/protos/generated/video_streaming/onesie_innertube_request.js.map +1 -1
  28. package/dist/protos/generated/video_streaming/onesie_innertube_response.js +10 -6
  29. package/dist/protos/generated/video_streaming/onesie_innertube_response.js.map +1 -1
  30. package/dist/protos/generated/video_streaming/onesie_proxy_status.js +1 -1
  31. package/dist/protos/generated/video_streaming/onesie_request.js +22 -12
  32. package/dist/protos/generated/video_streaming/onesie_request.js.map +1 -1
  33. package/dist/protos/generated/video_streaming/playback_cookie.js +10 -6
  34. package/dist/protos/generated/video_streaming/playback_cookie.js.map +1 -1
  35. package/dist/protos/generated/video_streaming/playback_start_policy.js +11 -7
  36. package/dist/protos/generated/video_streaming/playback_start_policy.js.map +1 -1
  37. package/dist/protos/generated/video_streaming/reload_player_response.js +7 -5
  38. package/dist/protos/generated/video_streaming/reload_player_response.js.map +1 -1
  39. package/dist/protos/generated/video_streaming/request_cancellation_policy.js +15 -9
  40. package/dist/protos/generated/video_streaming/request_cancellation_policy.js.map +1 -1
  41. package/dist/protos/generated/video_streaming/request_identifier.js +4 -3
  42. package/dist/protos/generated/video_streaming/request_identifier.js.map +1 -1
  43. package/dist/protos/generated/video_streaming/sabr_context_sending_policy.js +8 -5
  44. package/dist/protos/generated/video_streaming/sabr_context_sending_policy.js.map +1 -1
  45. package/dist/protos/generated/video_streaming/sabr_context_update.js +31 -18
  46. package/dist/protos/generated/video_streaming/sabr_context_update.js.map +1 -1
  47. package/dist/protos/generated/video_streaming/sabr_error.js +6 -4
  48. package/dist/protos/generated/video_streaming/sabr_error.js.map +1 -1
  49. package/dist/protos/generated/video_streaming/sabr_redirect.js +4 -3
  50. package/dist/protos/generated/video_streaming/sabr_redirect.js.map +1 -1
  51. package/dist/protos/generated/video_streaming/snackbar_message.js +4 -3
  52. package/dist/protos/generated/video_streaming/snackbar_message.js.map +1 -1
  53. package/dist/protos/generated/video_streaming/stream_protection_status.js +6 -4
  54. package/dist/protos/generated/video_streaming/stream_protection_status.js.map +1 -1
  55. package/dist/protos/generated/video_streaming/streamer_context.js +87 -47
  56. package/dist/protos/generated/video_streaming/streamer_context.js.map +1 -1
  57. package/dist/protos/generated/video_streaming/time_range.js +8 -5
  58. package/dist/protos/generated/video_streaming/time_range.js.map +1 -1
  59. package/dist/protos/generated/video_streaming/ump_part_id.js +1 -1
  60. package/dist/protos/generated/video_streaming/video_playback_abr_request.js +61 -33
  61. package/dist/protos/generated/video_streaming/video_playback_abr_request.js.map +1 -1
  62. package/dist/src/core/SabrStream.d.ts +9 -3
  63. package/dist/src/core/SabrStream.js +69 -21
  64. package/dist/src/core/SabrStream.js.map +1 -1
  65. package/dist/src/types/shared.d.ts +4 -0
  66. package/dist/src/types/shared.js +4 -0
  67. package/dist/src/types/shared.js.map +1 -1
  68. package/package.json +1 -4
@@ -1,6 +1,6 @@
1
1
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
2
  // versions:
3
- // protoc-gen-ts_proto v2.2.0
3
+ // protoc-gen-ts_proto v2.7.5
4
4
  // protoc v3.21.12
5
5
  // source: video_streaming/video_playback_abr_request.proto
6
6
  /* eslint-disable */
@@ -77,95 +77,109 @@ export const VideoPlaybackAbrRequest = {
77
77
  },
78
78
  decode(input, length) {
79
79
  const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
80
- let end = length === undefined ? reader.len : reader.pos + length;
80
+ const end = length === undefined ? reader.len : reader.pos + length;
81
81
  const message = createBaseVideoPlaybackAbrRequest();
82
82
  while (reader.pos < end) {
83
83
  const tag = reader.uint32();
84
84
  switch (tag >>> 3) {
85
- case 1:
85
+ case 1: {
86
86
  if (tag !== 10) {
87
87
  break;
88
88
  }
89
89
  message.clientAbrState = ClientAbrState.decode(reader, reader.uint32());
90
90
  continue;
91
- case 2:
91
+ }
92
+ case 2: {
92
93
  if (tag !== 18) {
93
94
  break;
94
95
  }
95
96
  message.selectedFormatIds.push(FormatId.decode(reader, reader.uint32()));
96
97
  continue;
97
- case 3:
98
+ }
99
+ case 3: {
98
100
  if (tag !== 26) {
99
101
  break;
100
102
  }
101
103
  message.bufferedRanges.push(BufferedRange.decode(reader, reader.uint32()));
102
104
  continue;
103
- case 4:
105
+ }
106
+ case 4: {
104
107
  if (tag !== 32) {
105
108
  break;
106
109
  }
107
110
  message.playerTimeMs = longToNumber(reader.int64());
108
111
  continue;
109
- case 5:
112
+ }
113
+ case 5: {
110
114
  if (tag !== 42) {
111
115
  break;
112
116
  }
113
117
  message.videoPlaybackUstreamerConfig = reader.bytes();
114
118
  continue;
115
- case 6:
119
+ }
120
+ case 6: {
116
121
  if (tag !== 50) {
117
122
  break;
118
123
  }
119
124
  message.field6 = UnknownMessage1.decode(reader, reader.uint32());
120
125
  continue;
121
- case 16:
126
+ }
127
+ case 16: {
122
128
  if (tag !== 130) {
123
129
  break;
124
130
  }
125
131
  message.preferredAudioFormatIds.push(FormatId.decode(reader, reader.uint32()));
126
132
  continue;
127
- case 17:
133
+ }
134
+ case 17: {
128
135
  if (tag !== 138) {
129
136
  break;
130
137
  }
131
138
  message.preferredVideoFormatIds.push(FormatId.decode(reader, reader.uint32()));
132
139
  continue;
133
- case 18:
140
+ }
141
+ case 18: {
134
142
  if (tag !== 146) {
135
143
  break;
136
144
  }
137
145
  message.preferredSubtitleFormatIds.push(FormatId.decode(reader, reader.uint32()));
138
146
  continue;
139
- case 19:
147
+ }
148
+ case 19: {
140
149
  if (tag !== 154) {
141
150
  break;
142
151
  }
143
152
  message.streamerContext = StreamerContext.decode(reader, reader.uint32());
144
153
  continue;
145
- case 21:
154
+ }
155
+ case 21: {
146
156
  if (tag !== 170) {
147
157
  break;
148
158
  }
149
159
  message.field21 = UnknownMessage2.decode(reader, reader.uint32());
150
160
  continue;
151
- case 22:
161
+ }
162
+ case 22: {
152
163
  if (tag !== 176) {
153
164
  break;
154
165
  }
155
166
  message.field22 = reader.int32();
156
167
  continue;
157
- case 23:
168
+ }
169
+ case 23: {
158
170
  if (tag !== 184) {
159
171
  break;
160
172
  }
161
173
  message.field23 = reader.int32();
162
174
  continue;
163
- case 1000:
175
+ }
176
+ case 1000: {
164
177
  if (tag !== 8002) {
165
178
  break;
166
179
  }
167
180
  message.field1000.push(UnknownMessage3.decode(reader, reader.uint32()));
168
181
  continue;
182
+ }
169
183
  }
170
184
  if ((tag & 7) === 4 || tag === 0) {
171
185
  break;
@@ -199,41 +213,46 @@ export const UnknownMessage1 = {
199
213
  },
200
214
  decode(input, length) {
201
215
  const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
202
- let end = length === undefined ? reader.len : reader.pos + length;
216
+ const end = length === undefined ? reader.len : reader.pos + length;
203
217
  const message = createBaseUnknownMessage1();
204
218
  while (reader.pos < end) {
205
219
  const tag = reader.uint32();
206
220
  switch (tag >>> 3) {
207
- case 1:
221
+ case 1: {
208
222
  if (tag !== 10) {
209
223
  break;
210
224
  }
211
225
  message.formatId = FormatId.decode(reader, reader.uint32());
212
226
  continue;
213
- case 2:
227
+ }
228
+ case 2: {
214
229
  if (tag !== 16) {
215
230
  break;
216
231
  }
217
232
  message.lmt = longToNumber(reader.sint64());
218
233
  continue;
219
- case 3:
234
+ }
235
+ case 3: {
220
236
  if (tag !== 24) {
221
237
  break;
222
238
  }
223
239
  message.sequenceNumber = reader.int32();
224
240
  continue;
225
- case 4:
241
+ }
242
+ case 4: {
226
243
  if (tag !== 34) {
227
244
  break;
228
245
  }
229
246
  message.timeRange = TimeRange.decode(reader, reader.uint32());
230
247
  continue;
231
- case 5:
248
+ }
249
+ case 5: {
232
250
  if (tag !== 40) {
233
251
  break;
234
252
  }
235
253
  message.field5 = reader.int32();
236
254
  continue;
255
+ }
237
256
  }
238
257
  if ((tag & 7) === 4 || tag === 0) {
239
258
  break;
@@ -270,47 +289,53 @@ export const UnknownMessage2 = {
270
289
  },
271
290
  decode(input, length) {
272
291
  const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
273
- let end = length === undefined ? reader.len : reader.pos + length;
292
+ const end = length === undefined ? reader.len : reader.pos + length;
274
293
  const message = createBaseUnknownMessage2();
275
294
  while (reader.pos < end) {
276
295
  const tag = reader.uint32();
277
296
  switch (tag >>> 3) {
278
- case 1:
297
+ case 1: {
279
298
  if (tag !== 10) {
280
299
  break;
281
300
  }
282
301
  message.field1.push(reader.string());
283
302
  continue;
284
- case 2:
303
+ }
304
+ case 2: {
285
305
  if (tag !== 18) {
286
306
  break;
287
307
  }
288
308
  message.field2 = reader.bytes();
289
309
  continue;
290
- case 3:
310
+ }
311
+ case 3: {
291
312
  if (tag !== 26) {
292
313
  break;
293
314
  }
294
315
  message.field3 = reader.string();
295
316
  continue;
296
- case 4:
317
+ }
318
+ case 4: {
297
319
  if (tag !== 32) {
298
320
  break;
299
321
  }
300
322
  message.field4 = reader.int32();
301
323
  continue;
302
- case 5:
324
+ }
325
+ case 5: {
303
326
  if (tag !== 40) {
304
327
  break;
305
328
  }
306
329
  message.field5 = reader.int32();
307
330
  continue;
308
- case 6:
331
+ }
332
+ case 6: {
309
333
  if (tag !== 50) {
310
334
  break;
311
335
  }
312
336
  message.field6 = reader.string();
313
337
  continue;
338
+ }
314
339
  }
315
340
  if ((tag & 7) === 4 || tag === 0) {
316
341
  break;
@@ -338,29 +363,32 @@ export const UnknownMessage3 = {
338
363
  },
339
364
  decode(input, length) {
340
365
  const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
341
- let end = length === undefined ? reader.len : reader.pos + length;
366
+ const end = length === undefined ? reader.len : reader.pos + length;
342
367
  const message = createBaseUnknownMessage3();
343
368
  while (reader.pos < end) {
344
369
  const tag = reader.uint32();
345
370
  switch (tag >>> 3) {
346
- case 1:
371
+ case 1: {
347
372
  if (tag !== 10) {
348
373
  break;
349
374
  }
350
375
  message.formatIds.push(FormatId.decode(reader, reader.uint32()));
351
376
  continue;
352
- case 2:
377
+ }
378
+ case 2: {
353
379
  if (tag !== 18) {
354
380
  break;
355
381
  }
356
382
  message.ud.push(BufferedRange.decode(reader, reader.uint32()));
357
383
  continue;
358
- case 3:
384
+ }
385
+ case 3: {
359
386
  if (tag !== 26) {
360
387
  break;
361
388
  }
362
389
  message.clipId = reader.string();
363
390
  continue;
391
+ }
364
392
  }
365
393
  if ((tag & 7) === 4 || tag === 0) {
366
394
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"video_playback_abr_request.js","sourceRoot":"","sources":["../../../../protos/generated/video_streaming/video_playback_abr_request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video_playback_abr_request.js","sourceRoot":"","sources":["../../../../protos/generated/video_streaming/video_playback_abr_request.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { FormatInitializationMetadata, MediaHeader, NextRequestPolicy, ReloadPlaybackContext, SabrContextUpdate, StreamProtectionStatus } from '../utils/Protos.js';
2
- import type { BufferedRange, ClientInfo } from '../utils/Protos.js';
1
+ import { FormatInitializationMetadata, MediaHeader, NextRequestPolicy, ReloadPlaybackContext, SabrContextUpdate, StreamProtectionStatus, type BufferedRange, type ClientInfo } from '../utils/Protos.js';
3
2
  import type { SabrPlaybackOptions, SabrStreamConfig } from '../types/sabrStreamTypes.js';
4
3
  import type { SabrFormat } from '../types/shared.js';
5
4
  import { EventEmitterLike } from '../utils/index.js';
@@ -179,7 +178,7 @@ export declare class SabrStream extends EventEmitterLike {
179
178
  /**
180
179
  * Checks if the download has stalled by tracking progress over time.
181
180
  * @param options - Configuration for stall detection.
182
- * @returns `true` if a stall was detected but is within the retry limit, `false` otherwise.
181
+ * @returns An object indicating whether the stream should stop and if it is stalled.
183
182
  * @throws {Error} If the maximum number of consecutive stalls is reached.
184
183
  * @private
185
184
  */
@@ -258,6 +257,13 @@ export declare class SabrStream extends EventEmitterLike {
258
257
  * @private
259
258
  */
260
259
  private executeWithRetry;
260
+ /**
261
+ * Decodes a UMP part using the provided decoder.
262
+ * @param part
263
+ * @param decoder
264
+ * @private
265
+ */
266
+ private decodePart;
261
267
  /**
262
268
  * Handles `FORMAT_INITIALIZATION_METADATA` parts.
263
269
  * Creates and stores a new `InitializedFormat` entry.
@@ -1,5 +1,5 @@
1
1
  import { FormatInitializationMetadata, MediaHeader, NextRequestPolicy, PlaybackCookie, ReloadPlaybackContext, SabrContextSendingPolicy, SabrContextUpdate, SabrContextWritePolicy, SabrError, SabrRedirect, StreamProtectionStatus, VideoPlaybackAbrRequest, UMPPartId } from '../utils/Protos.js';
2
- import { MAX_INT32_VALUE, EnabledTrackTypes, base64ToU8, EventEmitterLike, Logger, wait } from '../utils/index.js';
2
+ import { MAX_INT32_VALUE, EnabledTrackTypes, base64ToU8, concatenateChunks, EventEmitterLike, Logger, wait } from '../utils/index.js';
3
3
  import * as FormatKeyUtils from '../utils/formatKeyUtils.js';
4
4
  import { chooseFormat, getMediaType, getTotalDownloadedDuration } from '../utils/sabrStreamUtils.js';
5
5
  import { CompositeBuffer } from './CompositeBuffer.js';
@@ -224,10 +224,12 @@ export class SabrStream extends EventEmitterLike {
224
224
  if (this.mainFormat)
225
225
  this.validateAndCorrectDuration(this.mainFormat.formatInitializationMetadata);
226
226
  abrState.playerTimeMs = this.mainFormat ? getTotalDownloadedDuration(this.mainFormat) : 0;
227
- this.checkForStall({
227
+ const { shouldStop } = this.checkForStall({
228
228
  playerTimeMs: abrState.playerTimeMs,
229
229
  stallDetectionMs: options.stallDetectionMs
230
230
  });
231
+ if (shouldStop)
232
+ break;
231
233
  const success = await this.executeWithRetry(() => this.fetchAndProcessSegments(abrState, audioFormat, videoFormat), maxRetries);
232
234
  if (!success)
233
235
  break;
@@ -295,7 +297,7 @@ export class SabrStream extends EventEmitterLike {
295
297
  /**
296
298
  * Checks if the download has stalled by tracking progress over time.
297
299
  * @param options - Configuration for stall detection.
298
- * @returns `true` if a stall was detected but is within the retry limit, `false` otherwise.
300
+ * @returns An object indicating whether the stream should stop and if it is stalled.
299
301
  * @throws {Error} If the maximum number of consecutive stalls is reached.
300
302
  * @private
301
303
  */
@@ -307,7 +309,7 @@ export class SabrStream extends EventEmitterLike {
307
309
  this.progressTracker.lastProgressTime = currentTime;
308
310
  this.progressTracker.lastDownloadedDuration = currentProgress;
309
311
  this.progressTracker.stallCount = 0;
310
- return false;
312
+ return { shouldStop: false, stalled: false };
311
313
  }
312
314
  else if (currentTime - this.progressTracker.lastProgressTime > stallThreshold) {
313
315
  this.progressTracker.stallCount++;
@@ -316,9 +318,19 @@ export class SabrStream extends EventEmitterLike {
316
318
  throw new Error(`Stream stalled ${MAX_STALLS} times, aborting`);
317
319
  }
318
320
  this.progressTracker.lastProgressTime = currentTime;
319
- return true;
321
+ const downloadedDurationCloseness = Math.abs(this.durationMs - currentProgress);
322
+ if (downloadedDurationCloseness < 5000) {
323
+ this.logger.warn(TAG, 'Stream is close to completion, but stalled. Checking if we have the last segment.');
324
+ const endSegmentNumber = this.mainFormat?.formatInitializationMetadata.endSegmentNumber || -1;
325
+ const lastSegment = this.mainFormat?.downloadedSegments.get(endSegmentNumber);
326
+ if (lastSegment && lastSegment.segmentNumber === endSegmentNumber) {
327
+ this.logger.warn(TAG, 'Last segment is already downloaded. Stopping further processing.');
328
+ return { shouldStop: true, stalled: true };
329
+ }
330
+ }
331
+ return { shouldStop: false, stalled: true };
320
332
  }
321
- return false;
333
+ return { shouldStop: false, stalled: false };
322
334
  }
323
335
  /**
324
336
  * Selects the best video and audio formats based on provided options.
@@ -587,7 +599,6 @@ export class SabrStream extends EventEmitterLike {
587
599
  }
588
600
  });
589
601
  }
590
- this.partialSegmentQueue.clear();
591
602
  return processedParts;
592
603
  }
593
604
  /**
@@ -624,21 +635,42 @@ export class SabrStream extends EventEmitterLike {
624
635
  break;
625
636
  }
626
637
  const retryBackoffMs = Math.min(BACKOFF_MULTIPLIER * Math.pow(2, attempt - 1), MAX_BACKOFF_MS);
627
- this.logger.warn(TAG, `Segment fetch attempt ${attempt}/${maxRetries + 1} failed: ${error.message} - retrying in ${retryBackoffMs}ms`);
638
+ this.logger.warn(TAG, `Segment fetch attempt ${attempt}/${maxRetries + 1} failed - retrying in ${retryBackoffMs}ms`, error);
628
639
  await wait(retryBackoffMs);
629
640
  }
641
+ finally {
642
+ this.partialSegmentQueue.clear();
643
+ }
630
644
  }
631
645
  return false;
632
646
  }
633
647
  //#endregion
634
648
  //#region --- UMP Part Handlers ---
649
+ /**
650
+ * Decodes a UMP part using the provided decoder.
651
+ * @param part
652
+ * @param decoder
653
+ * @private
654
+ */
655
+ decodePart(part, decoder) {
656
+ if (!part.data.chunks.length)
657
+ return undefined;
658
+ try {
659
+ return decoder.decode(concatenateChunks(part.data.chunks));
660
+ }
661
+ catch {
662
+ return undefined;
663
+ }
664
+ }
635
665
  /**
636
666
  * Handles `FORMAT_INITIALIZATION_METADATA` parts.
637
667
  * Creates and stores a new `InitializedFormat` entry.
638
668
  * @private
639
669
  */
640
670
  handleFormatInitializationMetadata(part) {
641
- const formatInitMetadata = FormatInitializationMetadata.decode(part.data.chunks[0]);
671
+ const formatInitMetadata = this.decodePart(part, FormatInitializationMetadata);
672
+ if (!formatInitMetadata)
673
+ return;
642
674
  const formatIdKey = FormatKeyUtils.fromFormatInitializationMetadata(formatInitMetadata);
643
675
  const initializedFormat = {
644
676
  formatInitializationMetadata: formatInitMetadata,
@@ -655,7 +687,7 @@ export class SabrStream extends EventEmitterLike {
655
687
  * @private
656
688
  */
657
689
  handleNextRequestPolicy(part) {
658
- this.nextRequestPolicy = NextRequestPolicy.decode(part.data.chunks[0]);
690
+ this.nextRequestPolicy = this.decodePart(part, NextRequestPolicy);
659
691
  }
660
692
  /**
661
693
  * Handles `SABR_ERROR` parts.
@@ -664,7 +696,9 @@ export class SabrStream extends EventEmitterLike {
664
696
  * @private
665
697
  */
666
698
  handleSabrError(part) {
667
- const sabrError = SabrError.decode(part.data.chunks[0]);
699
+ const sabrError = this.decodePart(part, SabrError);
700
+ if (!sabrError)
701
+ return;
668
702
  throw new Error(`SABR Error: ${sabrError.type} - ${sabrError.code}`);
669
703
  }
670
704
  /**
@@ -673,9 +707,13 @@ export class SabrStream extends EventEmitterLike {
673
707
  * @private
674
708
  */
675
709
  handleSabrRedirect(part) {
676
- const sabrRedirect = SabrRedirect.decode(part.data.chunks[0]);
677
- this.serverAbrStreamingUrl = sabrRedirect.url;
678
- this.logger.debug(TAG, `Redirecting to ${this.serverAbrStreamingUrl}`);
710
+ const sabrRedirect = this.decodePart(part, SabrRedirect);
711
+ if (!sabrRedirect)
712
+ return;
713
+ if (sabrRedirect.url) {
714
+ this.serverAbrStreamingUrl = sabrRedirect.url;
715
+ this.logger.debug(TAG, `Redirecting to ${this.serverAbrStreamingUrl}`);
716
+ }
679
717
  }
680
718
  /**
681
719
  * Handles `SABR_CONTEXT_UPDATE` parts.
@@ -683,7 +721,9 @@ export class SabrStream extends EventEmitterLike {
683
721
  * @private
684
722
  */
685
723
  handleSabrContextUpdate(part) {
686
- const sabrContextUpdate = SabrContextUpdate.decode(part.data.chunks[0]);
724
+ const sabrContextUpdate = this.decodePart(part, SabrContextUpdate);
725
+ if (!sabrContextUpdate)
726
+ return;
687
727
  if (sabrContextUpdate.type !== undefined && sabrContextUpdate.value?.length) {
688
728
  if (sabrContextUpdate.writePolicy === SabrContextWritePolicy.KEEP_EXISTING &&
689
729
  this.sabrContexts.has(sabrContextUpdate.type)) {
@@ -703,7 +743,9 @@ export class SabrStream extends EventEmitterLike {
703
743
  * @private
704
744
  */
705
745
  handleSabrContextSendingPolicy(part) {
706
- const sabrContextSendingPolicy = SabrContextSendingPolicy.decode(part.data.chunks[0]);
746
+ const sabrContextSendingPolicy = this.decodePart(part, SabrContextSendingPolicy);
747
+ if (!sabrContextSendingPolicy)
748
+ return;
707
749
  for (const startPolicy of sabrContextSendingPolicy.startPolicy) {
708
750
  if (!this.activeSabrContextTypes.has(startPolicy)) {
709
751
  this.activeSabrContextTypes.add(startPolicy);
@@ -730,7 +772,9 @@ export class SabrStream extends EventEmitterLike {
730
772
  * @private
731
773
  */
732
774
  handleStreamProtectionStatus(part) {
733
- this.streamProtectionStatus = StreamProtectionStatus.decode(part.data.chunks[0]);
775
+ this.streamProtectionStatus = this.decodePart(part, StreamProtectionStatus);
776
+ if (!this.streamProtectionStatus)
777
+ return;
734
778
  this.emit('streamProtectionStatusUpdate', this.streamProtectionStatus);
735
779
  if (this.streamProtectionStatus.status === 3) {
736
780
  throw new Error('Cannot proceed with stream: attestation required');
@@ -746,7 +790,9 @@ export class SabrStream extends EventEmitterLike {
746
790
  * @private
747
791
  */
748
792
  handleReloadPlayerResponse(part) {
749
- const reloadPlaybackContext = ReloadPlaybackContext.decode(part.data.chunks[0]);
793
+ const reloadPlaybackContext = this.decodePart(part, ReloadPlaybackContext);
794
+ if (!reloadPlaybackContext)
795
+ return;
750
796
  const errorMessage = 'Player response reload requested by server';
751
797
  this.logger.debug(TAG, `${errorMessage} (token: ${reloadPlaybackContext.reloadPlaybackParams?.token}`);
752
798
  this.emit('reloadPlayerResponse', reloadPlaybackContext);
@@ -758,11 +804,13 @@ export class SabrStream extends EventEmitterLike {
758
804
  * @private
759
805
  */
760
806
  handleMediaHeader(part) {
761
- const mediaHeader = MediaHeader.decode(part.data.chunks[0]);
807
+ const mediaHeader = this.decodePart(part, MediaHeader);
808
+ if (!mediaHeader)
809
+ return;
762
810
  const headerId = mediaHeader.headerId || 0;
763
811
  const formatIdKey = FormatKeyUtils.fromMediaHeader(mediaHeader);
764
812
  const segmentNumber = mediaHeader.isInitSeg ? 0 : mediaHeader.sequenceNumber;
765
- const durationMs = mediaHeader.timeRange ? Math.ceil(((mediaHeader.timeRange.durationTicks || 0) / (mediaHeader.timeRange.timescale || 0)) * 1000) : mediaHeader.durationMs || 0;
813
+ const durationMs = mediaHeader.durationMs || Math.ceil(((mediaHeader.timeRange?.durationTicks || 0) / (mediaHeader.timeRange?.timescale || 0)) * 1000);
766
814
  const initializedFormat = this.initializedFormatsMap.get(formatIdKey);
767
815
  if (!initializedFormat) {
768
816
  this.logger.warn(TAG, `No initialized format found for key: ${formatIdKey} (segment ${segmentNumber})`);
@@ -899,7 +947,7 @@ export class SabrStream extends EventEmitterLike {
899
947
  const uniqueSegmentCount = new Set(segments.map(([num]) => num)).size;
900
948
  const hasDuplicates = uniqueSegmentCount !== segments.length;
901
949
  if (missingSegments.length > 0) {
902
- const message = `Format ${formatIdKey}: Missing segments: ${missingSegments.join(', ')}. ` +
950
+ const message = `Format ${formatIdKey}: Missing segments: [${missingSegments.join(', ')}]. ` +
903
951
  `Expected range: 0-${expectedSegmentCount}. `;
904
952
  this.logger.warn(TAG, message);
905
953
  this.errorHandler(new Error(message), true);