libbitsub 1.12.1 → 1.13.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 +7 -5
- package/dist/ts/frame-export.d.ts.map +1 -1
- package/dist/ts/frame-export.js +10 -0
- package/dist/ts/frame-export.js.map +1 -1
- package/dist/ts/parsers.d.ts.map +1 -1
- package/dist/ts/parsers.js +8 -4
- package/dist/ts/parsers.js.map +1 -1
- package/dist/ts/range-loader.d.ts +2 -0
- package/dist/ts/range-loader.d.ts.map +1 -1
- package/dist/ts/range-loader.js +99 -21
- package/dist/ts/range-loader.js.map +1 -1
- package/dist/ts/renderers.d.ts +26 -4
- package/dist/ts/renderers.d.ts.map +1 -1
- package/dist/ts/renderers.js +227 -126
- package/dist/ts/renderers.js.map +1 -1
- package/dist/ts/types.d.ts +8 -0
- package/dist/ts/types.d.ts.map +1 -1
- package/dist/ts/utils.d.ts +14 -0
- package/dist/ts/utils.d.ts.map +1 -1
- package/dist/ts/utils.js +68 -15
- package/dist/ts/utils.js.map +1 -1
- package/dist/ts/video-frame-scheduler.d.ts +18 -1
- package/dist/ts/video-frame-scheduler.d.ts.map +1 -1
- package/dist/ts/video-frame-scheduler.js +83 -4
- package/dist/ts/video-frame-scheduler.js.map +1 -1
- package/dist/ts/worker.d.ts.map +1 -1
- package/dist/ts/worker.js +15 -6
- package/dist/ts/worker.js.map +1 -1
- package/package.json +2 -1
- package/pkg/README.md +7 -5
- package/pkg/libbitsub.d.ts +15 -0
- package/pkg/libbitsub.js +27 -0
- package/pkg/libbitsub_bg.wasm +0 -0
- package/pkg/libbitsub_bg.wasm.d.ts +3 -0
- package/pkg/package.json +1 -1
package/pkg/README.md
CHANGED
|
@@ -42,14 +42,14 @@ For pure Rust parser/rendering logic:
|
|
|
42
42
|
|
|
43
43
|
```toml
|
|
44
44
|
[dependencies]
|
|
45
|
-
libbitsub-core = "1.
|
|
45
|
+
libbitsub-core = "1.13.1"
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
For WASM bindings from Rust:
|
|
49
49
|
|
|
50
50
|
```toml
|
|
51
51
|
[dependencies]
|
|
52
|
-
libbitsub = "1.
|
|
52
|
+
libbitsub = "1.13.1"
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
For JavaScript package managers:
|
|
@@ -293,9 +293,10 @@ selection does not transfer a caller-owned canvas to a worker; request
|
|
|
293
293
|
|
|
294
294
|
Frame-aware synchronization is enabled by default. On browsers with
|
|
295
295
|
`requestVideoFrameCallback()`, cue lookup uses the `mediaTime` of the frame sent
|
|
296
|
-
to the compositor instead of polling `video.currentTime`.
|
|
297
|
-
back to `requestAnimationFrame()` automatically
|
|
298
|
-
|
|
296
|
+
to the compositor instead of polling `video.currentTime`. The scheduler falls
|
|
297
|
+
back to `requestAnimationFrame()` automatically when frame callbacks are unavailable
|
|
298
|
+
or stop arriving during advancing playback; set `frameAwareSync: false` to force
|
|
299
|
+
that compatibility path. The active path is available as
|
|
299
300
|
`renderer.getSynchronizationMode()` and as `getStats().syncMode`.
|
|
300
301
|
|
|
301
302
|
### VobSub renderer
|
|
@@ -934,6 +935,7 @@ interface VideoSubtitleOptions {
|
|
|
934
935
|
}
|
|
935
936
|
streamingLoad?: boolean // default true — progressive URL loads
|
|
936
937
|
rangeRequests?: boolean // default true — use HTTP Range when supported
|
|
938
|
+
maxSubtitleBytes?: number // default 256 MiB — larger downloads are rejected
|
|
937
939
|
onEvent?: (event: SubtitleRendererEvent) => void
|
|
938
940
|
}
|
|
939
941
|
```
|
package/pkg/libbitsub.d.ts
CHANGED
|
@@ -16,7 +16,15 @@ export class DvbParser {
|
|
|
16
16
|
getCuePageState(index: number): number;
|
|
17
17
|
getCueStartTime(index: number): number;
|
|
18
18
|
getEndTimestamps(): Float64Array;
|
|
19
|
+
/**
|
|
20
|
+
* Get cue end times starting at cue `start`, for incremental updates.
|
|
21
|
+
*/
|
|
22
|
+
getEndTimestampsFrom(start: number): Float64Array;
|
|
19
23
|
getTimestamps(): Float64Array;
|
|
24
|
+
/**
|
|
25
|
+
* Get cue start times starting at cue `start`, for incremental updates.
|
|
26
|
+
*/
|
|
27
|
+
getTimestampsFrom(start: number): Float64Array;
|
|
20
28
|
constructor();
|
|
21
29
|
parse(data: Uint8Array): number;
|
|
22
30
|
renderAtIndex(index: number): SubtitleFrame | undefined;
|
|
@@ -44,6 +52,10 @@ export class PgsParser {
|
|
|
44
52
|
getCuePaletteId(index: number): number;
|
|
45
53
|
getCueStartTime(index: number): number;
|
|
46
54
|
getTimestamps(): Float64Array;
|
|
55
|
+
/**
|
|
56
|
+
* Get timestamps starting at cue `start`, for incremental updates.
|
|
57
|
+
*/
|
|
58
|
+
getTimestampsFrom(start: number): Float64Array;
|
|
47
59
|
constructor();
|
|
48
60
|
parse(data: Uint8Array): number;
|
|
49
61
|
renderAtIndex(index: number): SubtitleFrame | undefined;
|
|
@@ -217,7 +229,9 @@ export interface InitOutput {
|
|
|
217
229
|
readonly dvbparser_getCuePageState: (a: number, b: number) => number;
|
|
218
230
|
readonly dvbparser_getCueStartTime: (a: number, b: number) => number;
|
|
219
231
|
readonly dvbparser_getEndTimestamps: (a: number) => any;
|
|
232
|
+
readonly dvbparser_getEndTimestampsFrom: (a: number, b: number) => any;
|
|
220
233
|
readonly dvbparser_getTimestamps: (a: number) => any;
|
|
234
|
+
readonly dvbparser_getTimestampsFrom: (a: number, b: number) => any;
|
|
221
235
|
readonly dvbparser_lastRenderIssue: (a: number) => [number, number];
|
|
222
236
|
readonly dvbparser_new: () => number;
|
|
223
237
|
readonly dvbparser_parse: (a: number, b: number, c: number) => number;
|
|
@@ -238,6 +252,7 @@ export interface InitOutput {
|
|
|
238
252
|
readonly pgsparser_getCuePaletteId: (a: number, b: number) => number;
|
|
239
253
|
readonly pgsparser_getCueStartTime: (a: number, b: number) => number;
|
|
240
254
|
readonly pgsparser_getTimestamps: (a: number) => any;
|
|
255
|
+
readonly pgsparser_getTimestampsFrom: (a: number, b: number) => any;
|
|
241
256
|
readonly pgsparser_lastRenderIssue: (a: number) => [number, number];
|
|
242
257
|
readonly pgsparser_new: () => number;
|
|
243
258
|
readonly pgsparser_parse: (a: number, b: number, c: number) => number;
|
package/pkg/libbitsub.js
CHANGED
|
@@ -88,6 +88,15 @@ export class DvbParser {
|
|
|
88
88
|
const ret = wasm.dvbparser_getEndTimestamps(this.__wbg_ptr);
|
|
89
89
|
return ret;
|
|
90
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Get cue end times starting at cue `start`, for incremental updates.
|
|
93
|
+
* @param {number} start
|
|
94
|
+
* @returns {Float64Array}
|
|
95
|
+
*/
|
|
96
|
+
getEndTimestampsFrom(start) {
|
|
97
|
+
const ret = wasm.dvbparser_getEndTimestampsFrom(this.__wbg_ptr, start);
|
|
98
|
+
return ret;
|
|
99
|
+
}
|
|
91
100
|
/**
|
|
92
101
|
* @returns {Float64Array}
|
|
93
102
|
*/
|
|
@@ -95,6 +104,15 @@ export class DvbParser {
|
|
|
95
104
|
const ret = wasm.dvbparser_getTimestamps(this.__wbg_ptr);
|
|
96
105
|
return ret;
|
|
97
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Get cue start times starting at cue `start`, for incremental updates.
|
|
109
|
+
* @param {number} start
|
|
110
|
+
* @returns {Float64Array}
|
|
111
|
+
*/
|
|
112
|
+
getTimestampsFrom(start) {
|
|
113
|
+
const ret = wasm.dvbparser_getTimestampsFrom(this.__wbg_ptr, start);
|
|
114
|
+
return ret;
|
|
115
|
+
}
|
|
98
116
|
/**
|
|
99
117
|
* @returns {string}
|
|
100
118
|
*/
|
|
@@ -257,6 +275,15 @@ export class PgsParser {
|
|
|
257
275
|
const ret = wasm.pgsparser_getTimestamps(this.__wbg_ptr);
|
|
258
276
|
return ret;
|
|
259
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Get timestamps starting at cue `start`, for incremental updates.
|
|
280
|
+
* @param {number} start
|
|
281
|
+
* @returns {Float64Array}
|
|
282
|
+
*/
|
|
283
|
+
getTimestampsFrom(start) {
|
|
284
|
+
const ret = wasm.pgsparser_getTimestampsFrom(this.__wbg_ptr, start);
|
|
285
|
+
return ret;
|
|
286
|
+
}
|
|
260
287
|
/**
|
|
261
288
|
* @returns {string}
|
|
262
289
|
*/
|
package/pkg/libbitsub_bg.wasm
CHANGED
|
Binary file
|
|
@@ -19,7 +19,9 @@ export const dvbparser_getCueEndTime: (a: number, b: number) => number;
|
|
|
19
19
|
export const dvbparser_getCuePageState: (a: number, b: number) => number;
|
|
20
20
|
export const dvbparser_getCueStartTime: (a: number, b: number) => number;
|
|
21
21
|
export const dvbparser_getEndTimestamps: (a: number) => any;
|
|
22
|
+
export const dvbparser_getEndTimestampsFrom: (a: number, b: number) => any;
|
|
22
23
|
export const dvbparser_getTimestamps: (a: number) => any;
|
|
24
|
+
export const dvbparser_getTimestampsFrom: (a: number, b: number) => any;
|
|
23
25
|
export const dvbparser_lastRenderIssue: (a: number) => [number, number];
|
|
24
26
|
export const dvbparser_new: () => number;
|
|
25
27
|
export const dvbparser_parse: (a: number, b: number, c: number) => number;
|
|
@@ -40,6 +42,7 @@ export const pgsparser_getCueEndTime: (a: number, b: number) => number;
|
|
|
40
42
|
export const pgsparser_getCuePaletteId: (a: number, b: number) => number;
|
|
41
43
|
export const pgsparser_getCueStartTime: (a: number, b: number) => number;
|
|
42
44
|
export const pgsparser_getTimestamps: (a: number) => any;
|
|
45
|
+
export const pgsparser_getTimestampsFrom: (a: number, b: number) => any;
|
|
43
46
|
export const pgsparser_lastRenderIssue: (a: number) => [number, number];
|
|
44
47
|
export const pgsparser_new: () => number;
|
|
45
48
|
export const pgsparser_parse: (a: number, b: number, c: number) => number;
|