libbitsub 1.10.2 → 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 +296 -49
- 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/hlsjs.d.ts +45 -0
- package/dist/integrations/hlsjs.d.ts.map +1 -0
- package/dist/integrations/hlsjs.js +121 -0
- package/dist/integrations/hlsjs.js.map +1 -0
- package/dist/integrations/index.d.ts +11 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +11 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/react.d.ts +55 -0
- package/dist/integrations/react.d.ts.map +1 -0
- package/dist/integrations/react.js +133 -0
- package/dist/integrations/react.js.map +1 -0
- package/dist/integrations/shaka.d.ts +38 -0
- package/dist/integrations/shaka.d.ts.map +1 -0
- package/dist/integrations/shaka.js +71 -0
- package/dist/integrations/shaka.js.map +1 -0
- package/dist/integrations/shared.d.ts +41 -0
- package/dist/integrations/shared.d.ts.map +1 -0
- package/dist/integrations/shared.js +123 -0
- package/dist/integrations/shared.js.map +1 -0
- package/dist/integrations/videojs.d.ts +85 -0
- package/dist/integrations/videojs.d.ts.map +1 -0
- package/dist/integrations/videojs.js +111 -0
- package/dist/integrations/videojs.js.map +1 -0
- 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/diagnostics.d.ts.map +1 -1
- package/dist/ts/diagnostics.js.map +1 -1
- package/dist/ts/frame-export.d.ts.map +1 -1
- package/dist/ts/frame-export.js +4 -4
- package/dist/ts/frame-export.js.map +1 -1
- package/dist/ts/parsers.d.ts +46 -8
- package/dist/ts/parsers.d.ts.map +1 -1
- package/dist/ts/parsers.js +305 -14
- package/dist/ts/parsers.js.map +1 -1
- package/dist/ts/range-loader.d.ts +31 -0
- package/dist/ts/range-loader.d.ts.map +1 -0
- package/dist/ts/range-loader.js +220 -0
- package/dist/ts/range-loader.js.map +1 -0
- package/dist/ts/renderers.d.ts +140 -8
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +1773 -287
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +210 -7
- 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/wasm.d.ts +2 -0
- package/dist/ts/wasm.d.ts.map +1 -1
- package/dist/ts/wasm.js +12 -0
- package/dist/ts/wasm.js.map +1 -1
- package/dist/ts/webgl2-renderer.d.ts +9 -0
- package/dist/ts/webgl2-renderer.d.ts.map +1 -1
- package/dist/ts/webgl2-renderer.js +34 -0
- package/dist/ts/webgl2-renderer.js.map +1 -1
- package/dist/ts/webgpu-renderer.d.ts +9 -0
- package/dist/ts/webgpu-renderer.d.ts.map +1 -1
- package/dist/ts/webgpu-renderer.js +70 -2
- package/dist/ts/webgpu-renderer.js.map +1 -1
- package/dist/ts/worker.d.ts +11 -0
- package/dist/ts/worker.d.ts.map +1 -1
- package/dist/ts/worker.js +620 -158
- package/dist/ts/worker.js.map +1 -1
- package/dist/wrapper.d.ts +6 -3
- package/dist/wrapper.d.ts.map +1 -1
- package/dist/wrapper.js +5 -2
- package/dist/wrapper.js.map +1 -1
- package/examples/README.md +38 -0
- package/examples/hlsjs/README.md +53 -0
- package/examples/react/README.md +60 -0
- package/examples/shaka/README.md +61 -0
- package/examples/videojs/README.md +55 -0
- package/package.json +66 -8
- package/pkg/README.md +296 -49
- package/pkg/libbitsub.d.ts +65 -1
- package/pkg/libbitsub.js +228 -3
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +28 -0
- package/pkg/package.json +4 -4
- package/src/integrations/hlsjs.ts +154 -0
- package/src/integrations/index.ts +36 -0
- package/src/integrations/react.tsx +176 -0
- package/src/integrations/shaka.ts +92 -0
- package/src/integrations/shared.ts +171 -0
- package/src/integrations/videojs.ts +200 -0
- package/src/wrapper.ts +34 -2
package/pkg/libbitsub.d.ts
CHANGED
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* DVB subtitle parser and renderer exposed to JavaScript.
|
|
6
|
+
*/
|
|
7
|
+
export class DvbParser {
|
|
8
|
+
free(): void;
|
|
9
|
+
[Symbol.dispose](): void;
|
|
10
|
+
clearCache(): void;
|
|
11
|
+
feed(data: Uint8Array): number;
|
|
12
|
+
findIndexAtTimestamp(time_ms: number): number;
|
|
13
|
+
finishFeed(): number;
|
|
14
|
+
getCueCompositionCount(index: number): number;
|
|
15
|
+
getCueEndTime(index: number): number;
|
|
16
|
+
getCuePageState(index: number): number;
|
|
17
|
+
getCueStartTime(index: number): number;
|
|
18
|
+
getEndTimestamps(): Float64Array;
|
|
19
|
+
getTimestamps(): Float64Array;
|
|
20
|
+
constructor();
|
|
21
|
+
parse(data: Uint8Array): number;
|
|
22
|
+
renderAtIndex(index: number): SubtitleFrame | undefined;
|
|
23
|
+
reset(): void;
|
|
24
|
+
readonly count: number;
|
|
25
|
+
readonly lastRenderIssue: string;
|
|
26
|
+
readonly pendingLen: number;
|
|
27
|
+
readonly screenHeight: number;
|
|
28
|
+
readonly screenWidth: number;
|
|
29
|
+
}
|
|
30
|
+
|
|
4
31
|
/**
|
|
5
32
|
* PGS subtitle parser and renderer exposed to JavaScript.
|
|
6
33
|
*/
|
|
@@ -8,7 +35,9 @@ export class PgsParser {
|
|
|
8
35
|
free(): void;
|
|
9
36
|
[Symbol.dispose](): void;
|
|
10
37
|
clearCache(): void;
|
|
38
|
+
feed(data: Uint8Array): number;
|
|
11
39
|
findIndexAtTimestamp(time_ms: number): number;
|
|
40
|
+
finishFeed(): number;
|
|
12
41
|
getCueCompositionCount(index: number): number;
|
|
13
42
|
getCueCompositionState(index: number): number;
|
|
14
43
|
getCueEndTime(index: number): number;
|
|
@@ -18,8 +47,10 @@ export class PgsParser {
|
|
|
18
47
|
constructor();
|
|
19
48
|
parse(data: Uint8Array): number;
|
|
20
49
|
renderAtIndex(index: number): SubtitleFrame | undefined;
|
|
50
|
+
reset(): void;
|
|
21
51
|
readonly count: number;
|
|
22
52
|
readonly lastRenderIssue: string;
|
|
53
|
+
readonly pendingLen: number;
|
|
23
54
|
readonly screenHeight: number;
|
|
24
55
|
readonly screenWidth: number;
|
|
25
56
|
}
|
|
@@ -61,6 +92,7 @@ export class SubtitleComposition {
|
|
|
61
92
|
export enum SubtitleFormat {
|
|
62
93
|
Pgs = 0,
|
|
63
94
|
VobSub = 1,
|
|
95
|
+
Dvb = 2,
|
|
64
96
|
}
|
|
65
97
|
|
|
66
98
|
/**
|
|
@@ -77,7 +109,7 @@ export class SubtitleFrame {
|
|
|
77
109
|
}
|
|
78
110
|
|
|
79
111
|
/**
|
|
80
|
-
* Unified subtitle renderer for
|
|
112
|
+
* Unified subtitle renderer for PGS, VobSub, and DVB formats.
|
|
81
113
|
*/
|
|
82
114
|
export class SubtitleRenderer {
|
|
83
115
|
free(): void;
|
|
@@ -89,6 +121,7 @@ export class SubtitleRenderer {
|
|
|
89
121
|
getCueEndTime(index: number): number;
|
|
90
122
|
getCueStartTime(index: number): number;
|
|
91
123
|
getTimestamps(): Float64Array;
|
|
124
|
+
loadDvb(data: Uint8Array): number;
|
|
92
125
|
loadPgs(data: Uint8Array): number;
|
|
93
126
|
loadVobSub(idx_content: string, sub_data: Uint8Array): void;
|
|
94
127
|
loadVobSubMks(mks_data: Uint8Array): void;
|
|
@@ -128,6 +161,7 @@ export class VobSubFrame {
|
|
|
128
161
|
export class VobSubParser {
|
|
129
162
|
free(): void;
|
|
130
163
|
[Symbol.dispose](): void;
|
|
164
|
+
attachSubData(sub_data: Uint8Array): void;
|
|
131
165
|
clearCache(): void;
|
|
132
166
|
dispose(): void;
|
|
133
167
|
findIndexAtTimestamp(time_ms: number): number;
|
|
@@ -137,6 +171,7 @@ export class VobSubParser {
|
|
|
137
171
|
getCueStartTime(index: number): number;
|
|
138
172
|
getTimestamps(): Float64Array;
|
|
139
173
|
loadFromData(idx_content: string, sub_data: Uint8Array): void;
|
|
174
|
+
loadFromIdx(idx_content: string): void;
|
|
140
175
|
loadFromMks(mks_data: Uint8Array): void;
|
|
141
176
|
loadFromSubOnly(sub_data: Uint8Array): void;
|
|
142
177
|
constructor();
|
|
@@ -147,6 +182,7 @@ export class VobSubParser {
|
|
|
147
182
|
readonly count: number;
|
|
148
183
|
readonly debandEnabled: boolean;
|
|
149
184
|
readonly hasIdxMetadata: boolean;
|
|
185
|
+
readonly hasSubData: boolean;
|
|
150
186
|
readonly language: string;
|
|
151
187
|
readonly lastRenderIssue: string;
|
|
152
188
|
readonly screenHeight: number;
|
|
@@ -163,6 +199,7 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
163
199
|
|
|
164
200
|
export interface InitOutput {
|
|
165
201
|
readonly memory: WebAssembly.Memory;
|
|
202
|
+
readonly __wbg_dvbparser_free: (a: number, b: number) => void;
|
|
166
203
|
readonly __wbg_pgsparser_free: (a: number, b: number) => void;
|
|
167
204
|
readonly __wbg_renderresult_free: (a: number, b: number) => void;
|
|
168
205
|
readonly __wbg_subtitlecomposition_free: (a: number, b: number) => void;
|
|
@@ -170,10 +207,31 @@ export interface InitOutput {
|
|
|
170
207
|
readonly __wbg_subtitlerenderer_free: (a: number, b: number) => void;
|
|
171
208
|
readonly __wbg_vobsubframe_free: (a: number, b: number) => void;
|
|
172
209
|
readonly __wbg_vobsubparser_free: (a: number, b: number) => void;
|
|
210
|
+
readonly dvbparser_clearCache: (a: number) => void;
|
|
211
|
+
readonly dvbparser_count: (a: number) => number;
|
|
212
|
+
readonly dvbparser_feed: (a: number, b: number, c: number) => number;
|
|
213
|
+
readonly dvbparser_findIndexAtTimestamp: (a: number, b: number) => number;
|
|
214
|
+
readonly dvbparser_finishFeed: (a: number) => number;
|
|
215
|
+
readonly dvbparser_getCueCompositionCount: (a: number, b: number) => number;
|
|
216
|
+
readonly dvbparser_getCueEndTime: (a: number, b: number) => number;
|
|
217
|
+
readonly dvbparser_getCuePageState: (a: number, b: number) => number;
|
|
218
|
+
readonly dvbparser_getCueStartTime: (a: number, b: number) => number;
|
|
219
|
+
readonly dvbparser_getEndTimestamps: (a: number) => any;
|
|
220
|
+
readonly dvbparser_getTimestamps: (a: number) => any;
|
|
221
|
+
readonly dvbparser_lastRenderIssue: (a: number) => [number, number];
|
|
222
|
+
readonly dvbparser_new: () => number;
|
|
223
|
+
readonly dvbparser_parse: (a: number, b: number, c: number) => number;
|
|
224
|
+
readonly dvbparser_pendingLen: (a: number) => number;
|
|
225
|
+
readonly dvbparser_renderAtIndex: (a: number, b: number) => number;
|
|
226
|
+
readonly dvbparser_reset: (a: number) => void;
|
|
227
|
+
readonly dvbparser_screenHeight: (a: number) => number;
|
|
228
|
+
readonly dvbparser_screenWidth: (a: number) => number;
|
|
173
229
|
readonly init: () => void;
|
|
174
230
|
readonly pgsparser_clearCache: (a: number) => void;
|
|
175
231
|
readonly pgsparser_count: (a: number) => number;
|
|
232
|
+
readonly pgsparser_feed: (a: number, b: number, c: number) => number;
|
|
176
233
|
readonly pgsparser_findIndexAtTimestamp: (a: number, b: number) => number;
|
|
234
|
+
readonly pgsparser_finishFeed: (a: number) => number;
|
|
177
235
|
readonly pgsparser_getCueCompositionCount: (a: number, b: number) => number;
|
|
178
236
|
readonly pgsparser_getCueCompositionState: (a: number, b: number) => number;
|
|
179
237
|
readonly pgsparser_getCueEndTime: (a: number, b: number) => number;
|
|
@@ -183,7 +241,9 @@ export interface InitOutput {
|
|
|
183
241
|
readonly pgsparser_lastRenderIssue: (a: number) => [number, number];
|
|
184
242
|
readonly pgsparser_new: () => number;
|
|
185
243
|
readonly pgsparser_parse: (a: number, b: number, c: number) => number;
|
|
244
|
+
readonly pgsparser_pendingLen: (a: number) => number;
|
|
186
245
|
readonly pgsparser_renderAtIndex: (a: number, b: number) => number;
|
|
246
|
+
readonly pgsparser_reset: (a: number) => void;
|
|
187
247
|
readonly pgsparser_screenHeight: (a: number) => number;
|
|
188
248
|
readonly pgsparser_screenWidth: (a: number) => number;
|
|
189
249
|
readonly renderresult_compositionCount: (a: number) => number;
|
|
@@ -215,6 +275,7 @@ export interface InitOutput {
|
|
|
215
275
|
readonly subtitlerenderer_hasIdxMetadata: (a: number) => number;
|
|
216
276
|
readonly subtitlerenderer_language: (a: number) => [number, number];
|
|
217
277
|
readonly subtitlerenderer_lastRenderIssue: (a: number) => [number, number];
|
|
278
|
+
readonly subtitlerenderer_loadDvb: (a: number, b: number, c: number) => number;
|
|
218
279
|
readonly subtitlerenderer_loadPgs: (a: number, b: number, c: number) => number;
|
|
219
280
|
readonly subtitlerenderer_loadVobSub: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
220
281
|
readonly subtitlerenderer_loadVobSubMks: (a: number, b: number, c: number) => [number, number];
|
|
@@ -232,6 +293,7 @@ export interface InitOutput {
|
|
|
232
293
|
readonly vobsubframe_width: (a: number) => number;
|
|
233
294
|
readonly vobsubframe_x: (a: number) => number;
|
|
234
295
|
readonly vobsubframe_y: (a: number) => number;
|
|
296
|
+
readonly vobsubparser_attachSubData: (a: number, b: number, c: number) => void;
|
|
235
297
|
readonly vobsubparser_clearCache: (a: number) => void;
|
|
236
298
|
readonly vobsubparser_count: (a: number) => number;
|
|
237
299
|
readonly vobsubparser_debandEnabled: (a: number) => number;
|
|
@@ -243,9 +305,11 @@ export interface InitOutput {
|
|
|
243
305
|
readonly vobsubparser_getCueStartTime: (a: number, b: number) => number;
|
|
244
306
|
readonly vobsubparser_getTimestamps: (a: number) => any;
|
|
245
307
|
readonly vobsubparser_hasIdxMetadata: (a: number) => number;
|
|
308
|
+
readonly vobsubparser_hasSubData: (a: number) => number;
|
|
246
309
|
readonly vobsubparser_language: (a: number) => [number, number];
|
|
247
310
|
readonly vobsubparser_lastRenderIssue: (a: number) => [number, number];
|
|
248
311
|
readonly vobsubparser_loadFromData: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
312
|
+
readonly vobsubparser_loadFromIdx: (a: number, b: number, c: number) => void;
|
|
249
313
|
readonly vobsubparser_loadFromMks: (a: number, b: number, c: number) => [number, number];
|
|
250
314
|
readonly vobsubparser_loadFromSubOnly: (a: number, b: number, c: number) => void;
|
|
251
315
|
readonly vobsubparser_new: () => number;
|
package/pkg/libbitsub.js
CHANGED
|
@@ -1,5 +1,166 @@
|
|
|
1
1
|
/* @ts-self-types="./libbitsub.d.ts" */
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* DVB subtitle parser and renderer exposed to JavaScript.
|
|
5
|
+
*/
|
|
6
|
+
export class DvbParser {
|
|
7
|
+
__destroy_into_raw() {
|
|
8
|
+
const ptr = this.__wbg_ptr;
|
|
9
|
+
this.__wbg_ptr = 0;
|
|
10
|
+
DvbParserFinalization.unregister(this);
|
|
11
|
+
return ptr;
|
|
12
|
+
}
|
|
13
|
+
free() {
|
|
14
|
+
const ptr = this.__destroy_into_raw();
|
|
15
|
+
wasm.__wbg_dvbparser_free(ptr, 0);
|
|
16
|
+
}
|
|
17
|
+
clearCache() {
|
|
18
|
+
wasm.dvbparser_clearCache(this.__wbg_ptr);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @returns {number}
|
|
22
|
+
*/
|
|
23
|
+
get count() {
|
|
24
|
+
const ret = wasm.dvbparser_count(this.__wbg_ptr);
|
|
25
|
+
return ret >>> 0;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @param {Uint8Array} data
|
|
29
|
+
* @returns {number}
|
|
30
|
+
*/
|
|
31
|
+
feed(data) {
|
|
32
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
|
|
33
|
+
const len0 = WASM_VECTOR_LEN;
|
|
34
|
+
const ret = wasm.dvbparser_feed(this.__wbg_ptr, ptr0, len0);
|
|
35
|
+
return ret >>> 0;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @param {number} time_ms
|
|
39
|
+
* @returns {number}
|
|
40
|
+
*/
|
|
41
|
+
findIndexAtTimestamp(time_ms) {
|
|
42
|
+
const ret = wasm.dvbparser_findIndexAtTimestamp(this.__wbg_ptr, time_ms);
|
|
43
|
+
return ret;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @returns {number}
|
|
47
|
+
*/
|
|
48
|
+
finishFeed() {
|
|
49
|
+
const ret = wasm.dvbparser_finishFeed(this.__wbg_ptr);
|
|
50
|
+
return ret >>> 0;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @param {number} index
|
|
54
|
+
* @returns {number}
|
|
55
|
+
*/
|
|
56
|
+
getCueCompositionCount(index) {
|
|
57
|
+
const ret = wasm.dvbparser_getCueCompositionCount(this.__wbg_ptr, index);
|
|
58
|
+
return ret >>> 0;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* @param {number} index
|
|
62
|
+
* @returns {number}
|
|
63
|
+
*/
|
|
64
|
+
getCueEndTime(index) {
|
|
65
|
+
const ret = wasm.dvbparser_getCueEndTime(this.__wbg_ptr, index);
|
|
66
|
+
return ret;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @param {number} index
|
|
70
|
+
* @returns {number}
|
|
71
|
+
*/
|
|
72
|
+
getCuePageState(index) {
|
|
73
|
+
const ret = wasm.dvbparser_getCuePageState(this.__wbg_ptr, index);
|
|
74
|
+
return ret;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* @param {number} index
|
|
78
|
+
* @returns {number}
|
|
79
|
+
*/
|
|
80
|
+
getCueStartTime(index) {
|
|
81
|
+
const ret = wasm.dvbparser_getCueStartTime(this.__wbg_ptr, index);
|
|
82
|
+
return ret;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @returns {Float64Array}
|
|
86
|
+
*/
|
|
87
|
+
getEndTimestamps() {
|
|
88
|
+
const ret = wasm.dvbparser_getEndTimestamps(this.__wbg_ptr);
|
|
89
|
+
return ret;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @returns {Float64Array}
|
|
93
|
+
*/
|
|
94
|
+
getTimestamps() {
|
|
95
|
+
const ret = wasm.dvbparser_getTimestamps(this.__wbg_ptr);
|
|
96
|
+
return ret;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @returns {string}
|
|
100
|
+
*/
|
|
101
|
+
get lastRenderIssue() {
|
|
102
|
+
let deferred1_0;
|
|
103
|
+
let deferred1_1;
|
|
104
|
+
try {
|
|
105
|
+
const ret = wasm.dvbparser_lastRenderIssue(this.__wbg_ptr);
|
|
106
|
+
deferred1_0 = ret[0];
|
|
107
|
+
deferred1_1 = ret[1];
|
|
108
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
109
|
+
} finally {
|
|
110
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
constructor() {
|
|
114
|
+
const ret = wasm.dvbparser_new();
|
|
115
|
+
this.__wbg_ptr = ret;
|
|
116
|
+
DvbParserFinalization.register(this, this.__wbg_ptr, this);
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @param {Uint8Array} data
|
|
121
|
+
* @returns {number}
|
|
122
|
+
*/
|
|
123
|
+
parse(data) {
|
|
124
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
|
|
125
|
+
const len0 = WASM_VECTOR_LEN;
|
|
126
|
+
const ret = wasm.dvbparser_parse(this.__wbg_ptr, ptr0, len0);
|
|
127
|
+
return ret >>> 0;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* @returns {number}
|
|
131
|
+
*/
|
|
132
|
+
get pendingLen() {
|
|
133
|
+
const ret = wasm.dvbparser_pendingLen(this.__wbg_ptr);
|
|
134
|
+
return ret >>> 0;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* @param {number} index
|
|
138
|
+
* @returns {SubtitleFrame | undefined}
|
|
139
|
+
*/
|
|
140
|
+
renderAtIndex(index) {
|
|
141
|
+
const ret = wasm.dvbparser_renderAtIndex(this.__wbg_ptr, index);
|
|
142
|
+
return ret === 0 ? undefined : SubtitleFrame.__wrap(ret);
|
|
143
|
+
}
|
|
144
|
+
reset() {
|
|
145
|
+
wasm.dvbparser_reset(this.__wbg_ptr);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* @returns {number}
|
|
149
|
+
*/
|
|
150
|
+
get screenHeight() {
|
|
151
|
+
const ret = wasm.dvbparser_screenHeight(this.__wbg_ptr);
|
|
152
|
+
return ret;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @returns {number}
|
|
156
|
+
*/
|
|
157
|
+
get screenWidth() {
|
|
158
|
+
const ret = wasm.dvbparser_screenWidth(this.__wbg_ptr);
|
|
159
|
+
return ret;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (Symbol.dispose) DvbParser.prototype[Symbol.dispose] = DvbParser.prototype.free;
|
|
163
|
+
|
|
3
164
|
/**
|
|
4
165
|
* PGS subtitle parser and renderer exposed to JavaScript.
|
|
5
166
|
*/
|
|
@@ -24,6 +185,16 @@ export class PgsParser {
|
|
|
24
185
|
const ret = wasm.pgsparser_count(this.__wbg_ptr);
|
|
25
186
|
return ret >>> 0;
|
|
26
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* @param {Uint8Array} data
|
|
190
|
+
* @returns {number}
|
|
191
|
+
*/
|
|
192
|
+
feed(data) {
|
|
193
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
|
|
194
|
+
const len0 = WASM_VECTOR_LEN;
|
|
195
|
+
const ret = wasm.pgsparser_feed(this.__wbg_ptr, ptr0, len0);
|
|
196
|
+
return ret >>> 0;
|
|
197
|
+
}
|
|
27
198
|
/**
|
|
28
199
|
* @param {number} time_ms
|
|
29
200
|
* @returns {number}
|
|
@@ -32,6 +203,13 @@ export class PgsParser {
|
|
|
32
203
|
const ret = wasm.pgsparser_findIndexAtTimestamp(this.__wbg_ptr, time_ms);
|
|
33
204
|
return ret;
|
|
34
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* @returns {number}
|
|
208
|
+
*/
|
|
209
|
+
finishFeed() {
|
|
210
|
+
const ret = wasm.pgsparser_finishFeed(this.__wbg_ptr);
|
|
211
|
+
return ret >>> 0;
|
|
212
|
+
}
|
|
35
213
|
/**
|
|
36
214
|
* @param {number} index
|
|
37
215
|
* @returns {number}
|
|
@@ -110,6 +288,13 @@ export class PgsParser {
|
|
|
110
288
|
const ret = wasm.pgsparser_parse(this.__wbg_ptr, ptr0, len0);
|
|
111
289
|
return ret >>> 0;
|
|
112
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* @returns {number}
|
|
293
|
+
*/
|
|
294
|
+
get pendingLen() {
|
|
295
|
+
const ret = wasm.pgsparser_pendingLen(this.__wbg_ptr);
|
|
296
|
+
return ret >>> 0;
|
|
297
|
+
}
|
|
113
298
|
/**
|
|
114
299
|
* @param {number} index
|
|
115
300
|
* @returns {SubtitleFrame | undefined}
|
|
@@ -118,6 +303,9 @@ export class PgsParser {
|
|
|
118
303
|
const ret = wasm.pgsparser_renderAtIndex(this.__wbg_ptr, index);
|
|
119
304
|
return ret === 0 ? undefined : SubtitleFrame.__wrap(ret);
|
|
120
305
|
}
|
|
306
|
+
reset() {
|
|
307
|
+
wasm.pgsparser_reset(this.__wbg_ptr);
|
|
308
|
+
}
|
|
121
309
|
/**
|
|
122
310
|
* @returns {number}
|
|
123
311
|
*/
|
|
@@ -279,11 +467,12 @@ if (Symbol.dispose) SubtitleComposition.prototype[Symbol.dispose] = SubtitleComp
|
|
|
279
467
|
|
|
280
468
|
/**
|
|
281
469
|
* Subtitle format type.
|
|
282
|
-
* @enum {0 | 1}
|
|
470
|
+
* @enum {0 | 1 | 2}
|
|
283
471
|
*/
|
|
284
472
|
export const SubtitleFormat = Object.freeze({
|
|
285
473
|
Pgs: 0, "0": "Pgs",
|
|
286
474
|
VobSub: 1, "1": "VobSub",
|
|
475
|
+
Dvb: 2, "2": "Dvb",
|
|
287
476
|
});
|
|
288
477
|
|
|
289
478
|
/**
|
|
@@ -339,7 +528,7 @@ export class SubtitleFrame {
|
|
|
339
528
|
if (Symbol.dispose) SubtitleFrame.prototype[Symbol.dispose] = SubtitleFrame.prototype.free;
|
|
340
529
|
|
|
341
530
|
/**
|
|
342
|
-
* Unified subtitle renderer for
|
|
531
|
+
* Unified subtitle renderer for PGS, VobSub, and DVB formats.
|
|
343
532
|
*/
|
|
344
533
|
export class SubtitleRenderer {
|
|
345
534
|
__destroy_into_raw() {
|
|
@@ -378,7 +567,7 @@ export class SubtitleRenderer {
|
|
|
378
567
|
*/
|
|
379
568
|
get format() {
|
|
380
569
|
const ret = wasm.subtitlerenderer_format(this.__wbg_ptr);
|
|
381
|
-
return ret ===
|
|
570
|
+
return ret === 3 ? undefined : ret;
|
|
382
571
|
}
|
|
383
572
|
/**
|
|
384
573
|
* @param {number} index
|
|
@@ -448,6 +637,16 @@ export class SubtitleRenderer {
|
|
|
448
637
|
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
449
638
|
}
|
|
450
639
|
}
|
|
640
|
+
/**
|
|
641
|
+
* @param {Uint8Array} data
|
|
642
|
+
* @returns {number}
|
|
643
|
+
*/
|
|
644
|
+
loadDvb(data) {
|
|
645
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
|
|
646
|
+
const len0 = WASM_VECTOR_LEN;
|
|
647
|
+
const ret = wasm.subtitlerenderer_loadDvb(this.__wbg_ptr, ptr0, len0);
|
|
648
|
+
return ret >>> 0;
|
|
649
|
+
}
|
|
451
650
|
/**
|
|
452
651
|
* @param {Uint8Array} data
|
|
453
652
|
* @returns {number}
|
|
@@ -628,6 +827,14 @@ export class VobSubParser {
|
|
|
628
827
|
const ptr = this.__destroy_into_raw();
|
|
629
828
|
wasm.__wbg_vobsubparser_free(ptr, 0);
|
|
630
829
|
}
|
|
830
|
+
/**
|
|
831
|
+
* @param {Uint8Array} sub_data
|
|
832
|
+
*/
|
|
833
|
+
attachSubData(sub_data) {
|
|
834
|
+
const ptr0 = passArray8ToWasm0(sub_data, wasm.__wbindgen_malloc);
|
|
835
|
+
const len0 = WASM_VECTOR_LEN;
|
|
836
|
+
wasm.vobsubparser_attachSubData(this.__wbg_ptr, ptr0, len0);
|
|
837
|
+
}
|
|
631
838
|
clearCache() {
|
|
632
839
|
wasm.vobsubparser_clearCache(this.__wbg_ptr);
|
|
633
840
|
}
|
|
@@ -702,6 +909,13 @@ export class VobSubParser {
|
|
|
702
909
|
const ret = wasm.vobsubparser_hasIdxMetadata(this.__wbg_ptr);
|
|
703
910
|
return ret !== 0;
|
|
704
911
|
}
|
|
912
|
+
/**
|
|
913
|
+
* @returns {boolean}
|
|
914
|
+
*/
|
|
915
|
+
get hasSubData() {
|
|
916
|
+
const ret = wasm.vobsubparser_hasSubData(this.__wbg_ptr);
|
|
917
|
+
return ret !== 0;
|
|
918
|
+
}
|
|
705
919
|
/**
|
|
706
920
|
* @returns {string}
|
|
707
921
|
*/
|
|
@@ -743,6 +957,14 @@ export class VobSubParser {
|
|
|
743
957
|
const len1 = WASM_VECTOR_LEN;
|
|
744
958
|
wasm.vobsubparser_loadFromData(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
745
959
|
}
|
|
960
|
+
/**
|
|
961
|
+
* @param {string} idx_content
|
|
962
|
+
*/
|
|
963
|
+
loadFromIdx(idx_content) {
|
|
964
|
+
const ptr0 = passStringToWasm0(idx_content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
965
|
+
const len0 = WASM_VECTOR_LEN;
|
|
966
|
+
wasm.vobsubparser_loadFromIdx(this.__wbg_ptr, ptr0, len0);
|
|
967
|
+
}
|
|
746
968
|
/**
|
|
747
969
|
* @param {Uint8Array} mks_data
|
|
748
970
|
*/
|
|
@@ -896,6 +1118,9 @@ function __wbg_get_imports() {
|
|
|
896
1118
|
};
|
|
897
1119
|
}
|
|
898
1120
|
|
|
1121
|
+
const DvbParserFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1122
|
+
? { register: () => {}, unregister: () => {} }
|
|
1123
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_dvbparser_free(ptr, 1));
|
|
899
1124
|
const PgsParserFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
900
1125
|
? { register: () => {}, unregister: () => {} }
|
|
901
1126
|
: new FinalizationRegistry(ptr => wasm.__wbg_pgsparser_free(ptr, 1));
|
package/pkg/libbitsub_bg.wasm
CHANGED
|
Binary file
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
|
+
export const __wbg_dvbparser_free: (a: number, b: number) => void;
|
|
4
5
|
export const __wbg_pgsparser_free: (a: number, b: number) => void;
|
|
5
6
|
export const __wbg_renderresult_free: (a: number, b: number) => void;
|
|
6
7
|
export const __wbg_subtitlecomposition_free: (a: number, b: number) => void;
|
|
@@ -8,10 +9,31 @@ export const __wbg_subtitleframe_free: (a: number, b: number) => void;
|
|
|
8
9
|
export const __wbg_subtitlerenderer_free: (a: number, b: number) => void;
|
|
9
10
|
export const __wbg_vobsubframe_free: (a: number, b: number) => void;
|
|
10
11
|
export const __wbg_vobsubparser_free: (a: number, b: number) => void;
|
|
12
|
+
export const dvbparser_clearCache: (a: number) => void;
|
|
13
|
+
export const dvbparser_count: (a: number) => number;
|
|
14
|
+
export const dvbparser_feed: (a: number, b: number, c: number) => number;
|
|
15
|
+
export const dvbparser_findIndexAtTimestamp: (a: number, b: number) => number;
|
|
16
|
+
export const dvbparser_finishFeed: (a: number) => number;
|
|
17
|
+
export const dvbparser_getCueCompositionCount: (a: number, b: number) => number;
|
|
18
|
+
export const dvbparser_getCueEndTime: (a: number, b: number) => number;
|
|
19
|
+
export const dvbparser_getCuePageState: (a: number, b: number) => number;
|
|
20
|
+
export const dvbparser_getCueStartTime: (a: number, b: number) => number;
|
|
21
|
+
export const dvbparser_getEndTimestamps: (a: number) => any;
|
|
22
|
+
export const dvbparser_getTimestamps: (a: number) => any;
|
|
23
|
+
export const dvbparser_lastRenderIssue: (a: number) => [number, number];
|
|
24
|
+
export const dvbparser_new: () => number;
|
|
25
|
+
export const dvbparser_parse: (a: number, b: number, c: number) => number;
|
|
26
|
+
export const dvbparser_pendingLen: (a: number) => number;
|
|
27
|
+
export const dvbparser_renderAtIndex: (a: number, b: number) => number;
|
|
28
|
+
export const dvbparser_reset: (a: number) => void;
|
|
29
|
+
export const dvbparser_screenHeight: (a: number) => number;
|
|
30
|
+
export const dvbparser_screenWidth: (a: number) => number;
|
|
11
31
|
export const init: () => void;
|
|
12
32
|
export const pgsparser_clearCache: (a: number) => void;
|
|
13
33
|
export const pgsparser_count: (a: number) => number;
|
|
34
|
+
export const pgsparser_feed: (a: number, b: number, c: number) => number;
|
|
14
35
|
export const pgsparser_findIndexAtTimestamp: (a: number, b: number) => number;
|
|
36
|
+
export const pgsparser_finishFeed: (a: number) => number;
|
|
15
37
|
export const pgsparser_getCueCompositionCount: (a: number, b: number) => number;
|
|
16
38
|
export const pgsparser_getCueCompositionState: (a: number, b: number) => number;
|
|
17
39
|
export const pgsparser_getCueEndTime: (a: number, b: number) => number;
|
|
@@ -21,7 +43,9 @@ export const pgsparser_getTimestamps: (a: number) => any;
|
|
|
21
43
|
export const pgsparser_lastRenderIssue: (a: number) => [number, number];
|
|
22
44
|
export const pgsparser_new: () => number;
|
|
23
45
|
export const pgsparser_parse: (a: number, b: number, c: number) => number;
|
|
46
|
+
export const pgsparser_pendingLen: (a: number) => number;
|
|
24
47
|
export const pgsparser_renderAtIndex: (a: number, b: number) => number;
|
|
48
|
+
export const pgsparser_reset: (a: number) => void;
|
|
25
49
|
export const pgsparser_screenHeight: (a: number) => number;
|
|
26
50
|
export const pgsparser_screenWidth: (a: number) => number;
|
|
27
51
|
export const renderresult_compositionCount: (a: number) => number;
|
|
@@ -53,6 +77,7 @@ export const subtitlerenderer_getTimestamps: (a: number) => any;
|
|
|
53
77
|
export const subtitlerenderer_hasIdxMetadata: (a: number) => number;
|
|
54
78
|
export const subtitlerenderer_language: (a: number) => [number, number];
|
|
55
79
|
export const subtitlerenderer_lastRenderIssue: (a: number) => [number, number];
|
|
80
|
+
export const subtitlerenderer_loadDvb: (a: number, b: number, c: number) => number;
|
|
56
81
|
export const subtitlerenderer_loadPgs: (a: number, b: number, c: number) => number;
|
|
57
82
|
export const subtitlerenderer_loadVobSub: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
58
83
|
export const subtitlerenderer_loadVobSubMks: (a: number, b: number, c: number) => [number, number];
|
|
@@ -70,6 +95,7 @@ export const vobsubframe_screenWidth: (a: number) => number;
|
|
|
70
95
|
export const vobsubframe_width: (a: number) => number;
|
|
71
96
|
export const vobsubframe_x: (a: number) => number;
|
|
72
97
|
export const vobsubframe_y: (a: number) => number;
|
|
98
|
+
export const vobsubparser_attachSubData: (a: number, b: number, c: number) => void;
|
|
73
99
|
export const vobsubparser_clearCache: (a: number) => void;
|
|
74
100
|
export const vobsubparser_count: (a: number) => number;
|
|
75
101
|
export const vobsubparser_debandEnabled: (a: number) => number;
|
|
@@ -81,9 +107,11 @@ export const vobsubparser_getCueFilePosition: (a: number, b: number) => number;
|
|
|
81
107
|
export const vobsubparser_getCueStartTime: (a: number, b: number) => number;
|
|
82
108
|
export const vobsubparser_getTimestamps: (a: number) => any;
|
|
83
109
|
export const vobsubparser_hasIdxMetadata: (a: number) => number;
|
|
110
|
+
export const vobsubparser_hasSubData: (a: number) => number;
|
|
84
111
|
export const vobsubparser_language: (a: number) => [number, number];
|
|
85
112
|
export const vobsubparser_lastRenderIssue: (a: number) => [number, number];
|
|
86
113
|
export const vobsubparser_loadFromData: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
114
|
+
export const vobsubparser_loadFromIdx: (a: number, b: number, c: number) => void;
|
|
87
115
|
export const vobsubparser_loadFromMks: (a: number, b: number, c: number) => [number, number];
|
|
88
116
|
export const vobsubparser_loadFromSubOnly: (a: number, b: number, c: number) => void;
|
|
89
117
|
export const vobsubparser_new: () => number;
|
package/pkg/package.json
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"collaborators": [
|
|
5
5
|
"altqx"
|
|
6
6
|
],
|
|
7
|
-
"description": "High-performance WASM renderer for graphical subtitles (PGS and
|
|
8
|
-
"version": "1.
|
|
7
|
+
"description": "High-performance WASM renderer for graphical subtitles (PGS, VobSub, and DVB)",
|
|
8
|
+
"version": "1.12.0",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"keywords": [
|
|
25
25
|
"pgs",
|
|
26
26
|
"vobsub",
|
|
27
|
+
"dvb",
|
|
27
28
|
"subtitle",
|
|
28
|
-
"wasm"
|
|
29
|
-
"rendering"
|
|
29
|
+
"wasm"
|
|
30
30
|
]
|
|
31
31
|
}
|