@svta/cml-error-codes 0.1.0

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/dist/index.js ADDED
@@ -0,0 +1,1285 @@
1
+ //#region src/SvtaErrorCategory.ts
2
+ /**
3
+ * SVTA error category 0: Unknown error
4
+ *
5
+ * @public
6
+ */
7
+ const SVTA_ERROR_CATEGORY_UNKNOWN = 0;
8
+ /**
9
+ * SVTA error category 1: Issues with the content itself, such as an unsupported format
10
+ *
11
+ * @public
12
+ */
13
+ const SVTA_ERROR_CATEGORY_MEDIA_CONTENT = 1;
14
+ /**
15
+ * SVTA error category 2: Player unable to sustain the experience
16
+ *
17
+ * @public
18
+ */
19
+ const SVTA_ERROR_CATEGORY_PLAYBACK = 2;
20
+ /**
21
+ * SVTA error category 3: Issues on the network, including unavailable resources
22
+ *
23
+ * @public
24
+ */
25
+ const SVTA_ERROR_CATEGORY_NETWORK = 3;
26
+ /**
27
+ * SVTA error category 4: Security related error, including authentication or entitlement issues
28
+ *
29
+ * @public
30
+ */
31
+ const SVTA_ERROR_CATEGORY_CONTENT_PROTECTION = 4;
32
+ /**
33
+ * SVTA error category 5: Defective captions or audio description
34
+ *
35
+ * @public
36
+ */
37
+ const SVTA_ERROR_CATEGORY_ACCESSIBILITY = 5;
38
+ /**
39
+ * SVTA error category 6: Framework supporting the play out of the stream on a second device
40
+ *
41
+ * @public
42
+ */
43
+ const SVTA_ERROR_CATEGORY_REMOTE_PLAY = 6;
44
+ /**
45
+ * SVTA error category 7: Issues triggered by ad insertion
46
+ *
47
+ * @public
48
+ */
49
+ const SVTA_ERROR_CATEGORY_ADVERTISING = 7;
50
+ /**
51
+ * SVTA error category 99: Reserved category for Publisher-defined errors
52
+ *
53
+ * @public
54
+ */
55
+ const SVTA_ERROR_CATEGORY_CUSTOM = 99;
56
+ /**
57
+ * SVTA standardized error code categories. The category of an error code
58
+ * occupies its thousands digits: `Math.floor(code / 1000)` yields the
59
+ * category of any SVTA error code.
60
+ *
61
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
62
+ *
63
+ * @enum
64
+ *
65
+ * @public
66
+ */
67
+ const SvtaErrorCategory = {
68
+ UNKNOWN: SVTA_ERROR_CATEGORY_UNKNOWN,
69
+ MEDIA_CONTENT: SVTA_ERROR_CATEGORY_MEDIA_CONTENT,
70
+ PLAYBACK: SVTA_ERROR_CATEGORY_PLAYBACK,
71
+ NETWORK: SVTA_ERROR_CATEGORY_NETWORK,
72
+ CONTENT_PROTECTION: SVTA_ERROR_CATEGORY_CONTENT_PROTECTION,
73
+ ACCESSIBILITY: SVTA_ERROR_CATEGORY_ACCESSIBILITY,
74
+ REMOTE_PLAY: SVTA_ERROR_CATEGORY_REMOTE_PLAY,
75
+ ADVERTISING: SVTA_ERROR_CATEGORY_ADVERTISING,
76
+ CUSTOM: SVTA_ERROR_CATEGORY_CUSTOM
77
+ };
78
+
79
+ //#endregion
80
+ //#region src/getSvtaErrorCategory.ts
81
+ /**
82
+ * Get the `SvtaErrorCategory` of an SVTA error code, per the spec's
83
+ * `code / 1000` rule.
84
+ *
85
+ * @param code - An SVTA error code.
86
+ * @returns The error category. Returns `undefined` if the code is not a
87
+ * non-negative integer, or if the spec does not assign its category.
88
+ * Categories 8-98 and above 99 are reserved for future use.
89
+ *
90
+ * @public
91
+ *
92
+ * @example
93
+ * {@includeCode ../test/getSvtaErrorCategory.test.ts#example}
94
+ */
95
+ function getSvtaErrorCategory(code) {
96
+ if (!Number.isInteger(code)) return;
97
+ const category = Math.floor(code / 1e3);
98
+ if (category >= SvtaErrorCategory.UNKNOWN && category <= SvtaErrorCategory.ADVERTISING || category === SvtaErrorCategory.CUSTOM) return category;
99
+ }
100
+
101
+ //#endregion
102
+ //#region src/getSvtaErrorIndex.ts
103
+ /**
104
+ * Get the error index of an SVTA error code, per the spec's
105
+ * `code mod 1000` rule. The index identifies the specific error within
106
+ * its category: native indices are 0-99, embedded external codes (HTTP,
107
+ * VAST) are 100-999.
108
+ *
109
+ * @param code - An SVTA error code.
110
+ * @returns The error index within the code's category, or `undefined`
111
+ * if the code is not a non-negative integer.
112
+ *
113
+ * @public
114
+ *
115
+ * @example
116
+ * {@includeCode ../test/getSvtaErrorIndex.test.ts#example}
117
+ */
118
+ function getSvtaErrorIndex(code) {
119
+ if (!Number.isInteger(code) || code < 0) return;
120
+ return code % 1e3;
121
+ }
122
+
123
+ //#endregion
124
+ //#region src/httpStatusToSvtaErrorCode.ts
125
+ /**
126
+ * Embed an HTTP response status code into the SVTA Network error
127
+ * category, per the external code embedding rule of SVTA2070. HTTP 404
128
+ * becomes 3404.
129
+ *
130
+ * Values outside the valid HTTP status range (integers 100-599) return
131
+ * the unknown network error code (3000) rather than throwing, so error
132
+ * reporting paths cannot fail.
133
+ *
134
+ * @param status - An HTTP response status code (100-599).
135
+ * @returns The SVTA network error code embedding the status.
136
+ *
137
+ * @public
138
+ *
139
+ * @example
140
+ * {@includeCode ../test/httpStatusToSvtaErrorCode.test.ts#example}
141
+ */
142
+ function httpStatusToSvtaErrorCode(status) {
143
+ const base = SvtaErrorCategory.NETWORK * 1e3;
144
+ if (!Number.isInteger(status) || status < 100 || status > 599) return base;
145
+ return base + status;
146
+ }
147
+
148
+ //#endregion
149
+ //#region src/SvtaAccessibilityErrorCode.ts
150
+ /**
151
+ * SVTA 5 [Accessibility] 000: Unknown accessibility error
152
+ *
153
+ * @public
154
+ */
155
+ const SVTA_ACCESSIBILITY_UNKNOWN = 5e3;
156
+ /**
157
+ * SVTA 5 [Accessibility] 001: Unable to parse timed text
158
+ *
159
+ * @public
160
+ */
161
+ const SVTA_TIMED_TEXT_PARSE_ERROR = 5001;
162
+ /**
163
+ * SVTA 5 [Accessibility] 002: Unable to render timed text
164
+ *
165
+ * @public
166
+ */
167
+ const SVTA_TIMED_TEXT_RENDER_ERROR = 5002;
168
+ /**
169
+ * SVTA 5 [Accessibility] 003: Timed text exceeds content duration
170
+ *
171
+ * @public
172
+ */
173
+ const SVTA_TIMED_TEXT_EXCEEDS_CONTENT_DURATION = 5003;
174
+ /**
175
+ * SVTA 5 [Accessibility] 004: Audio description exceeds content duration
176
+ *
177
+ * @public
178
+ */
179
+ const SVTA_AUDIO_DESCRIPTION_EXCEEDS_CONTENT_DURATION = 5004;
180
+ /**
181
+ * SVTA standardized error codes in the Accessibility category (5xxx):
182
+ * defective captions or audio description.
183
+ *
184
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
185
+ *
186
+ * @enum
187
+ *
188
+ * @public
189
+ */
190
+ const SvtaAccessibilityErrorCode = {
191
+ UNKNOWN: SVTA_ACCESSIBILITY_UNKNOWN,
192
+ TIMED_TEXT_PARSE_ERROR: SVTA_TIMED_TEXT_PARSE_ERROR,
193
+ TIMED_TEXT_RENDER_ERROR: SVTA_TIMED_TEXT_RENDER_ERROR,
194
+ TIMED_TEXT_EXCEEDS_CONTENT_DURATION: SVTA_TIMED_TEXT_EXCEEDS_CONTENT_DURATION,
195
+ AUDIO_DESCRIPTION_EXCEEDS_CONTENT_DURATION: SVTA_AUDIO_DESCRIPTION_EXCEEDS_CONTENT_DURATION
196
+ };
197
+
198
+ //#endregion
199
+ //#region src/SvtaAdvertisingErrorCode.ts
200
+ /**
201
+ * SVTA 7 [Advertising] 000: Unknown advertising error
202
+ *
203
+ * @public
204
+ */
205
+ const SVTA_ADVERTISING_UNKNOWN = 7e3;
206
+ /**
207
+ * SVTA 7 [Advertising] 001: Ad blocker detected
208
+ *
209
+ * @public
210
+ */
211
+ const SVTA_AD_BLOCKER_DETECTED = 7001;
212
+ /**
213
+ * SVTA 7 [Advertising] 100: Unable to parse VAST XML
214
+ *
215
+ * @public
216
+ */
217
+ const SVTA_VAST_PARSE_ERROR = 7100;
218
+ /**
219
+ * SVTA 7 [Advertising] 101: Invalid VAST schema
220
+ *
221
+ * @public
222
+ */
223
+ const SVTA_VAST_SCHEMA_VALIDATION_ERROR = 7101;
224
+ /**
225
+ * SVTA 7 [Advertising] 102: VAST response version not supported
226
+ *
227
+ * @public
228
+ */
229
+ const SVTA_VAST_VERSION_UNSUPPORTED = 7102;
230
+ /**
231
+ * SVTA 7 [Advertising] 200: Video player expected different ad type
232
+ *
233
+ * @public
234
+ */
235
+ const SVTA_AD_TYPE_MISMATCH = 7200;
236
+ /**
237
+ * SVTA 7 [Advertising] 201: Creative has different linearity than player expected (non-fatal)
238
+ *
239
+ * @public
240
+ */
241
+ const SVTA_LINEARITY_MISMATCH = 7201;
242
+ /**
243
+ * SVTA 7 [Advertising] 202: Creative has different duration than player expected (non-fatal)
244
+ *
245
+ * @public
246
+ */
247
+ const SVTA_DURATION_MISMATCH = 7202;
248
+ /**
249
+ * SVTA 7 [Advertising] 203: Creative has different size than player expected (non-fatal)
250
+ *
251
+ * @public
252
+ */
253
+ const SVTA_SIZE_MISMATCH = 7203;
254
+ /**
255
+ * SVTA 7 [Advertising] 300: Wrapper failed to deliver VAST response for unknown reason
256
+ *
257
+ * @public
258
+ */
259
+ const SVTA_WRAPPER_ERROR = 7300;
260
+ /**
261
+ * SVTA 7 [Advertising] 301: VAST response redirect timed out
262
+ *
263
+ * @public
264
+ */
265
+ const SVTA_WRAPPER_TIMEOUT = 7301;
266
+ /**
267
+ * SVTA 7 [Advertising] 302: Wrapper limit reached (e.g. too many redirects)
268
+ *
269
+ * @public
270
+ */
271
+ const SVTA_WRAPPER_LIMIT_REACHED = 7302;
272
+ /**
273
+ * SVTA 7 [Advertising] 303: VAST response was empty
274
+ *
275
+ * @public
276
+ */
277
+ const SVTA_EMPTY_WRAPPER_RESPONSE = 7303;
278
+ /**
279
+ * SVTA 7 [Advertising] 400: Unable to display linear ad
280
+ *
281
+ * @public
282
+ */
283
+ const SVTA_LINEAR_AD_ERROR = 7400;
284
+ /**
285
+ * SVTA 7 [Advertising] 401: Media file not found
286
+ *
287
+ * @public
288
+ */
289
+ const SVTA_MEDIA_FILE_NOT_FOUND = 7401;
290
+ /**
291
+ * SVTA 7 [Advertising] 402: Media file unavailable
292
+ *
293
+ * @public
294
+ */
295
+ const SVTA_MEDIA_FILE_UNAVAILABLE = 7402;
296
+ /**
297
+ * SVTA 7 [Advertising] 403: VAST response contained no supported MIME types
298
+ *
299
+ * @public
300
+ */
301
+ const SVTA_NO_SUPPORTED_MEDIA_TYPE = 7403;
302
+ /**
303
+ * SVTA 7 [Advertising] 405: Unable to display media file
304
+ *
305
+ * @public
306
+ */
307
+ const SVTA_MEDIA_FILE_DISPLAY_ERROR = 7405;
308
+ /**
309
+ * SVTA 7 [Advertising] 406: Required mezzanine file missing
310
+ *
311
+ * @public
312
+ */
313
+ const SVTA_MEZZANINE_MISSING = 7406;
314
+ /**
315
+ * SVTA 7 [Advertising] 407: Mezzanine file was downloaded for the first time
316
+ *
317
+ * @public
318
+ */
319
+ const SVTA_MEZZANINE_DOWNLOADING = 7407;
320
+ /**
321
+ * SVTA 7 [Advertising] 408: VAST response contained rejected ad
322
+ *
323
+ * @public
324
+ */
325
+ const SVTA_REJECTED_AD = 7408;
326
+ /**
327
+ * SVTA 7 [Advertising] 409: Could not execute creative defined in interactiveCreativeFile
328
+ *
329
+ * @public
330
+ */
331
+ const SVTA_INTERACTIVE_CREATIVE_ERROR = 7409;
332
+ /**
333
+ * SVTA 7 [Advertising] 410: Could not execute code in verification node
334
+ *
335
+ * @public
336
+ */
337
+ const SVTA_VERIFICATION_ERROR = 7410;
338
+ /**
339
+ * SVTA 7 [Advertising] 500: Video player unable to display non-linear ad for unknown reason
340
+ *
341
+ * @public
342
+ */
343
+ const SVTA_NONLINEAR_AD_ERROR = 7500;
344
+ /**
345
+ * SVTA 7 [Advertising] 501: Non-linear ad dimensions did not match display area
346
+ *
347
+ * @public
348
+ */
349
+ const SVTA_NONLINEAR_DIMENSION_MISMATCH = 7501;
350
+ /**
351
+ * SVTA 7 [Advertising] 502: Unable to fetch non-linear ad resource
352
+ *
353
+ * @public
354
+ */
355
+ const SVTA_NONLINEAR_AD_FETCH_ERROR = 7502;
356
+ /**
357
+ * SVTA 7 [Advertising] 503: Non-linear ad did not contain a supported type
358
+ *
359
+ * @public
360
+ */
361
+ const SVTA_UNSUPPORTED_NONLINEAR_AD = 7503;
362
+ /**
363
+ * SVTA 7 [Advertising] 600: Could not display companion ad (non-fatal)
364
+ *
365
+ * @public
366
+ */
367
+ const SVTA_COMPANION_AD_ERROR = 7600;
368
+ /**
369
+ * SVTA 7 [Advertising] 601: Companion ad dimensions did not match display area
370
+ *
371
+ * @public
372
+ */
373
+ const SVTA_COMPANION_DIMENSION_MISMATCH = 7601;
374
+ /**
375
+ * SVTA 7 [Advertising] 602: Unable to display required companion ad
376
+ *
377
+ * @public
378
+ */
379
+ const SVTA_REQUIRED_COMPANION_AD_ERROR = 7602;
380
+ /**
381
+ * SVTA 7 [Advertising] 603: Unable to fetch companion ad resource
382
+ *
383
+ * @public
384
+ */
385
+ const SVTA_COMPANION_AD_FETCH_ERROR = 7603;
386
+ /**
387
+ * SVTA 7 [Advertising] 900: Undefined VAST error
388
+ *
389
+ * @public
390
+ */
391
+ const SVTA_UNDEFINED_VAST_ERROR = 7900;
392
+ /**
393
+ * SVTA 7 [Advertising] 901: Unknown VPAID error
394
+ *
395
+ * @public
396
+ */
397
+ const SVTA_VPAID_ERROR = 7901;
398
+ /**
399
+ * SVTA 7 [Advertising] 999: VAST response document was empty
400
+ *
401
+ * SVTA2070 maps the four-digit IAB VAST error 1009 to this code.
402
+ *
403
+ * @public
404
+ */
405
+ const SVTA_EMPTY_VAST_RESPONSE = 7999;
406
+ /**
407
+ * SVTA standardized error codes in the Advertising category (7xxx):
408
+ * issues triggered by ad insertion.
409
+ *
410
+ * IAB VAST error codes embed into this category at indices 100 through
411
+ * 999. `7301` is VAST error 301. See `vastErrorToSvtaErrorCode`.
412
+ * VAST defines no error 404, so there is no `7404`. The four-digit VAST
413
+ * error 1009 (empty VAST response) maps to `7999`.
414
+ *
415
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
416
+ * @see {@link https://www.iab.com/wp-content/uploads/2016/01/VAST_4-0_2016-01-21.pdf | IAB VAST 4.0 §2.3.6.3 Error Codes}
417
+ *
418
+ * @enum
419
+ *
420
+ * @public
421
+ */
422
+ const SvtaAdvertisingErrorCode = {
423
+ UNKNOWN: SVTA_ADVERTISING_UNKNOWN,
424
+ AD_BLOCKER_DETECTED: SVTA_AD_BLOCKER_DETECTED,
425
+ VAST_PARSE_ERROR: SVTA_VAST_PARSE_ERROR,
426
+ VAST_SCHEMA_VALIDATION_ERROR: SVTA_VAST_SCHEMA_VALIDATION_ERROR,
427
+ VAST_VERSION_UNSUPPORTED: SVTA_VAST_VERSION_UNSUPPORTED,
428
+ AD_TYPE_MISMATCH: SVTA_AD_TYPE_MISMATCH,
429
+ LINEARITY_MISMATCH: SVTA_LINEARITY_MISMATCH,
430
+ DURATION_MISMATCH: SVTA_DURATION_MISMATCH,
431
+ SIZE_MISMATCH: SVTA_SIZE_MISMATCH,
432
+ WRAPPER_ERROR: SVTA_WRAPPER_ERROR,
433
+ WRAPPER_TIMEOUT: SVTA_WRAPPER_TIMEOUT,
434
+ WRAPPER_LIMIT_REACHED: SVTA_WRAPPER_LIMIT_REACHED,
435
+ EMPTY_WRAPPER_RESPONSE: SVTA_EMPTY_WRAPPER_RESPONSE,
436
+ LINEAR_AD_ERROR: SVTA_LINEAR_AD_ERROR,
437
+ MEDIA_FILE_NOT_FOUND: SVTA_MEDIA_FILE_NOT_FOUND,
438
+ MEDIA_FILE_UNAVAILABLE: SVTA_MEDIA_FILE_UNAVAILABLE,
439
+ NO_SUPPORTED_MEDIA_TYPE: SVTA_NO_SUPPORTED_MEDIA_TYPE,
440
+ MEDIA_FILE_DISPLAY_ERROR: SVTA_MEDIA_FILE_DISPLAY_ERROR,
441
+ MEZZANINE_MISSING: SVTA_MEZZANINE_MISSING,
442
+ MEZZANINE_DOWNLOADING: SVTA_MEZZANINE_DOWNLOADING,
443
+ REJECTED_AD: SVTA_REJECTED_AD,
444
+ INTERACTIVE_CREATIVE_ERROR: SVTA_INTERACTIVE_CREATIVE_ERROR,
445
+ VERIFICATION_ERROR: SVTA_VERIFICATION_ERROR,
446
+ NONLINEAR_AD_ERROR: SVTA_NONLINEAR_AD_ERROR,
447
+ NONLINEAR_DIMENSION_MISMATCH: SVTA_NONLINEAR_DIMENSION_MISMATCH,
448
+ NONLINEAR_AD_FETCH_ERROR: SVTA_NONLINEAR_AD_FETCH_ERROR,
449
+ UNSUPPORTED_NONLINEAR_AD: SVTA_UNSUPPORTED_NONLINEAR_AD,
450
+ COMPANION_AD_ERROR: SVTA_COMPANION_AD_ERROR,
451
+ COMPANION_DIMENSION_MISMATCH: SVTA_COMPANION_DIMENSION_MISMATCH,
452
+ REQUIRED_COMPANION_AD_ERROR: SVTA_REQUIRED_COMPANION_AD_ERROR,
453
+ COMPANION_AD_FETCH_ERROR: SVTA_COMPANION_AD_FETCH_ERROR,
454
+ UNDEFINED_VAST_ERROR: SVTA_UNDEFINED_VAST_ERROR,
455
+ VPAID_ERROR: SVTA_VPAID_ERROR,
456
+ EMPTY_VAST_RESPONSE: SVTA_EMPTY_VAST_RESPONSE
457
+ };
458
+
459
+ //#endregion
460
+ //#region src/SvtaContentProtectionErrorCode.ts
461
+ /**
462
+ * SVTA 4 [Content Protection] 000: Unknown content protection error
463
+ *
464
+ * @public
465
+ */
466
+ const SVTA_CONTENT_PROTECTION_UNKNOWN = 4e3;
467
+ /**
468
+ * SVTA 4 [Content Protection] 001: Concurrent stream limit exceeded
469
+ *
470
+ * @public
471
+ */
472
+ const SVTA_CONCURRENT_STREAM_LIMIT_EXCEEDED = 4001;
473
+ /**
474
+ * SVTA 4 [Content Protection] 002: Entitlement refused
475
+ *
476
+ * @public
477
+ */
478
+ const SVTA_ENTITLEMENT_REFUSED = 4002;
479
+ /**
480
+ * SVTA 4 [Content Protection] 003: License expired
481
+ *
482
+ * @public
483
+ */
484
+ const SVTA_LICENSE_EXPIRED = 4003;
485
+ /**
486
+ * SVTA 4 [Content Protection] 004: Bad license request
487
+ *
488
+ * @public
489
+ */
490
+ const SVTA_BAD_LICENSE_REQUEST = 4004;
491
+ /**
492
+ * SVTA 4 [Content Protection] 005: License server timeout
493
+ *
494
+ * @public
495
+ */
496
+ const SVTA_LICENSE_SERVER_TIMEOUT = 4005;
497
+ /**
498
+ * SVTA 4 [Content Protection] 006: Insufficient DRM robustness level
499
+ *
500
+ * @public
501
+ */
502
+ const SVTA_INSUFFICIENT_DRM_ROBUSTNESS = 4006;
503
+ /**
504
+ * SVTA 4 [Content Protection] 007: Insufficient output protection
505
+ *
506
+ * @public
507
+ */
508
+ const SVTA_INSUFFICIENT_OUTPUT_PROTECTION = 4007;
509
+ /**
510
+ * SVTA 4 [Content Protection] 008: Unsupported or unavailable DRM system
511
+ *
512
+ * @public
513
+ */
514
+ const SVTA_UNSUPPORTED_DRM_SYSTEM = 4008;
515
+ /**
516
+ * SVTA 4 [Content Protection] 009: Access restricted due to unsupported geo
517
+ *
518
+ * @public
519
+ */
520
+ const SVTA_GEO_RESTRICTED = 4009;
521
+ /**
522
+ * SVTA 4 [Content Protection] 010: DRM initialization error
523
+ *
524
+ * @public
525
+ */
526
+ const SVTA_DRM_INITIALIZATION_ERROR = 4010;
527
+ /**
528
+ * SVTA 4 [Content Protection] 011: CDN unauthorized
529
+ *
530
+ * @public
531
+ */
532
+ const SVTA_CDN_UNAUTHORIZED = 4011;
533
+ /**
534
+ * SVTA 4 [Content Protection] 012: Invalid access token
535
+ *
536
+ * @public
537
+ */
538
+ const SVTA_INVALID_ACCESS_TOKEN = 4012;
539
+ /**
540
+ * SVTA 4 [Content Protection] 013: DRM certificate error
541
+ *
542
+ * @public
543
+ */
544
+ const SVTA_DRM_CERTIFICATE_ERROR = 4013;
545
+ /**
546
+ * SVTA 4 [Content Protection] 014: DRM session error
547
+ *
548
+ * @public
549
+ */
550
+ const SVTA_DRM_SESSION_ERROR = 4014;
551
+ /**
552
+ * SVTA 4 [Content Protection] 015: DRM initialization data or configuration missing
553
+ *
554
+ * @public
555
+ */
556
+ const SVTA_DRM_CONFIGURATION_MISSING = 4015;
557
+ /**
558
+ * SVTA 4 [Content Protection] 016: DRM license response rejected
559
+ *
560
+ * @public
561
+ */
562
+ const SVTA_LICENSE_RESPONSE_REJECTED = 4016;
563
+ /**
564
+ * SVTA 4 [Content Protection] 017: Persistent session DRM error
565
+ *
566
+ * @public
567
+ */
568
+ const SVTA_PERSISTENT_SESSION_ERROR = 4017;
569
+ /**
570
+ * SVTA 4 [Content Protection] 018: Required permission rejected
571
+ *
572
+ * @public
573
+ */
574
+ const SVTA_PERMISSION_REJECTED = 4018;
575
+ /**
576
+ * SVTA 4 [Content Protection] 019: Failed to load decryption key
577
+ *
578
+ * @public
579
+ */
580
+ const SVTA_KEY_LOAD_ERROR = 4019;
581
+ /**
582
+ * SVTA 4 [Content Protection] 020: Failed to decrypt segment
583
+ *
584
+ * @public
585
+ */
586
+ const SVTA_SEGMENT_DECRYPTION_ERROR = 4020;
587
+ /**
588
+ * SVTA 4 [Content Protection] 021: Failed to generate DRM license request
589
+ *
590
+ * @public
591
+ */
592
+ const SVTA_LICENSE_REQUEST_GENERATION_ERROR = 4021;
593
+ /**
594
+ * SVTA standardized error codes in the Content Protection category
595
+ * (4xxx): security related errors, including authentication and
596
+ * entitlement issues.
597
+ *
598
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
599
+ *
600
+ * @enum
601
+ *
602
+ * @public
603
+ */
604
+ const SvtaContentProtectionErrorCode = {
605
+ UNKNOWN: SVTA_CONTENT_PROTECTION_UNKNOWN,
606
+ CONCURRENT_STREAM_LIMIT_EXCEEDED: SVTA_CONCURRENT_STREAM_LIMIT_EXCEEDED,
607
+ ENTITLEMENT_REFUSED: SVTA_ENTITLEMENT_REFUSED,
608
+ LICENSE_EXPIRED: SVTA_LICENSE_EXPIRED,
609
+ BAD_LICENSE_REQUEST: SVTA_BAD_LICENSE_REQUEST,
610
+ LICENSE_SERVER_TIMEOUT: SVTA_LICENSE_SERVER_TIMEOUT,
611
+ INSUFFICIENT_DRM_ROBUSTNESS: SVTA_INSUFFICIENT_DRM_ROBUSTNESS,
612
+ INSUFFICIENT_OUTPUT_PROTECTION: SVTA_INSUFFICIENT_OUTPUT_PROTECTION,
613
+ UNSUPPORTED_DRM_SYSTEM: SVTA_UNSUPPORTED_DRM_SYSTEM,
614
+ GEO_RESTRICTED: SVTA_GEO_RESTRICTED,
615
+ DRM_INITIALIZATION_ERROR: SVTA_DRM_INITIALIZATION_ERROR,
616
+ CDN_UNAUTHORIZED: SVTA_CDN_UNAUTHORIZED,
617
+ INVALID_ACCESS_TOKEN: SVTA_INVALID_ACCESS_TOKEN,
618
+ DRM_CERTIFICATE_ERROR: SVTA_DRM_CERTIFICATE_ERROR,
619
+ DRM_SESSION_ERROR: SVTA_DRM_SESSION_ERROR,
620
+ DRM_CONFIGURATION_MISSING: SVTA_DRM_CONFIGURATION_MISSING,
621
+ LICENSE_RESPONSE_REJECTED: SVTA_LICENSE_RESPONSE_REJECTED,
622
+ PERSISTENT_SESSION_ERROR: SVTA_PERSISTENT_SESSION_ERROR,
623
+ PERMISSION_REJECTED: SVTA_PERMISSION_REJECTED,
624
+ KEY_LOAD_ERROR: SVTA_KEY_LOAD_ERROR,
625
+ SEGMENT_DECRYPTION_ERROR: SVTA_SEGMENT_DECRYPTION_ERROR,
626
+ LICENSE_REQUEST_GENERATION_ERROR: SVTA_LICENSE_REQUEST_GENERATION_ERROR
627
+ };
628
+
629
+ //#endregion
630
+ //#region src/SvtaCustomErrorCode.ts
631
+ /**
632
+ * SVTA 99 [Custom] 000: Unknown custom error
633
+ *
634
+ * @public
635
+ */
636
+ const SVTA_CUSTOM_UNKNOWN = 99e3;
637
+ /**
638
+ * SVTA standardized error code in the Custom category (99xxx): the
639
+ * category reserved for Publisher-defined errors. Codes 99001 through
640
+ * 99999 are available for bespoke Publisher use.
641
+ *
642
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
643
+ *
644
+ * @enum
645
+ *
646
+ * @public
647
+ */
648
+ const SvtaCustomErrorCode = { UNKNOWN: SVTA_CUSTOM_UNKNOWN };
649
+
650
+ //#endregion
651
+ //#region src/SvtaMediaContentErrorCode.ts
652
+ /**
653
+ * SVTA 1 [Media Content] 000: Unknown media content error
654
+ *
655
+ * @public
656
+ */
657
+ const SVTA_MEDIA_CONTENT_UNKNOWN = 1e3;
658
+ /**
659
+ * SVTA 1 [Media Content] 001: Media unavailable
660
+ *
661
+ * @public
662
+ */
663
+ const SVTA_MEDIA_UNAVAILABLE = 1001;
664
+ /**
665
+ * SVTA 1 [Media Content] 002: Invalid manifest
666
+ *
667
+ * @public
668
+ */
669
+ const SVTA_INVALID_MANIFEST = 1002;
670
+ /**
671
+ * SVTA 1 [Media Content] 003: Track not available
672
+ *
673
+ * @public
674
+ */
675
+ const SVTA_TRACK_NOT_AVAILABLE = 1003;
676
+ /**
677
+ * SVTA 1 [Media Content] 004: Unsupported video format
678
+ *
679
+ * @public
680
+ */
681
+ const SVTA_UNSUPPORTED_VIDEO_FORMAT = 1004;
682
+ /**
683
+ * SVTA 1 [Media Content] 005: Unsupported audio format
684
+ *
685
+ * @public
686
+ */
687
+ const SVTA_UNSUPPORTED_AUDIO_FORMAT = 1005;
688
+ /**
689
+ * SVTA 1 [Media Content] 006: Unsupported text format
690
+ *
691
+ * @public
692
+ */
693
+ const SVTA_UNSUPPORTED_TEXT_FORMAT = 1006;
694
+ /**
695
+ * SVTA 1 [Media Content] 007: Invalid composition track segment time
696
+ *
697
+ * @public
698
+ */
699
+ const SVTA_INVALID_COMPOSITION_TRACK_SEGMENT_TIME = 1007;
700
+ /**
701
+ * SVTA 1 [Media Content] 008: Segment exceeds specified bitrate for track
702
+ *
703
+ * @public
704
+ */
705
+ const SVTA_SEGMENT_EXCEEDS_TRACK_BITRATE = 1008;
706
+ /**
707
+ * SVTA 1 [Media Content] 009: Misaligned track duration
708
+ *
709
+ * @public
710
+ */
711
+ const SVTA_MISALIGNED_TRACK_DURATION = 1009;
712
+ /**
713
+ * SVTA standardized error codes in the Media Content category (1xxx):
714
+ * issues with the content itself.
715
+ *
716
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
717
+ *
718
+ * @enum
719
+ *
720
+ * @public
721
+ */
722
+ const SvtaMediaContentErrorCode = {
723
+ UNKNOWN: SVTA_MEDIA_CONTENT_UNKNOWN,
724
+ MEDIA_UNAVAILABLE: SVTA_MEDIA_UNAVAILABLE,
725
+ INVALID_MANIFEST: SVTA_INVALID_MANIFEST,
726
+ TRACK_NOT_AVAILABLE: SVTA_TRACK_NOT_AVAILABLE,
727
+ UNSUPPORTED_VIDEO_FORMAT: SVTA_UNSUPPORTED_VIDEO_FORMAT,
728
+ UNSUPPORTED_AUDIO_FORMAT: SVTA_UNSUPPORTED_AUDIO_FORMAT,
729
+ UNSUPPORTED_TEXT_FORMAT: SVTA_UNSUPPORTED_TEXT_FORMAT,
730
+ INVALID_COMPOSITION_TRACK_SEGMENT_TIME: SVTA_INVALID_COMPOSITION_TRACK_SEGMENT_TIME,
731
+ SEGMENT_EXCEEDS_TRACK_BITRATE: SVTA_SEGMENT_EXCEEDS_TRACK_BITRATE,
732
+ MISALIGNED_TRACK_DURATION: SVTA_MISALIGNED_TRACK_DURATION
733
+ };
734
+
735
+ //#endregion
736
+ //#region src/SvtaNetworkErrorCode.ts
737
+ /**
738
+ * SVTA 3 [Network] 000: Unknown network error
739
+ *
740
+ * @public
741
+ */
742
+ const SVTA_NETWORK_UNKNOWN = 3e3;
743
+ /**
744
+ * SVTA 3 [Network] 001: No network connection
745
+ *
746
+ * @public
747
+ */
748
+ const SVTA_NO_NETWORK_CONNECTION = 3001;
749
+ /**
750
+ * SVTA 3 [Network] 002: HTTP timeout
751
+ *
752
+ * @public
753
+ */
754
+ const SVTA_HTTP_TIMEOUT = 3002;
755
+ /**
756
+ * SVTA 3 [Network] 003: Unable to resolve host
757
+ *
758
+ * @public
759
+ */
760
+ const SVTA_HOST_RESOLUTION_ERROR = 3003;
761
+ /**
762
+ * SVTA 3 [Network] 004: Resource not found
763
+ *
764
+ * @public
765
+ */
766
+ const SVTA_RESOURCE_NOT_FOUND = 3004;
767
+ /**
768
+ * SVTA 3 [Network] 005: Invalid URI
769
+ *
770
+ * @public
771
+ */
772
+ const SVTA_INVALID_URI = 3005;
773
+ /**
774
+ * SVTA 3 [Network] 006: Unsupported URI scheme
775
+ *
776
+ * @public
777
+ */
778
+ const SVTA_UNSUPPORTED_URI_SCHEME = 3006;
779
+ /**
780
+ * SVTA 3 [Network] 007: Download error
781
+ *
782
+ * @public
783
+ */
784
+ const SVTA_DOWNLOAD_ERROR = 3007;
785
+ /**
786
+ * SVTA 3 [Network] 008: Max retries have been exceeded
787
+ *
788
+ * @public
789
+ */
790
+ const SVTA_MAX_RETRIES_EXCEEDED = 3008;
791
+ /**
792
+ * SVTA 3 [Network] 009: Insufficient bandwidth to support playback of current presentation
793
+ *
794
+ * @public
795
+ */
796
+ const SVTA_INSUFFICIENT_BANDWIDTH = 3009;
797
+ /**
798
+ * SVTA 3 [Network] 010: Resource denied
799
+ *
800
+ * @public
801
+ */
802
+ const SVTA_RESOURCE_DENIED = 3010;
803
+ /**
804
+ * SVTA 3 [Network] 011: Invalid HTTP content type value
805
+ *
806
+ * @public
807
+ */
808
+ const SVTA_INVALID_HTTP_CONTENT_TYPE = 3011;
809
+ /**
810
+ * SVTA standardized error codes in the Network category (3xxx): issues
811
+ * on the network, including unavailable resources.
812
+ *
813
+ * HTTP response status codes embed into this category at indices 100
814
+ * through 599. `3404` is an HTTP 404 response. See
815
+ * `httpStatusToSvtaErrorCode`.
816
+ *
817
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
818
+ *
819
+ * @enum
820
+ *
821
+ * @public
822
+ */
823
+ const SvtaNetworkErrorCode = {
824
+ UNKNOWN: SVTA_NETWORK_UNKNOWN,
825
+ NO_NETWORK_CONNECTION: SVTA_NO_NETWORK_CONNECTION,
826
+ HTTP_TIMEOUT: SVTA_HTTP_TIMEOUT,
827
+ HOST_RESOLUTION_ERROR: SVTA_HOST_RESOLUTION_ERROR,
828
+ RESOURCE_NOT_FOUND: SVTA_RESOURCE_NOT_FOUND,
829
+ INVALID_URI: SVTA_INVALID_URI,
830
+ UNSUPPORTED_URI_SCHEME: SVTA_UNSUPPORTED_URI_SCHEME,
831
+ DOWNLOAD_ERROR: SVTA_DOWNLOAD_ERROR,
832
+ MAX_RETRIES_EXCEEDED: SVTA_MAX_RETRIES_EXCEEDED,
833
+ INSUFFICIENT_BANDWIDTH: SVTA_INSUFFICIENT_BANDWIDTH,
834
+ RESOURCE_DENIED: SVTA_RESOURCE_DENIED,
835
+ INVALID_HTTP_CONTENT_TYPE: SVTA_INVALID_HTTP_CONTENT_TYPE
836
+ };
837
+
838
+ //#endregion
839
+ //#region src/SvtaPlaybackErrorCode.ts
840
+ /**
841
+ * SVTA 2 [Playback] 000: Unknown playback error
842
+ *
843
+ * @public
844
+ */
845
+ const SVTA_PLAYBACK_UNKNOWN = 2e3;
846
+ /**
847
+ * SVTA 2 [Playback] 001: Video buffer underrun
848
+ *
849
+ * @public
850
+ */
851
+ const SVTA_VIDEO_BUFFER_UNDERRUN = 2001;
852
+ /**
853
+ * SVTA 2 [Playback] 002: Audio buffer underrun
854
+ *
855
+ * @public
856
+ */
857
+ const SVTA_AUDIO_BUFFER_UNDERRUN = 2002;
858
+ /**
859
+ * SVTA 2 [Playback] 003: Video buffering timeout
860
+ *
861
+ * @public
862
+ */
863
+ const SVTA_VIDEO_BUFFERING_TIMEOUT = 2003;
864
+ /**
865
+ * SVTA 2 [Playback] 004: Audio buffering timeout
866
+ *
867
+ * @public
868
+ */
869
+ const SVTA_AUDIO_BUFFERING_TIMEOUT = 2004;
870
+ /**
871
+ * SVTA 2 [Playback] 005: Unable to parse manifest
872
+ *
873
+ * @public
874
+ */
875
+ const SVTA_MANIFEST_PARSE_ERROR = 2005;
876
+ /**
877
+ * SVTA 2 [Playback] 006: Segment parse error
878
+ *
879
+ * @public
880
+ */
881
+ const SVTA_SEGMENT_PARSE_ERROR = 2006;
882
+ /**
883
+ * SVTA 2 [Playback] 007: Unable to decode video
884
+ *
885
+ * @public
886
+ */
887
+ const SVTA_VIDEO_DECODE_ERROR = 2007;
888
+ /**
889
+ * SVTA 2 [Playback] 008: Unable to decode audio
890
+ *
891
+ * @public
892
+ */
893
+ const SVTA_AUDIO_DECODE_ERROR = 2008;
894
+ /**
895
+ * SVTA 2 [Playback] 009: Video dropped frame count exceeds threshold
896
+ *
897
+ * @public
898
+ */
899
+ const SVTA_VIDEO_DROPPED_FRAMES_EXCEEDED = 2009;
900
+ /**
901
+ * SVTA 2 [Playback] 010: Playhead exceeds content duration
902
+ *
903
+ * @public
904
+ */
905
+ const SVTA_PLAYHEAD_EXCEEDS_CONTENT_DURATION = 2010;
906
+ /**
907
+ * SVTA 2 [Playback] 011: No supported video track
908
+ *
909
+ * @public
910
+ */
911
+ const SVTA_NO_SUPPORTED_VIDEO_TRACK = 2011;
912
+ /**
913
+ * SVTA 2 [Playback] 012: No supported audio track
914
+ *
915
+ * @public
916
+ */
917
+ const SVTA_NO_SUPPORTED_AUDIO_TRACK = 2012;
918
+ /**
919
+ * SVTA 2 [Playback] 013: No matching codec / profile / level
920
+ *
921
+ * @public
922
+ */
923
+ const SVTA_NO_MATCHING_CODEC = 2013;
924
+ /**
925
+ * SVTA 2 [Playback] 014: Primary manifest load error
926
+ *
927
+ * @public
928
+ */
929
+ const SVTA_PRIMARY_MANIFEST_LOAD_ERROR = 2014;
930
+ /**
931
+ * SVTA 2 [Playback] 015: Primary manifest load timeout
932
+ *
933
+ * @public
934
+ */
935
+ const SVTA_PRIMARY_MANIFEST_LOAD_TIMEOUT = 2015;
936
+ /**
937
+ * SVTA 2 [Playback] 016: Unable to parse track from manifest
938
+ *
939
+ * @public
940
+ */
941
+ const SVTA_MANIFEST_TRACK_PARSE_ERROR = 2016;
942
+ /**
943
+ * SVTA 2 [Playback] 017: Secondary manifest / asset list load error
944
+ *
945
+ * @public
946
+ */
947
+ const SVTA_SECONDARY_MANIFEST_LOAD_ERROR = 2017;
948
+ /**
949
+ * SVTA 2 [Playback] 018: Unable to parse secondary manifest / asset list
950
+ *
951
+ * @public
952
+ */
953
+ const SVTA_SECONDARY_MANIFEST_PARSE_ERROR = 2018;
954
+ /**
955
+ * SVTA 2 [Playback] 019: Unable to switch tracks
956
+ *
957
+ * @public
958
+ */
959
+ const SVTA_TRACK_SWITCH_ERROR = 2019;
960
+ /**
961
+ * SVTA 2 [Playback] 020: Track load error
962
+ *
963
+ * @public
964
+ */
965
+ const SVTA_TRACK_LOAD_ERROR = 2020;
966
+ /**
967
+ * SVTA 2 [Playback] 021: Remux issue
968
+ *
969
+ * @public
970
+ */
971
+ const SVTA_REMUX_ERROR = 2021;
972
+ /**
973
+ * SVTA 2 [Playback] 022: Buffer initialization error
974
+ *
975
+ * @public
976
+ */
977
+ const SVTA_BUFFER_INITIALIZATION_ERROR = 2022;
978
+ /**
979
+ * SVTA 2 [Playback] 023: Buffer append error
980
+ *
981
+ * @public
982
+ */
983
+ const SVTA_BUFFER_APPEND_ERROR = 2023;
984
+ /**
985
+ * SVTA 2 [Playback] 024: Buffer remove error
986
+ *
987
+ * @public
988
+ */
989
+ const SVTA_BUFFER_REMOVE_ERROR = 2024;
990
+ /**
991
+ * SVTA 2 [Playback] 025: Buffer full error
992
+ *
993
+ * @public
994
+ */
995
+ const SVTA_BUFFER_FULL_ERROR = 2025;
996
+ /**
997
+ * SVTA 2 [Playback] 026: Buffer seek over hole
998
+ *
999
+ * @public
1000
+ */
1001
+ const SVTA_BUFFER_SEEK_OVER_HOLE = 2026;
1002
+ /**
1003
+ * SVTA 2 [Playback] 027: Buffer nudge on stall
1004
+ *
1005
+ * @public
1006
+ */
1007
+ const SVTA_BUFFER_NUDGE_ON_STALL = 2027;
1008
+ /**
1009
+ * SVTA 2 [Playback] 028: Out of memory
1010
+ *
1011
+ * @public
1012
+ */
1013
+ const SVTA_OUT_OF_MEMORY = 2028;
1014
+ /**
1015
+ * SVTA 2 [Playback] 029: Segment load error
1016
+ *
1017
+ * @public
1018
+ */
1019
+ const SVTA_SEGMENT_LOAD_ERROR = 2029;
1020
+ /**
1021
+ * SVTA 2 [Playback] 030: Segment timeout error
1022
+ *
1023
+ * @public
1024
+ */
1025
+ const SVTA_SEGMENT_TIMEOUT_ERROR = 2030;
1026
+ /**
1027
+ * SVTA 2 [Playback] 031: Initialization segment error
1028
+ *
1029
+ * @public
1030
+ */
1031
+ const SVTA_INITIALIZATION_SEGMENT_ERROR = 2031;
1032
+ /**
1033
+ * SVTA 2 [Playback] 032: Time sync failed error
1034
+ *
1035
+ * @public
1036
+ */
1037
+ const SVTA_TIME_SYNC_ERROR = 2032;
1038
+ /**
1039
+ * SVTA 2 [Playback] 033: Fragment load error
1040
+ *
1041
+ * @public
1042
+ */
1043
+ const SVTA_FRAGMENT_LOAD_ERROR = 2033;
1044
+ /**
1045
+ * SVTA 2 [Playback] 034: Fragment timeout error
1046
+ *
1047
+ * @public
1048
+ */
1049
+ const SVTA_FRAGMENT_TIMEOUT_ERROR = 2034;
1050
+ /**
1051
+ * SVTA 2 [Playback] 035: Live timeshifting content out of bounds
1052
+ *
1053
+ * @public
1054
+ */
1055
+ const SVTA_LIVE_TIMESHIFT_OUT_OF_BOUNDS = 2035;
1056
+ /**
1057
+ * SVTA 2 [Playback] 036: Switched to higher latency
1058
+ *
1059
+ * @public
1060
+ */
1061
+ const SVTA_SWITCHED_TO_HIGHER_LATENCY = 2036;
1062
+ /**
1063
+ * SVTA 2 [Playback] 037: Unable to switch to fullscreen
1064
+ *
1065
+ * @public
1066
+ */
1067
+ const SVTA_FULLSCREEN_ERROR = 2037;
1068
+ /**
1069
+ * SVTA 2 [Playback] 038: Unable to present picture-in-picture
1070
+ *
1071
+ * @public
1072
+ */
1073
+ const SVTA_PICTURE_IN_PICTURE_ERROR = 2038;
1074
+ /**
1075
+ * SVTA 2 [Playback] 039: Manifest feature unsupported
1076
+ *
1077
+ * @public
1078
+ */
1079
+ const SVTA_MANIFEST_FEATURE_UNSUPPORTED = 2039;
1080
+ /**
1081
+ * SVTA 2 [Playback] 040: Content steering manifest load error
1082
+ *
1083
+ * @public
1084
+ */
1085
+ const SVTA_CONTENT_STEERING_MANIFEST_LOAD_ERROR = 2040;
1086
+ /**
1087
+ * SVTA 2 [Playback] 041: Unable to parse content steering manifest
1088
+ *
1089
+ * @public
1090
+ */
1091
+ const SVTA_CONTENT_STEERING_MANIFEST_PARSE_ERROR = 2041;
1092
+ /**
1093
+ * SVTA standardized error codes in the Playback category (2xxx): the
1094
+ * player is unable to sustain the playback experience.
1095
+ *
1096
+ * When signalling a buffer event for a track the player cannot identify,
1097
+ * the spec designates `VIDEO_BUFFER_UNDERRUN` (2001) as the default.
1098
+ *
1099
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
1100
+ *
1101
+ * @enum
1102
+ *
1103
+ * @public
1104
+ */
1105
+ const SvtaPlaybackErrorCode = {
1106
+ UNKNOWN: SVTA_PLAYBACK_UNKNOWN,
1107
+ VIDEO_BUFFER_UNDERRUN: SVTA_VIDEO_BUFFER_UNDERRUN,
1108
+ AUDIO_BUFFER_UNDERRUN: SVTA_AUDIO_BUFFER_UNDERRUN,
1109
+ VIDEO_BUFFERING_TIMEOUT: SVTA_VIDEO_BUFFERING_TIMEOUT,
1110
+ AUDIO_BUFFERING_TIMEOUT: SVTA_AUDIO_BUFFERING_TIMEOUT,
1111
+ MANIFEST_PARSE_ERROR: SVTA_MANIFEST_PARSE_ERROR,
1112
+ SEGMENT_PARSE_ERROR: SVTA_SEGMENT_PARSE_ERROR,
1113
+ VIDEO_DECODE_ERROR: SVTA_VIDEO_DECODE_ERROR,
1114
+ AUDIO_DECODE_ERROR: SVTA_AUDIO_DECODE_ERROR,
1115
+ VIDEO_DROPPED_FRAMES_EXCEEDED: SVTA_VIDEO_DROPPED_FRAMES_EXCEEDED,
1116
+ PLAYHEAD_EXCEEDS_CONTENT_DURATION: SVTA_PLAYHEAD_EXCEEDS_CONTENT_DURATION,
1117
+ NO_SUPPORTED_VIDEO_TRACK: SVTA_NO_SUPPORTED_VIDEO_TRACK,
1118
+ NO_SUPPORTED_AUDIO_TRACK: SVTA_NO_SUPPORTED_AUDIO_TRACK,
1119
+ NO_MATCHING_CODEC: SVTA_NO_MATCHING_CODEC,
1120
+ PRIMARY_MANIFEST_LOAD_ERROR: SVTA_PRIMARY_MANIFEST_LOAD_ERROR,
1121
+ PRIMARY_MANIFEST_LOAD_TIMEOUT: SVTA_PRIMARY_MANIFEST_LOAD_TIMEOUT,
1122
+ MANIFEST_TRACK_PARSE_ERROR: SVTA_MANIFEST_TRACK_PARSE_ERROR,
1123
+ SECONDARY_MANIFEST_LOAD_ERROR: SVTA_SECONDARY_MANIFEST_LOAD_ERROR,
1124
+ SECONDARY_MANIFEST_PARSE_ERROR: SVTA_SECONDARY_MANIFEST_PARSE_ERROR,
1125
+ TRACK_SWITCH_ERROR: SVTA_TRACK_SWITCH_ERROR,
1126
+ TRACK_LOAD_ERROR: SVTA_TRACK_LOAD_ERROR,
1127
+ REMUX_ERROR: SVTA_REMUX_ERROR,
1128
+ BUFFER_INITIALIZATION_ERROR: SVTA_BUFFER_INITIALIZATION_ERROR,
1129
+ BUFFER_APPEND_ERROR: SVTA_BUFFER_APPEND_ERROR,
1130
+ BUFFER_REMOVE_ERROR: SVTA_BUFFER_REMOVE_ERROR,
1131
+ BUFFER_FULL_ERROR: SVTA_BUFFER_FULL_ERROR,
1132
+ BUFFER_SEEK_OVER_HOLE: SVTA_BUFFER_SEEK_OVER_HOLE,
1133
+ BUFFER_NUDGE_ON_STALL: SVTA_BUFFER_NUDGE_ON_STALL,
1134
+ OUT_OF_MEMORY: SVTA_OUT_OF_MEMORY,
1135
+ SEGMENT_LOAD_ERROR: SVTA_SEGMENT_LOAD_ERROR,
1136
+ SEGMENT_TIMEOUT_ERROR: SVTA_SEGMENT_TIMEOUT_ERROR,
1137
+ INITIALIZATION_SEGMENT_ERROR: SVTA_INITIALIZATION_SEGMENT_ERROR,
1138
+ TIME_SYNC_ERROR: SVTA_TIME_SYNC_ERROR,
1139
+ FRAGMENT_LOAD_ERROR: SVTA_FRAGMENT_LOAD_ERROR,
1140
+ FRAGMENT_TIMEOUT_ERROR: SVTA_FRAGMENT_TIMEOUT_ERROR,
1141
+ LIVE_TIMESHIFT_OUT_OF_BOUNDS: SVTA_LIVE_TIMESHIFT_OUT_OF_BOUNDS,
1142
+ SWITCHED_TO_HIGHER_LATENCY: SVTA_SWITCHED_TO_HIGHER_LATENCY,
1143
+ FULLSCREEN_ERROR: SVTA_FULLSCREEN_ERROR,
1144
+ PICTURE_IN_PICTURE_ERROR: SVTA_PICTURE_IN_PICTURE_ERROR,
1145
+ MANIFEST_FEATURE_UNSUPPORTED: SVTA_MANIFEST_FEATURE_UNSUPPORTED,
1146
+ CONTENT_STEERING_MANIFEST_LOAD_ERROR: SVTA_CONTENT_STEERING_MANIFEST_LOAD_ERROR,
1147
+ CONTENT_STEERING_MANIFEST_PARSE_ERROR: SVTA_CONTENT_STEERING_MANIFEST_PARSE_ERROR
1148
+ };
1149
+
1150
+ //#endregion
1151
+ //#region src/SvtaRemotePlayErrorCode.ts
1152
+ /**
1153
+ * SVTA 6 [Remote Play] 000: Unknown remote play error
1154
+ *
1155
+ * @public
1156
+ */
1157
+ const SVTA_REMOTE_PLAY_UNKNOWN = 6e3;
1158
+ /**
1159
+ * SVTA 6 [Remote Play] 001: Sender unable to initialize remote play
1160
+ *
1161
+ * @public
1162
+ */
1163
+ const SVTA_SENDER_INITIALIZATION_ERROR = 6001;
1164
+ /**
1165
+ * SVTA 6 [Remote Play] 002: Sender unable to make a connection to the receiver
1166
+ *
1167
+ * @public
1168
+ */
1169
+ const SVTA_SENDER_CONNECTION_ERROR = 6002;
1170
+ /**
1171
+ * SVTA 6 [Remote Play] 003: Receiver does not exist or is unavailable
1172
+ *
1173
+ * @public
1174
+ */
1175
+ const SVTA_RECEIVER_UNAVAILABLE = 6003;
1176
+ /**
1177
+ * SVTA 6 [Remote Play] 004: Receiver refused remote play connection
1178
+ *
1179
+ * @public
1180
+ */
1181
+ const SVTA_RECEIVER_CONNECTION_REFUSED = 6004;
1182
+ /**
1183
+ * SVTA 6 [Remote Play] 005: Connection to the receiver lost
1184
+ *
1185
+ * @public
1186
+ */
1187
+ const SVTA_RECEIVER_CONNECTION_LOST = 6005;
1188
+ /**
1189
+ * SVTA 6 [Remote Play] 006: Connection to the sender lost
1190
+ *
1191
+ * @public
1192
+ */
1193
+ const SVTA_SENDER_CONNECTION_LOST = 6006;
1194
+ /**
1195
+ * SVTA 6 [Remote Play] 007: Receiver is not supported to playback this stream
1196
+ *
1197
+ * @public
1198
+ */
1199
+ const SVTA_RECEIVER_UNSUPPORTED_STREAM = 6007;
1200
+ /**
1201
+ * SVTA 6 [Remote Play] 008: Receiver is already in remote play
1202
+ *
1203
+ * @public
1204
+ */
1205
+ const SVTA_RECEIVER_ALREADY_IN_REMOTE_PLAY = 6008;
1206
+ /**
1207
+ * SVTA 6 [Remote Play] 009: Receiver terminated playback because of an error
1208
+ *
1209
+ * @public
1210
+ */
1211
+ const SVTA_RECEIVER_PLAYBACK_ERROR = 6009;
1212
+ /**
1213
+ * SVTA standardized error codes in the Remote Play category (6xxx): the
1214
+ * framework supporting play out of the stream on a second device.
1215
+ *
1216
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
1217
+ *
1218
+ * @enum
1219
+ *
1220
+ * @public
1221
+ */
1222
+ const SvtaRemotePlayErrorCode = {
1223
+ UNKNOWN: SVTA_REMOTE_PLAY_UNKNOWN,
1224
+ SENDER_INITIALIZATION_ERROR: SVTA_SENDER_INITIALIZATION_ERROR,
1225
+ SENDER_CONNECTION_ERROR: SVTA_SENDER_CONNECTION_ERROR,
1226
+ RECEIVER_UNAVAILABLE: SVTA_RECEIVER_UNAVAILABLE,
1227
+ RECEIVER_CONNECTION_REFUSED: SVTA_RECEIVER_CONNECTION_REFUSED,
1228
+ RECEIVER_CONNECTION_LOST: SVTA_RECEIVER_CONNECTION_LOST,
1229
+ SENDER_CONNECTION_LOST: SVTA_SENDER_CONNECTION_LOST,
1230
+ RECEIVER_UNSUPPORTED_STREAM: SVTA_RECEIVER_UNSUPPORTED_STREAM,
1231
+ RECEIVER_ALREADY_IN_REMOTE_PLAY: SVTA_RECEIVER_ALREADY_IN_REMOTE_PLAY,
1232
+ RECEIVER_PLAYBACK_ERROR: SVTA_RECEIVER_PLAYBACK_ERROR
1233
+ };
1234
+
1235
+ //#endregion
1236
+ //#region src/SvtaUnknownErrorCode.ts
1237
+ /**
1238
+ * SVTA 0 [Unknown] 999: Unknown error
1239
+ *
1240
+ * @public
1241
+ */
1242
+ const SVTA_UNKNOWN = 999;
1243
+ /**
1244
+ * SVTA standardized error code in the Unknown category: the error is
1245
+ * entirely unclassified. `999` is the only code below 1000, so fully
1246
+ * unknown errors can be filtered by returning codes less than 1000.
1247
+ *
1248
+ * @see {@link https://www.svta.org/product/svta2070/ | SVTA2070: Standardized Error Codes}
1249
+ *
1250
+ * @enum
1251
+ *
1252
+ * @public
1253
+ */
1254
+ const SvtaUnknownErrorCode = { UNKNOWN: SVTA_UNKNOWN };
1255
+
1256
+ //#endregion
1257
+ //#region src/vastErrorToSvtaErrorCode.ts
1258
+ /**
1259
+ * Embed an IAB VAST error code into the SVTA Advertising error category,
1260
+ * per the external code embedding rule of SVTA2070. VAST error 301
1261
+ * becomes 7301. The four-digit VAST error 1009 (empty VAST response)
1262
+ * does not fit a three-digit index, so SVTA2070 maps it to 7999.
1263
+ *
1264
+ * Values outside the valid VAST error code range (integers 100-999, or
1265
+ * 1009) return the unknown advertising error code (7000) rather than
1266
+ * throwing, so error reporting paths cannot fail.
1267
+ *
1268
+ * @param vastError - An IAB VAST error code (100-999, or 1009).
1269
+ * @returns The SVTA advertising error code embedding the VAST error.
1270
+ *
1271
+ * @public
1272
+ *
1273
+ * @example
1274
+ * {@includeCode ../test/vastErrorToSvtaErrorCode.test.ts#example}
1275
+ */
1276
+ function vastErrorToSvtaErrorCode(vastError) {
1277
+ const base = SvtaErrorCategory.ADVERTISING * 1e3;
1278
+ if (vastError === 1009) return base + 999;
1279
+ if (!Number.isInteger(vastError) || vastError < 100 || vastError > 999) return base;
1280
+ return base + vastError;
1281
+ }
1282
+
1283
+ //#endregion
1284
+ export { SVTA_ACCESSIBILITY_UNKNOWN, SVTA_ADVERTISING_UNKNOWN, SVTA_AD_BLOCKER_DETECTED, SVTA_AD_TYPE_MISMATCH, SVTA_AUDIO_BUFFERING_TIMEOUT, SVTA_AUDIO_BUFFER_UNDERRUN, SVTA_AUDIO_DECODE_ERROR, SVTA_AUDIO_DESCRIPTION_EXCEEDS_CONTENT_DURATION, SVTA_BAD_LICENSE_REQUEST, SVTA_BUFFER_APPEND_ERROR, SVTA_BUFFER_FULL_ERROR, SVTA_BUFFER_INITIALIZATION_ERROR, SVTA_BUFFER_NUDGE_ON_STALL, SVTA_BUFFER_REMOVE_ERROR, SVTA_BUFFER_SEEK_OVER_HOLE, SVTA_CDN_UNAUTHORIZED, SVTA_COMPANION_AD_ERROR, SVTA_COMPANION_AD_FETCH_ERROR, SVTA_COMPANION_DIMENSION_MISMATCH, SVTA_CONCURRENT_STREAM_LIMIT_EXCEEDED, SVTA_CONTENT_PROTECTION_UNKNOWN, SVTA_CONTENT_STEERING_MANIFEST_LOAD_ERROR, SVTA_CONTENT_STEERING_MANIFEST_PARSE_ERROR, SVTA_CUSTOM_UNKNOWN, SVTA_DOWNLOAD_ERROR, SVTA_DRM_CERTIFICATE_ERROR, SVTA_DRM_CONFIGURATION_MISSING, SVTA_DRM_INITIALIZATION_ERROR, SVTA_DRM_SESSION_ERROR, SVTA_DURATION_MISMATCH, SVTA_EMPTY_VAST_RESPONSE, SVTA_EMPTY_WRAPPER_RESPONSE, SVTA_ENTITLEMENT_REFUSED, SVTA_ERROR_CATEGORY_ACCESSIBILITY, SVTA_ERROR_CATEGORY_ADVERTISING, SVTA_ERROR_CATEGORY_CONTENT_PROTECTION, SVTA_ERROR_CATEGORY_CUSTOM, SVTA_ERROR_CATEGORY_MEDIA_CONTENT, SVTA_ERROR_CATEGORY_NETWORK, SVTA_ERROR_CATEGORY_PLAYBACK, SVTA_ERROR_CATEGORY_REMOTE_PLAY, SVTA_ERROR_CATEGORY_UNKNOWN, SVTA_FRAGMENT_LOAD_ERROR, SVTA_FRAGMENT_TIMEOUT_ERROR, SVTA_FULLSCREEN_ERROR, SVTA_GEO_RESTRICTED, SVTA_HOST_RESOLUTION_ERROR, SVTA_HTTP_TIMEOUT, SVTA_INITIALIZATION_SEGMENT_ERROR, SVTA_INSUFFICIENT_BANDWIDTH, SVTA_INSUFFICIENT_DRM_ROBUSTNESS, SVTA_INSUFFICIENT_OUTPUT_PROTECTION, SVTA_INTERACTIVE_CREATIVE_ERROR, SVTA_INVALID_ACCESS_TOKEN, SVTA_INVALID_COMPOSITION_TRACK_SEGMENT_TIME, SVTA_INVALID_HTTP_CONTENT_TYPE, SVTA_INVALID_MANIFEST, SVTA_INVALID_URI, SVTA_KEY_LOAD_ERROR, SVTA_LICENSE_EXPIRED, SVTA_LICENSE_REQUEST_GENERATION_ERROR, SVTA_LICENSE_RESPONSE_REJECTED, SVTA_LICENSE_SERVER_TIMEOUT, SVTA_LINEARITY_MISMATCH, SVTA_LINEAR_AD_ERROR, SVTA_LIVE_TIMESHIFT_OUT_OF_BOUNDS, SVTA_MANIFEST_FEATURE_UNSUPPORTED, SVTA_MANIFEST_PARSE_ERROR, SVTA_MANIFEST_TRACK_PARSE_ERROR, SVTA_MAX_RETRIES_EXCEEDED, SVTA_MEDIA_CONTENT_UNKNOWN, SVTA_MEDIA_FILE_DISPLAY_ERROR, SVTA_MEDIA_FILE_NOT_FOUND, SVTA_MEDIA_FILE_UNAVAILABLE, SVTA_MEDIA_UNAVAILABLE, SVTA_MEZZANINE_DOWNLOADING, SVTA_MEZZANINE_MISSING, SVTA_MISALIGNED_TRACK_DURATION, SVTA_NETWORK_UNKNOWN, SVTA_NONLINEAR_AD_ERROR, SVTA_NONLINEAR_AD_FETCH_ERROR, SVTA_NONLINEAR_DIMENSION_MISMATCH, SVTA_NO_MATCHING_CODEC, SVTA_NO_NETWORK_CONNECTION, SVTA_NO_SUPPORTED_AUDIO_TRACK, SVTA_NO_SUPPORTED_MEDIA_TYPE, SVTA_NO_SUPPORTED_VIDEO_TRACK, SVTA_OUT_OF_MEMORY, SVTA_PERMISSION_REJECTED, SVTA_PERSISTENT_SESSION_ERROR, SVTA_PICTURE_IN_PICTURE_ERROR, SVTA_PLAYBACK_UNKNOWN, SVTA_PLAYHEAD_EXCEEDS_CONTENT_DURATION, SVTA_PRIMARY_MANIFEST_LOAD_ERROR, SVTA_PRIMARY_MANIFEST_LOAD_TIMEOUT, SVTA_RECEIVER_ALREADY_IN_REMOTE_PLAY, SVTA_RECEIVER_CONNECTION_LOST, SVTA_RECEIVER_CONNECTION_REFUSED, SVTA_RECEIVER_PLAYBACK_ERROR, SVTA_RECEIVER_UNAVAILABLE, SVTA_RECEIVER_UNSUPPORTED_STREAM, SVTA_REJECTED_AD, SVTA_REMOTE_PLAY_UNKNOWN, SVTA_REMUX_ERROR, SVTA_REQUIRED_COMPANION_AD_ERROR, SVTA_RESOURCE_DENIED, SVTA_RESOURCE_NOT_FOUND, SVTA_SECONDARY_MANIFEST_LOAD_ERROR, SVTA_SECONDARY_MANIFEST_PARSE_ERROR, SVTA_SEGMENT_DECRYPTION_ERROR, SVTA_SEGMENT_EXCEEDS_TRACK_BITRATE, SVTA_SEGMENT_LOAD_ERROR, SVTA_SEGMENT_PARSE_ERROR, SVTA_SEGMENT_TIMEOUT_ERROR, SVTA_SENDER_CONNECTION_ERROR, SVTA_SENDER_CONNECTION_LOST, SVTA_SENDER_INITIALIZATION_ERROR, SVTA_SIZE_MISMATCH, SVTA_SWITCHED_TO_HIGHER_LATENCY, SVTA_TIMED_TEXT_EXCEEDS_CONTENT_DURATION, SVTA_TIMED_TEXT_PARSE_ERROR, SVTA_TIMED_TEXT_RENDER_ERROR, SVTA_TIME_SYNC_ERROR, SVTA_TRACK_LOAD_ERROR, SVTA_TRACK_NOT_AVAILABLE, SVTA_TRACK_SWITCH_ERROR, SVTA_UNDEFINED_VAST_ERROR, SVTA_UNKNOWN, SVTA_UNSUPPORTED_AUDIO_FORMAT, SVTA_UNSUPPORTED_DRM_SYSTEM, SVTA_UNSUPPORTED_NONLINEAR_AD, SVTA_UNSUPPORTED_TEXT_FORMAT, SVTA_UNSUPPORTED_URI_SCHEME, SVTA_UNSUPPORTED_VIDEO_FORMAT, SVTA_VAST_PARSE_ERROR, SVTA_VAST_SCHEMA_VALIDATION_ERROR, SVTA_VAST_VERSION_UNSUPPORTED, SVTA_VERIFICATION_ERROR, SVTA_VIDEO_BUFFERING_TIMEOUT, SVTA_VIDEO_BUFFER_UNDERRUN, SVTA_VIDEO_DECODE_ERROR, SVTA_VIDEO_DROPPED_FRAMES_EXCEEDED, SVTA_VPAID_ERROR, SVTA_WRAPPER_ERROR, SVTA_WRAPPER_LIMIT_REACHED, SVTA_WRAPPER_TIMEOUT, SvtaAccessibilityErrorCode, SvtaAdvertisingErrorCode, SvtaContentProtectionErrorCode, SvtaCustomErrorCode, SvtaErrorCategory, SvtaMediaContentErrorCode, SvtaNetworkErrorCode, SvtaPlaybackErrorCode, SvtaRemotePlayErrorCode, SvtaUnknownErrorCode, getSvtaErrorCategory, getSvtaErrorIndex, httpStatusToSvtaErrorCode, vastErrorToSvtaErrorCode };
1285
+ //# sourceMappingURL=index.js.map