mirror of
https://github.com/yattee/yattee.git
synced 2026-07-19 05:42:04 +00:00
Fix silent audio on tvOS with Atmos Continuous Audio Output (#928)
With Atmos "Continuous Audio Output" enabled, some HDMI routes report 32 output channels, which mpv's audiounit AO cannot open - playback stays silent while other (AVPlayer-based) apps work fine. Update MPVKit to 0.41.0-n8.1.2, which builds mpv's avfoundation AO (AVSampleBufferAudioRenderer, previously macOS-only) for iOS/tvOS (mpvkit/MPVKit#73), and prefer it on tvOS via ao=avfoundation,audiounit so mpv still falls back to audiounit if it fails to initialize. iOS and macOS audio outputs are unchanged. The MPVKit pin must be exactVersion: SwiftPM sorts the pre-release identifier below 0.41.0, so a range starting at 0.41.0 never resolves to it. Note this tag also bumps FFmpeg from 8.0 to n8.1.1.
This commit is contained in:
@@ -1233,8 +1233,8 @@
|
||||
isa = XCRemoteSwiftPackageReference;
|
||||
repositoryURL = "https://github.com/mpvkit/MPVKit.git";
|
||||
requirement = {
|
||||
kind = upToNextMajorVersion;
|
||||
minimumVersion = 0.41.0;
|
||||
kind = exactVersion;
|
||||
version = "0.41.0-n8.1.2";
|
||||
};
|
||||
};
|
||||
/* End XCRemoteSwiftPackageReference section */
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/mpvkit/MPVKit.git",
|
||||
"state" : {
|
||||
"revision" : "613c0ccc3acf70e136aaff880a9b5fe8fdfaf5b8",
|
||||
"version" : "0.41.0"
|
||||
"revision" : "99030e05253f0977b5e00eb079416565c608f2b1",
|
||||
"version" : "0.41.0-n8.1.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -453,7 +453,12 @@ final class MPVClient: @unchecked Sendable {
|
||||
|
||||
// Audio
|
||||
setOptionSync("audio-client-name", "Yattee")
|
||||
#if os(iOS) || os(tvOS)
|
||||
#if os(tvOS)
|
||||
// Prefer avfoundation (AVSampleBufferAudioRenderer): audiounit can't open
|
||||
// 32-channel HDMI routes (Atmos "Continuous Audio Output") and stays silent.
|
||||
// mpv falls back to audiounit if avfoundation fails to initialize.
|
||||
setOptionSync("ao", "avfoundation,audiounit")
|
||||
#elseif os(iOS)
|
||||
setOptionSync("ao", "audiounit")
|
||||
#elseif os(macOS)
|
||||
setOptionSync("ao", "coreaudio")
|
||||
|
||||
Reference in New Issue
Block a user