You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.3.2] - 2026-02-07
9
+
10
+
### ✨ Added
11
+
- Added advanced codec option support for WebCodecs:
12
+
-`video.codecString` / `audio.codecString`
13
+
-`video.quantizer`
14
+
-`video.avc.format` / `video.hevc.format`
15
+
-`audio.aac.format`
16
+
- Exported codec option helper types for those advanced fields from the public API.
17
+
18
+
### 🛠️ Improved
19
+
-`canEncode()` now probes codec-specific configuration details (codec strings and codec-specific option blocks) for more accurate capability checks in Chrome/WebCodecs environments.
20
+
- Worker initialization now applies and sanitizes codec-specific encoder overrides so only options valid for the selected codec are passed through.
21
+
- Added configurable external worker URL support via `WEBCODECS_WORKER_URL` and `window.__WEBCODECS_WORKER_URL__`.
22
+
23
+
### 🐛 Fixed
24
+
- Fixed audio-only initialization to skip unnecessary video encoder setup and capability checks.
25
+
- Fixed `AudioData` lifecycle handling to ensure internally created or provided audio frames are always closed after encode attempts.
26
+
- Improved worker error forwarding so error handlers receive worker errors consistently even when handler registration is delayed.
27
+
28
+
### 🧪 Tests
29
+
- Expanded coverage for audio-only worker initialization, codec override parsing, capability probe option forwarding, and worker error propagation behavior.
Copy file name to clipboardExpand all lines: README.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,7 @@ Inline worker controls:
47
47
|`WEBCODECS_USE_INLINE_WORKER=true` or `window.__WEBCODECS_USE_INLINE_WORKER__ = true`| Force the inline mock (useful for Storybook, unit tests, etc.). |
48
48
|`WEBCODECS_DISABLE_INLINE_WORKER=true` or `window.__WEBCODECS_DISABLE_INLINE_WORKER__ = true`| Always require the external worker. |
49
49
|`WEBCODECS_ALLOW_INLINE_IN_PROD=true` or `window.__WEBCODECS_ALLOW_INLINE_IN_PROD__ = true`| Explicitly permit the inline mock on production builds (not recommended). |
50
+
|`WEBCODECS_WORKER_URL=/assets/webcodecs-worker.js` or `window.__WEBCODECS_WORKER_URL__ = '/assets/webcodecs-worker.js'`| Override the external worker URL when your app is served from a sub-path/CDN. |
50
51
51
52
> ⚠️ The inline worker is a **test stub** that returns placeholder bytes. Use it only for wiring/UI development. Real MP4/WebM output requires the external worker bundle.
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "webcodecs-encoder",
3
-
"version": "0.3.1",
3
+
"version": "0.3.2",
4
4
"description": "A TypeScript library for browser environments to encode video (H.264/AVC, VP9, VP8) and audio (AAC, Opus) using the WebCodecs API and mux them into MP4 or WebM containers with real-time streaming support. New function-first API design.",
0 commit comments