libbitsub 1.9.0 → 1.10.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 (42) hide show
  1. package/README.md +176 -8
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/ts/diagnostics.d.ts +35 -0
  7. package/dist/ts/diagnostics.d.ts.map +1 -0
  8. package/dist/ts/diagnostics.js +102 -0
  9. package/dist/ts/diagnostics.js.map +1 -0
  10. package/dist/ts/frame-export.d.ts +6 -0
  11. package/dist/ts/frame-export.d.ts.map +1 -0
  12. package/dist/ts/frame-export.js +235 -0
  13. package/dist/ts/frame-export.js.map +1 -0
  14. package/dist/ts/parsers.d.ts +44 -4
  15. package/dist/ts/parsers.d.ts.map +1 -1
  16. package/dist/ts/parsers.js +269 -56
  17. package/dist/ts/parsers.js.map +1 -1
  18. package/dist/ts/renderers.d.ts +19 -2
  19. package/dist/ts/renderers.d.ts.map +1 -1
  20. package/dist/ts/renderers.js +150 -27
  21. package/dist/ts/renderers.js.map +1 -1
  22. package/dist/ts/types.d.ts +110 -1
  23. package/dist/ts/types.d.ts.map +1 -1
  24. package/dist/ts/utils.d.ts +1 -1
  25. package/dist/ts/utils.d.ts.map +1 -1
  26. package/dist/ts/utils.js +8 -1
  27. package/dist/ts/utils.js.map +1 -1
  28. package/dist/ts/worker.d.ts.map +1 -1
  29. package/dist/ts/worker.js +6 -4
  30. package/dist/ts/worker.js.map +1 -1
  31. package/dist/wrapper.d.ts +4 -2
  32. package/dist/wrapper.d.ts.map +1 -1
  33. package/dist/wrapper.js +4 -1
  34. package/dist/wrapper.js.map +1 -1
  35. package/package.json +1 -1
  36. package/pkg/README.md +176 -8
  37. package/pkg/libbitsub.d.ts +15 -0
  38. package/pkg/libbitsub.js +48 -0
  39. package/pkg/libbitsub_bg.wasm +0 -0
  40. package/pkg/libbitsub_bg.wasm.d.ts +3 -0
  41. package/pkg/package.json +1 -1
  42. package/src/wrapper.ts +20 -1
@@ -2,6 +2,9 @@
2
2
  * Low-level subtitle parsers for libbitsub.
3
3
  * Use these for programmatic access to subtitle data without video integration.
4
4
  */
5
+ import { createSubtitleDiagnosticError, createSubtitleWarning, formatSubtitleWarningForConsole, normalizeSubtitleError, warningFromRenderIssue } from './diagnostics';
6
+ import { renderFrameData } from './frame-export';
7
+ import { initWasm } from './wasm';
5
8
  import { getWasm } from './wasm';
6
9
  import { detectSubtitleFormat, getSubtitleBounds, isMksSource, trimTransparentImageData } from './utils';
7
10
  /**
@@ -12,20 +15,29 @@ export class PgsParser {
12
15
  parser = null;
13
16
  timestamps = new Float64Array(0);
14
17
  cueMetadataCache = new Map();
15
- constructor() {
18
+ debug;
19
+ onWarning;
20
+ constructor(options = {}) {
16
21
  const wasm = getWasm();
17
22
  this.parser = new wasm.PgsParser();
23
+ this.debug = Boolean(options.debug);
24
+ this.onWarning = options.onWarning;
18
25
  }
19
26
  /**
20
27
  * Load PGS subtitle data from a Uint8Array.
21
28
  */
22
29
  load(data) {
23
- if (!this.parser)
24
- throw new Error('Parser not initialized');
25
- const count = this.parser.parse(data);
26
- this.timestamps = this.parser.getTimestamps();
27
- this.cueMetadataCache.clear();
28
- return count;
30
+ try {
31
+ if (!this.parser)
32
+ throw new Error('Parser not initialized');
33
+ const count = this.parser.parse(data);
34
+ this.timestamps = this.parser.getTimestamps();
35
+ this.cueMetadataCache.clear();
36
+ return count;
37
+ }
38
+ catch (error) {
39
+ throw normalizeSubtitleError(error, { format: 'pgs' });
40
+ }
29
41
  }
30
42
  /**
31
43
  * Get all timestamps in milliseconds.
@@ -54,10 +66,18 @@ export class PgsParser {
54
66
  if (!this.parser)
55
67
  return undefined;
56
68
  const frame = this.parser.renderAtIndex(index);
57
- if (!frame)
69
+ if (!frame) {
70
+ const warning = warningFromRenderIssue(this.getLastRenderIssue(), { format: 'pgs', cueIndex: index });
71
+ if (warning)
72
+ this.emitWarning(warning);
58
73
  return undefined;
74
+ }
59
75
  return this.convertFrame(frame);
60
76
  }
77
+ getLastRenderIssue() {
78
+ const issue = this.parser?.lastRenderIssue?.trim();
79
+ return issue ? issue : null;
80
+ }
61
81
  /** Get parser-level metadata. */
62
82
  getMetadata() {
63
83
  return {
@@ -101,6 +121,20 @@ export class PgsParser {
101
121
  return undefined;
102
122
  return this.renderAtIndex(index);
103
123
  }
124
+ /**
125
+ * Render flattened frame pixels at the given index.
126
+ */
127
+ renderFrameDataAtIndex(index, options = {}) {
128
+ const frame = this.renderAtIndex(index);
129
+ return frame ? renderFrameData(frame, options) ?? undefined : undefined;
130
+ }
131
+ /**
132
+ * Render flattened frame pixels at the given timestamp in seconds.
133
+ */
134
+ renderFrameDataAtTimestamp(timeSeconds, options = {}) {
135
+ const frame = this.renderAtTimestamp(timeSeconds);
136
+ return frame ? renderFrameData(frame, options) ?? undefined : undefined;
137
+ }
104
138
  /**
105
139
  * Convert WASM frame to SubtitleData.
106
140
  */
@@ -114,7 +148,15 @@ export class PgsParser {
114
148
  const expectedLength = comp.width * comp.height * 4;
115
149
  // Validate buffer size
116
150
  if (rgba.length !== expectedLength || comp.width === 0 || comp.height === 0) {
117
- console.warn(`Invalid composition data: expected ${expectedLength} bytes, got ${rgba.length}, size=${comp.width}x${comp.height}`);
151
+ this.emitWarning(createSubtitleWarning('INVALID_FRAME_DATA', 'Invalid PGS composition buffer dimensions during frame conversion.', {
152
+ format: 'pgs',
153
+ details: {
154
+ expectedLength,
155
+ actualLength: rgba.length,
156
+ width: comp.width,
157
+ height: comp.height
158
+ }
159
+ }));
118
160
  continue;
119
161
  }
120
162
  const trimmed = trimTransparentImageData(rgba, comp.width, comp.height);
@@ -149,6 +191,12 @@ export class PgsParser {
149
191
  this.timestamps = new Float64Array(0);
150
192
  this.cueMetadataCache.clear();
151
193
  }
194
+ emitWarning(warning) {
195
+ this.onWarning?.(warning);
196
+ if (this.debug && !this.onWarning) {
197
+ console.warn(formatSubtitleWarningForConsole(warning), warning.details ?? {});
198
+ }
199
+ }
152
200
  }
153
201
  /**
154
202
  * Low-level VobSub subtitle parser using WASM.
@@ -158,39 +206,63 @@ export class VobSubParserLowLevel {
158
206
  parser = null;
159
207
  timestamps = new Float64Array(0);
160
208
  cueMetadataCache = new Map();
161
- constructor() {
209
+ debug;
210
+ onWarning;
211
+ constructor(options = {}) {
162
212
  const wasm = getWasm();
163
213
  this.parser = new wasm.VobSubParser();
214
+ this.debug = Boolean(options.debug);
215
+ this.onWarning = options.onWarning;
164
216
  }
165
217
  /**
166
218
  * Load VobSub from IDX and SUB data.
167
219
  */
168
220
  loadFromData(idxContent, subData) {
169
- if (!this.parser)
170
- throw new Error('Parser not initialized');
171
- this.parser.loadFromData(idxContent, subData);
172
- this.timestamps = this.parser.getTimestamps();
173
- this.cueMetadataCache.clear();
221
+ try {
222
+ if (!this.parser)
223
+ throw new Error('Parser not initialized');
224
+ this.parser.loadFromData(idxContent, subData);
225
+ this.timestamps = this.parser.getTimestamps();
226
+ this.cueMetadataCache.clear();
227
+ if (this.timestamps.length === 0 && idxContent.trim().length > 0) {
228
+ throw createSubtitleDiagnosticError('BAD_IDX', 'IDX metadata did not yield any subtitle timestamps.', {
229
+ format: 'vobsub'
230
+ });
231
+ }
232
+ }
233
+ catch (error) {
234
+ throw normalizeSubtitleError(error, { format: 'vobsub', fallbackCode: 'BAD_IDX' });
235
+ }
174
236
  }
175
237
  /**
176
238
  * Load VobSub from SUB file only.
177
239
  */
178
240
  loadFromSubOnly(subData) {
179
- if (!this.parser)
180
- throw new Error('Parser not initialized');
181
- this.parser.loadFromSubOnly(subData);
182
- this.timestamps = this.parser.getTimestamps();
183
- this.cueMetadataCache.clear();
241
+ try {
242
+ if (!this.parser)
243
+ throw new Error('Parser not initialized');
244
+ this.parser.loadFromSubOnly(subData);
245
+ this.timestamps = this.parser.getTimestamps();
246
+ this.cueMetadataCache.clear();
247
+ }
248
+ catch (error) {
249
+ throw normalizeSubtitleError(error, { format: 'vobsub' });
250
+ }
184
251
  }
185
252
  /**
186
253
  * Load VobSub from an .mks Matroska subtitle container.
187
254
  */
188
255
  loadFromMks(mksData) {
189
- if (!this.parser)
190
- throw new Error('Parser not initialized');
191
- this.parser.loadFromMks(mksData);
192
- this.timestamps = this.parser.getTimestamps();
193
- this.cueMetadataCache.clear();
256
+ try {
257
+ if (!this.parser)
258
+ throw new Error('Parser not initialized');
259
+ this.parser.loadFromMks(mksData);
260
+ this.timestamps = this.parser.getTimestamps();
261
+ this.cueMetadataCache.clear();
262
+ }
263
+ catch (error) {
264
+ throw normalizeSubtitleError(error, { format: 'vobsub' });
265
+ }
194
266
  }
195
267
  /**
196
268
  * Get all timestamps in milliseconds.
@@ -219,10 +291,18 @@ export class VobSubParserLowLevel {
219
291
  if (!this.parser)
220
292
  return undefined;
221
293
  const frame = this.parser.renderAtIndex(index);
222
- if (!frame)
294
+ if (!frame) {
295
+ const warning = warningFromRenderIssue(this.getLastRenderIssue(), { format: 'vobsub', cueIndex: index });
296
+ if (warning)
297
+ this.emitWarning(warning);
223
298
  return undefined;
299
+ }
224
300
  return this.convertFrame(frame);
225
301
  }
302
+ getLastRenderIssue() {
303
+ const issue = this.parser?.lastRenderIssue?.trim();
304
+ return issue ? issue : null;
305
+ }
226
306
  /** Get parser-level metadata. */
227
307
  getMetadata() {
228
308
  return {
@@ -270,6 +350,20 @@ export class VobSubParserLowLevel {
270
350
  return undefined;
271
351
  return this.renderAtIndex(index);
272
352
  }
353
+ /**
354
+ * Render flattened frame pixels at the given index.
355
+ */
356
+ renderFrameDataAtIndex(index, options = {}) {
357
+ const frame = this.renderAtIndex(index);
358
+ return frame ? renderFrameData(frame, options) ?? undefined : undefined;
359
+ }
360
+ /**
361
+ * Render flattened frame pixels at the given timestamp in seconds.
362
+ */
363
+ renderFrameDataAtTimestamp(timeSeconds, options = {}) {
364
+ const frame = this.renderAtTimestamp(timeSeconds);
365
+ return frame ? renderFrameData(frame, options) ?? undefined : undefined;
366
+ }
273
367
  /**
274
368
  * Convert WASM frame to SubtitleData.
275
369
  */
@@ -278,7 +372,15 @@ export class VobSubParserLowLevel {
278
372
  const expectedLength = frame.width * frame.height * 4;
279
373
  // Validate buffer size
280
374
  if (rgba.length !== expectedLength || frame.width === 0 || frame.height === 0) {
281
- console.warn(`Invalid VobSub frame: expected ${expectedLength} bytes, got ${rgba.length}, size=${frame.width}x${frame.height}`);
375
+ this.emitWarning(createSubtitleWarning('INVALID_FRAME_DATA', 'Invalid VobSub frame buffer dimensions during frame conversion.', {
376
+ format: 'vobsub',
377
+ details: {
378
+ expectedLength,
379
+ actualLength: rgba.length,
380
+ width: frame.width,
381
+ height: frame.height
382
+ }
383
+ }));
282
384
  return {
283
385
  width: frame.screenWidth,
284
386
  height: frame.screenHeight,
@@ -345,6 +447,12 @@ export class VobSubParserLowLevel {
345
447
  this.timestamps = new Float64Array(0);
346
448
  this.cueMetadataCache.clear();
347
449
  }
450
+ emitWarning(warning) {
451
+ this.onWarning?.(warning);
452
+ if (this.debug && !this.onWarning) {
453
+ console.warn(formatSubtitleWarningForConsole(warning), warning.details ?? {});
454
+ }
455
+ }
348
456
  }
349
457
  /**
350
458
  * Unified subtitle parser that handles both PGS and VobSub formats.
@@ -353,67 +461,102 @@ export class UnifiedSubtitleParser {
353
461
  renderer = null;
354
462
  timestamps = new Float64Array(0);
355
463
  cueMetadataCache = new Map();
356
- constructor() {
464
+ debug;
465
+ onWarning;
466
+ constructor(options = {}) {
357
467
  const wasm = getWasm();
358
468
  this.renderer = new wasm.SubtitleRenderer();
469
+ this.debug = Boolean(options.debug);
470
+ this.onWarning = options.onWarning;
359
471
  }
360
472
  /**
361
473
  * Load PGS subtitle data.
362
474
  */
363
475
  loadPgs(data) {
364
- if (!this.renderer)
365
- throw new Error('Renderer not initialized');
366
- const count = this.renderer.loadPgs(data);
367
- this.timestamps = this.renderer.getTimestamps();
368
- this.cueMetadataCache.clear();
369
- return count;
476
+ try {
477
+ if (!this.renderer)
478
+ throw new Error('Renderer not initialized');
479
+ const count = this.renderer.loadPgs(data);
480
+ this.timestamps = this.renderer.getTimestamps();
481
+ this.cueMetadataCache.clear();
482
+ return count;
483
+ }
484
+ catch (error) {
485
+ throw normalizeSubtitleError(error, { format: 'pgs' });
486
+ }
370
487
  }
371
488
  /**
372
489
  * Load VobSub from IDX and SUB data.
373
490
  */
374
491
  loadVobSub(idxContent, subData) {
375
- if (!this.renderer)
376
- throw new Error('Renderer not initialized');
377
- this.renderer.loadVobSub(idxContent, subData);
378
- this.timestamps = this.renderer.getTimestamps();
379
- this.cueMetadataCache.clear();
492
+ try {
493
+ if (!this.renderer)
494
+ throw new Error('Renderer not initialized');
495
+ this.renderer.loadVobSub(idxContent, subData);
496
+ this.timestamps = this.renderer.getTimestamps();
497
+ this.cueMetadataCache.clear();
498
+ if (this.timestamps.length === 0 && idxContent.trim().length > 0) {
499
+ throw createSubtitleDiagnosticError('BAD_IDX', 'IDX metadata did not yield any subtitle timestamps.', {
500
+ format: 'vobsub'
501
+ });
502
+ }
503
+ }
504
+ catch (error) {
505
+ throw normalizeSubtitleError(error, { format: 'vobsub', fallbackCode: 'BAD_IDX' });
506
+ }
380
507
  }
381
508
  /**
382
509
  * Load VobSub from SUB file only.
383
510
  */
384
511
  loadVobSubOnly(subData) {
385
- if (!this.renderer)
386
- throw new Error('Renderer not initialized');
387
- this.renderer.loadVobSubOnly(subData);
388
- this.timestamps = this.renderer.getTimestamps();
389
- this.cueMetadataCache.clear();
512
+ try {
513
+ if (!this.renderer)
514
+ throw new Error('Renderer not initialized');
515
+ this.renderer.loadVobSubOnly(subData);
516
+ this.timestamps = this.renderer.getTimestamps();
517
+ this.cueMetadataCache.clear();
518
+ }
519
+ catch (error) {
520
+ throw normalizeSubtitleError(error, { format: 'vobsub' });
521
+ }
390
522
  }
391
523
  /**
392
524
  * Load VobSub from an .mks Matroska subtitle container.
393
525
  */
394
526
  loadVobSubMks(mksData) {
395
- if (!this.renderer)
396
- throw new Error('Renderer not initialized');
397
- this.renderer.loadVobSubMks(mksData);
398
- this.timestamps = this.renderer.getTimestamps();
399
- this.cueMetadataCache.clear();
527
+ try {
528
+ if (!this.renderer)
529
+ throw new Error('Renderer not initialized');
530
+ this.renderer.loadVobSubMks(mksData);
531
+ this.timestamps = this.renderer.getTimestamps();
532
+ this.cueMetadataCache.clear();
533
+ }
534
+ catch (error) {
535
+ throw normalizeSubtitleError(error, { format: 'vobsub' });
536
+ }
400
537
  }
401
538
  /** Load subtitle data with automatic format detection. */
402
539
  loadAuto(source) {
403
540
  const format = detectSubtitleFormat(source);
404
541
  if (!format) {
405
- throw new Error('Unable to detect subtitle format');
542
+ throw createSubtitleDiagnosticError('UNSUPPORTED_FORMAT', 'Unable to detect subtitle format.');
406
543
  }
407
544
  if (format === 'pgs') {
408
545
  const data = source.data ?? source.subData;
409
- if (!data)
410
- throw new Error('No binary subtitle data provided for PGS');
546
+ if (!data) {
547
+ throw createSubtitleDiagnosticError('MISSING_INPUT', 'No binary subtitle data provided for PGS.', {
548
+ format: 'pgs'
549
+ });
550
+ }
411
551
  this.loadPgs(data instanceof Uint8Array ? data : new Uint8Array(data));
412
552
  return 'pgs';
413
553
  }
414
554
  const subBinary = source.subData ?? source.data;
415
- if (!subBinary)
416
- throw new Error('No SUB binary data provided for VobSub');
555
+ if (!subBinary) {
556
+ throw createSubtitleDiagnosticError('MISSING_INPUT', 'No SUB binary data provided for VobSub.', {
557
+ format: 'vobsub'
558
+ });
559
+ }
417
560
  const subData = subBinary instanceof Uint8Array ? subBinary : new Uint8Array(subBinary);
418
561
  if (source.idxContent) {
419
562
  this.loadVobSub(source.idxContent, subData);
@@ -464,10 +607,18 @@ export class UnifiedSubtitleParser {
464
607
  if (!this.renderer)
465
608
  return undefined;
466
609
  const result = this.renderer.renderAtIndex(index);
467
- if (!result)
610
+ if (!result) {
611
+ const warning = warningFromRenderIssue(this.getLastRenderIssue(), { format: this.format ?? undefined, cueIndex: index });
612
+ if (warning)
613
+ this.emitWarning(warning);
468
614
  return undefined;
615
+ }
469
616
  return this.convertResult(result);
470
617
  }
618
+ getLastRenderIssue() {
619
+ const issue = this.renderer?.lastRenderIssue?.trim();
620
+ return issue ? issue : null;
621
+ }
471
622
  /** Get parser-level metadata. */
472
623
  getMetadata() {
473
624
  if (!this.renderer || !this.format)
@@ -518,6 +669,20 @@ export class UnifiedSubtitleParser {
518
669
  return undefined;
519
670
  return this.convertResult(result);
520
671
  }
672
+ /**
673
+ * Render flattened frame pixels at the given index.
674
+ */
675
+ renderFrameDataAtIndex(index, options = {}) {
676
+ const frame = this.renderAtIndex(index);
677
+ return frame ? renderFrameData(frame, options) ?? undefined : undefined;
678
+ }
679
+ /**
680
+ * Render flattened frame pixels at the given timestamp in seconds.
681
+ */
682
+ renderFrameDataAtTimestamp(timeSeconds, options = {}) {
683
+ const frame = this.renderAtTimestamp(timeSeconds);
684
+ return frame ? renderFrameData(frame, options) ?? undefined : undefined;
685
+ }
521
686
  /**
522
687
  * Convert WASM result to SubtitleData.
523
688
  */
@@ -540,7 +705,15 @@ export class UnifiedSubtitleParser {
540
705
  });
541
706
  }
542
707
  else if (width > 0 && height > 0) {
543
- console.warn(`Invalid unified result: expected ${expectedLength} bytes, got ${rgba.length}, size=${width}x${height}`);
708
+ this.emitWarning(createSubtitleWarning('INVALID_FRAME_DATA', 'Invalid unified subtitle render buffer dimensions during frame conversion.', {
709
+ format: this.format ?? undefined,
710
+ details: {
711
+ expectedLength,
712
+ actualLength: rgba.length,
713
+ width,
714
+ height
715
+ }
716
+ }));
544
717
  }
545
718
  }
546
719
  return {
@@ -566,5 +739,45 @@ export class UnifiedSubtitleParser {
566
739
  this.timestamps = new Float64Array(0);
567
740
  this.cueMetadataCache.clear();
568
741
  }
742
+ emitWarning(warning) {
743
+ this.onWarning?.(warning);
744
+ if (this.debug && !this.onWarning) {
745
+ console.warn(formatSubtitleWarningForConsole(warning), warning.details ?? {});
746
+ }
747
+ }
748
+ }
749
+ /**
750
+ * Open subtitle data with automatic format detection and return a normalized low-level handle.
751
+ */
752
+ export async function openSubtitles(source, options = {}) {
753
+ await initWasm();
754
+ const parser = new UnifiedSubtitleParser(options);
755
+ try {
756
+ const format = parser.loadAuto(source);
757
+ const metadata = parser.getMetadata();
758
+ if (!metadata) {
759
+ throw createSubtitleDiagnosticError('UNKNOWN', 'Subtitle source loaded without parser metadata.', {
760
+ format
761
+ });
762
+ }
763
+ const timestamps = parser.getTimestamps();
764
+ return {
765
+ format,
766
+ metadata,
767
+ timestamps,
768
+ renderAtIndex: (index) => parser.renderAtIndex(index),
769
+ renderAtTimestamp: (timeSeconds) => parser.renderAtTimestamp(timeSeconds),
770
+ renderFrameDataAtIndex: (index, renderOptions = {}) => parser.renderFrameDataAtIndex(index, renderOptions),
771
+ renderFrameDataAtTimestamp: (timeSeconds, renderOptions = {}) => parser.renderFrameDataAtTimestamp(timeSeconds, renderOptions),
772
+ getCueMetadata: (index) => parser.getCueMetadata(index),
773
+ getLastRenderIssue: () => parser.getLastRenderIssue(),
774
+ clearCache: () => parser.clearCache(),
775
+ dispose: () => parser.dispose()
776
+ };
777
+ }
778
+ catch (error) {
779
+ parser.dispose();
780
+ throw error;
781
+ }
569
782
  }
570
783
  //# sourceMappingURL=parsers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"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"}