libbitsub 1.11.0 → 1.12.1

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 (83) hide show
  1. package/README.md +114 -17
  2. package/dist/index.d.ts +8 -5
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +8 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/integrations/hlsjs.d.ts +6 -0
  7. package/dist/integrations/hlsjs.d.ts.map +1 -1
  8. package/dist/integrations/hlsjs.js +3 -0
  9. package/dist/integrations/hlsjs.js.map +1 -1
  10. package/dist/integrations/index.d.ts +10 -2
  11. package/dist/integrations/index.d.ts.map +1 -1
  12. package/dist/integrations/index.js +10 -2
  13. package/dist/integrations/index.js.map +1 -1
  14. package/dist/integrations/react.d.ts +10 -1
  15. package/dist/integrations/react.d.ts.map +1 -1
  16. package/dist/integrations/react.js +11 -2
  17. package/dist/integrations/react.js.map +1 -1
  18. package/dist/integrations/shaka.d.ts +6 -0
  19. package/dist/integrations/shaka.d.ts.map +1 -1
  20. package/dist/integrations/shaka.js +3 -0
  21. package/dist/integrations/shaka.js.map +1 -1
  22. package/dist/integrations/shared.d.ts +4 -2
  23. package/dist/integrations/shared.d.ts.map +1 -1
  24. package/dist/integrations/shared.js.map +1 -1
  25. package/dist/integrations/videojs.d.ts +9 -0
  26. package/dist/integrations/videojs.d.ts.map +1 -1
  27. package/dist/integrations/videojs.js +3 -0
  28. package/dist/integrations/videojs.js.map +1 -1
  29. package/dist/ts/capabilities.d.ts +14 -0
  30. package/dist/ts/capabilities.d.ts.map +1 -0
  31. package/dist/ts/capabilities.js +111 -0
  32. package/dist/ts/capabilities.js.map +1 -0
  33. package/dist/ts/diagnostics.d.ts +6 -0
  34. package/dist/ts/diagnostics.d.ts.map +1 -1
  35. package/dist/ts/diagnostics.js +6 -0
  36. package/dist/ts/diagnostics.js.map +1 -1
  37. package/dist/ts/frame-export.d.ts +4 -0
  38. package/dist/ts/frame-export.d.ts.map +1 -1
  39. package/dist/ts/frame-export.js +4 -0
  40. package/dist/ts/frame-export.js.map +1 -1
  41. package/dist/ts/parsers.d.ts +39 -2
  42. package/dist/ts/parsers.d.ts.map +1 -1
  43. package/dist/ts/parsers.js +229 -1
  44. package/dist/ts/parsers.js.map +1 -1
  45. package/dist/ts/range-loader.d.ts +6 -0
  46. package/dist/ts/range-loader.d.ts.map +1 -1
  47. package/dist/ts/range-loader.js +3 -0
  48. package/dist/ts/range-loader.js.map +1 -1
  49. package/dist/ts/renderers.d.ts +129 -10
  50. package/dist/ts/renderers.d.ts.map +1 -1
  51. package/dist/ts/renderers.js +1342 -138
  52. package/dist/ts/renderers.js.map +1 -1
  53. package/dist/ts/types.d.ts +196 -6
  54. package/dist/ts/types.d.ts.map +1 -1
  55. package/dist/ts/utils.d.ts +2 -0
  56. package/dist/ts/utils.d.ts.map +1 -1
  57. package/dist/ts/utils.js +100 -2
  58. package/dist/ts/utils.js.map +1 -1
  59. package/dist/ts/video-frame-scheduler.d.ts +35 -0
  60. package/dist/ts/video-frame-scheduler.d.ts.map +1 -0
  61. package/dist/ts/video-frame-scheduler.js +98 -0
  62. package/dist/ts/video-frame-scheduler.js.map +1 -0
  63. package/dist/ts/worker.d.ts.map +1 -1
  64. package/dist/ts/worker.js +394 -0
  65. package/dist/ts/worker.js.map +1 -1
  66. package/dist/wrapper.d.ts +4 -3
  67. package/dist/wrapper.d.ts.map +1 -1
  68. package/dist/wrapper.js +3 -2
  69. package/dist/wrapper.js.map +1 -1
  70. package/package.json +7 -2
  71. package/pkg/README.md +114 -17
  72. package/pkg/libbitsub.d.ts +51 -1
  73. package/pkg/libbitsub.js +178 -3
  74. package/pkg/libbitsub_bg.wasm +0 -0
  75. package/pkg/libbitsub_bg.wasm.d.ts +21 -0
  76. package/pkg/package.json +4 -4
  77. package/src/integrations/hlsjs.ts +6 -0
  78. package/src/integrations/index.ts +10 -2
  79. package/src/integrations/react.tsx +17 -2
  80. package/src/integrations/shaka.ts +6 -0
  81. package/src/integrations/shared.ts +4 -1
  82. package/src/integrations/videojs.ts +9 -0
  83. package/src/wrapper.ts +22 -2
@@ -1,15 +1,23 @@
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
+ /** Detected graphical subtitle format. */
7
+ export type SubtitleFormatName = 'pgs' | 'vobsub' | 'dvb';
8
+ /** Horizontal alignment used when placing a subtitle overlay. */
7
9
  export type SubtitleHorizontalAlign = 'left' | 'center' | 'right';
10
+ /** How bitmap subtitles are fit into the video overlay. */
8
11
  export type SubtitleAspectMode = 'stretch' | 'contain' | 'cover';
12
+ /** Primitive value stored on a diagnostic error or warning. */
9
13
  export type SubtitleDiagnosticDetailValue = string | number | boolean | null | undefined;
14
+ /** Stable diagnostic error code. */
10
15
  export type SubtitleDiagnosticErrorCode = 'UNSUPPORTED_FORMAT' | 'BAD_IDX' | 'MISSING_PALETTE' | 'TRACK_NOT_FOUND' | 'MISSING_INPUT' | 'FETCH_FAILED' | 'INVALID_SUBTITLE_DATA' | 'WORKER_FALLBACK' | 'UNKNOWN';
16
+ /** Stable diagnostic warning code. */
11
17
  export type SubtitleDiagnosticWarningCode = 'BAD_IDX' | 'INVALID_FRAME_DATA' | 'INVALID_SUBTITLE_DATA' | 'MISSING_PALETTE' | 'RANGE_FALLBACK' | 'WORKER_FALLBACK';
18
+ /** Strategy used to fetch a subtitle asset. */
12
19
  export type AssetFetchStrategy = 'memory' | 'stream' | 'range-chunks' | 'basic';
20
+ /** Non-fatal diagnostic emitted while loading or rendering. */
13
21
  export interface SubtitleDiagnosticWarning {
14
22
  code: SubtitleDiagnosticWarningCode;
15
23
  message: string;
@@ -17,16 +25,29 @@ export interface SubtitleDiagnosticWarning {
17
25
  cueIndex?: number;
18
26
  details?: Record<string, SubtitleDiagnosticDetailValue>;
19
27
  }
28
+ /** Error shape used by SubtitleDiagnosticError. */
20
29
  export interface SubtitleDiagnosticErrorLike extends Error {
21
30
  code: SubtitleDiagnosticErrorCode;
22
31
  format?: SubtitleFormatName;
23
32
  details?: Record<string, SubtitleDiagnosticDetailValue>;
24
33
  cause?: unknown;
25
34
  }
35
+ /** Options for forwarding diagnostic warnings. */
26
36
  export interface SubtitleDiagnosticsOptions {
27
37
  debug?: boolean;
28
38
  onWarning?: (warning: SubtitleDiagnosticWarning) => void;
29
39
  }
40
+ /** Binary chunk accepted by the live PGS/DVB renderer push API. */
41
+ export type SubtitleStreamChunk = ArrayBuffer | Uint8Array;
42
+ /** Incremental input surface implemented by the live PGS and DVB video renderers. */
43
+ export interface LiveSubtitleRenderer {
44
+ /** Append bytes and resolve with the number of newly indexed cues. */
45
+ append(data: SubtitleStreamChunk): Promise<number>;
46
+ /** Discard any incomplete trailing input and resolve with the total cue count. */
47
+ flush(): Promise<number>;
48
+ /** Clear all stream/parser state while keeping the renderer ready for new input. */
49
+ reset(): Promise<void>;
50
+ }
30
51
  /** Subtitle data output format compatible with the original JS implementation. */
31
52
  export interface SubtitleData {
32
53
  /** Total width of the presentation (screen). */
@@ -36,11 +57,14 @@ export interface SubtitleData {
36
57
  /** Pre-compiled composition elements. */
37
58
  compositionData: SubtitleCompositionData[];
38
59
  }
60
+ /** Whether exported frames keep the full screen or crop to ink. */
39
61
  export type SubtitleFrameCropMode = 'bounds' | 'screen';
62
+ /** Options for flattening a subtitle frame to RGBA. */
40
63
  export interface SubtitleFrameRenderOptions {
41
64
  /** Compose only the visible cue bounds or the full subtitle presentation area. */
42
65
  crop?: SubtitleFrameCropMode;
43
66
  }
67
+ /** Flattened RGBA subtitle frame plus placement metadata. */
44
68
  export interface SubtitleRenderedFrameData {
45
69
  /** Flattened RGBA pixels for the composed subtitle frame export. */
46
70
  imageData: ImageData;
@@ -59,7 +83,9 @@ export interface SubtitleRenderedFrameData {
59
83
  /** Number of source compositions folded into the export. */
60
84
  compositionCount: number;
61
85
  }
86
+ /** Canvas target accepted by toCanvas(). */
62
87
  export type SubtitleFrameCanvasTarget = HTMLCanvasElement | OffscreenCanvas | CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
88
+ /** Options for drawing a rendered frame onto a canvas. */
63
89
  export interface SubtitleFrameCanvasOptions extends SubtitleFrameRenderOptions {
64
90
  /** Resize the target canvas to the rendered frame size before drawing. */
65
91
  resizeCanvas?: boolean;
@@ -75,12 +101,14 @@ export interface SubtitleCompositionData {
75
101
  /** Y position on screen. */
76
102
  y: number;
77
103
  }
104
+ /** Axis-aligned bounds of a subtitle cue. */
78
105
  export interface SubtitleCueBounds {
79
106
  x: number;
80
107
  y: number;
81
108
  width: number;
82
109
  height: number;
83
110
  }
111
+ /** Indexed cue timing and placement metadata. */
84
112
  export interface SubtitleCueMetadata {
85
113
  index: number;
86
114
  format: SubtitleFormatName;
@@ -97,6 +125,7 @@ export interface SubtitleCueMetadata {
97
125
  trackId?: string | null;
98
126
  filePosition?: number;
99
127
  }
128
+ /** Parser-level track metadata. */
100
129
  export interface SubtitleParserMetadata {
101
130
  format: SubtitleFormatName;
102
131
  cueCount: number;
@@ -106,6 +135,7 @@ export interface SubtitleParserMetadata {
106
135
  trackId?: string | null;
107
136
  hasIdxMetadata?: boolean;
108
137
  }
138
+ /** In-memory subtitle document returned by openSubtitles(). */
109
139
  export interface OpenedSubtitles {
110
140
  /** Detected subtitle format after the source has been opened. */
111
141
  readonly format: SubtitleFormatName;
@@ -134,9 +164,17 @@ export interface OpenedSubtitles {
134
164
  export interface VideoSubtitleOptions {
135
165
  /** The video element to sync with */
136
166
  video: HTMLVideoElement;
137
- /** URL to the subtitle file */
167
+ /** Element or shadow root that should host the overlay canvas (defaults to the video's parent). */
168
+ container?: HTMLElement | ShadowRoot;
169
+ /** Existing canvas to render into. Never removed on dispose; Worker OffscreenCanvas requires an explicit backend. */
170
+ canvas?: HTMLCanvasElement;
171
+ /** Cap the canvas backing-store pixel ratio while preserving its CSS size. */
172
+ devicePixelRatioCap?: number;
173
+ /** Force a present backend instead of using the automatic backend ladder. */
174
+ backend?: SubtitleRendererBackend | 'auto';
175
+ /** URL to the subtitle file. Omit both sources to create a live PGS/DVB push renderer. */
138
176
  subUrl?: string;
139
- /** Direct subtitle content (ArrayBuffer) */
177
+ /** Direct subtitle content (ArrayBuffer). Omit both sources to create a live PGS/DVB push renderer. */
140
178
  subContent?: ArrayBuffer;
141
179
  /** Worker URL (kept for API compatibility, not used in WASM version) */
142
180
  workerUrl?: string;
@@ -150,6 +188,10 @@ export interface VideoSubtitleOptions {
150
188
  onWebGPUFallback?: () => void;
151
189
  /** Callback when WebGL2 is unavailable and falling back to Canvas2D */
152
190
  onWebGL2Fallback?: () => void;
191
+ /** Prefer Worker OffscreenCanvas present on the Canvas2D tier (default true) */
192
+ offscreenRender?: boolean;
193
+ /** Sync cue selection to presented video-frame mediaTime when supported (default true) */
194
+ frameAwareSync?: boolean;
153
195
  /** Initial display settings for subtitle layout */
154
196
  displaySettings?: Partial<SubtitleDisplaySettings>;
155
197
  /** Maximum number of rendered frames kept in cache */
@@ -198,7 +240,27 @@ export interface SubtitleDisplaySettings {
198
240
  /** Global subtitle opacity (0.0 - 1.0) */
199
241
  opacity: number;
200
242
  }
201
- export type SubtitleRendererBackend = 'webgpu' | 'webgl2' | 'canvas2d';
243
+ /** Presentation backend selected by a high-level renderer. */
244
+ export type SubtitleRendererBackend = 'webgpu' | 'webgl2' | 'worker-offscreen' | 'canvas2d';
245
+ /** Whether cue times follow RVFC or requestAnimationFrame. */
246
+ export type SubtitleSynchronizationMode = 'video-frame' | 'animation-frame';
247
+ /** Concrete present path used for the last frame. */
248
+ export type SubtitlePresentPath = 'main-webgpu' | 'main-webgl2' | 'worker-offscreen' | 'main-canvas2d' | 'main-thread';
249
+ /** Probed browser capabilities for rendering backends. */
250
+ export interface RuntimeCapabilities {
251
+ worker: boolean;
252
+ offscreenCanvas: boolean;
253
+ transferControlToOffscreen: boolean;
254
+ offscreenCanvas2d: boolean;
255
+ workerOffscreenRender: boolean;
256
+ webgpu: boolean;
257
+ webgl2: boolean;
258
+ canvas2d: boolean;
259
+ createImageBitmap: boolean;
260
+ preferredPresentPath: SubtitlePresentPath;
261
+ reasons: string[];
262
+ }
263
+ /** Observability event emitted by a high-level renderer. */
202
264
  export type SubtitleRendererEvent = {
203
265
  type: 'loading';
204
266
  format: SubtitleFormatName;
@@ -248,6 +310,7 @@ export type SubtitleRendererEvent = {
248
310
  type: 'stats';
249
311
  stats: SubtitleRendererStatsSnapshot;
250
312
  };
313
+ /** Frame-cache occupancy counters. */
251
314
  export interface SubtitleCacheStats {
252
315
  cacheLimit: number;
253
316
  cachedFrames: number;
@@ -257,7 +320,9 @@ export interface SubtitleCacheStats {
257
320
  workerReady: boolean;
258
321
  sessionId: string | null;
259
322
  }
323
+ /** Status of the last present attempt. */
260
324
  export type SubtitleRenderStatus = 'rendered' | 'cleared' | 'pending' | 'empty' | 'failed';
325
+ /** Details about the last presented or skipped frame. */
261
326
  export interface SubtitleLastRenderInfo {
262
327
  time: number;
263
328
  index: number;
@@ -273,6 +338,7 @@ export interface SubtitleLastRenderInfo {
273
338
  cache: SubtitleCacheStats;
274
339
  capturedAt: number;
275
340
  }
341
+ /** Renderer stats snapshot including backend and sync mode. */
276
342
  export interface SubtitleRendererStatsSnapshot {
277
343
  framesRendered: number;
278
344
  framesDropped: number;
@@ -286,7 +352,9 @@ export interface SubtitleRendererStatsSnapshot {
286
352
  pendingRenders: number;
287
353
  totalEntries: number;
288
354
  currentIndex: number;
355
+ syncMode: SubtitleSynchronizationMode;
289
356
  }
357
+ /** Legacy alias for a composed image plane. */
290
358
  export interface CompositionData {
291
359
  rgba: Uint8Array;
292
360
  x: number;
@@ -294,11 +362,13 @@ export interface CompositionData {
294
362
  width: number;
295
363
  height: number;
296
364
  }
365
+ /** Legacy alias for a composed subtitle frame. */
297
366
  export interface FrameData {
298
367
  width: number;
299
368
  height: number;
300
369
  compositions: CompositionData[];
301
370
  }
371
+ /** Metadata describing a worker OffscreenCanvas session. */
302
372
  export interface WorkerSessionMetadata {
303
373
  format: SubtitleFormatName;
304
374
  cueCount: number;
@@ -308,6 +378,18 @@ export interface WorkerSessionMetadata {
308
378
  trackId?: string;
309
379
  hasIdxMetadata?: boolean;
310
380
  }
381
+ /** Display settings forwarded to the worker compositor. */
382
+ export interface WorkerOffscreenDisplaySettings {
383
+ scale: number;
384
+ aspectMode: SubtitleAspectMode;
385
+ verticalOffset: number;
386
+ horizontalOffset: number;
387
+ horizontalAlign: SubtitleHorizontalAlign;
388
+ bottomPadding: number;
389
+ safeArea: number;
390
+ opacity: number;
391
+ }
392
+ /** Request posted to the libbitsub worker. */
311
393
  export type WorkerRequest = {
312
394
  type: 'init';
313
395
  wasmUrl: string;
@@ -326,6 +408,26 @@ export type WorkerRequest = {
326
408
  } | {
327
409
  type: 'finishPgs';
328
410
  sessionId: string;
411
+ } | {
412
+ type: 'resetPgs';
413
+ sessionId: string;
414
+ } | {
415
+ type: 'loadDvb';
416
+ sessionId: string;
417
+ data: ArrayBuffer;
418
+ } | {
419
+ type: 'beginDvb';
420
+ sessionId: string;
421
+ } | {
422
+ type: 'appendDvb';
423
+ sessionId: string;
424
+ data: ArrayBuffer;
425
+ } | {
426
+ type: 'finishDvb';
427
+ sessionId: string;
428
+ } | {
429
+ type: 'resetDvb';
430
+ sessionId: string;
329
431
  } | {
330
432
  type: 'loadVobSub';
331
433
  sessionId: string;
@@ -351,6 +453,10 @@ export type WorkerRequest = {
351
453
  type: 'renderPgsAtIndex';
352
454
  sessionId: string;
353
455
  index: number;
456
+ } | {
457
+ type: 'renderDvbAtIndex';
458
+ sessionId: string;
459
+ index: number;
354
460
  } | {
355
461
  type: 'renderVobSubAtIndex';
356
462
  sessionId: string;
@@ -359,6 +465,10 @@ export type WorkerRequest = {
359
465
  type: 'findPgsIndex';
360
466
  sessionId: string;
361
467
  timeMs: number;
468
+ } | {
469
+ type: 'findDvbIndex';
470
+ sessionId: string;
471
+ timeMs: number;
362
472
  } | {
363
473
  type: 'findVobSubIndex';
364
474
  sessionId: string;
@@ -366,18 +476,27 @@ export type WorkerRequest = {
366
476
  } | {
367
477
  type: 'getPgsTimestamps';
368
478
  sessionId: string;
479
+ } | {
480
+ type: 'getDvbTimestamps';
481
+ sessionId: string;
369
482
  } | {
370
483
  type: 'getVobSubTimestamps';
371
484
  sessionId: string;
372
485
  } | {
373
486
  type: 'clearPgsCache';
374
487
  sessionId: string;
488
+ } | {
489
+ type: 'clearDvbCache';
490
+ sessionId: string;
375
491
  } | {
376
492
  type: 'clearVobSubCache';
377
493
  sessionId: string;
378
494
  } | {
379
495
  type: 'disposePgs';
380
496
  sessionId: string;
497
+ } | {
498
+ type: 'disposeDvb';
499
+ sessionId: string;
381
500
  } | {
382
501
  type: 'disposeVobSub';
383
502
  sessionId: string;
@@ -393,7 +512,33 @@ export type WorkerRequest = {
393
512
  type: 'setVobSubDebandRange';
394
513
  sessionId: string;
395
514
  range: number;
515
+ } | {
516
+ type: 'attachOffscreenCanvas';
517
+ sessionId: string;
518
+ canvas: OffscreenCanvas;
519
+ } | {
520
+ type: 'resizeOffscreenCanvas';
521
+ sessionId: string;
522
+ width: number;
523
+ height: number;
524
+ } | {
525
+ type: 'detachOffscreenCanvas';
526
+ sessionId: string;
527
+ } | {
528
+ type: 'clearOffscreenCanvas';
529
+ sessionId: string;
530
+ } | {
531
+ type: 'presentOffscreen';
532
+ sessionId: string;
533
+ format: SubtitleFormatName;
534
+ index: number;
535
+ canvasWidth: number;
536
+ canvasHeight: number;
537
+ displaySettings: WorkerOffscreenDisplaySettings;
396
538
  };
539
+ /** Present status reported by the worker compositor. */
540
+ export type WorkerOffscreenPresentStatus = 'rendered' | 'cleared' | 'empty' | 'failed';
541
+ /** Response posted from the libbitsub worker. */
397
542
  export type WorkerResponse = {
398
543
  type: 'initComplete';
399
544
  success: boolean;
@@ -411,6 +556,21 @@ export type WorkerResponse = {
411
556
  partial: boolean;
412
557
  metadata: WorkerSessionMetadata;
413
558
  timestamps: Float64Array;
559
+ } | {
560
+ type: 'dvbLoaded';
561
+ count: number;
562
+ byteLength: number;
563
+ metadata: WorkerSessionMetadata;
564
+ timestamps: Float64Array;
565
+ endTimestamps: Float64Array;
566
+ } | {
567
+ type: 'dvbProgress';
568
+ count: number;
569
+ added: number;
570
+ partial: boolean;
571
+ metadata: WorkerSessionMetadata;
572
+ timestamps: Float64Array;
573
+ endTimestamps: Float64Array;
414
574
  } | {
415
575
  type: 'vobSubLoaded';
416
576
  count: number;
@@ -427,6 +587,10 @@ export type WorkerResponse = {
427
587
  type: 'pgsFrame';
428
588
  frame: FrameData | null;
429
589
  renderIssue?: string;
590
+ } | {
591
+ type: 'dvbFrame';
592
+ frame: FrameData | null;
593
+ renderIssue?: string;
430
594
  } | {
431
595
  type: 'vobSubFrame';
432
596
  frame: FrameData | null;
@@ -434,12 +598,18 @@ export type WorkerResponse = {
434
598
  } | {
435
599
  type: 'pgsIndex';
436
600
  index: number;
601
+ } | {
602
+ type: 'dvbIndex';
603
+ index: number;
437
604
  } | {
438
605
  type: 'vobSubIndex';
439
606
  index: number;
440
607
  } | {
441
608
  type: 'pgsTimestamps';
442
609
  timestamps: Float64Array;
610
+ } | {
611
+ type: 'dvbTimestamps';
612
+ timestamps: Float64Array;
443
613
  } | {
444
614
  type: 'vobSubTimestamps';
445
615
  timestamps: Float64Array;
@@ -449,6 +619,24 @@ export type WorkerResponse = {
449
619
  type: 'disposed';
450
620
  } | {
451
621
  type: 'debandSet';
622
+ } | {
623
+ type: 'offscreenAttached';
624
+ } | {
625
+ type: 'offscreenResized';
626
+ } | {
627
+ type: 'offscreenDetached';
628
+ } | {
629
+ type: 'offscreenCleared';
630
+ } | {
631
+ type: 'offscreenPresented';
632
+ status: WorkerOffscreenPresentStatus;
633
+ /** True only when the worker presentation infrastructure is unusable. */
634
+ fatal?: boolean;
635
+ renderIssue?: string;
636
+ width?: number;
637
+ height?: number;
638
+ compositionCount?: number;
639
+ bounds?: SubtitleCueBounds | null;
452
640
  } | {
453
641
  type: 'error';
454
642
  message: string;
@@ -465,6 +653,7 @@ export interface WorkerRendererState {
465
653
  cacheLimit: number;
466
654
  metadata: SubtitleParserMetadata | null;
467
655
  }
656
+ /** Source fields used by createAutoSubtitleRenderer(). */
468
657
  export interface AutoSubtitleSource {
469
658
  data?: ArrayBuffer | Uint8Array;
470
659
  subData?: ArrayBuffer | Uint8Array;
@@ -473,6 +662,7 @@ export interface AutoSubtitleSource {
473
662
  subUrl?: string;
474
663
  idxUrl?: string;
475
664
  }
665
+ /** Options for auto-detecting PGS/VobSub/DVB input. */
476
666
  export interface AutoVideoSubtitleOptions extends Omit<VideoVobSubOptions, 'subUrl' | 'idxUrl'> {
477
667
  subUrl?: string;
478
668
  idxUrl?: 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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"}
@@ -2,11 +2,13 @@
2
2
  * Utility functions for libbitsub.
3
3
  */
4
4
  import type { AutoSubtitleSource, FrameData, SubtitleCueBounds, SubtitleData, SubtitleFormatName, WorkerRendererState } from './types';
5
+ /** is Mks Source. */
5
6
  export declare function isMksSource(source: Pick<AutoSubtitleSource, 'data' | 'subData' | 'fileName' | 'subUrl'>): boolean;
6
7
  /** Binary search for timestamp index. */
7
8
  export declare function binarySearchTimestamp(timestamps: Float64Array, timeMs: number): number;
8
9
  /** Convert worker frame data to SubtitleData. */
9
10
  export declare function convertFrameData(frame: FrameData): SubtitleData;
11
+ /** trim Transparent Image Data. */
10
12
  export declare function trimTransparentImageData(pixels: Uint8Array | Uint8ClampedArray, width: number, height: number): {
11
13
  pixelData: ImageData;
12
14
  offsetX: number;
@@ -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;AA6NhB,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,qBAAqB;AACrB,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,mCAAmC;AACnC,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;
@@ -178,6 +263,7 @@ function looksLikeVobSubBinary(binary) {
178
263
  }
179
264
  return false;
180
265
  }
266
+ /** is Mks Source. */
181
267
  export function isMksSource(source) {
182
268
  const fileHint = [source.fileName, source.subUrl].find(Boolean)?.toLowerCase();
183
269
  if (fileHint?.endsWith('.mks'))
@@ -219,6 +305,7 @@ export function convertFrameData(frame) {
219
305
  });
220
306
  return { width: frame.width, height: frame.height, compositionData };
221
307
  }
308
+ /** trim Transparent Image Data. */
222
309
  export function trimTransparentImageData(pixels, width, height) {
223
310
  const clampedPixels = toClampedView(pixels);
224
311
  if (width <= 0 || height <= 0 || clampedPixels.length !== width * height * 4) {
@@ -331,24 +418,35 @@ export function createWorkerSessionId() {
331
418
  }
332
419
  /** Detect the subtitle format from binary content, filenames or URLs. */
333
420
  export function detectSubtitleFormat(source) {
421
+ // VobSub almost always ships with an .idx companion.
334
422
  if (source.idxContent || source.idxUrl)
335
423
  return 'vobsub';
336
424
  const fileHint = [source.fileName, source.subUrl].find(Boolean)?.toLowerCase();
337
- if (fileHint?.endsWith('.sub') || fileHint?.endsWith('.idx'))
425
+ if (fileHint?.endsWith('.idx'))
338
426
  return 'vobsub';
339
427
  if (fileHint?.endsWith('.mks'))
340
428
  return 'vobsub';
341
429
  if (fileHint?.endsWith('.sup') || fileHint?.endsWith('.pgs'))
342
430
  return 'pgs';
431
+ if (fileHint?.endsWith('.dvb'))
432
+ return 'dvb';
343
433
  const binary = toBinaryView(source.data ?? source.subData);
344
- if (!binary)
434
+ if (!binary) {
435
+ // Bare .sub without bytes cannot be distinguished; prefer VobSub historically.
436
+ if (fileHint?.endsWith('.sub'))
437
+ return 'vobsub';
345
438
  return null;
439
+ }
346
440
  if (looksLikePgsBinary(binary))
347
441
  return 'pgs';
442
+ if (looksLikeDvbBinary(binary))
443
+ return 'dvb';
348
444
  if (looksLikeMksBinary(binary))
349
445
  return 'vobsub';
350
446
  if (looksLikeVobSubBinary(binary))
351
447
  return 'vobsub';
448
+ if (fileHint?.endsWith('.sub'))
449
+ return 'vobsub';
352
450
  return null;
353
451
  }
354
452
  /** Create initial worker state. */