libbitsub 1.11.0 → 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.
- package/README.md +113 -16
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/integrations/react.d.ts.map +1 -1
- package/dist/integrations/react.js +7 -1
- package/dist/integrations/react.js.map +1 -1
- package/dist/integrations/shared.d.ts +2 -2
- package/dist/integrations/shared.d.ts.map +1 -1
- package/dist/integrations/shared.js.map +1 -1
- package/dist/ts/capabilities.d.ts +8 -0
- package/dist/ts/capabilities.d.ts.map +1 -0
- package/dist/ts/capabilities.js +105 -0
- package/dist/ts/capabilities.js.map +1 -0
- package/dist/ts/parsers.d.ts +39 -2
- package/dist/ts/parsers.d.ts.map +1 -1
- package/dist/ts/parsers.js +229 -1
- package/dist/ts/parsers.js.map +1 -1
- package/dist/ts/renderers.d.ts +128 -10
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +1341 -138
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +159 -6
- package/dist/ts/types.d.ts.map +1 -1
- package/dist/ts/utils.d.ts.map +1 -1
- package/dist/ts/utils.js +98 -2
- package/dist/ts/utils.js.map +1 -1
- package/dist/ts/video-frame-scheduler.d.ts +35 -0
- package/dist/ts/video-frame-scheduler.d.ts.map +1 -0
- package/dist/ts/video-frame-scheduler.js +98 -0
- package/dist/ts/video-frame-scheduler.js.map +1 -0
- package/dist/ts/worker.d.ts.map +1 -1
- package/dist/ts/worker.js +394 -0
- package/dist/ts/worker.js.map +1 -1
- package/dist/wrapper.d.ts +4 -3
- package/dist/wrapper.d.ts.map +1 -1
- package/dist/wrapper.js +3 -2
- package/dist/wrapper.js.map +1 -1
- package/package.json +3 -2
- package/pkg/README.md +113 -16
- package/pkg/libbitsub.d.ts +51 -1
- package/pkg/libbitsub.js +178 -3
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +21 -0
- package/pkg/package.json +4 -4
- package/src/integrations/react.tsx +7 -1
- package/src/integrations/shared.ts +2 -1
- package/src/wrapper.ts +22 -2
package/dist/ts/parsers.js
CHANGED
|
@@ -230,6 +230,206 @@ export class PgsParser {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Low-level DVB subtitle parser using WASM.
|
|
235
|
+
* Use this for programmatic access to DVB data without video integration.
|
|
236
|
+
*/
|
|
237
|
+
export class DvbParser {
|
|
238
|
+
parser = null;
|
|
239
|
+
timestamps = new Float64Array(0);
|
|
240
|
+
endTimestamps = new Float64Array(0);
|
|
241
|
+
cueMetadataCache = new Map();
|
|
242
|
+
debug;
|
|
243
|
+
onWarning;
|
|
244
|
+
constructor(options = {}) {
|
|
245
|
+
const wasm = getWasm();
|
|
246
|
+
this.parser = new wasm.DvbParser();
|
|
247
|
+
this.debug = Boolean(options.debug);
|
|
248
|
+
this.onWarning = options.onWarning;
|
|
249
|
+
}
|
|
250
|
+
load(data) {
|
|
251
|
+
try {
|
|
252
|
+
if (!this.parser)
|
|
253
|
+
throw new Error('Parser not initialized');
|
|
254
|
+
const count = this.parser.parse(data);
|
|
255
|
+
this.timestamps = this.parser.getTimestamps();
|
|
256
|
+
this.endTimestamps = this.parser.getEndTimestamps();
|
|
257
|
+
this.cueMetadataCache.clear();
|
|
258
|
+
return count;
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
throw normalizeSubtitleError(error, { format: 'dvb' });
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
reset() {
|
|
265
|
+
this.parser?.reset();
|
|
266
|
+
this.timestamps = new Float64Array(0);
|
|
267
|
+
this.endTimestamps = new Float64Array(0);
|
|
268
|
+
this.cueMetadataCache.clear();
|
|
269
|
+
}
|
|
270
|
+
feed(data) {
|
|
271
|
+
try {
|
|
272
|
+
if (!this.parser)
|
|
273
|
+
throw new Error('Parser not initialized');
|
|
274
|
+
const added = this.parser.feed(data);
|
|
275
|
+
if (added > 0 || this.timestamps.length !== this.parser.count) {
|
|
276
|
+
this.timestamps = this.parser.getTimestamps();
|
|
277
|
+
this.endTimestamps = this.parser.getEndTimestamps();
|
|
278
|
+
this.cueMetadataCache.clear();
|
|
279
|
+
}
|
|
280
|
+
return added;
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
throw normalizeSubtitleError(error, { format: 'dvb' });
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
finishFeed() {
|
|
287
|
+
try {
|
|
288
|
+
if (!this.parser)
|
|
289
|
+
throw new Error('Parser not initialized');
|
|
290
|
+
const previousCount = this.parser.count;
|
|
291
|
+
const count = this.parser.finishFeed();
|
|
292
|
+
this.timestamps = this.parser.getTimestamps();
|
|
293
|
+
this.endTimestamps = this.parser.getEndTimestamps();
|
|
294
|
+
if (count !== previousCount)
|
|
295
|
+
this.cueMetadataCache.clear();
|
|
296
|
+
return count;
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
throw normalizeSubtitleError(error, { format: 'dvb' });
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
get pendingLen() {
|
|
303
|
+
return this.parser?.pendingLen ?? 0;
|
|
304
|
+
}
|
|
305
|
+
getTimestamps() {
|
|
306
|
+
return this.timestamps;
|
|
307
|
+
}
|
|
308
|
+
getEndTimestamps() {
|
|
309
|
+
return this.endTimestamps;
|
|
310
|
+
}
|
|
311
|
+
get count() {
|
|
312
|
+
return this.parser?.count ?? 0;
|
|
313
|
+
}
|
|
314
|
+
findIndexAtTimestamp(timeSeconds) {
|
|
315
|
+
if (!this.parser)
|
|
316
|
+
return -1;
|
|
317
|
+
return this.parser.findIndexAtTimestamp(timeSeconds * 1000);
|
|
318
|
+
}
|
|
319
|
+
renderAtIndex(index) {
|
|
320
|
+
if (!this.parser)
|
|
321
|
+
return undefined;
|
|
322
|
+
const frame = this.parser.renderAtIndex(index);
|
|
323
|
+
if (!frame) {
|
|
324
|
+
const warning = warningFromRenderIssue(this.getLastRenderIssue(), { format: 'dvb', cueIndex: index });
|
|
325
|
+
if (warning)
|
|
326
|
+
this.emitWarning(warning);
|
|
327
|
+
return undefined;
|
|
328
|
+
}
|
|
329
|
+
return this.convertFrame(frame);
|
|
330
|
+
}
|
|
331
|
+
getLastRenderIssue() {
|
|
332
|
+
const issue = this.parser?.lastRenderIssue?.trim();
|
|
333
|
+
return issue ? issue : null;
|
|
334
|
+
}
|
|
335
|
+
getMetadata() {
|
|
336
|
+
return {
|
|
337
|
+
format: 'dvb',
|
|
338
|
+
cueCount: this.count,
|
|
339
|
+
screenWidth: this.parser?.screenWidth ?? 0,
|
|
340
|
+
screenHeight: this.parser?.screenHeight ?? 0
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
getCueMetadata(index) {
|
|
344
|
+
if (!this.parser || index < 0 || index >= this.count)
|
|
345
|
+
return null;
|
|
346
|
+
if (this.cueMetadataCache.has(index))
|
|
347
|
+
return this.cueMetadataCache.get(index) ?? null;
|
|
348
|
+
const startTime = this.parser.getCueStartTime(index);
|
|
349
|
+
const endTime = this.parser.getCueEndTime(index);
|
|
350
|
+
const frame = this.renderAtIndex(index);
|
|
351
|
+
const cueMetadata = {
|
|
352
|
+
index,
|
|
353
|
+
format: 'dvb',
|
|
354
|
+
startTime,
|
|
355
|
+
endTime,
|
|
356
|
+
duration: Math.max(0, endTime - startTime),
|
|
357
|
+
screenWidth: this.parser.screenWidth,
|
|
358
|
+
screenHeight: this.parser.screenHeight,
|
|
359
|
+
bounds: frame ? getSubtitleBounds(frame) : null,
|
|
360
|
+
compositionCount: this.parser.getCueCompositionCount(index),
|
|
361
|
+
compositionState: this.parser.getCuePageState(index)
|
|
362
|
+
};
|
|
363
|
+
this.cueMetadataCache.set(index, cueMetadata);
|
|
364
|
+
return cueMetadata;
|
|
365
|
+
}
|
|
366
|
+
renderAtTimestamp(timeSeconds) {
|
|
367
|
+
const index = this.findIndexAtTimestamp(timeSeconds);
|
|
368
|
+
if (index < 0)
|
|
369
|
+
return undefined;
|
|
370
|
+
return this.renderAtIndex(index);
|
|
371
|
+
}
|
|
372
|
+
renderFrameDataAtIndex(index, options = {}) {
|
|
373
|
+
const frame = this.renderAtIndex(index);
|
|
374
|
+
return frame ? (renderFrameData(frame, options) ?? undefined) : undefined;
|
|
375
|
+
}
|
|
376
|
+
renderFrameDataAtTimestamp(timeSeconds, options = {}) {
|
|
377
|
+
const frame = this.renderAtTimestamp(timeSeconds);
|
|
378
|
+
return frame ? (renderFrameData(frame, options) ?? undefined) : undefined;
|
|
379
|
+
}
|
|
380
|
+
convertFrame(frame) {
|
|
381
|
+
const compositionData = [];
|
|
382
|
+
for (let i = 0; i < frame.compositionCount; i++) {
|
|
383
|
+
const comp = frame.getComposition(i);
|
|
384
|
+
if (!comp)
|
|
385
|
+
continue;
|
|
386
|
+
const rgba = comp.getRgba();
|
|
387
|
+
const expectedLength = comp.width * comp.height * 4;
|
|
388
|
+
if (rgba.length !== expectedLength || comp.width === 0 || comp.height === 0) {
|
|
389
|
+
this.emitWarning(createSubtitleWarning('INVALID_FRAME_DATA', 'Invalid DVB composition buffer dimensions during frame conversion.', {
|
|
390
|
+
format: 'dvb',
|
|
391
|
+
details: {
|
|
392
|
+
expectedLength,
|
|
393
|
+
actualLength: rgba.length,
|
|
394
|
+
width: comp.width,
|
|
395
|
+
height: comp.height
|
|
396
|
+
}
|
|
397
|
+
}));
|
|
398
|
+
continue;
|
|
399
|
+
}
|
|
400
|
+
const trimmed = trimTransparentImageData(rgba, comp.width, comp.height);
|
|
401
|
+
if (!trimmed)
|
|
402
|
+
continue;
|
|
403
|
+
compositionData.push({
|
|
404
|
+
pixelData: trimmed.pixelData,
|
|
405
|
+
x: comp.x + trimmed.offsetX,
|
|
406
|
+
y: comp.y + trimmed.offsetY
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
return {
|
|
410
|
+
width: frame.width,
|
|
411
|
+
height: frame.height,
|
|
412
|
+
compositionData
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
clearCache() {
|
|
416
|
+
this.parser?.clearCache();
|
|
417
|
+
this.cueMetadataCache.clear();
|
|
418
|
+
}
|
|
419
|
+
dispose() {
|
|
420
|
+
this.parser?.free();
|
|
421
|
+
this.parser = null;
|
|
422
|
+
this.timestamps = new Float64Array(0);
|
|
423
|
+
this.endTimestamps = new Float64Array(0);
|
|
424
|
+
this.cueMetadataCache.clear();
|
|
425
|
+
}
|
|
426
|
+
emitWarning(warning) {
|
|
427
|
+
this.onWarning?.(warning);
|
|
428
|
+
if (this.debug && !this.onWarning) {
|
|
429
|
+
console.warn(formatSubtitleWarningForConsole(warning), warning.details ?? {});
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
233
433
|
/**
|
|
234
434
|
* Low-level VobSub subtitle parser using WASM.
|
|
235
435
|
* Use this for programmatic access to VobSub data without video integration.
|
|
@@ -515,7 +715,7 @@ export class VobSubParserLowLevel {
|
|
|
515
715
|
}
|
|
516
716
|
}
|
|
517
717
|
/**
|
|
518
|
-
* Unified subtitle parser that handles
|
|
718
|
+
* Unified subtitle parser that handles PGS, VobSub, and DVB formats.
|
|
519
719
|
*/
|
|
520
720
|
export class UnifiedSubtitleParser {
|
|
521
721
|
renderer = null;
|
|
@@ -545,6 +745,22 @@ export class UnifiedSubtitleParser {
|
|
|
545
745
|
throw normalizeSubtitleError(error, { format: 'pgs' });
|
|
546
746
|
}
|
|
547
747
|
}
|
|
748
|
+
/**
|
|
749
|
+
* Load DVB subtitle data (`"DV"` framed and/or MPEG PES).
|
|
750
|
+
*/
|
|
751
|
+
loadDvb(data) {
|
|
752
|
+
try {
|
|
753
|
+
if (!this.renderer)
|
|
754
|
+
throw new Error('Renderer not initialized');
|
|
755
|
+
const count = this.renderer.loadDvb(data);
|
|
756
|
+
this.timestamps = this.renderer.getTimestamps();
|
|
757
|
+
this.cueMetadataCache.clear();
|
|
758
|
+
return count;
|
|
759
|
+
}
|
|
760
|
+
catch (error) {
|
|
761
|
+
throw normalizeSubtitleError(error, { format: 'dvb' });
|
|
762
|
+
}
|
|
763
|
+
}
|
|
548
764
|
/**
|
|
549
765
|
* Load VobSub from IDX and SUB data.
|
|
550
766
|
*/
|
|
@@ -611,6 +827,16 @@ export class UnifiedSubtitleParser {
|
|
|
611
827
|
this.loadPgs(data instanceof Uint8Array ? data : new Uint8Array(data));
|
|
612
828
|
return 'pgs';
|
|
613
829
|
}
|
|
830
|
+
if (format === 'dvb') {
|
|
831
|
+
const data = source.data ?? source.subData;
|
|
832
|
+
if (!data) {
|
|
833
|
+
throw createSubtitleDiagnosticError('MISSING_INPUT', 'No binary subtitle data provided for DVB.', {
|
|
834
|
+
format: 'dvb'
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
this.loadDvb(data instanceof Uint8Array ? data : new Uint8Array(data));
|
|
838
|
+
return 'dvb';
|
|
839
|
+
}
|
|
614
840
|
const subBinary = source.subData ?? source.data;
|
|
615
841
|
if (!subBinary) {
|
|
616
842
|
throw createSubtitleDiagnosticError('MISSING_INPUT', 'No SUB binary data provided for VobSub.', {
|
|
@@ -638,6 +864,8 @@ export class UnifiedSubtitleParser {
|
|
|
638
864
|
return 'pgs';
|
|
639
865
|
if (fmt === 1)
|
|
640
866
|
return 'vobsub';
|
|
867
|
+
if (fmt === 2)
|
|
868
|
+
return 'dvb';
|
|
641
869
|
return null;
|
|
642
870
|
}
|
|
643
871
|
/**
|
package/dist/ts/parsers.js.map
CHANGED
|
@@ -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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"}
|
package/dist/ts/renderers.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
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 { AutoVideoSubtitleOptions, SubtitleCacheStats, SubtitleCueMetadata, SubtitleData, SubtitleDiagnosticWarning, SubtitleDisplaySettings, SubtitleLastRenderInfo, SubtitleParserMetadata, SubtitleRendererBackend, SubtitleRendererEvent, VideoSubtitleOptions, VideoVobSubOptions, WorkerRendererState } from './types';
|
|
5
|
+
import type { AutoVideoSubtitleOptions, LiveSubtitleRenderer, SubtitleCacheStats, SubtitleCueBounds, SubtitleCueMetadata, SubtitleData, SubtitleDiagnosticWarning, SubtitleDisplaySettings, SubtitleLastRenderInfo, SubtitleParserMetadata, SubtitleRendererBackend, SubtitleRendererEvent, SubtitleStreamChunk, SubtitleSynchronizationMode, VideoSubtitleOptions, VideoVobSubOptions, WorkerRendererState } from './types';
|
|
6
6
|
import { type AssetFetchProgress } from './range-loader';
|
|
7
7
|
import { WebGPURenderer } from './webgpu-renderer';
|
|
8
8
|
import { WebGL2Renderer } from './webgl2-renderer';
|
|
@@ -18,6 +18,12 @@ interface RenderFrameOutcome {
|
|
|
18
18
|
data: SubtitleData | null;
|
|
19
19
|
warning: SubtitleDiagnosticWarning | null;
|
|
20
20
|
}
|
|
21
|
+
interface OffscreenFrameMetadata {
|
|
22
|
+
width: number | null;
|
|
23
|
+
height: number | null;
|
|
24
|
+
bounds: SubtitleCueBounds | null;
|
|
25
|
+
compositionCount: number;
|
|
26
|
+
}
|
|
21
27
|
/** Performance statistics for subtitle renderer */
|
|
22
28
|
export interface SubtitleRendererStats {
|
|
23
29
|
/** Total frames rendered since initialization */
|
|
@@ -44,6 +50,8 @@ export interface SubtitleRendererStats {
|
|
|
44
50
|
totalEntries: number;
|
|
45
51
|
/** Current subtitle index being displayed */
|
|
46
52
|
currentIndex: number;
|
|
53
|
+
/** Active video synchronization clock */
|
|
54
|
+
syncMode: SubtitleSynchronizationMode;
|
|
47
55
|
}
|
|
48
56
|
/**
|
|
49
57
|
* Base class for video-integrated subtitle renderers.
|
|
@@ -51,12 +59,18 @@ export interface SubtitleRendererStats {
|
|
|
51
59
|
*/
|
|
52
60
|
declare abstract class BaseVideoSubtitleRenderer {
|
|
53
61
|
protected video: HTMLVideoElement;
|
|
54
|
-
protected readonly format: 'pgs' | 'vobsub';
|
|
62
|
+
protected readonly format: 'pgs' | 'vobsub' | 'dvb';
|
|
55
63
|
protected subUrl?: string;
|
|
56
64
|
protected subContent?: ArrayBuffer;
|
|
57
65
|
protected canvas: HTMLCanvasElement | null;
|
|
66
|
+
private readonly providedCanvas;
|
|
67
|
+
private readonly requestedContainer;
|
|
68
|
+
private overlayContainer;
|
|
69
|
+
private ownsCanvas;
|
|
70
|
+
private readonly devicePixelRatioCap;
|
|
71
|
+
private readonly backendOption;
|
|
58
72
|
protected ctx: CanvasRenderingContext2D | null;
|
|
59
|
-
|
|
73
|
+
private frameScheduler;
|
|
60
74
|
protected isLoaded: boolean;
|
|
61
75
|
protected lastRenderedIndex: number;
|
|
62
76
|
protected lastRenderedTime: number;
|
|
@@ -70,8 +84,7 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
70
84
|
protected parserMetadata: SubtitleParserMetadata | null;
|
|
71
85
|
/** Display settings for subtitle rendering */
|
|
72
86
|
protected displaySettings: SubtitleDisplaySettings;
|
|
73
|
-
|
|
74
|
-
timeOffset: number;
|
|
87
|
+
private _timeOffset;
|
|
75
88
|
protected cacheLimit: number;
|
|
76
89
|
protected prefetchBefore: number;
|
|
77
90
|
protected prefetchAfter: number;
|
|
@@ -84,12 +97,25 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
84
97
|
protected lastRenderInfo: SubtitleLastRenderInfo | null;
|
|
85
98
|
private loadedMetadataHandler;
|
|
86
99
|
private seekedHandler;
|
|
100
|
+
private initPromise;
|
|
87
101
|
protected webgpuRenderer: WebGPURenderer | null;
|
|
88
102
|
protected useWebGPU: boolean;
|
|
89
103
|
protected onWebGPUFallback?: () => void;
|
|
90
104
|
protected webgl2Renderer: WebGL2Renderer | null;
|
|
91
105
|
protected useWebGL2: boolean;
|
|
92
106
|
protected onWebGL2Fallback?: () => void;
|
|
107
|
+
protected readonly offscreenRenderOption: boolean;
|
|
108
|
+
protected readonly frameAwareSync: boolean;
|
|
109
|
+
protected pendingWorkerOffscreen: boolean;
|
|
110
|
+
protected useWorkerOffscreen: boolean;
|
|
111
|
+
protected canvasPixelWidth: number;
|
|
112
|
+
protected canvasPixelHeight: number;
|
|
113
|
+
private presentationToken;
|
|
114
|
+
private offscreenAttachPromise;
|
|
115
|
+
private offscreenTransferPending;
|
|
116
|
+
private offscreenFrameMetadata;
|
|
117
|
+
private lastSynchronizedTime;
|
|
118
|
+
private lastPresentedFrames;
|
|
93
119
|
protected perfStats: {
|
|
94
120
|
framesRendered: number;
|
|
95
121
|
framesDropped: number;
|
|
@@ -98,12 +124,15 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
98
124
|
fpsTimestamps: number[];
|
|
99
125
|
lastFrameTime: number;
|
|
100
126
|
};
|
|
101
|
-
constructor(options: VideoSubtitleOptions, format: 'pgs' | 'vobsub');
|
|
102
|
-
protected emitLoadProgress(format: 'pgs' | 'vobsub', progress: AssetFetchProgress, indexedCues: number): void;
|
|
103
|
-
protected emitIndexed(format: 'pgs' | 'vobsub', metadata: SubtitleParserMetadata, partial: boolean): void;
|
|
127
|
+
constructor(options: VideoSubtitleOptions, format: 'pgs' | 'vobsub' | 'dvb');
|
|
128
|
+
protected emitLoadProgress(format: 'pgs' | 'vobsub' | 'dvb', progress: AssetFetchProgress, indexedCues: number): void;
|
|
129
|
+
protected emitIndexed(format: 'pgs' | 'vobsub' | 'dvb', metadata: SubtitleParserMetadata, partial: boolean): void;
|
|
104
130
|
protected memoryProgress(byteLength: number): AssetFetchProgress;
|
|
105
131
|
/** Get current display settings */
|
|
106
132
|
getDisplaySettings(): SubtitleDisplaySettings;
|
|
133
|
+
/** Time offset in seconds added to the active video clock for subtitle lookup. */
|
|
134
|
+
get timeOffset(): number;
|
|
135
|
+
set timeOffset(value: number);
|
|
107
136
|
/** Get performance statistics */
|
|
108
137
|
abstract getStats(): SubtitleRendererStats;
|
|
109
138
|
/** Get cache-related diagnostics for the active renderer session. */
|
|
@@ -120,16 +149,39 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
120
149
|
getCacheLimit(): number;
|
|
121
150
|
/** Get base stats common to all renderers */
|
|
122
151
|
protected getBaseStats(): Omit<SubtitleRendererStats, 'usingWorker' | 'cachedFrames' | 'pendingRenders' | 'totalEntries'>;
|
|
152
|
+
/** Get the active video synchronization clock. */
|
|
153
|
+
getSynchronizationMode(): SubtitleSynchronizationMode;
|
|
123
154
|
/** Set display settings and force re-render */
|
|
124
155
|
setDisplaySettings(settings: Partial<SubtitleDisplaySettings>): void;
|
|
125
156
|
/** Reset display settings to defaults */
|
|
126
157
|
resetDisplaySettings(): void;
|
|
127
158
|
/** Start initialization. */
|
|
128
159
|
protected startInit(): void;
|
|
160
|
+
/** Wait for canvas, parser, and worker initialization before accepting pushed data. */
|
|
161
|
+
protected waitUntilInitialized(): Promise<void>;
|
|
162
|
+
/** Re-run cue selection after a live stream mutation. */
|
|
163
|
+
protected refreshStreamPresentation(): void;
|
|
164
|
+
/** Clear the currently presented cue after a live stream reset. */
|
|
165
|
+
protected clearStreamPresentation(): void;
|
|
129
166
|
/** Initialize the renderer. */
|
|
130
167
|
protected init(): Promise<void>;
|
|
168
|
+
protected shouldPreferWorkerOffscreen(): boolean;
|
|
169
|
+
protected isWorkerOffscreenPresent(): boolean;
|
|
170
|
+
private getDefaultContainer;
|
|
171
|
+
private getContainerElement;
|
|
172
|
+
private getCanvasParent;
|
|
173
|
+
private removeOwnedCanvas;
|
|
174
|
+
private mountOverlayCanvas;
|
|
175
|
+
private selectBackend;
|
|
131
176
|
/** Create the canvas overlay positioned over the video. */
|
|
132
177
|
protected createCanvas(): void;
|
|
178
|
+
private preferWorkerOffscreenOrCanvas2D;
|
|
179
|
+
protected ensureWorkerOffscreenAttached(): Promise<void>;
|
|
180
|
+
private attachWorkerOffscreen;
|
|
181
|
+
private recreateCanvasForMainThreadFallback;
|
|
182
|
+
private fallbackFromWorkerOffscreen;
|
|
183
|
+
protected getOffscreenFrameMetadata(index: number): OffscreenFrameMetadata | null;
|
|
184
|
+
protected clearOffscreenFrameMetadata(): void;
|
|
133
185
|
protected emitEvent(event: SubtitleRendererEvent): void;
|
|
134
186
|
protected emitWarning(warning: SubtitleDiagnosticWarning): void;
|
|
135
187
|
protected setParserMetadata(metadata: SubtitleParserMetadata | null): void;
|
|
@@ -146,6 +198,8 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
146
198
|
private initCanvas2D;
|
|
147
199
|
/** Called when video seeks. */
|
|
148
200
|
protected onSeek(): void;
|
|
201
|
+
private getDevicePixelRatio;
|
|
202
|
+
private getCanvasMountOffset;
|
|
149
203
|
/** Calculate the actual video content bounds, accounting for letterboxing/pillarboxing */
|
|
150
204
|
protected getVideoContentBounds(): {
|
|
151
205
|
x: number;
|
|
@@ -165,8 +219,18 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
165
219
|
protected abstract isPendingRender(index: number): boolean;
|
|
166
220
|
/** Start the render loop. */
|
|
167
221
|
protected startRenderLoop(): void;
|
|
222
|
+
protected renderPausedFrame(): void;
|
|
223
|
+
private renderSynchronizedFrame;
|
|
224
|
+
protected getCurrentSynchronizationTime(): number;
|
|
225
|
+
protected getPresentationToken(): number;
|
|
226
|
+
protected isCurrentPresentation(token: number): boolean;
|
|
227
|
+
protected invalidatePresentation(): void;
|
|
228
|
+
protected watchPendingRender(index: number, pending: Promise<SubtitleData | null>): void;
|
|
229
|
+
private recordRenderPerformance;
|
|
230
|
+
private recordOffscreenRenderCompletion;
|
|
168
231
|
/** Render a subtitle frame to the canvas. */
|
|
169
232
|
protected renderFrame(time: number, index: number): RenderFrameOutcome;
|
|
233
|
+
private renderFrameWorkerOffscreen;
|
|
170
234
|
protected computeLayout(data: SubtitleData): SubtitleRenderLayout;
|
|
171
235
|
/** Render using WebGPU. */
|
|
172
236
|
private renderFrameWebGPU;
|
|
@@ -181,15 +245,25 @@ declare abstract class BaseVideoSubtitleRenderer {
|
|
|
181
245
|
* High-level PGS subtitle renderer with Web Worker support.
|
|
182
246
|
* Compatible with the old libpgs-js API.
|
|
183
247
|
*/
|
|
184
|
-
export declare class PgsRenderer extends BaseVideoSubtitleRenderer {
|
|
248
|
+
export declare class PgsRenderer extends BaseVideoSubtitleRenderer implements LiveSubtitleRenderer {
|
|
185
249
|
private pgsParser;
|
|
186
250
|
private state;
|
|
251
|
+
private streamOperationQueue;
|
|
252
|
+
private streamGeneration;
|
|
187
253
|
private onLoading?;
|
|
188
254
|
private onLoaded?;
|
|
189
255
|
private onError?;
|
|
190
256
|
constructor(options: VideoSubtitleOptions);
|
|
191
257
|
protected loadSubtitles(): Promise<void>;
|
|
192
258
|
private applyPgsIndexState;
|
|
259
|
+
private beginPgsPushSession;
|
|
260
|
+
private enqueueStreamOperation;
|
|
261
|
+
/** Append a chunk to the active PGS stream and return the number of newly indexed cues. */
|
|
262
|
+
append(data: SubtitleStreamChunk): Promise<number>;
|
|
263
|
+
/** Flush incomplete trailing PGS input and return the total indexed cue count. */
|
|
264
|
+
flush(): Promise<number>;
|
|
265
|
+
/** Reset the PGS stream while keeping the renderer and canvas ready for more chunks. */
|
|
266
|
+
reset(): Promise<void>;
|
|
193
267
|
private loadPgsBuffer;
|
|
194
268
|
private loadPgsStreaming;
|
|
195
269
|
private loadOnMainThread;
|
|
@@ -259,7 +333,51 @@ export declare class VobSubRenderer extends BaseVideoSubtitleRenderer {
|
|
|
259
333
|
get debandEnabled(): boolean;
|
|
260
334
|
dispose(): void;
|
|
261
335
|
}
|
|
336
|
+
export declare class DvbRenderer extends BaseVideoSubtitleRenderer implements LiveSubtitleRenderer {
|
|
337
|
+
private dvbParser;
|
|
338
|
+
private endTimestamps;
|
|
339
|
+
private state;
|
|
340
|
+
private streamOperationQueue;
|
|
341
|
+
private streamGeneration;
|
|
342
|
+
private onLoading?;
|
|
343
|
+
private onLoaded?;
|
|
344
|
+
private onError?;
|
|
345
|
+
constructor(options: VideoSubtitleOptions);
|
|
346
|
+
protected loadSubtitles(): Promise<void>;
|
|
347
|
+
private applyDvbIndexState;
|
|
348
|
+
private beginDvbPushSession;
|
|
349
|
+
private enqueueStreamOperation;
|
|
350
|
+
/** Append a chunk to the active DVB stream and return the number of newly indexed cues. */
|
|
351
|
+
append(data: SubtitleStreamChunk): Promise<number>;
|
|
352
|
+
/** Flush incomplete trailing DVB input and return the total indexed cue count. */
|
|
353
|
+
flush(): Promise<number>;
|
|
354
|
+
/** Reset the DVB stream while keeping the renderer and canvas ready for more chunks. */
|
|
355
|
+
reset(): Promise<void>;
|
|
356
|
+
private loadDvbBuffer;
|
|
357
|
+
private loadDvbStreaming;
|
|
358
|
+
private loadOnMainThread;
|
|
359
|
+
protected getWorkerRendererState(): WorkerRendererState;
|
|
360
|
+
/** Yield to main thread to prevent UI blocking */
|
|
361
|
+
private yieldToMain;
|
|
362
|
+
protected renderAtTime(time: number): SubtitleData | undefined;
|
|
363
|
+
protected findCurrentIndex(time: number): number;
|
|
364
|
+
protected renderAtIndex(index: number): SubtitleData | undefined;
|
|
365
|
+
protected buildCueMetadata(index: number): SubtitleCueMetadata | null;
|
|
366
|
+
protected isPendingRender(index: number): boolean;
|
|
367
|
+
protected onSeek(): void;
|
|
368
|
+
setCacheLimit(limit: number): void;
|
|
369
|
+
clearFrameCache(): void;
|
|
370
|
+
prefetchRange(startIndex: number, endIndex: number): Promise<void>;
|
|
371
|
+
prefetchAroundTime(time: number, before?: number, after?: number): Promise<void>;
|
|
372
|
+
/** Get performance statistics for DVB renderer */
|
|
373
|
+
getStats(): SubtitleRendererStats;
|
|
374
|
+
dispose(): void;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* High-level VobSub subtitle renderer with Web Worker support.
|
|
378
|
+
* Compatible with the old libpgs-js API.
|
|
379
|
+
*/
|
|
262
380
|
/** Create a video subtitle renderer with automatic format detection. */
|
|
263
|
-
export declare function createAutoSubtitleRenderer(options: AutoVideoSubtitleOptions): PgsRenderer | VobSubRenderer;
|
|
381
|
+
export declare function createAutoSubtitleRenderer(options: AutoVideoSubtitleOptions): PgsRenderer | VobSubRenderer | DvbRenderer;
|
|
264
382
|
export {};
|
|
265
383
|
//# sourceMappingURL=renderers.d.ts.map
|