diff --git a/CHANGELOG.md b/CHANGELOG.md index eb3f31de..73294c8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ Entries are grouped by the capability they change, not by commit. Requirement IDs in parentheses point at [docs/requirements.md](docs/requirements.md); the generated trace matrix lives in [docs/traceability.md](docs/traceability.md). +## v0.4.8 + +### 🐛 Fixes + +- **Video with an undecodable soundtrack now transcodes instead of playing + silent.** Advertising a webview-shaped profile (v0.4.7) turned out not to be + enough: Jellyfin 10.11.5 enforces a direct-play profile's container and video + codec but ignores its audio codec, offering an E-AC-3 track for direct play + against a profile listing only AAC — and no `CodecProfile` or channel limit + changes that. The client now checks the track it would actually be served + against what its renderer can decode and forces the h264/AAC HLS transcode + when it cannot, rather than trusting the negotiation. + (UR-004 → DR-149) + ## v0.4.7 ### 🐛 Fixes diff --git a/package.json b/package.json index f9da9215..3d1a728b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jellytau", - "version": "0.4.7", + "version": "0.4.8", "description": "", "type": "module", "packageManager": "bun@1.3.5", diff --git a/scripts/extract-traces.test.ts b/scripts/extract-traces.test.ts index 6d04353f..359dbd64 100644 --- a/scripts/extract-traces.test.ts +++ b/scripts/extract-traces.test.ts @@ -175,8 +175,8 @@ describe("live requirements.md", () => { expect(defined.UR).toBe(71); expect(defined.IR).toBe(32); - expect(defined.DR).toBe(143); + expect(defined.DR).toBe(144); expect(defined.JA).toBe(35); - expect(defined.total).toBe(281); + expect(defined.total).toBe(282); }); }); diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 614786ad..2a773713 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2018,7 +2018,7 @@ dependencies = [ [[package]] name = "jellytau" -version = "0.4.7" +version = "0.4.8" dependencies = [ "aes-gcm", "async-trait", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index ae0bb063..1d7c4234 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jellytau" -version = "0.4.7" +version = "0.4.8" description = "A Tauri App" authors = ["you"] edition = "2021" diff --git a/src-tauri/src/repository/device_profile.rs b/src-tauri/src/repository/device_profile.rs index 573eeb88..72249bbd 100644 --- a/src-tauri/src/repository/device_profile.rs +++ b/src-tauri/src/repository/device_profile.rs @@ -100,10 +100,99 @@ pub fn video_audio_codecs(detected: &str) -> String { } } +/// Whether the webview `