libbitsub 1.10.2 → 1.12.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.
Files changed (98) hide show
  1. package/README.md +296 -49
  2. package/dist/index.d.ts +3 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/integrations/hlsjs.d.ts +45 -0
  7. package/dist/integrations/hlsjs.d.ts.map +1 -0
  8. package/dist/integrations/hlsjs.js +121 -0
  9. package/dist/integrations/hlsjs.js.map +1 -0
  10. package/dist/integrations/index.d.ts +11 -0
  11. package/dist/integrations/index.d.ts.map +1 -0
  12. package/dist/integrations/index.js +11 -0
  13. package/dist/integrations/index.js.map +1 -0
  14. package/dist/integrations/react.d.ts +55 -0
  15. package/dist/integrations/react.d.ts.map +1 -0
  16. package/dist/integrations/react.js +133 -0
  17. package/dist/integrations/react.js.map +1 -0
  18. package/dist/integrations/shaka.d.ts +38 -0
  19. package/dist/integrations/shaka.d.ts.map +1 -0
  20. package/dist/integrations/shaka.js +71 -0
  21. package/dist/integrations/shaka.js.map +1 -0
  22. package/dist/integrations/shared.d.ts +41 -0
  23. package/dist/integrations/shared.d.ts.map +1 -0
  24. package/dist/integrations/shared.js +123 -0
  25. package/dist/integrations/shared.js.map +1 -0
  26. package/dist/integrations/videojs.d.ts +85 -0
  27. package/dist/integrations/videojs.d.ts.map +1 -0
  28. package/dist/integrations/videojs.js +111 -0
  29. package/dist/integrations/videojs.js.map +1 -0
  30. package/dist/ts/capabilities.d.ts +8 -0
  31. package/dist/ts/capabilities.d.ts.map +1 -0
  32. package/dist/ts/capabilities.js +105 -0
  33. package/dist/ts/capabilities.js.map +1 -0
  34. package/dist/ts/diagnostics.d.ts.map +1 -1
  35. package/dist/ts/diagnostics.js.map +1 -1
  36. package/dist/ts/frame-export.d.ts.map +1 -1
  37. package/dist/ts/frame-export.js +4 -4
  38. package/dist/ts/frame-export.js.map +1 -1
  39. package/dist/ts/parsers.d.ts +46 -8
  40. package/dist/ts/parsers.d.ts.map +1 -1
  41. package/dist/ts/parsers.js +305 -14
  42. package/dist/ts/parsers.js.map +1 -1
  43. package/dist/ts/range-loader.d.ts +31 -0
  44. package/dist/ts/range-loader.d.ts.map +1 -0
  45. package/dist/ts/range-loader.js +220 -0
  46. package/dist/ts/range-loader.js.map +1 -0
  47. package/dist/ts/renderers.d.ts +140 -8
  48. package/dist/ts/renderers.d.ts.map +1 -1
  49. package/dist/ts/renderers.js +1773 -287
  50. package/dist/ts/renderers.js.map +1 -1
  51. package/dist/ts/types.d.ts +210 -7
  52. package/dist/ts/types.d.ts.map +1 -1
  53. package/dist/ts/utils.d.ts.map +1 -1
  54. package/dist/ts/utils.js +98 -2
  55. package/dist/ts/utils.js.map +1 -1
  56. package/dist/ts/video-frame-scheduler.d.ts +35 -0
  57. package/dist/ts/video-frame-scheduler.d.ts.map +1 -0
  58. package/dist/ts/video-frame-scheduler.js +98 -0
  59. package/dist/ts/video-frame-scheduler.js.map +1 -0
  60. package/dist/ts/wasm.d.ts +2 -0
  61. package/dist/ts/wasm.d.ts.map +1 -1
  62. package/dist/ts/wasm.js +12 -0
  63. package/dist/ts/wasm.js.map +1 -1
  64. package/dist/ts/webgl2-renderer.d.ts +9 -0
  65. package/dist/ts/webgl2-renderer.d.ts.map +1 -1
  66. package/dist/ts/webgl2-renderer.js +34 -0
  67. package/dist/ts/webgl2-renderer.js.map +1 -1
  68. package/dist/ts/webgpu-renderer.d.ts +9 -0
  69. package/dist/ts/webgpu-renderer.d.ts.map +1 -1
  70. package/dist/ts/webgpu-renderer.js +70 -2
  71. package/dist/ts/webgpu-renderer.js.map +1 -1
  72. package/dist/ts/worker.d.ts +11 -0
  73. package/dist/ts/worker.d.ts.map +1 -1
  74. package/dist/ts/worker.js +620 -158
  75. package/dist/ts/worker.js.map +1 -1
  76. package/dist/wrapper.d.ts +6 -3
  77. package/dist/wrapper.d.ts.map +1 -1
  78. package/dist/wrapper.js +5 -2
  79. package/dist/wrapper.js.map +1 -1
  80. package/examples/README.md +38 -0
  81. package/examples/hlsjs/README.md +53 -0
  82. package/examples/react/README.md +60 -0
  83. package/examples/shaka/README.md +61 -0
  84. package/examples/videojs/README.md +55 -0
  85. package/package.json +66 -8
  86. package/pkg/README.md +296 -49
  87. package/pkg/libbitsub.d.ts +65 -1
  88. package/pkg/libbitsub.js +228 -3
  89. package/pkg/libbitsub_bg.wasm +0 -0
  90. package/pkg/libbitsub_bg.wasm.d.ts +28 -0
  91. package/pkg/package.json +4 -4
  92. package/src/integrations/hlsjs.ts +154 -0
  93. package/src/integrations/index.ts +36 -0
  94. package/src/integrations/react.tsx +176 -0
  95. package/src/integrations/shaka.ts +92 -0
  96. package/src/integrations/shared.ts +171 -0
  97. package/src/integrations/videojs.ts +200 -0
  98. package/src/wrapper.ts +34 -2
@@ -1,14 +1,15 @@
1
1
  /**
2
2
  * Type definitions for libbitsub TypeScript wrapper.
3
3
  */
4
- import type { SubtitleRenderer as WasmSubtitleRenderer, PgsParser as WasmPgsParser, VobSubParser as WasmVobSubParser, RenderResult, SubtitleFrame, VobSubFrame } from '../../pkg/libbitsub';
5
- export type { WasmSubtitleRenderer, WasmPgsParser, WasmVobSubParser, RenderResult, SubtitleFrame, VobSubFrame };
6
- export type SubtitleFormatName = 'pgs' | 'vobsub';
4
+ import type { SubtitleRenderer as WasmSubtitleRenderer, PgsParser as WasmPgsParser, VobSubParser as WasmVobSubParser, DvbParser as WasmDvbParser, RenderResult, SubtitleFrame, VobSubFrame } from '../../pkg/libbitsub';
5
+ export type { WasmSubtitleRenderer, WasmPgsParser, WasmVobSubParser, WasmDvbParser, RenderResult, SubtitleFrame, VobSubFrame };
6
+ export type SubtitleFormatName = 'pgs' | 'vobsub' | 'dvb';
7
7
  export type SubtitleHorizontalAlign = 'left' | 'center' | 'right';
8
8
  export type SubtitleAspectMode = 'stretch' | 'contain' | 'cover';
9
9
  export type SubtitleDiagnosticDetailValue = string | number | boolean | null | undefined;
10
10
  export type SubtitleDiagnosticErrorCode = 'UNSUPPORTED_FORMAT' | 'BAD_IDX' | 'MISSING_PALETTE' | 'TRACK_NOT_FOUND' | 'MISSING_INPUT' | 'FETCH_FAILED' | 'INVALID_SUBTITLE_DATA' | 'WORKER_FALLBACK' | 'UNKNOWN';
11
- export type SubtitleDiagnosticWarningCode = 'BAD_IDX' | 'INVALID_FRAME_DATA' | 'INVALID_SUBTITLE_DATA' | 'MISSING_PALETTE' | 'WORKER_FALLBACK';
11
+ export type SubtitleDiagnosticWarningCode = 'BAD_IDX' | 'INVALID_FRAME_DATA' | 'INVALID_SUBTITLE_DATA' | 'MISSING_PALETTE' | 'RANGE_FALLBACK' | 'WORKER_FALLBACK';
12
+ export type AssetFetchStrategy = 'memory' | 'stream' | 'range-chunks' | 'basic';
12
13
  export interface SubtitleDiagnosticWarning {
13
14
  code: SubtitleDiagnosticWarningCode;
14
15
  message: string;
@@ -26,6 +27,17 @@ export interface SubtitleDiagnosticsOptions {
26
27
  debug?: boolean;
27
28
  onWarning?: (warning: SubtitleDiagnosticWarning) => void;
28
29
  }
30
+ /** Binary chunk accepted by the live PGS/DVB renderer push API. */
31
+ export type SubtitleStreamChunk = ArrayBuffer | Uint8Array;
32
+ /** Incremental input surface implemented by the live PGS and DVB video renderers. */
33
+ export interface LiveSubtitleRenderer {
34
+ /** Append bytes and resolve with the number of newly indexed cues. */
35
+ append(data: SubtitleStreamChunk): Promise<number>;
36
+ /** Discard any incomplete trailing input and resolve with the total cue count. */
37
+ flush(): Promise<number>;
38
+ /** Clear all stream/parser state while keeping the renderer ready for new input. */
39
+ reset(): Promise<void>;
40
+ }
29
41
  /** Subtitle data output format compatible with the original JS implementation. */
30
42
  export interface SubtitleData {
31
43
  /** Total width of the presentation (screen). */
@@ -133,9 +145,17 @@ export interface OpenedSubtitles {
133
145
  export interface VideoSubtitleOptions {
134
146
  /** The video element to sync with */
135
147
  video: HTMLVideoElement;
136
- /** URL to the subtitle file */
148
+ /** Element or shadow root that should host the overlay canvas (defaults to the video's parent). */
149
+ container?: HTMLElement | ShadowRoot;
150
+ /** Existing canvas to render into. Never removed on dispose; Worker OffscreenCanvas requires an explicit backend. */
151
+ canvas?: HTMLCanvasElement;
152
+ /** Cap the canvas backing-store pixel ratio while preserving its CSS size. */
153
+ devicePixelRatioCap?: number;
154
+ /** Force a present backend instead of using the automatic backend ladder. */
155
+ backend?: SubtitleRendererBackend | 'auto';
156
+ /** URL to the subtitle file. Omit both sources to create a live PGS/DVB push renderer. */
137
157
  subUrl?: string;
138
- /** Direct subtitle content (ArrayBuffer) */
158
+ /** Direct subtitle content (ArrayBuffer). Omit both sources to create a live PGS/DVB push renderer. */
139
159
  subContent?: ArrayBuffer;
140
160
  /** Worker URL (kept for API compatibility, not used in WASM version) */
141
161
  workerUrl?: string;
@@ -149,6 +169,10 @@ export interface VideoSubtitleOptions {
149
169
  onWebGPUFallback?: () => void;
150
170
  /** Callback when WebGL2 is unavailable and falling back to Canvas2D */
151
171
  onWebGL2Fallback?: () => void;
172
+ /** Prefer Worker OffscreenCanvas present on the Canvas2D tier (default true) */
173
+ offscreenRender?: boolean;
174
+ /** Sync cue selection to presented video-frame mediaTime when supported (default true) */
175
+ frameAwareSync?: boolean;
152
176
  /** Initial display settings for subtitle layout */
153
177
  displaySettings?: Partial<SubtitleDisplaySettings>;
154
178
  /** Maximum number of rendered frames kept in cache */
@@ -158,6 +182,8 @@ export interface VideoSubtitleOptions {
158
182
  before?: number;
159
183
  after?: number;
160
184
  };
185
+ streamingLoad?: boolean;
186
+ rangeRequests?: boolean;
161
187
  /** Generic observability hook for renderer lifecycle, cache, worker and cue changes */
162
188
  onEvent?: (event: SubtitleRendererEvent) => void;
163
189
  /** Enable richer diagnostics capture for render attempts and warnings */
@@ -195,10 +221,39 @@ export interface SubtitleDisplaySettings {
195
221
  /** Global subtitle opacity (0.0 - 1.0) */
196
222
  opacity: number;
197
223
  }
198
- export type SubtitleRendererBackend = 'webgpu' | 'webgl2' | 'canvas2d';
224
+ export type SubtitleRendererBackend = 'webgpu' | 'webgl2' | 'worker-offscreen' | 'canvas2d';
225
+ export type SubtitleSynchronizationMode = 'video-frame' | 'animation-frame';
226
+ export type SubtitlePresentPath = 'main-webgpu' | 'main-webgl2' | 'worker-offscreen' | 'main-canvas2d' | 'main-thread';
227
+ export interface RuntimeCapabilities {
228
+ worker: boolean;
229
+ offscreenCanvas: boolean;
230
+ transferControlToOffscreen: boolean;
231
+ offscreenCanvas2d: boolean;
232
+ workerOffscreenRender: boolean;
233
+ webgpu: boolean;
234
+ webgl2: boolean;
235
+ canvas2d: boolean;
236
+ createImageBitmap: boolean;
237
+ preferredPresentPath: SubtitlePresentPath;
238
+ reasons: string[];
239
+ }
199
240
  export type SubtitleRendererEvent = {
200
241
  type: 'loading';
201
242
  format: SubtitleFormatName;
243
+ } | {
244
+ type: 'load-progress';
245
+ format: SubtitleFormatName;
246
+ loadedBytes: number;
247
+ totalBytes: number | null;
248
+ ratio: number | null;
249
+ strategy: AssetFetchStrategy;
250
+ rangeSupported: boolean;
251
+ indexedCues: number;
252
+ } | {
253
+ type: 'indexed';
254
+ format: SubtitleFormatName;
255
+ metadata: SubtitleParserMetadata;
256
+ partial: boolean;
202
257
  } | {
203
258
  type: 'loaded';
204
259
  format: SubtitleFormatName;
@@ -269,6 +324,7 @@ export interface SubtitleRendererStatsSnapshot {
269
324
  pendingRenders: number;
270
325
  totalEntries: number;
271
326
  currentIndex: number;
327
+ syncMode: SubtitleSynchronizationMode;
272
328
  }
273
329
  export interface CompositionData {
274
330
  rgba: Uint8Array;
@@ -291,18 +347,67 @@ export interface WorkerSessionMetadata {
291
347
  trackId?: string;
292
348
  hasIdxMetadata?: boolean;
293
349
  }
350
+ export interface WorkerOffscreenDisplaySettings {
351
+ scale: number;
352
+ aspectMode: SubtitleAspectMode;
353
+ verticalOffset: number;
354
+ horizontalOffset: number;
355
+ horizontalAlign: SubtitleHorizontalAlign;
356
+ bottomPadding: number;
357
+ safeArea: number;
358
+ opacity: number;
359
+ }
294
360
  export type WorkerRequest = {
295
361
  type: 'init';
296
362
  wasmUrl: string;
363
+ glueUrl?: string;
297
364
  } | {
298
365
  type: 'loadPgs';
299
366
  sessionId: string;
300
367
  data: ArrayBuffer;
368
+ } | {
369
+ type: 'beginPgs';
370
+ sessionId: string;
371
+ } | {
372
+ type: 'appendPgs';
373
+ sessionId: string;
374
+ data: ArrayBuffer;
375
+ } | {
376
+ type: 'finishPgs';
377
+ sessionId: string;
378
+ } | {
379
+ type: 'resetPgs';
380
+ sessionId: string;
381
+ } | {
382
+ type: 'loadDvb';
383
+ sessionId: string;
384
+ data: ArrayBuffer;
385
+ } | {
386
+ type: 'beginDvb';
387
+ sessionId: string;
388
+ } | {
389
+ type: 'appendDvb';
390
+ sessionId: string;
391
+ data: ArrayBuffer;
392
+ } | {
393
+ type: 'finishDvb';
394
+ sessionId: string;
395
+ } | {
396
+ type: 'resetDvb';
397
+ sessionId: string;
301
398
  } | {
302
399
  type: 'loadVobSub';
303
400
  sessionId: string;
304
401
  idxContent: string;
305
402
  subData: ArrayBuffer;
403
+ } | {
404
+ type: 'loadVobSubIdx';
405
+ sessionId: string;
406
+ idxContent: string;
407
+ } | {
408
+ type: 'attachVobSubData';
409
+ sessionId: string;
410
+ subData: ArrayBuffer;
306
411
  } | {
307
412
  type: 'loadVobSubMks';
308
413
  sessionId: string;
@@ -315,6 +420,10 @@ export type WorkerRequest = {
315
420
  type: 'renderPgsAtIndex';
316
421
  sessionId: string;
317
422
  index: number;
423
+ } | {
424
+ type: 'renderDvbAtIndex';
425
+ sessionId: string;
426
+ index: number;
318
427
  } | {
319
428
  type: 'renderVobSubAtIndex';
320
429
  sessionId: string;
@@ -323,6 +432,10 @@ export type WorkerRequest = {
323
432
  type: 'findPgsIndex';
324
433
  sessionId: string;
325
434
  timeMs: number;
435
+ } | {
436
+ type: 'findDvbIndex';
437
+ sessionId: string;
438
+ timeMs: number;
326
439
  } | {
327
440
  type: 'findVobSubIndex';
328
441
  sessionId: string;
@@ -330,18 +443,27 @@ export type WorkerRequest = {
330
443
  } | {
331
444
  type: 'getPgsTimestamps';
332
445
  sessionId: string;
446
+ } | {
447
+ type: 'getDvbTimestamps';
448
+ sessionId: string;
333
449
  } | {
334
450
  type: 'getVobSubTimestamps';
335
451
  sessionId: string;
336
452
  } | {
337
453
  type: 'clearPgsCache';
338
454
  sessionId: string;
455
+ } | {
456
+ type: 'clearDvbCache';
457
+ sessionId: string;
339
458
  } | {
340
459
  type: 'clearVobSubCache';
341
460
  sessionId: string;
342
461
  } | {
343
462
  type: 'disposePgs';
344
463
  sessionId: string;
464
+ } | {
465
+ type: 'disposeDvb';
466
+ sessionId: string;
345
467
  } | {
346
468
  type: 'disposeVobSub';
347
469
  sessionId: string;
@@ -357,7 +479,31 @@ export type WorkerRequest = {
357
479
  type: 'setVobSubDebandRange';
358
480
  sessionId: string;
359
481
  range: number;
482
+ } | {
483
+ type: 'attachOffscreenCanvas';
484
+ sessionId: string;
485
+ canvas: OffscreenCanvas;
486
+ } | {
487
+ type: 'resizeOffscreenCanvas';
488
+ sessionId: string;
489
+ width: number;
490
+ height: number;
491
+ } | {
492
+ type: 'detachOffscreenCanvas';
493
+ sessionId: string;
494
+ } | {
495
+ type: 'clearOffscreenCanvas';
496
+ sessionId: string;
497
+ } | {
498
+ type: 'presentOffscreen';
499
+ sessionId: string;
500
+ format: SubtitleFormatName;
501
+ index: number;
502
+ canvasWidth: number;
503
+ canvasHeight: number;
504
+ displaySettings: WorkerOffscreenDisplaySettings;
360
505
  };
506
+ export type WorkerOffscreenPresentStatus = 'rendered' | 'cleared' | 'empty' | 'failed';
361
507
  export type WorkerResponse = {
362
508
  type: 'initComplete';
363
509
  success: boolean;
@@ -368,15 +514,48 @@ export type WorkerResponse = {
368
514
  byteLength: number;
369
515
  metadata: WorkerSessionMetadata;
370
516
  timestamps: Float64Array;
517
+ } | {
518
+ type: 'pgsProgress';
519
+ count: number;
520
+ added: number;
521
+ partial: boolean;
522
+ metadata: WorkerSessionMetadata;
523
+ timestamps: Float64Array;
524
+ } | {
525
+ type: 'dvbLoaded';
526
+ count: number;
527
+ byteLength: number;
528
+ metadata: WorkerSessionMetadata;
529
+ timestamps: Float64Array;
530
+ endTimestamps: Float64Array;
531
+ } | {
532
+ type: 'dvbProgress';
533
+ count: number;
534
+ added: number;
535
+ partial: boolean;
536
+ metadata: WorkerSessionMetadata;
537
+ timestamps: Float64Array;
538
+ endTimestamps: Float64Array;
371
539
  } | {
372
540
  type: 'vobSubLoaded';
373
541
  count: number;
374
542
  metadata: WorkerSessionMetadata;
375
543
  timestamps: Float64Array;
544
+ } | {
545
+ type: 'vobSubProgress';
546
+ count: number;
547
+ partial: boolean;
548
+ hasSubData: boolean;
549
+ metadata: WorkerSessionMetadata;
550
+ timestamps: Float64Array;
376
551
  } | {
377
552
  type: 'pgsFrame';
378
553
  frame: FrameData | null;
379
554
  renderIssue?: string;
555
+ } | {
556
+ type: 'dvbFrame';
557
+ frame: FrameData | null;
558
+ renderIssue?: string;
380
559
  } | {
381
560
  type: 'vobSubFrame';
382
561
  frame: FrameData | null;
@@ -384,12 +563,18 @@ export type WorkerResponse = {
384
563
  } | {
385
564
  type: 'pgsIndex';
386
565
  index: number;
566
+ } | {
567
+ type: 'dvbIndex';
568
+ index: number;
387
569
  } | {
388
570
  type: 'vobSubIndex';
389
571
  index: number;
390
572
  } | {
391
573
  type: 'pgsTimestamps';
392
574
  timestamps: Float64Array;
575
+ } | {
576
+ type: 'dvbTimestamps';
577
+ timestamps: Float64Array;
393
578
  } | {
394
579
  type: 'vobSubTimestamps';
395
580
  timestamps: Float64Array;
@@ -399,6 +584,24 @@ export type WorkerResponse = {
399
584
  type: 'disposed';
400
585
  } | {
401
586
  type: 'debandSet';
587
+ } | {
588
+ type: 'offscreenAttached';
589
+ } | {
590
+ type: 'offscreenResized';
591
+ } | {
592
+ type: 'offscreenDetached';
593
+ } | {
594
+ type: 'offscreenCleared';
595
+ } | {
596
+ type: 'offscreenPresented';
597
+ status: WorkerOffscreenPresentStatus;
598
+ /** True only when the worker presentation infrastructure is unusable. */
599
+ fatal?: boolean;
600
+ renderIssue?: string;
601
+ width?: number;
602
+ height?: number;
603
+ compositionCount?: number;
604
+ bounds?: SubtitleCueBounds | null;
402
605
  } | {
403
606
  type: 'error';
404
607
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ts/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ts/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EAET,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAyNhB,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,OAAO,CAMjH;AAED,yCAAyC;AACzC,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmBtF;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAc/D;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GAAG,iBAAiB,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsDnE;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,iBAAiB,GAAG,IAAI,CAyB9E;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,IAAI,CAkBN;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWpF;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,MAAM,CAM9C;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAgB1F;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,mBAAmB,CAYvD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EAET,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAmUhB,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,OAAO,CAMjH;AAED,yCAAyC;AACzC,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmBtF;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAc/D;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,GAAG,iBAAiB,EACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsDnE;AAED,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,iBAAiB,GAAG,IAAI,CAyB9E;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,GAAG,IAAI,EAC1B,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,IAAI,CAkBN;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWpF;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,MAAM,CAM9C;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAwB1F;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,mBAAmB,CAYvD"}
package/dist/ts/utils.js CHANGED
@@ -22,6 +22,91 @@ function toClampedView(pixels) {
22
22
  function looksLikePgsBinary(binary) {
23
23
  return binary.length >= 2 && binary[0] === 0x50 && binary[1] === 0x47;
24
24
  }
25
+ const DVB_SYNC_BYTE = 0x0f;
26
+ const DVB_PAGE_COMPOSITION = 0x10;
27
+ const DVB_REGION_COMPOSITION = 0x11;
28
+ const DVB_CLUT_DEFINITION = 0x12;
29
+ const DVB_OBJECT_DATA = 0x13;
30
+ const DVB_DISPLAY_DEFINITION = 0x14;
31
+ const DVB_END_OF_DISPLAY_SET = 0x80;
32
+ const DVB_STUFFING = 0xff;
33
+ function isKnownDvbSegmentType(segmentType) {
34
+ return (segmentType === DVB_PAGE_COMPOSITION ||
35
+ segmentType === DVB_REGION_COMPOSITION ||
36
+ segmentType === DVB_CLUT_DEFINITION ||
37
+ segmentType === DVB_OBJECT_DATA ||
38
+ segmentType === DVB_DISPLAY_DEFINITION ||
39
+ segmentType === DVB_END_OF_DISPLAY_SET ||
40
+ segmentType === DVB_STUFFING);
41
+ }
42
+ function looksLikeDvbPayload(binary, start = 0) {
43
+ let offset = start;
44
+ if (binary.length - offset >= 3 &&
45
+ binary[offset] === 0x20 &&
46
+ binary[offset + 1] === 0x00 &&
47
+ binary[offset + 2] === DVB_SYNC_BYTE) {
48
+ offset += 2;
49
+ }
50
+ if (offset >= binary.length || binary[offset] !== DVB_SYNC_BYTE) {
51
+ return false;
52
+ }
53
+ let known = 0;
54
+ while (offset + 6 <= binary.length) {
55
+ if (binary[offset] === DVB_STUFFING)
56
+ break;
57
+ if (binary[offset] !== DVB_SYNC_BYTE)
58
+ break;
59
+ const segmentType = binary[offset + 1];
60
+ const length = (binary[offset + 4] << 8) | binary[offset + 5];
61
+ const total = 6 + length;
62
+ if (offset + total > binary.length)
63
+ break;
64
+ if (isKnownDvbSegmentType(segmentType)) {
65
+ known += 1;
66
+ if (known >= 2 || segmentType === DVB_PAGE_COMPOSITION) {
67
+ return true;
68
+ }
69
+ }
70
+ offset += total;
71
+ }
72
+ return known > 0;
73
+ }
74
+ function looksLikeMpegPesDvb(binary) {
75
+ const limit = Math.min(binary.length - 9, 65_536);
76
+ for (let index = 0; index <= limit; index += 1) {
77
+ if (binary[index] !== 0x00 ||
78
+ binary[index + 1] !== 0x00 ||
79
+ binary[index + 2] !== 0x01 ||
80
+ binary[index + 3] !== 0xbd) {
81
+ continue;
82
+ }
83
+ const packetLength = (binary[index + 4] << 8) | binary[index + 5];
84
+ const total = 6 + packetLength;
85
+ if (index + total > binary.length || total < 9)
86
+ continue;
87
+ const headerDataLength = binary[index + 8];
88
+ const payloadStart = index + 9 + headerDataLength;
89
+ if (payloadStart >= index + total)
90
+ continue;
91
+ if (looksLikeDvbPayload(binary.subarray(payloadStart, index + total))) {
92
+ return true;
93
+ }
94
+ }
95
+ return false;
96
+ }
97
+ function looksLikeDvbBinary(binary) {
98
+ if (binary.length >= 10 && binary[0] === 0x44 && binary[1] === 0x56) {
99
+ // "DV" framed dump
100
+ const payloadLen = ((binary[6] << 24) | (binary[7] << 16) | (binary[8] << 8) | binary[9]) >>> 0;
101
+ if (payloadLen > 0 && binary.length >= 10 + Math.min(payloadLen, 64)) {
102
+ if (looksLikeDvbPayload(binary.subarray(10)))
103
+ return true;
104
+ }
105
+ }
106
+ if (looksLikeMpegPesDvb(binary))
107
+ return true;
108
+ return looksLikeDvbPayload(binary);
109
+ }
25
110
  const EBML_HEADER_ID = 0x1a45dfa3;
26
111
  const EBML_DOC_TYPE_ID = 0x4282;
27
112
  const EBML_SEGMENT_ID = 0x18538067;
@@ -331,24 +416,35 @@ export function createWorkerSessionId() {
331
416
  }
332
417
  /** Detect the subtitle format from binary content, filenames or URLs. */
333
418
  export function detectSubtitleFormat(source) {
419
+ // VobSub almost always ships with an .idx companion.
334
420
  if (source.idxContent || source.idxUrl)
335
421
  return 'vobsub';
336
422
  const fileHint = [source.fileName, source.subUrl].find(Boolean)?.toLowerCase();
337
- if (fileHint?.endsWith('.sub') || fileHint?.endsWith('.idx'))
423
+ if (fileHint?.endsWith('.idx'))
338
424
  return 'vobsub';
339
425
  if (fileHint?.endsWith('.mks'))
340
426
  return 'vobsub';
341
427
  if (fileHint?.endsWith('.sup') || fileHint?.endsWith('.pgs'))
342
428
  return 'pgs';
429
+ if (fileHint?.endsWith('.dvb'))
430
+ return 'dvb';
343
431
  const binary = toBinaryView(source.data ?? source.subData);
344
- if (!binary)
432
+ if (!binary) {
433
+ // Bare .sub without bytes cannot be distinguished; prefer VobSub historically.
434
+ if (fileHint?.endsWith('.sub'))
435
+ return 'vobsub';
345
436
  return null;
437
+ }
346
438
  if (looksLikePgsBinary(binary))
347
439
  return 'pgs';
440
+ if (looksLikeDvbBinary(binary))
441
+ return 'dvb';
348
442
  if (looksLikeMksBinary(binary))
349
443
  return 'vobsub';
350
444
  if (looksLikeVobSubBinary(binary))
351
445
  return 'vobsub';
446
+ if (fileHint?.endsWith('.sub'))
447
+ return 'vobsub';
352
448
  return null;
353
449
  }
354
450
  /** Create initial worker state. */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ts/utils.ts"],"names":[],"mappings":"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"}