Commit Graph
47 Commits
Author SHA1 Message Date
zoriya bfd15e68bc Commit the build output.
Not for upstream: this branch only exists so a consumer can depend on the fork
straight from git while the `ready` promise waits on a release.
2026-08-26 19:23:04 +02:00
zoriya 382e0f2f03 Updated all dev dependencies. 2026-08-26 19:19:07 +02:00
zoriya 6f79b9aa47 Added a ready promise to await the subtitle file being loaded 2026-08-26 19:19:07 +02:00
David Schulte 9c06f0fd00 Bump version to 0.8.1. v0.8.1 2024-11-07 19:33:48 +01:00
David Schulte f54677b81f Fixed clearing-rect issue after position change. It now clears the exact area the image is drawn. The window is ignored now. 2024-11-07 19:33:48 +01:00
David Schulte d9814cefbf Bump version to 0.8.0. v0.8.0 2024-11-03 11:57:28 +01:00
David Schulte 1e5a90f36a Updated README.md. 2024-11-03 11:57:28 +01:00
David Schulte 9e665e63a2 Implemented cropping. 2024-11-03 11:57:28 +01:00
David Schulte c5156f3a66 Bump version to 0.7.0. v0.7.0 2024-10-30 23:14:32 +01:00
David Schulte 776861be19 Using the composition coordinates to render the subtitle on the canvas instead of the window position. This matches the FFmpeg implementation. 2024-10-30 23:14:32 +01:00
David Schulte d6926937fd Added an aspectRatio property to control the object-fit property of the subtitle canvas. 2024-10-30 22:18:52 +01:00
David Schulte 1e5b520ca3 Bump version to 0.6.0. v0.6.0 2024-09-13 22:33:02 +02:00
David Schulte ac12e5aef5 Added an optional mode setting to force a custom worker mode.
Handled browser specific edge cases for older WebOS versions.
2024-09-13 22:33:02 +02:00
David Schulte f0586396ae Added polyfills for older browser. 2024-09-13 22:33:02 +02:00
David Schulte 1a62bf35bb Implemented a fallback main thread loader and renderer to support for legacy browsers. 2024-09-13 22:33:02 +02:00
David Schulte 525e011c9b Bump version to 0.5.0. v0.5.0 2024-08-18 00:38:13 +02:00
David Schulte b1b5062e08 Split loading and rendering into separate classes.
Added a fallback implementation if `transferControlToOffscreen` is not supported.
Subtitle rendering now uses `putImageData`. This is faster, but replaces all pixels at this location and disallows overlays. Not sure if overlapping multiple PGS windows is even allowed.
2024-08-18 00:38:13 +02:00
David Schulte 4f342ba3e8 Bump version to 0.4.1. v0.4.1 2024-07-15 18:13:54 +02:00
David Schulte 7f12adc38a Pre-compile the next subtitle change after the current subtitle was rendered. 2024-07-15 18:13:54 +02:00
David Schulte 7ddf8c77de Refactored renderer to return pre-compiled render data without rendering it. Will be used for caching. 2024-07-15 18:13:54 +02:00
David Schulte a9bf6dd604 Fixed spelling in README.md. 2024-07-15 18:13:54 +02:00
David Schulte 8ccec2504e Implemented async pgs loading. This enables the renderer to parse the subtitle stream while it's still downloading. All display sets in the completed download range can already be rendered and don't have to wait until the whole file is completed. 2024-07-15 18:13:54 +02:00
David Schulte 728e0345c5 Improve the run-length-encoding performance:
- Avoid using slow callbacks
- Copy and storing the rgba value as one 32bit value instead of four single bytes.
- Store rgba data in one buffer and not objects
2024-07-15 18:13:54 +02:00
David Schulte 7037d5dff2 Only clearing the used area on the canvas, because clearing the whole area every frame is slow. 2024-07-15 18:13:54 +02:00
David Schulte a552563179 Bump version to 0.4.0. v0.4.0 v4.0 2024-07-07 18:27:50 +02:00
David Schulte 3daac947a3 Replaces webpack with rollup to support outputting as es5 module. 2024-07-07 18:27:50 +02:00
David Schulte b31e4a8e14 Fix equal warning in renderer. 2024-07-07 18:27:50 +02:00
David Schulte f7817d3625 Bump version to 0.3.3. 2024-06-16 01:20:57 +02:00
David Schulte 54c118e8ac Added a test to verify PGS loading and rendering by comparing it to an example result. 2024-06-16 01:20:57 +02:00
David Schulte 01b4c954fb Only load PGS timestamps from the PCS. Some tools write 0 into other segments. 2024-06-16 01:20:57 +02:00
David Schulte ef52d0bc6e Bump version to 0.3.2. v0.3.2 2024-06-15 15:20:58 +02:00
David Schulte 9506dd347d The PGS implementation now handles previous segments as intended. 2024-06-15 15:20:58 +02:00
David Schulte 8652176fc9 Bump version to 0.3.1. v0.3.1 2024-06-13 21:26:13 +02:00
David Schulte bae6d29f51 Fixed subtitle not be cleared when seeking to a position before the first subtitle. 2024-06-13 21:26:13 +02:00
David Schulte 037da7c564 Bump version to 0.3.0. v0.3.0 2024-06-13 21:02:35 +02:00
David Schulte 1b574fe203 Loading and rendering subtitles is now done in a separate thread via a web-worker to optimize performance. 2024-06-13 21:02:35 +02:00
David Schulte e0f5c2ef86 Added GitHub Action to run tests on pushes or pull requests. 2024-06-12 22:59:46 +02:00
David Schulte 1bd16eb205 Bump version to 0.2.2. v0.2.2 2024-06-12 22:42:02 +02:00
David Schulte fa6cd16339 Added GitHub Action to build and upload package to npmjs. 2024-06-12 22:42:02 +02:00
David Schulte a6c0180ce7 Improved documentation and updated README.md. 2024-06-11 22:43:45 +02:00
David Schulte 9e280dc35e Bump version to 0.2.1. 2024-06-09 21:27:29 +02:00
David Schulte bb50820f0a Added an optional timeOffset to synchronize the video and subtitle. 2024-06-09 21:27:21 +02:00
David Schulte 7bc9b71668 Bump version to 0.2.0. 2024-06-09 16:26:01 +02:00
David Schulte 052b6139c6 Updated README.md. 2024-06-09 16:23:52 +02:00
David Schulte 2489e53967 Renamed fileUrl to subUrl in PgsRendererOptions.
Refactored binary reader to reduce memory allocations.
Added tests.
2024-06-09 15:57:48 +02:00
David Schulte 9e149cdcae Refactored comments and namings.
Allowed the use of a custom canvas element.
2024-06-08 00:43:52 +02:00
David Schulte 4cc048910d Initial commit 2024-06-07 20:09:58 +02:00