From fa70ab5bd2b0e17fdca5b6f19258e98331852778 Mon Sep 17 00:00:00 2001 From: Quick <31828688+Quick104@users.noreply.github.com> Date: Sun, 11 Oct 2026 05:16:55 +0000 Subject: [PATCH] chore(deps): resolve the TrueHD object decoder from LibTrueHD 2.0.0 SiloObjectAudio moved to superuser404notfound/LibTrueHD (AE#731) and was renamed for 2.0.0: package LibTrueHD, product, module and xcframework TrueHD. The decoder source and its truehd_atmos_ C API are unchanged, so only the package reference, the import and the lock move. Verified on macOS (Xcode 27): swift build, the full test suite in its two CI groups, and TrueHDAtmosSampleTests against Dolby's Unfold demo (1,298,000 frames, LFE + 15 objects, signal in all four height speakers of the 7.1.4 render). Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + Package.resolved | 10 +++++----- Package.swift | 4 ++-- .../Audio/Spatial/TrueHDObjectAudioDecoder.swift | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe0268bdc..8e8010d70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ the public-API contract. ### Changed +- The TrueHD object decoder behind `objectAudioRendering` resolves from [LibTrueHD](https://github.com/superuser404notfound/LibTrueHD) 2.0.0, SiloObjectAudio's new name after its transfer (AE#731). The package is `LibTrueHD` and the product and module are `TrueHD`; the decoder and its C API are unchanged, and the xcframework is rebuilt from the same source. - CI runs the HLS, subtitle/resource authorization and live trust-evaluator suites in a separate test process so unrelated blocking tests cannot delay their resolvers. All tests and existing deadlines remain enforced. - Once a redirect chain has reached HTTPS, the engine drops credential headers (`Authorization`, `Cookie`, Emby/Jellyfin tokens) from every later HTTP hop, including headers returned by `HTTPRequestAuthorization`. A provider that authorizes every URL can no longer send its credentials in cleartext after a downgrade. The HTTP hop still runs, so anonymous redirects keep working, and an origin the host configured as HTTP still receives provider credentials. diff --git a/Package.resolved b/Package.resolved index 0b21bea8a..f2f5d30b5 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "aaad2851e63fbb5d8035f6ae9c6abb71e8e010beeeb30d2f9dbbe60ccd7022f6", + "originHash" : "a7c538250a98861022d56ad395d9ddb89c906dbebf35ccdce594611315aa87eb", "pins" : [ { "identity" : "ffmpegbuild", @@ -20,12 +20,12 @@ } }, { - "identity" : "siloobjectaudio", + "identity" : "libtruehd", "kind" : "remoteSourceControl", - "location" : "https://github.com/Silo-Server/SiloObjectAudio", + "location" : "https://github.com/superuser404notfound/LibTrueHD", "state" : { - "revision" : "645b91c072fafb60146151fd5127f8ff0ca38b6f", - "version" : "1.0.0" + "revision" : "7ac6b379cb5d77ff5f424bc9daa17131b044a962", + "version" : "2.0.0" } }, { diff --git a/Package.swift b/Package.swift index a80e5e326..2193e0553 100644 --- a/Package.swift +++ b/Package.swift @@ -55,7 +55,7 @@ let package = Package( // TrueHD decoder that also decodes the Atmos object presentation (beds, objects, OAMD) for // `objectAudioRendering`. The Rust `truehd` crate (Apache-2.0) behind a C API, prebuilt as an // xcframework like LibDovi so consumers need no Rust. Pinned to the minor for the same reason. - .package(url: "https://github.com/Silo-Server/SiloObjectAudio", .upToNextMinor(from: "1.0.0")), // 1.0.0: first release + .package(url: "https://github.com/superuser404notfound/LibTrueHD", .upToNextMinor(from: "2.0.0")), // 2.0.0: SiloObjectAudio renamed after its transfer (AE#731): package LibTrueHD, product, module and xcframework TrueHD, same decoder and C API; 1.0.0: first release, as SiloObjectAudio ], targets: [ .target( @@ -63,7 +63,7 @@ let package = Package( dependencies: [ .product(name: "AetherFFmpegBuild", package: "FFmpegBuild"), .product(name: "Dovi", package: "LibDovi"), - .product(name: "SiloObjectAudio", package: "SiloObjectAudio"), + .product(name: "TrueHD", package: "LibTrueHD"), ], linkerSettings: [ .linkedFramework("AVFoundation"), diff --git a/Sources/AetherEngine/Audio/Spatial/TrueHDObjectAudioDecoder.swift b/Sources/AetherEngine/Audio/Spatial/TrueHDObjectAudioDecoder.swift index 5586b5771..461d9d13e 100644 --- a/Sources/AetherEngine/Audio/Spatial/TrueHDObjectAudioDecoder.swift +++ b/Sources/AetherEngine/Audio/Spatial/TrueHDObjectAudioDecoder.swift @@ -1,7 +1,7 @@ import Foundation -import SiloObjectAudio +import TrueHD -/// TrueHD object-presentation decoder over the SiloObjectAudio library (the Rust `truehd` crate behind +/// TrueHD object-presentation decoder over the LibTrueHD library (the Rust `truehd` crate behind /// a C API): lossless decode of presentation 3, which for an Atmos stream is the bed plus up to 15 /// dynamic objects, together with the object audio metadata (OAMD) that positions them. ///