libbitsub 1.5.1 → 1.7.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 (43) hide show
  1. package/README.md +262 -223
  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/parsers.d.ts +18 -1
  7. package/dist/ts/parsers.d.ts.map +1 -1
  8. package/dist/ts/parsers.js +151 -0
  9. package/dist/ts/parsers.js.map +1 -1
  10. package/dist/ts/renderers.d.ts +54 -4
  11. package/dist/ts/renderers.d.ts.map +1 -1
  12. package/dist/ts/renderers.js +457 -87
  13. package/dist/ts/renderers.js.map +1 -1
  14. package/dist/ts/types.d.ts +147 -3
  15. package/dist/ts/types.d.ts.map +1 -1
  16. package/dist/ts/utils.d.ts +11 -1
  17. package/dist/ts/utils.d.ts.map +1 -1
  18. package/dist/ts/utils.js +100 -1
  19. package/dist/ts/utils.js.map +1 -1
  20. package/dist/ts/wasm.js.map +1 -1
  21. package/dist/ts/webgl2-renderer.d.ts +57 -0
  22. package/dist/ts/webgl2-renderer.d.ts.map +1 -0
  23. package/dist/ts/webgl2-renderer.js +293 -0
  24. package/dist/ts/webgl2-renderer.js.map +1 -0
  25. package/dist/ts/webgpu-renderer.d.ts +5 -1
  26. package/dist/ts/webgpu-renderer.d.ts.map +1 -1
  27. package/dist/ts/webgpu-renderer.js +64 -45
  28. package/dist/ts/webgpu-renderer.js.map +1 -1
  29. package/dist/ts/worker.d.ts.map +1 -1
  30. package/dist/ts/worker.js +145 -87
  31. package/dist/ts/worker.js.map +1 -1
  32. package/dist/wrapper.d.ts +3 -2
  33. package/dist/wrapper.d.ts.map +1 -1
  34. package/dist/wrapper.js +3 -1
  35. package/dist/wrapper.js.map +1 -1
  36. package/package.json +3 -2
  37. package/pkg/README.md +262 -223
  38. package/pkg/libbitsub.d.ts +120 -0
  39. package/pkg/libbitsub.js +251 -15
  40. package/pkg/libbitsub_bg.wasm +0 -0
  41. package/pkg/libbitsub_bg.wasm.d.ts +24 -0
  42. package/pkg/package.json +1 -1
  43. package/src/wrapper.ts +14 -1
@@ -2,7 +2,7 @@
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 type { SubtitleData } from './types';
5
+ import type { AutoSubtitleSource, SubtitleData, SubtitleCueMetadata, SubtitleParserMetadata, SubtitleFormatName } from './types';
6
6
  /**
7
7
  * Low-level PGS subtitle parser using WASM.
8
8
  * Use this for programmatic access to PGS data without video integration.
@@ -10,6 +10,7 @@ import type { SubtitleData } from './types';
10
10
  export declare class PgsParser {
11
11
  private parser;
12
12
  private timestamps;
13
+ private cueMetadataCache;
13
14
  constructor();
14
15
  /**
15
16
  * Load PGS subtitle data from a Uint8Array.
@@ -31,6 +32,10 @@ export declare class PgsParser {
31
32
  * Render subtitle at the given index.
32
33
  */
33
34
  renderAtIndex(index: number): SubtitleData | undefined;
35
+ /** Get parser-level metadata. */
36
+ getMetadata(): SubtitleParserMetadata;
37
+ /** Get cue metadata for the given index. */
38
+ getCueMetadata(index: number): SubtitleCueMetadata | null;
34
39
  /**
35
40
  * Render subtitle at the given timestamp in seconds.
36
41
  */
@@ -55,6 +60,7 @@ export declare class PgsParser {
55
60
  export declare class VobSubParserLowLevel {
56
61
  private parser;
57
62
  private timestamps;
63
+ private cueMetadataCache;
58
64
  constructor();
59
65
  /**
60
66
  * Load VobSub from IDX and SUB data.
@@ -80,6 +86,10 @@ export declare class VobSubParserLowLevel {
80
86
  * Render subtitle at the given index.
81
87
  */
82
88
  renderAtIndex(index: number): SubtitleData | undefined;
89
+ /** Get parser-level metadata. */
90
+ getMetadata(): SubtitleParserMetadata;
91
+ /** Get cue metadata for the given index. */
92
+ getCueMetadata(index: number): SubtitleCueMetadata | null;
83
93
  /**
84
94
  * Render subtitle at the given timestamp in seconds.
85
95
  */
@@ -119,6 +129,7 @@ export declare class VobSubParserLowLevel {
119
129
  export declare class UnifiedSubtitleParser {
120
130
  private renderer;
121
131
  private timestamps;
132
+ private cueMetadataCache;
122
133
  constructor();
123
134
  /**
124
135
  * Load PGS subtitle data.
@@ -132,6 +143,8 @@ export declare class UnifiedSubtitleParser {
132
143
  * Load VobSub from SUB file only.
133
144
  */
134
145
  loadVobSubOnly(subData: Uint8Array): void;
146
+ /** Load subtitle data with automatic format detection. */
147
+ loadAuto(source: AutoSubtitleSource): SubtitleFormatName;
135
148
  /**
136
149
  * Get the current subtitle format.
137
150
  */
@@ -152,6 +165,10 @@ export declare class UnifiedSubtitleParser {
152
165
  * Render subtitle at the given index.
153
166
  */
154
167
  renderAtIndex(index: number): SubtitleData | undefined;
168
+ /** Get parser-level metadata. */
169
+ getMetadata(): SubtitleParserMetadata | null;
170
+ /** Get cue metadata for the given index. */
171
+ getCueMetadata(index: number): SubtitleCueMetadata | null;
155
172
  /**
156
173
  * Render subtitle at the given timestamp in seconds.
157
174
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EAQb,MAAM,SAAS,CAAA;AAGhB;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,UAAU,CAAoC;;IAOtD;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAO9B;;OAEG;IACH,aAAa,IAAI,YAAY;IAI7B;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAKjD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAStD;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAMhE;;OAEG;IACH,OAAO,CAAC,YAAY;IAsCpB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,UAAU,CAAoC;;IAOtD;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAM3D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAM1C;;OAEG;IACH,aAAa,IAAI,YAAY;IAI7B;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAKjD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAStD;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAMhE;;OAEG;IACH,OAAO,CAAC,YAAY;IAmCpB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,UAAU,CAAoC;;IAOtD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAOjC;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAMzD;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAMzC;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,GAAG,QAAQ,GAAG,IAAI,CAKpC;IAED;;OAEG;IACH,aAAa,IAAI,YAAY;IAI7B;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAKjD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAStD;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAShE;;OAEG;IACH,OAAO,CAAC,aAAa;IAkCrB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/ts/parsers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Use these for programmatic access to subtitle data without video integration.
4
4
  */
5
5
  import { getWasm } from './wasm';
6
+ import { detectSubtitleFormat, getSubtitleBounds } from './utils';
6
7
  /**
7
8
  * Low-level PGS subtitle parser using WASM.
8
9
  * Use this for programmatic access to PGS data without video integration.
@@ -10,6 +11,7 @@ import { getWasm } from './wasm';
10
11
  export class PgsParser {
11
12
  parser = null;
12
13
  timestamps = new Float64Array(0);
14
+ cueMetadataCache = new Map();
13
15
  constructor() {
14
16
  const wasm = getWasm();
15
17
  this.parser = new wasm.PgsParser();
@@ -22,6 +24,7 @@ export class PgsParser {
22
24
  throw new Error('Parser not initialized');
23
25
  const count = this.parser.parse(data);
24
26
  this.timestamps = this.parser.getTimestamps();
27
+ this.cueMetadataCache.clear();
25
28
  return count;
26
29
  }
27
30
  /**
@@ -55,6 +58,40 @@ export class PgsParser {
55
58
  return undefined;
56
59
  return this.convertFrame(frame);
57
60
  }
61
+ /** Get parser-level metadata. */
62
+ getMetadata() {
63
+ return {
64
+ format: 'pgs',
65
+ cueCount: this.count,
66
+ screenWidth: this.parser?.screenWidth ?? 0,
67
+ screenHeight: this.parser?.screenHeight ?? 0
68
+ };
69
+ }
70
+ /** Get cue metadata for the given index. */
71
+ getCueMetadata(index) {
72
+ if (!this.parser || index < 0 || index >= this.count)
73
+ return null;
74
+ if (this.cueMetadataCache.has(index))
75
+ return this.cueMetadataCache.get(index) ?? null;
76
+ const startTime = this.parser.getCueStartTime(index);
77
+ const endTime = this.parser.getCueEndTime(index);
78
+ const frame = this.renderAtIndex(index);
79
+ const cueMetadata = {
80
+ index,
81
+ format: 'pgs',
82
+ startTime,
83
+ endTime,
84
+ duration: Math.max(0, endTime - startTime),
85
+ screenWidth: this.parser.screenWidth,
86
+ screenHeight: this.parser.screenHeight,
87
+ bounds: frame ? getSubtitleBounds(frame) : null,
88
+ compositionCount: this.parser.getCueCompositionCount(index),
89
+ paletteId: this.parser.getCuePaletteId(index),
90
+ compositionState: this.parser.getCueCompositionState(index)
91
+ };
92
+ this.cueMetadataCache.set(index, cueMetadata);
93
+ return cueMetadata;
94
+ }
58
95
  /**
59
96
  * Render subtitle at the given timestamp in seconds.
60
97
  */
@@ -101,6 +138,7 @@ export class PgsParser {
101
138
  */
102
139
  clearCache() {
103
140
  this.parser?.clearCache();
141
+ this.cueMetadataCache.clear();
104
142
  }
105
143
  /**
106
144
  * Dispose of resources.
@@ -109,6 +147,7 @@ export class PgsParser {
109
147
  this.parser?.free();
110
148
  this.parser = null;
111
149
  this.timestamps = new Float64Array(0);
150
+ this.cueMetadataCache.clear();
112
151
  }
113
152
  }
114
153
  /**
@@ -118,6 +157,7 @@ export class PgsParser {
118
157
  export class VobSubParserLowLevel {
119
158
  parser = null;
120
159
  timestamps = new Float64Array(0);
160
+ cueMetadataCache = new Map();
121
161
  constructor() {
122
162
  const wasm = getWasm();
123
163
  this.parser = new wasm.VobSubParser();
@@ -130,6 +170,7 @@ export class VobSubParserLowLevel {
130
170
  throw new Error('Parser not initialized');
131
171
  this.parser.loadFromData(idxContent, subData);
132
172
  this.timestamps = this.parser.getTimestamps();
173
+ this.cueMetadataCache.clear();
133
174
  }
134
175
  /**
135
176
  * Load VobSub from SUB file only.
@@ -139,6 +180,7 @@ export class VobSubParserLowLevel {
139
180
  throw new Error('Parser not initialized');
140
181
  this.parser.loadFromSubOnly(subData);
141
182
  this.timestamps = this.parser.getTimestamps();
183
+ this.cueMetadataCache.clear();
142
184
  }
143
185
  /**
144
186
  * Get all timestamps in milliseconds.
@@ -171,6 +213,44 @@ export class VobSubParserLowLevel {
171
213
  return undefined;
172
214
  return this.convertFrame(frame);
173
215
  }
216
+ /** Get parser-level metadata. */
217
+ getMetadata() {
218
+ return {
219
+ format: 'vobsub',
220
+ cueCount: this.count,
221
+ screenWidth: this.parser?.screenWidth ?? 0,
222
+ screenHeight: this.parser?.screenHeight ?? 0,
223
+ language: this.parser?.language || null,
224
+ trackId: this.parser?.trackId || null,
225
+ hasIdxMetadata: this.parser?.hasIdxMetadata ?? false
226
+ };
227
+ }
228
+ /** Get cue metadata for the given index. */
229
+ getCueMetadata(index) {
230
+ if (!this.parser || index < 0 || index >= this.count)
231
+ return null;
232
+ if (this.cueMetadataCache.has(index))
233
+ return this.cueMetadataCache.get(index) ?? null;
234
+ const startTime = this.parser.getCueStartTime(index);
235
+ const endTime = this.parser.getCueEndTime(index);
236
+ const frame = this.renderAtIndex(index);
237
+ const cueMetadata = {
238
+ index,
239
+ format: 'vobsub',
240
+ startTime,
241
+ endTime,
242
+ duration: this.parser.getCueDuration(index),
243
+ screenWidth: this.parser.screenWidth,
244
+ screenHeight: this.parser.screenHeight,
245
+ bounds: frame ? getSubtitleBounds(frame) : null,
246
+ compositionCount: frame?.compositionData.length ?? 0,
247
+ language: this.parser.language || null,
248
+ trackId: this.parser.trackId || null,
249
+ filePosition: this.parser.getCueFilePosition(index)
250
+ };
251
+ this.cueMetadataCache.set(index, cueMetadata);
252
+ return cueMetadata;
253
+ }
174
254
  /**
175
255
  * Render subtitle at the given timestamp in seconds.
176
256
  */
@@ -216,6 +296,7 @@ export class VobSubParserLowLevel {
216
296
  */
217
297
  clearCache() {
218
298
  this.parser?.clearCache();
299
+ this.cueMetadataCache.clear();
219
300
  }
220
301
  /**
221
302
  * Enable or disable debanding filter.
@@ -248,6 +329,7 @@ export class VobSubParserLowLevel {
248
329
  this.parser?.free();
249
330
  this.parser = null;
250
331
  this.timestamps = new Float64Array(0);
332
+ this.cueMetadataCache.clear();
251
333
  }
252
334
  }
253
335
  /**
@@ -256,6 +338,7 @@ export class VobSubParserLowLevel {
256
338
  export class UnifiedSubtitleParser {
257
339
  renderer = null;
258
340
  timestamps = new Float64Array(0);
341
+ cueMetadataCache = new Map();
259
342
  constructor() {
260
343
  const wasm = getWasm();
261
344
  this.renderer = new wasm.SubtitleRenderer();
@@ -268,6 +351,7 @@ export class UnifiedSubtitleParser {
268
351
  throw new Error('Renderer not initialized');
269
352
  const count = this.renderer.loadPgs(data);
270
353
  this.timestamps = this.renderer.getTimestamps();
354
+ this.cueMetadataCache.clear();
271
355
  return count;
272
356
  }
273
357
  /**
@@ -278,6 +362,7 @@ export class UnifiedSubtitleParser {
278
362
  throw new Error('Renderer not initialized');
279
363
  this.renderer.loadVobSub(idxContent, subData);
280
364
  this.timestamps = this.renderer.getTimestamps();
365
+ this.cueMetadataCache.clear();
281
366
  }
282
367
  /**
283
368
  * Load VobSub from SUB file only.
@@ -287,6 +372,31 @@ export class UnifiedSubtitleParser {
287
372
  throw new Error('Renderer not initialized');
288
373
  this.renderer.loadVobSubOnly(subData);
289
374
  this.timestamps = this.renderer.getTimestamps();
375
+ this.cueMetadataCache.clear();
376
+ }
377
+ /** Load subtitle data with automatic format detection. */
378
+ loadAuto(source) {
379
+ const format = detectSubtitleFormat(source);
380
+ if (!format) {
381
+ throw new Error('Unable to detect subtitle format');
382
+ }
383
+ if (format === 'pgs') {
384
+ const data = source.data ?? source.subData;
385
+ if (!data)
386
+ throw new Error('No binary subtitle data provided for PGS');
387
+ this.loadPgs(data instanceof Uint8Array ? data : new Uint8Array(data));
388
+ return 'pgs';
389
+ }
390
+ const subBinary = source.subData ?? source.data;
391
+ if (!subBinary)
392
+ throw new Error('No SUB binary data provided for VobSub');
393
+ if (source.idxContent) {
394
+ this.loadVobSub(source.idxContent, subBinary instanceof Uint8Array ? subBinary : new Uint8Array(subBinary));
395
+ }
396
+ else {
397
+ this.loadVobSubOnly(subBinary instanceof Uint8Array ? subBinary : new Uint8Array(subBinary));
398
+ }
399
+ return 'vobsub';
290
400
  }
291
401
  /**
292
402
  * Get the current subtitle format.
@@ -330,6 +440,45 @@ export class UnifiedSubtitleParser {
330
440
  return undefined;
331
441
  return this.convertResult(result);
332
442
  }
443
+ /** Get parser-level metadata. */
444
+ getMetadata() {
445
+ if (!this.renderer || !this.format)
446
+ return null;
447
+ return {
448
+ format: this.format,
449
+ cueCount: this.count,
450
+ screenWidth: this.renderer.screenWidth,
451
+ screenHeight: this.renderer.screenHeight,
452
+ language: this.format === 'vobsub' ? this.renderer.language || null : null,
453
+ trackId: this.format === 'vobsub' ? this.renderer.trackId || null : null,
454
+ hasIdxMetadata: this.format === 'vobsub' ? this.renderer.hasIdxMetadata : undefined
455
+ };
456
+ }
457
+ /** Get cue metadata for the given index. */
458
+ getCueMetadata(index) {
459
+ if (!this.renderer || !this.format || index < 0 || index >= this.count)
460
+ return null;
461
+ if (this.cueMetadataCache.has(index))
462
+ return this.cueMetadataCache.get(index) ?? null;
463
+ const startTime = this.renderer.getCueStartTime(index);
464
+ const endTime = this.renderer.getCueEndTime(index);
465
+ const frame = this.renderAtIndex(index);
466
+ const cueMetadata = {
467
+ index,
468
+ format: this.format,
469
+ startTime,
470
+ endTime,
471
+ duration: this.renderer.getCueDuration(index),
472
+ screenWidth: this.renderer.screenWidth,
473
+ screenHeight: this.renderer.screenHeight,
474
+ bounds: frame ? getSubtitleBounds(frame) : null,
475
+ compositionCount: frame?.compositionData.length ?? 0,
476
+ language: this.format === 'vobsub' ? this.renderer.language || null : null,
477
+ trackId: this.format === 'vobsub' ? this.renderer.trackId || null : null
478
+ };
479
+ this.cueMetadataCache.set(index, cueMetadata);
480
+ return cueMetadata;
481
+ }
333
482
  /**
334
483
  * Render subtitle at the given timestamp in seconds.
335
484
  */
@@ -376,6 +525,7 @@ export class UnifiedSubtitleParser {
376
525
  */
377
526
  clearCache() {
378
527
  this.renderer?.clearCache();
528
+ this.cueMetadataCache.clear();
379
529
  }
380
530
  /**
381
531
  * Dispose of resources.
@@ -385,6 +535,7 @@ export class UnifiedSubtitleParser {
385
535
  this.renderer?.free();
386
536
  this.renderer = null;
387
537
  this.timestamps = new Float64Array(0);
538
+ this.cueMetadataCache.clear();
388
539
  }
389
540
  }
390
541
  //# 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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"}
@@ -2,8 +2,9 @@
2
2
  * High-level video-integrated subtitle renderers for libbitsub.
3
3
  * Handles canvas overlay, video sync, and subtitle fetching.
4
4
  */
5
- import type { SubtitleData, SubtitleDisplaySettings, VideoSubtitleOptions, VideoVobSubOptions } from './types';
5
+ import type { AutoVideoSubtitleOptions, SubtitleCueMetadata, SubtitleData, SubtitleDisplaySettings, SubtitleParserMetadata, SubtitleRendererBackend, SubtitleRendererEvent, VideoSubtitleOptions, VideoVobSubOptions } from './types';
6
6
  import { WebGPURenderer } from './webgpu-renderer';
7
+ import { WebGL2Renderer } from './webgl2-renderer';
7
8
  /** Performance statistics for subtitle renderer */
8
9
  export interface SubtitleRendererStats {
9
10
  /** Total frames rendered since initialization */
@@ -37,6 +38,7 @@ export interface SubtitleRendererStats {
37
38
  */
38
39
  declare abstract class BaseVideoSubtitleRenderer {
39
40
  protected video: HTMLVideoElement;
41
+ protected readonly format: 'pgs' | 'vobsub';
40
42
  protected subUrl?: string;
41
43
  protected subContent?: ArrayBuffer;
42
44
  protected canvas: HTMLCanvasElement | null;
@@ -50,12 +52,24 @@ declare abstract class BaseVideoSubtitleRenderer {
50
52
  protected tempCanvas: HTMLCanvasElement | null;
51
53
  protected tempCtx: CanvasRenderingContext2D | null;
52
54
  protected lastRenderedData: SubtitleData | null;
55
+ protected lastCueIndex: number | null;
56
+ protected currentCueMetadata: SubtitleCueMetadata | null;
57
+ protected parserMetadata: SubtitleParserMetadata | null;
53
58
  /** Display settings for subtitle rendering */
54
59
  protected displaySettings: SubtitleDisplaySettings;
60
+ protected cacheLimit: number;
61
+ protected prefetchBefore: number;
62
+ protected prefetchAfter: number;
63
+ protected onEvent?: (event: SubtitleRendererEvent) => void;
64
+ protected currentRendererBackend: SubtitleRendererBackend | null;
65
+ private loadedMetadataHandler;
66
+ private seekedHandler;
55
67
  protected webgpuRenderer: WebGPURenderer | null;
56
68
  protected useWebGPU: boolean;
57
- protected preferWebGPU: boolean;
58
69
  protected onWebGPUFallback?: () => void;
70
+ protected webgl2Renderer: WebGL2Renderer | null;
71
+ protected useWebGL2: boolean;
72
+ protected onWebGL2Fallback?: () => void;
59
73
  protected perfStats: {
60
74
  framesRendered: number;
61
75
  framesDropped: number;
@@ -64,11 +78,19 @@ declare abstract class BaseVideoSubtitleRenderer {
64
78
  fpsTimestamps: number[];
65
79
  lastFrameTime: number;
66
80
  };
67
- constructor(options: VideoSubtitleOptions);
81
+ constructor(options: VideoSubtitleOptions, format: 'pgs' | 'vobsub');
68
82
  /** Get current display settings */
69
83
  getDisplaySettings(): SubtitleDisplaySettings;
70
84
  /** Get performance statistics */
71
85
  abstract getStats(): SubtitleRendererStats;
86
+ /** Get parser metadata for the active subtitle track. */
87
+ getMetadata(): SubtitleParserMetadata | null;
88
+ /** Get the most recently displayed cue metadata. */
89
+ getCurrentCueMetadata(): SubtitleCueMetadata | null;
90
+ /** Get cue metadata for the specified index. */
91
+ getCueMetadata(index: number): SubtitleCueMetadata | null;
92
+ /** Get the configured frame-cache limit. */
93
+ getCacheLimit(): number;
72
94
  /** Get base stats common to all renderers */
73
95
  protected getBaseStats(): Omit<SubtitleRendererStats, 'usingWorker' | 'cachedFrames' | 'pendingRenders' | 'totalEntries'>;
74
96
  /** Set display settings and force re-render */
@@ -81,8 +103,14 @@ declare abstract class BaseVideoSubtitleRenderer {
81
103
  protected init(): Promise<void>;
82
104
  /** Create the canvas overlay positioned over the video. */
83
105
  protected createCanvas(): void;
84
- /** Initialize WebGPU renderer. */
106
+ protected emitEvent(event: SubtitleRendererEvent): void;
107
+ protected setParserMetadata(metadata: SubtitleParserMetadata | null): void;
108
+ protected emitWorkerState(enabled: boolean, ready: boolean, sessionId: string | null, fallback?: boolean): void;
109
+ protected emitCacheChange(cachedFrames: number, pendingRenders: number): void;
110
+ protected emitCueChange(cue: SubtitleCueMetadata | null): void;
111
+ protected emitRendererBackend(renderer: SubtitleRendererBackend): void;
85
112
  private initWebGPU;
113
+ private initWebGL2;
86
114
  /** Initialize Canvas2D renderer. */
87
115
  private initCanvas2D;
88
116
  /** Called when video seeks. */
@@ -100,14 +128,24 @@ declare abstract class BaseVideoSubtitleRenderer {
100
128
  protected abstract renderAtTime(time: number): SubtitleData | undefined;
101
129
  protected abstract findCurrentIndex(time: number): number;
102
130
  protected abstract renderAtIndex(index: number): SubtitleData | undefined;
131
+ protected abstract buildCueMetadata(index: number): SubtitleCueMetadata | null;
103
132
  /** Check if a render is pending for the given index (async loading in progress) */
104
133
  protected abstract isPendingRender(index: number): boolean;
105
134
  /** Start the render loop. */
106
135
  protected startRenderLoop(): void;
107
136
  /** Render a subtitle frame to the canvas. */
108
137
  protected renderFrame(time: number, index: number): void;
138
+ protected computeLayout(data: SubtitleData): {
139
+ scaleX: number;
140
+ scaleY: number;
141
+ shiftX: number;
142
+ shiftY: number;
143
+ opacity: number;
144
+ };
109
145
  /** Render using WebGPU. */
110
146
  private renderFrameWebGPU;
147
+ /** Render using WebGL2. */
148
+ private renderFrameWebGL2;
111
149
  /** Render using Canvas2D. */
112
150
  private renderFrameCanvas2D;
113
151
  /** Dispose of all resources. */
@@ -131,8 +169,13 @@ export declare class PgsRenderer extends BaseVideoSubtitleRenderer {
131
169
  protected renderAtTime(time: number): SubtitleData | undefined;
132
170
  protected findCurrentIndex(time: number): number;
133
171
  protected renderAtIndex(index: number): SubtitleData | undefined;
172
+ protected buildCueMetadata(index: number): SubtitleCueMetadata | null;
134
173
  protected isPendingRender(index: number): boolean;
135
174
  protected onSeek(): void;
175
+ setCacheLimit(limit: number): void;
176
+ clearFrameCache(): void;
177
+ prefetchRange(startIndex: number, endIndex: number): Promise<void>;
178
+ prefetchAroundTime(time: number, before?: number, after?: number): Promise<void>;
136
179
  /** Get performance statistics for PGS renderer */
137
180
  getStats(): SubtitleRendererStats;
138
181
  dispose(): void;
@@ -160,8 +203,13 @@ export declare class VobSubRenderer extends BaseVideoSubtitleRenderer {
160
203
  protected renderAtTime(time: number): SubtitleData | undefined;
161
204
  protected findCurrentIndex(time: number): number;
162
205
  protected renderAtIndex(index: number): SubtitleData | undefined;
206
+ protected buildCueMetadata(index: number): SubtitleCueMetadata | null;
163
207
  protected isPendingRender(index: number): boolean;
164
208
  protected onSeek(): void;
209
+ setCacheLimit(limit: number): void;
210
+ clearFrameCache(): void;
211
+ prefetchRange(startIndex: number, endIndex: number): Promise<void>;
212
+ prefetchAroundTime(time: number, before?: number, after?: number): Promise<void>;
165
213
  /** Get performance statistics for VobSub renderer */
166
214
  getStats(): SubtitleRendererStats;
167
215
  /** Enable or disable debanding filter */
@@ -174,5 +222,7 @@ export declare class VobSubRenderer extends BaseVideoSubtitleRenderer {
174
222
  get debandEnabled(): boolean;
175
223
  dispose(): void;
176
224
  }
225
+ /** Create a video subtitle renderer with automatic format detection. */
226
+ export declare function createAutoSubtitleRenderer(options: AutoVideoSubtitleOptions): PgsRenderer | VobSubRenderer;
177
227
  export {};
178
228
  //# sourceMappingURL=renderers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/ts/renderers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/ts/renderers.ts"],"names":[],"mappings":"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"}