libbitsub 1.12.1 → 1.13.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/pkg/README.md CHANGED
@@ -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`. Older browsers fall
297
- back to `requestAnimationFrame()` automatically; set `frameAwareSync: false` to
298
- force that compatibility path. The active path is available as
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
  ```
@@ -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
  */
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;
package/pkg/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "altqx"
6
6
  ],
7
7
  "description": "High-performance WASM renderer for graphical subtitles (PGS, VobSub, and DVB)",
8
- "version": "1.12.1",
8
+ "version": "1.13.0",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",