Post

Replies

Boosts

Views

Activity

Reply to Channel Mapping with AUHAL
FWIW, I have also run into the Center/LFE swap, specifically when using a Mac Mini -> eARC via LG C2 -> Denon AVR. I use the layouts kAudioChannelLayoutTag_WAVE_5_1_B and kAudioChannelLayoutTag_WAVE_7_1 which both have this issue. Audio MIDI Setup shows the two channels swapped (Center = 4, LFE = 3), but the layouts don't honor the values from AMS. From what I can tell this goes back to very old HDMI specifications where a different channel layout was used in some cases. Using an SDL renderer instead of my own CoreAudio version works fine, so I know it's something I need to fix, I'm just not sure how to detect this situation or the best way to fix it. For example should I swap samples between channels or maybe use a different layout?
Topic: Audio SubTopic:
Audio Q&A
1w
Reply to How best to handle AirPods audio glitches in Game Mode?
This may not the right place to discuss this, but I wanted to add some additional info I've found while looking through log messages. While using AirPods on Mac and playing audio being routed from Apple TV via AirPlay Receiver, I launched an app that triggers game mode. An easy one that triggers game mode but doesn't actually do anything else is the Steam Link app. Notably, the audio being played during this time played without glitches despite the latency being reduced. The log explains how, and even gives us a hint into the latency numbers at play here: BTAudio | In ear-Latency change received from BTServer, latency 151MSec BTAudio | latencyMode received from : 2 Server.A2DP | Dynamic Latency settting flush timeout to 60 ms BTAudio | audio delivery speed Latency Target 81, Currently running Running, multiplier 1.100000 Server.A2DP | Dynamic Latency: Request JBL Down by 81Msec Server.A2DP | Initiate Audio Delivery Speed Change Latency change target=81 Server.A2DP | Dynamic Latency received system 'audio speed change complete' notification from HAL on a2dpHandle 1, status 1 Server.A2DP | Initiate Audio Delivery Speed Change Latency change target=0 Server.Audio | Timed audio delivery speed modification completed BTAudio | audio delivery speed Latency Target 0, Currently running Not Running, multiplier 1.000000 BTAudio | In ear-Latency change received from BTServer, latency 60MSec Server.Audio | Low Latency Game a2dpDynamicLatencyTransitionCompleted new latencymode: 1 Neat! A 10% speed change is a good way to mask the problem. And a full 100ms reduction in latency! Is there a chance that apps using higher-level audio APIs get this for free? I am ok if the price for using the low-level AudioUnit API is that I need to roll my own solution, I'm just looking for just a bit of documentation and maybe some sample code. Side note: I often have the Apple TV configured to route audio to both the Mac and the HDMI out, where the HDMI audio plays in sync with the audio from the Mac's AirPods. This is a great hidden feature, and of course Game Mode when this latency transition happens, the Apple TV isn't aware of it and ends up slightly behind the Mac/AirPods. An extreme edge case at this point, but handled well without any noticeable audio glitches.
Topic: Media Technologies SubTopic: Audio Tags:
Oct ’24
Reply to macOS 27: A Spotlight thread crashed my app that doesn't use Spotlight
I think I lost the crash report, due to another daemon that was repeatedly crashing on my system. Does this backtrace have any hints on how it might be reproduced? I will be sure to save it properly next time, thanks.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
1w
Reply to Channel Mapping with AUHAL
FWIW, I have also run into the Center/LFE swap, specifically when using a Mac Mini -> eARC via LG C2 -> Denon AVR. I use the layouts kAudioChannelLayoutTag_WAVE_5_1_B and kAudioChannelLayoutTag_WAVE_7_1 which both have this issue. Audio MIDI Setup shows the two channels swapped (Center = 4, LFE = 3), but the layouts don't honor the values from AMS. From what I can tell this goes back to very old HDMI specifications where a different channel layout was used in some cases. Using an SDL renderer instead of my own CoreAudio version works fine, so I know it's something I need to fix, I'm just not sure how to detect this situation or the best way to fix it. For example should I swap samples between channels or maybe use a different layout?
Topic: Audio SubTopic:
Audio Q&A
Replies
Boosts
Views
Activity
1w
Reply to How best to handle AirPods audio glitches in Game Mode?
This may not the right place to discuss this, but I wanted to add some additional info I've found while looking through log messages. While using AirPods on Mac and playing audio being routed from Apple TV via AirPlay Receiver, I launched an app that triggers game mode. An easy one that triggers game mode but doesn't actually do anything else is the Steam Link app. Notably, the audio being played during this time played without glitches despite the latency being reduced. The log explains how, and even gives us a hint into the latency numbers at play here: BTAudio | In ear-Latency change received from BTServer, latency 151MSec BTAudio | latencyMode received from : 2 Server.A2DP | Dynamic Latency settting flush timeout to 60 ms BTAudio | audio delivery speed Latency Target 81, Currently running Running, multiplier 1.100000 Server.A2DP | Dynamic Latency: Request JBL Down by 81Msec Server.A2DP | Initiate Audio Delivery Speed Change Latency change target=81 Server.A2DP | Dynamic Latency received system 'audio speed change complete' notification from HAL on a2dpHandle 1, status 1 Server.A2DP | Initiate Audio Delivery Speed Change Latency change target=0 Server.Audio | Timed audio delivery speed modification completed BTAudio | audio delivery speed Latency Target 0, Currently running Not Running, multiplier 1.000000 BTAudio | In ear-Latency change received from BTServer, latency 60MSec Server.Audio | Low Latency Game a2dpDynamicLatencyTransitionCompleted new latencymode: 1 Neat! A 10% speed change is a good way to mask the problem. And a full 100ms reduction in latency! Is there a chance that apps using higher-level audio APIs get this for free? I am ok if the price for using the low-level AudioUnit API is that I need to roll my own solution, I'm just looking for just a bit of documentation and maybe some sample code. Side note: I often have the Apple TV configured to route audio to both the Mac and the HDMI out, where the HDMI audio plays in sync with the audio from the Mac's AirPods. This is a great hidden feature, and of course Game Mode when this latency transition happens, the Apple TV isn't aware of it and ends up slightly behind the Mac/AirPods. An extreme edge case at this point, but handled well without any noticeable audio glitches.
Topic: Media Technologies SubTopic: Audio Tags:
Replies
Boosts
Views
Activity
Oct ’24