libbitsub 1.9.0 → 1.10.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.
- package/README.md +192 -8
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/ts/diagnostics.d.ts +35 -0
- package/dist/ts/diagnostics.d.ts.map +1 -0
- package/dist/ts/diagnostics.js +102 -0
- package/dist/ts/diagnostics.js.map +1 -0
- package/dist/ts/frame-export.d.ts +6 -0
- package/dist/ts/frame-export.d.ts.map +1 -0
- package/dist/ts/frame-export.js +235 -0
- package/dist/ts/frame-export.js.map +1 -0
- package/dist/ts/parsers.d.ts +44 -4
- package/dist/ts/parsers.d.ts.map +1 -1
- package/dist/ts/parsers.js +269 -56
- package/dist/ts/parsers.js.map +1 -1
- package/dist/ts/renderers.d.ts +21 -2
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +150 -27
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +110 -1
- package/dist/ts/types.d.ts.map +1 -1
- package/dist/ts/utils.d.ts +1 -1
- package/dist/ts/utils.d.ts.map +1 -1
- package/dist/ts/utils.js +8 -1
- package/dist/ts/utils.js.map +1 -1
- package/dist/ts/worker.d.ts.map +1 -1
- package/dist/ts/worker.js +6 -4
- package/dist/ts/worker.js.map +1 -1
- package/dist/wrapper.d.ts +4 -2
- package/dist/wrapper.d.ts.map +1 -1
- package/dist/wrapper.js +4 -1
- package/dist/wrapper.js.map +1 -1
- package/package.json +9 -5
- package/pkg/README.md +192 -8
- package/pkg/libbitsub.d.ts +12 -220
- package/pkg/libbitsub.js +65 -118
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +7 -4
- package/pkg/package.json +2 -2
- package/src/wrapper.ts +20 -1
package/pkg/libbitsub.d.ts
CHANGED
|
@@ -7,63 +7,20 @@
|
|
|
7
7
|
export class PgsParser {
|
|
8
8
|
free(): void;
|
|
9
9
|
[Symbol.dispose](): void;
|
|
10
|
-
/**
|
|
11
|
-
* Clear the internal cache.
|
|
12
|
-
*/
|
|
13
10
|
clearCache(): void;
|
|
14
|
-
/**
|
|
15
|
-
* Find the display set index for a given timestamp in milliseconds.
|
|
16
|
-
*/
|
|
17
11
|
findIndexAtTimestamp(time_ms: number): number;
|
|
18
|
-
/**
|
|
19
|
-
* Get the number of composition objects in a cue.
|
|
20
|
-
*/
|
|
21
12
|
getCueCompositionCount(index: number): number;
|
|
22
|
-
/**
|
|
23
|
-
* Get the cue composition state.
|
|
24
|
-
*/
|
|
25
13
|
getCueCompositionState(index: number): number;
|
|
26
|
-
/**
|
|
27
|
-
* Get the cue end time in milliseconds.
|
|
28
|
-
*/
|
|
29
14
|
getCueEndTime(index: number): number;
|
|
30
|
-
/**
|
|
31
|
-
* Get the cue palette ID.
|
|
32
|
-
*/
|
|
33
15
|
getCuePaletteId(index: number): number;
|
|
34
|
-
/**
|
|
35
|
-
* Get the cue start time in milliseconds.
|
|
36
|
-
*/
|
|
37
16
|
getCueStartTime(index: number): number;
|
|
38
|
-
/**
|
|
39
|
-
* Get all timestamps in milliseconds as a Float64Array.
|
|
40
|
-
*/
|
|
41
17
|
getTimestamps(): Float64Array;
|
|
42
|
-
/**
|
|
43
|
-
* Create a new PGS parser.
|
|
44
|
-
*/
|
|
45
18
|
constructor();
|
|
46
|
-
/**
|
|
47
|
-
* Parse a PGS file from binary data.
|
|
48
|
-
* Returns the number of display sets parsed.
|
|
49
|
-
*/
|
|
50
19
|
parse(data: Uint8Array): number;
|
|
51
|
-
/**
|
|
52
|
-
* Render subtitle at the given index and return RGBA data.
|
|
53
|
-
* Returns null if index is invalid or no subtitle data.
|
|
54
|
-
*/
|
|
55
20
|
renderAtIndex(index: number): SubtitleFrame | undefined;
|
|
56
|
-
/**
|
|
57
|
-
* Get the number of display sets.
|
|
58
|
-
*/
|
|
59
21
|
readonly count: number;
|
|
60
|
-
|
|
61
|
-
* Get the presentation height for this subtitle track.
|
|
62
|
-
*/
|
|
22
|
+
readonly lastRenderIssue: string;
|
|
63
23
|
readonly screenHeight: number;
|
|
64
|
-
/**
|
|
65
|
-
* Get the presentation width for this subtitle track.
|
|
66
|
-
*/
|
|
67
24
|
readonly screenWidth: number;
|
|
68
25
|
}
|
|
69
26
|
|
|
@@ -74,44 +31,23 @@ export class RenderResult {
|
|
|
74
31
|
private constructor();
|
|
75
32
|
free(): void;
|
|
76
33
|
[Symbol.dispose](): void;
|
|
77
|
-
/**
|
|
78
|
-
* Get composition height at index.
|
|
79
|
-
*/
|
|
80
34
|
getCompositionHeight(index: number): number;
|
|
81
|
-
/**
|
|
82
|
-
* Get composition RGBA data at index.
|
|
83
|
-
*/
|
|
84
35
|
getCompositionRgba(index: number): Uint8Array;
|
|
85
|
-
/**
|
|
86
|
-
* Get composition width at index.
|
|
87
|
-
*/
|
|
88
36
|
getCompositionWidth(index: number): number;
|
|
89
|
-
/**
|
|
90
|
-
* Get composition X position at index.
|
|
91
|
-
*/
|
|
92
37
|
getCompositionX(index: number): number;
|
|
93
|
-
/**
|
|
94
|
-
* Get composition Y position at index.
|
|
95
|
-
*/
|
|
96
38
|
getCompositionY(index: number): number;
|
|
97
|
-
/**
|
|
98
|
-
* Get the number of composition elements.
|
|
99
|
-
*/
|
|
100
39
|
readonly compositionCount: number;
|
|
101
40
|
readonly screenHeight: number;
|
|
102
41
|
readonly screenWidth: number;
|
|
103
42
|
}
|
|
104
43
|
|
|
105
44
|
/**
|
|
106
|
-
* A single subtitle composition element.
|
|
45
|
+
* A single PGS subtitle composition element.
|
|
107
46
|
*/
|
|
108
47
|
export class SubtitleComposition {
|
|
109
48
|
private constructor();
|
|
110
49
|
free(): void;
|
|
111
50
|
[Symbol.dispose](): void;
|
|
112
|
-
/**
|
|
113
|
-
* Get RGBA pixel data as Uint8Array.
|
|
114
|
-
*/
|
|
115
51
|
getRgba(): Uint8Array;
|
|
116
52
|
readonly height: number;
|
|
117
53
|
readonly width: number;
|
|
@@ -123,30 +59,18 @@ export class SubtitleComposition {
|
|
|
123
59
|
* Subtitle format type.
|
|
124
60
|
*/
|
|
125
61
|
export enum SubtitleFormat {
|
|
126
|
-
/**
|
|
127
|
-
* PGS (Blu-ray) subtitle format
|
|
128
|
-
*/
|
|
129
62
|
Pgs = 0,
|
|
130
|
-
/**
|
|
131
|
-
* VobSub (DVD) subtitle format
|
|
132
|
-
*/
|
|
133
63
|
VobSub = 1,
|
|
134
64
|
}
|
|
135
65
|
|
|
136
66
|
/**
|
|
137
|
-
* A complete subtitle frame with all compositions.
|
|
67
|
+
* A complete PGS subtitle frame with all compositions.
|
|
138
68
|
*/
|
|
139
69
|
export class SubtitleFrame {
|
|
140
70
|
private constructor();
|
|
141
71
|
free(): void;
|
|
142
72
|
[Symbol.dispose](): void;
|
|
143
|
-
/**
|
|
144
|
-
* Get a composition by index.
|
|
145
|
-
*/
|
|
146
73
|
getComposition(index: number): SubtitleComposition | undefined;
|
|
147
|
-
/**
|
|
148
|
-
* Get the number of compositions.
|
|
149
|
-
*/
|
|
150
74
|
readonly compositionCount: number;
|
|
151
75
|
readonly height: number;
|
|
152
76
|
readonly width: number;
|
|
@@ -158,90 +82,27 @@ export class SubtitleFrame {
|
|
|
158
82
|
export class SubtitleRenderer {
|
|
159
83
|
free(): void;
|
|
160
84
|
[Symbol.dispose](): void;
|
|
161
|
-
/**
|
|
162
|
-
* Clear internal caches.
|
|
163
|
-
*/
|
|
164
85
|
clearCache(): void;
|
|
165
|
-
/**
|
|
166
|
-
* Dispose of all resources.
|
|
167
|
-
*/
|
|
168
86
|
dispose(): void;
|
|
169
|
-
/**
|
|
170
|
-
* Find the subtitle index for a given timestamp in milliseconds.
|
|
171
|
-
*/
|
|
172
87
|
findIndexAtTimestamp(time_ms: number): number;
|
|
173
|
-
/**
|
|
174
|
-
* Get the cue duration in milliseconds.
|
|
175
|
-
*/
|
|
176
88
|
getCueDuration(index: number): number;
|
|
177
|
-
/**
|
|
178
|
-
* Get the cue end time in milliseconds.
|
|
179
|
-
*/
|
|
180
89
|
getCueEndTime(index: number): number;
|
|
181
|
-
/**
|
|
182
|
-
* Get the cue start time in milliseconds.
|
|
183
|
-
*/
|
|
184
90
|
getCueStartTime(index: number): number;
|
|
185
|
-
/**
|
|
186
|
-
* Get all timestamps in milliseconds.
|
|
187
|
-
*/
|
|
188
91
|
getTimestamps(): Float64Array;
|
|
189
|
-
/**
|
|
190
|
-
* Load PGS subtitle data.
|
|
191
|
-
*/
|
|
192
92
|
loadPgs(data: Uint8Array): number;
|
|
193
|
-
/**
|
|
194
|
-
* Load VobSub subtitle data from IDX and SUB.
|
|
195
|
-
*/
|
|
196
93
|
loadVobSub(idx_content: string, sub_data: Uint8Array): void;
|
|
197
|
-
/**
|
|
198
|
-
* Load VobSub subtitle data from a Matroska subtitle container.
|
|
199
|
-
*/
|
|
200
94
|
loadVobSubMks(mks_data: Uint8Array): void;
|
|
201
|
-
/**
|
|
202
|
-
* Load VobSub from SUB file only.
|
|
203
|
-
*/
|
|
204
95
|
loadVobSubOnly(sub_data: Uint8Array): void;
|
|
205
|
-
/**
|
|
206
|
-
* Create a new subtitle renderer.
|
|
207
|
-
*/
|
|
208
96
|
constructor();
|
|
209
|
-
/**
|
|
210
|
-
* Render subtitle at the given index.
|
|
211
|
-
* Returns a unified RenderResult or null.
|
|
212
|
-
*/
|
|
213
97
|
renderAtIndex(index: number): RenderResult | undefined;
|
|
214
|
-
/**
|
|
215
|
-
* Render subtitle at the given timestamp in seconds.
|
|
216
|
-
*/
|
|
217
98
|
renderAtTimestamp(time_seconds: number): RenderResult | undefined;
|
|
218
|
-
/**
|
|
219
|
-
* Get the number of subtitle entries.
|
|
220
|
-
*/
|
|
221
99
|
readonly count: number;
|
|
222
|
-
/**
|
|
223
|
-
* Get the current subtitle format.
|
|
224
|
-
*/
|
|
225
100
|
readonly format: SubtitleFormat | undefined;
|
|
226
|
-
/**
|
|
227
|
-
* Check whether IDX metadata was used for VobSub.
|
|
228
|
-
*/
|
|
229
101
|
readonly hasIdxMetadata: boolean;
|
|
230
|
-
/**
|
|
231
|
-
* Get the VobSub language code if available.
|
|
232
|
-
*/
|
|
233
102
|
readonly language: string;
|
|
234
|
-
|
|
235
|
-
* Get the presentation height for the loaded subtitle track.
|
|
236
|
-
*/
|
|
103
|
+
readonly lastRenderIssue: string;
|
|
237
104
|
readonly screenHeight: number;
|
|
238
|
-
/**
|
|
239
|
-
* Get the presentation width for the loaded subtitle track.
|
|
240
|
-
*/
|
|
241
105
|
readonly screenWidth: number;
|
|
242
|
-
/**
|
|
243
|
-
* Get the VobSub track ID if available.
|
|
244
|
-
*/
|
|
245
106
|
readonly trackId: string;
|
|
246
107
|
}
|
|
247
108
|
|
|
@@ -252,9 +113,6 @@ export class VobSubFrame {
|
|
|
252
113
|
private constructor();
|
|
253
114
|
free(): void;
|
|
254
115
|
[Symbol.dispose](): void;
|
|
255
|
-
/**
|
|
256
|
-
* Get RGBA pixel data as Uint8Array.
|
|
257
|
-
*/
|
|
258
116
|
getRgba(): Uint8Array;
|
|
259
117
|
readonly height: number;
|
|
260
118
|
readonly screenHeight: number;
|
|
@@ -270,98 +128,29 @@ export class VobSubFrame {
|
|
|
270
128
|
export class VobSubParser {
|
|
271
129
|
free(): void;
|
|
272
130
|
[Symbol.dispose](): void;
|
|
273
|
-
/**
|
|
274
|
-
* Clear the internal cache.
|
|
275
|
-
*/
|
|
276
131
|
clearCache(): void;
|
|
277
|
-
/**
|
|
278
|
-
* Dispose of all resources.
|
|
279
|
-
*/
|
|
280
132
|
dispose(): void;
|
|
281
|
-
/**
|
|
282
|
-
* Find the subtitle index for a given timestamp in milliseconds.
|
|
283
|
-
* Returns -1 if no subtitle should be displayed at this time.
|
|
284
|
-
*/
|
|
285
133
|
findIndexAtTimestamp(time_ms: number): number;
|
|
286
|
-
/**
|
|
287
|
-
* Get the cue duration in milliseconds.
|
|
288
|
-
*/
|
|
289
134
|
getCueDuration(index: number): number;
|
|
290
|
-
/**
|
|
291
|
-
* Get the cue end time in milliseconds.
|
|
292
|
-
*/
|
|
293
135
|
getCueEndTime(index: number): number;
|
|
294
|
-
/**
|
|
295
|
-
* Get the cue file position in the SUB file.
|
|
296
|
-
*/
|
|
297
136
|
getCueFilePosition(index: number): number;
|
|
298
|
-
/**
|
|
299
|
-
* Get the cue start time in milliseconds.
|
|
300
|
-
*/
|
|
301
137
|
getCueStartTime(index: number): number;
|
|
302
|
-
/**
|
|
303
|
-
* Get all timestamps in milliseconds as a Float64Array.
|
|
304
|
-
*/
|
|
305
138
|
getTimestamps(): Float64Array;
|
|
306
|
-
/**
|
|
307
|
-
* Load VobSub from IDX content and SUB data.
|
|
308
|
-
*/
|
|
309
139
|
loadFromData(idx_content: string, sub_data: Uint8Array): void;
|
|
310
|
-
/**
|
|
311
|
-
* Load VobSub from a Matroska subtitle container with embedded S_VOBSUB tracks.
|
|
312
|
-
*/
|
|
313
140
|
loadFromMks(mks_data: Uint8Array): void;
|
|
314
|
-
/**
|
|
315
|
-
* Load VobSub from SUB file only (scans for timestamps).
|
|
316
|
-
*/
|
|
317
141
|
loadFromSubOnly(sub_data: Uint8Array): void;
|
|
318
|
-
/**
|
|
319
|
-
* Create a new VobSub parser.
|
|
320
|
-
*/
|
|
321
142
|
constructor();
|
|
322
|
-
/**
|
|
323
|
-
* Render subtitle at the given index and return RGBA data.
|
|
324
|
-
*/
|
|
325
143
|
renderAtIndex(index: number): VobSubFrame | undefined;
|
|
326
|
-
/**
|
|
327
|
-
* Enable or disable debanding.
|
|
328
|
-
*/
|
|
329
144
|
setDebandEnabled(enabled: boolean): void;
|
|
330
|
-
/**
|
|
331
|
-
* Set the deband sample range in pixels (default: 15).
|
|
332
|
-
*/
|
|
333
145
|
setDebandRange(range: number): void;
|
|
334
|
-
/**
|
|
335
|
-
* Set the deband threshold (0.0-255.0, default: 64.0).
|
|
336
|
-
*/
|
|
337
146
|
setDebandThreshold(threshold: number): void;
|
|
338
|
-
/**
|
|
339
|
-
* Get the number of subtitle entries.
|
|
340
|
-
*/
|
|
341
147
|
readonly count: number;
|
|
342
|
-
/**
|
|
343
|
-
* Check if debanding is enabled.
|
|
344
|
-
*/
|
|
345
148
|
readonly debandEnabled: boolean;
|
|
346
|
-
/**
|
|
347
|
-
* Check whether IDX metadata was used to load the parser.
|
|
348
|
-
*/
|
|
349
149
|
readonly hasIdxMetadata: boolean;
|
|
350
|
-
/**
|
|
351
|
-
* Get the declared language code from IDX metadata.
|
|
352
|
-
*/
|
|
353
150
|
readonly language: string;
|
|
354
|
-
|
|
355
|
-
* Get the presentation height for this subtitle track.
|
|
356
|
-
*/
|
|
151
|
+
readonly lastRenderIssue: string;
|
|
357
152
|
readonly screenHeight: number;
|
|
358
|
-
/**
|
|
359
|
-
* Get the presentation width for this subtitle track.
|
|
360
|
-
*/
|
|
361
153
|
readonly screenWidth: number;
|
|
362
|
-
/**
|
|
363
|
-
* Get the declared subtitle track ID from IDX metadata.
|
|
364
|
-
*/
|
|
365
154
|
readonly trackId: string;
|
|
366
155
|
}
|
|
367
156
|
|
|
@@ -377,6 +166,7 @@ export interface InitOutput {
|
|
|
377
166
|
readonly __wbg_pgsparser_free: (a: number, b: number) => void;
|
|
378
167
|
readonly __wbg_renderresult_free: (a: number, b: number) => void;
|
|
379
168
|
readonly __wbg_subtitlecomposition_free: (a: number, b: number) => void;
|
|
169
|
+
readonly __wbg_subtitleframe_free: (a: number, b: number) => void;
|
|
380
170
|
readonly __wbg_subtitlerenderer_free: (a: number, b: number) => void;
|
|
381
171
|
readonly __wbg_vobsubframe_free: (a: number, b: number) => void;
|
|
382
172
|
readonly __wbg_vobsubparser_free: (a: number, b: number) => void;
|
|
@@ -390,6 +180,7 @@ export interface InitOutput {
|
|
|
390
180
|
readonly pgsparser_getCuePaletteId: (a: number, b: number) => number;
|
|
391
181
|
readonly pgsparser_getCueStartTime: (a: number, b: number) => number;
|
|
392
182
|
readonly pgsparser_getTimestamps: (a: number) => any;
|
|
183
|
+
readonly pgsparser_lastRenderIssue: (a: number) => [number, number];
|
|
393
184
|
readonly pgsparser_new: () => number;
|
|
394
185
|
readonly pgsparser_parse: (a: number, b: number, c: number) => number;
|
|
395
186
|
readonly pgsparser_renderAtIndex: (a: number, b: number) => number;
|
|
@@ -408,7 +199,10 @@ export interface InitOutput {
|
|
|
408
199
|
readonly subtitlecomposition_width: (a: number) => number;
|
|
409
200
|
readonly subtitlecomposition_x: (a: number) => number;
|
|
410
201
|
readonly subtitlecomposition_y: (a: number) => number;
|
|
202
|
+
readonly subtitleframe_compositionCount: (a: number) => number;
|
|
411
203
|
readonly subtitleframe_getComposition: (a: number, b: number) => number;
|
|
204
|
+
readonly subtitleframe_height: (a: number) => number;
|
|
205
|
+
readonly subtitleframe_width: (a: number) => number;
|
|
412
206
|
readonly subtitlerenderer_clearCache: (a: number) => void;
|
|
413
207
|
readonly subtitlerenderer_count: (a: number) => number;
|
|
414
208
|
readonly subtitlerenderer_dispose: (a: number) => void;
|
|
@@ -420,6 +214,7 @@ export interface InitOutput {
|
|
|
420
214
|
readonly subtitlerenderer_getTimestamps: (a: number) => any;
|
|
421
215
|
readonly subtitlerenderer_hasIdxMetadata: (a: number) => number;
|
|
422
216
|
readonly subtitlerenderer_language: (a: number) => [number, number];
|
|
217
|
+
readonly subtitlerenderer_lastRenderIssue: (a: number) => [number, number];
|
|
423
218
|
readonly subtitlerenderer_loadPgs: (a: number, b: number, c: number) => number;
|
|
424
219
|
readonly subtitlerenderer_loadVobSub: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
425
220
|
readonly subtitlerenderer_loadVobSubMks: (a: number, b: number, c: number) => [number, number];
|
|
@@ -449,6 +244,7 @@ export interface InitOutput {
|
|
|
449
244
|
readonly vobsubparser_getTimestamps: (a: number) => any;
|
|
450
245
|
readonly vobsubparser_hasIdxMetadata: (a: number) => number;
|
|
451
246
|
readonly vobsubparser_language: (a: number) => [number, number];
|
|
247
|
+
readonly vobsubparser_lastRenderIssue: (a: number) => [number, number];
|
|
452
248
|
readonly vobsubparser_loadFromData: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
453
249
|
readonly vobsubparser_loadFromMks: (a: number, b: number, c: number) => [number, number];
|
|
454
250
|
readonly vobsubparser_loadFromSubOnly: (a: number, b: number, c: number) => void;
|
|
@@ -460,10 +256,6 @@ export interface InitOutput {
|
|
|
460
256
|
readonly vobsubparser_setDebandRange: (a: number, b: number) => void;
|
|
461
257
|
readonly vobsubparser_setDebandThreshold: (a: number, b: number) => void;
|
|
462
258
|
readonly vobsubparser_trackId: (a: number) => [number, number];
|
|
463
|
-
readonly __wbg_subtitleframe_free: (a: number, b: number) => void;
|
|
464
|
-
readonly subtitleframe_compositionCount: (a: number) => number;
|
|
465
|
-
readonly subtitleframe_width: (a: number) => number;
|
|
466
|
-
readonly subtitleframe_height: (a: number) => number;
|
|
467
259
|
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
468
260
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
469
261
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|