Search results for

“Popping Sound”

20,036 results found

Post

Replies

Boosts

Views

Activity

How to monitor heart rate in background without affecting Activity Rings?
I'm developing a watchOS nap app that detects when the user falls asleep by monitoring heart rate changes. == Technical Implementation == HKWorkoutSession (.mindAndBody) for background execution HKAnchoredObjectQuery for real-time heart rate data CoreMotion for movement detection == Battery Considerations == Heart rate monitoring ONLY active when user explicitly starts a session Monitoring continues until user is awakened OR 60-minute limit is reached If no sleep detected within 60 minutes, session auto-ends (user may have abandoned or forgotten to stop) App displays clear UI indicating monitoring is active Typical session: 15-30 minutes, keeping battery usage minimal == The Problem == HKWorkoutSession affects Activity Rings during the session. Users receive Exercise goal reached notifications while resting — confusing. == What I've Tried == Not using HKLiveWorkoutBuilder → Activity Rings still affected Using builder but not calling finishWorkout() (per https://developer.apple.com/forums/thread/780220) → Acti
6
0
550
2w
Someone help me, i need to connect to wifi by scan a qrCode in my Flutter APP
Hi, I'v got the error by using NEHotspotConfiguration to connect a wifi spot but get:NEHotspotConfigurationErrorDomain code=8. I hope to get the same result as when scanning the code with the system camera. A pop-up window will appear, and I just need to click Join to successfully connect. Here's the logs: [OneAppWifi][iOS] handleCheckWifiEnabled start (iOS 12+) [OneAppWifi][iOS] handleCheckWifiEnabled pathUpdateHandler status=satisfied [OneAppWifi][iOS] handleConnectWifi start, ssid=OPPO Find X6 Pro, pwd=len=16, authType=Optional(sae), hidden=false [OneAppWifi][iOS] handleConnectWifi cancelPendingConnection before new request ssid=OPPO Find X6 Pro [OneAppWifi][iOS] cancelPendingConnection called, errorCode=nil, currentSsid=nil [OneAppWifi][iOS] cancelPendingConnection silent cancel, just clear pendingConnectResult [OneAppWifi][iOS] handleConnectWifi apply completion with error, domain=NEHotspotConfigurationErrorDomain, code=8, userInfo=[NSLocalizedDescription: internal error.] [OneAppWifi][iOS] reso
3
0
106
2w
Random EXC_BAD_ACCESS using AVFoundation
My app uses the AVFoundation to pronounce some words. Running the app from Xcode, either to a simulator or device, I frequently get this crash at start-up: AXSpeech (13): EXC_BAD_ACCESS (code=EXC_I386_GPFLT). It seems to occur randomly, maybe 20%-30% of the time I launch the app. When it does not crash, using audio works as expected. When launched from the device, it never crashes (so far, at least). Here's the code that outputs speech: Declared at the top level of the View struct: @State var synth = AVSpeechSynthesizer() In the View, as part of a Button's action closure: let utterance = AVSpeechUtterance(string: answer) utterance.voice = AVSpeechSynthesisVoice(language: en_US) synth.speak(utterance) Any idea on how to stop this? It's annoying having to launch the app multiple times to test on a simulator or device.
1
0
533
2w
Reply to filecopy fails with errno 34 "Result too large" when copying from NAS
Have you filed a bug on this and, if so, what is the bug number? Not yet, but I do have another thread where I describe the same problem in regards to .DS_Store: https://developer.apple.com/forums/thread/819041 I will post the bug number (most likely there) when I carve out a little time for it. Currently if copyfile fails and errno is not set my code falls back to a kind of 'Unknown Error' which I hate but if the user is counting on my app to perform the copy it's kind of a gamble if the operation doesn't succeed to just hope not critical data was lost. A big part of this is that xattrs aren't actually safe“— the system doesn't have a documented system for defining how they should be handled, and app/copy engine/file format support for them is inconsistent, so storing critical data in them can end up being a good way to lose critical data. Importantly, that kind of data loss isn't really a bug in the same way other kinds of data loss would be. The general point of xattrs is to allow the attachment of arbitra
Topic: App & System Services SubTopic: Core OS Tags:
2w
Reply to UIDocumentPickerViewController allows to select file declared in Info.plist document types even when restricting to folder UTI
Thanks for confirming. This is unexpected because from the documentation it sounds like only the provided UTIs are allowed by the document picker; there's no mention of the Info.plist types. Is there no way of allowing the user to select only the provided UTIs? On macOS, regardless what document types the Info.plist contains, using the following code only allows to select folders: let openPanel = NSOpenPanel() openPanel.allowedContentTypes = [.folder] openPanel.runModal()
Topic: UI Frameworks SubTopic: UIKit Tags:
2w
Incoming calls thrue Jisti Meet and locked screen
Problem: When the screen is locked, an incoming call does not initiate the launch of the Flutter application required for audio and video communication through Jitsi Meet. In the unlocked state, the application functions correctly. The current implementation does not have a mechanism for activating the Flutter engine when receiving a call via CallKit while the screen is locked. Although CallKit UI displays the call acceptance interface and the audio session is configured, the Flutter application remains in a suspended state, making it impossible to connect to the media server. Audio session activated using didActivateAudioSession method.
1
0
91
2w
Reply to Incoming calls thrue Jisti Meet and locked screen
Problem: When the screen is locked, an incoming call does not initiate the launch of the Flutter application required for audio and video communication through Jitsi Meet. In the unlocked state, the application functions correctly. This is a problem with your app that you'll need to address, not an issue with our API or the system’s broader behavior. The core point is actually here: The current implementation does not have a mechanism for activating the Flutter engine when receiving a call via CallKit while the screen is locked. Although CallKit UI displays the call acceptance interface and the audio session is configured, the Flutter application remains in a suspended state, making it impossible to connect to the media server. Audio session activated using didActivateAudioSession method. The CallKit UI isn't an independent system component outside of your app’s control, but is actually an interface element your app is controlling and managing. Case in point, the ONLY reason the inc
Topic: Media Technologies SubTopic: Audio Tags:
2w
macOS 26: Can’t add a new VPN configuration
On one of my machines (new MacMini M4Pro) I can’t add any new VPN configuration, doesn’t matter what I use. Trying to set up Tailscale, I get to the point where Tailscale brings up the Allow VPN configuration panel. If I hit the Allow VPN Configuration button, then macOS pops up its own panel: Tailscale Would Like to Add VPN Configurations All network activity on this Mac may be filtered or monitored when using VPN. [Allow] [Don’t Allow] I hit the allow button, and after a short wait the Tailscale panel shows in red You must allow this to use Tailscale. I can repeat this as often as I want, but Tailscale isn’t added to the VPN configurations. If I use any other third party VPN app, I get similar results: nothing gets added to the VPN configurations. If I use macOS’s System Settings and hit the Add VPN Configuration pop-up menu in the VPN section, and e.g. add an IKEv2 setup, it ask me to authenticate, and then provides me with the panel into which to put the relevant settings. I enter some test setti
2
0
403
2w
Reply to AVAudioSession.outputVolume does not reflect system volume changes made while app is in background
I had the same problem even with Audio, AirPlay and Picture in Picture background mode enabled and with all the AVAudioSession.setActive(true) and AVAudioSession.setCategory(...) calls. We run some tests and it seems Apple made things more restrictive since iOS 18 (it was working on iOS 17.6). The only fix I found is to use the good old MPVolumeView as a substitute, but there's a catch - it's mandatory to add it to UI otherwise it will always return volume of 0. In SwiftUI it was as simple as creating a UI component: import MediaPlayer import SwiftUI struct VolumeSlider: UIViewRepresentable { private let volumeView: MPVolumeView = MPVolumeView() func makeUIView(context: Context) -> MPVolumeView { return volumeView } func updateUIView(_ view: MPVolumeView, context: Context) {} func getVolume() -> Float { if let slider = volumeView.subviews.first(where: { $0 is UISlider }) as? UISlider { return slider.value } return AVAudioSession.sharedInstance().outputVolume } } And then in your SwiftUI view yo
Topic: Media Technologies SubTopic: Audio Tags:
2w
Reply to Static library links on device but fails on iOS Simulator
It sounds like your static library isn't built as an XCFramework that then contains your static library. In essence, your library needs to be built twice, once for iOS devices and a second time for iOS simulators, with both copies and the header files then packed inside of the XCFramework so Xcode then handles all of the details from there. The documentation covers all of the details you need. — Ed Ford,  DTS Engineer
2w
Reply to Using StoreKit from an AUv3 plugin that can be loaded in-process
Yeah, the obvious way doesn't work so well if you're using auto-renewing subscriptions - forcing the user to run the outer app every three days when the grace period expires to see if the user is still subscribed is a non-starter - this needs to be transparent and just work™ once the user has bought the subscription - my target customers are mastering engineers and similar - I wouldn't put up with that from a plugin for long, so I cannot expect my customer to. I have one local beta tester I'm going to try a TestFlight version with subscription support enabled and lots of logging and see if the extension is able to see products defined for the outer app. The fact that all of this is essentially untestable by the developer (getting a StoreKit config through to the extension process seems to be a no-go, not to mention my experience with local StoreKit configs working on a much simpler iOS app spotty enough not to trust) is fairly maddening. The combinatorics in the state machine you need for definitely-not-subsc
Topic: Media Technologies SubTopic: Audio Tags:
2w
The SecKeyCreateSignature method always prompts for the current user's login password.
I downloaded a P12 file (containing a private key) from the company server, and retrieved the private key from this P12 file using a password : private func loadPrivateKeyFromPKCS12(path: String, password: String) throws -> SecKey? { let p12Data: Data do { p12Data = try Data(contentsOf: fileURL) } catch let readError { ... } let options: [CFString: Any] = [ kSecImportExportPassphrase: password as CFString ] var items: CFArray? let status = SecPKCS12Import(p12Data as CFData, options as CFDictionary, &items) guard status == errSecSuccess else { throw exception } var privateKey: SecKey? let idd = identity as! SecIdentity let _ = SecIdentityCopyPrivateKey(idd, &privateKey) return privateKey } However, when I use this private key to call SecKeyCreateSignature for data signing, a dialog box always pops up to ask user to input the Mac admin password. What confuses me is that this private key is clearly stored in the local P12 file, and there should be no access to the keychain involved in this process. Wh
1
0
79
2w
On iOS 26, HLS alternate audio track selection behaves inconsistently
Summary On iOS 26, HLS alternate audio track selection behaves inconsistently on both VOD and live streams: the French track falls back to the DEFAULT=YES (English) track after manual selection, and in some cases switching to a non-default track appears to work but it is then impossible to switch back to English. Environment iOS version: 26 Players affected: native Safari on iOS 26 and THEOplayer (issue also reproducible on THEOplayer's own demo page) Stream type: HLS/CMAF with demuxed alternate audio renditions (CMFC container) Affected stream types: both VOD and live streaming Issue NOT present on iOS 17/18 Manifest #EXTM3U #EXT-X-VERSION:4 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:BANDWIDTH=8987973,AVERAGE-BANDWIDTH=8987973,VIDEO-RANGE=SDR,CODECS=avc1.640028,RESOLUTION=1920x1080,FRAME-RATE=29.970,AUDIO=program_audio video_1080p.m3u8 #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=en,ASSOC-LANGUAGE=en,NAME=English,AUTOSELECT=YES,DEFAULT=YES,CHANNELS=2,URI=audi
1
0
110
2w
Reply to On iOS 26, HLS alternate audio track selection behaves inconsistently
Update — Workaround found After further investigation I have found a workaround that resolves the inconsistent track switching behaviour described above. Observation I noticed that changing the order of EXT-X-MEDIA audio entries in the manifest produced different results. Specifically, when the DEFAULT=YES track is listed first, switching behaviour is unreliable. When the DEFAULT=YES track is placed last, switching back to the default language works correctly. Workaround Reorder the EXT-X-MEDIA audio entries so that the DEFAULT=YES rendition appears last in the manifest: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=de,NAME=Deutsch,AUTOSELECT=YES,DEFAULT=NO,CHANNELS=2,URI=audio_DEU.m3u8 #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=fr,NAME=Francais,AUTOSELECT=YES,DEFAULT=NO,CHANNELS=2,URI=audio_FRA.m3u8 #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=en,NAME=English,AUTOSELECT=YES,DEFAULT=YES,CHANNELS=2,URI=audio_ENG.m3u8 In our case the
Topic: Media Technologies SubTopic: Streaming Tags:
2w
AVAudioSession : Audio issues when recording the screen in an app that changes IOBufferDuration on iOS 26.
Among Japanese end users, audio issues during screen recording—primarily in game applications—have become a topic of discussion. We have confirmed that the trigger for this issue is highly likely to be related to changes to IOBufferDuration. When using setPreferredIOBufferDuration and the IOBufferDuration is set to a value smaller than the default, audio problems occur in the recorded screen capture video. Audio playback is performed using AudioUnit (RemoteIO). https://developer.apple.com/documentation/avfaudio/avaudiosession/setpreferrediobufferduration(_:)?language=objc This issue was not observed on iOS 18, and it appears to have started occurring after upgrading to iOS 26. We provide an audio middleware solution, and we had incorporated changes to IOBufferDuration into our product to achieve low-latency audio playback. As a result, developers using our product as well as their end users are being affected by this issue. We kindly request that this issue be inve
2
0
471
2w
How to monitor heart rate in background without affecting Activity Rings?
I'm developing a watchOS nap app that detects when the user falls asleep by monitoring heart rate changes. == Technical Implementation == HKWorkoutSession (.mindAndBody) for background execution HKAnchoredObjectQuery for real-time heart rate data CoreMotion for movement detection == Battery Considerations == Heart rate monitoring ONLY active when user explicitly starts a session Monitoring continues until user is awakened OR 60-minute limit is reached If no sleep detected within 60 minutes, session auto-ends (user may have abandoned or forgotten to stop) App displays clear UI indicating monitoring is active Typical session: 15-30 minutes, keeping battery usage minimal == The Problem == HKWorkoutSession affects Activity Rings during the session. Users receive Exercise goal reached notifications while resting — confusing. == What I've Tried == Not using HKLiveWorkoutBuilder → Activity Rings still affected Using builder but not calling finishWorkout() (per https://developer.apple.com/forums/thread/780220) → Acti
Replies
6
Boosts
0
Views
550
Activity
2w
Someone help me, i need to connect to wifi by scan a qrCode in my Flutter APP
Hi, I'v got the error by using NEHotspotConfiguration to connect a wifi spot but get:NEHotspotConfigurationErrorDomain code=8. I hope to get the same result as when scanning the code with the system camera. A pop-up window will appear, and I just need to click Join to successfully connect. Here's the logs: [OneAppWifi][iOS] handleCheckWifiEnabled start (iOS 12+) [OneAppWifi][iOS] handleCheckWifiEnabled pathUpdateHandler status=satisfied [OneAppWifi][iOS] handleConnectWifi start, ssid=OPPO Find X6 Pro, pwd=len=16, authType=Optional(sae), hidden=false [OneAppWifi][iOS] handleConnectWifi cancelPendingConnection before new request ssid=OPPO Find X6 Pro [OneAppWifi][iOS] cancelPendingConnection called, errorCode=nil, currentSsid=nil [OneAppWifi][iOS] cancelPendingConnection silent cancel, just clear pendingConnectResult [OneAppWifi][iOS] handleConnectWifi apply completion with error, domain=NEHotspotConfigurationErrorDomain, code=8, userInfo=[NSLocalizedDescription: internal error.] [OneAppWifi][iOS] reso
Replies
3
Boosts
0
Views
106
Activity
2w
Random EXC_BAD_ACCESS using AVFoundation
My app uses the AVFoundation to pronounce some words. Running the app from Xcode, either to a simulator or device, I frequently get this crash at start-up: AXSpeech (13): EXC_BAD_ACCESS (code=EXC_I386_GPFLT). It seems to occur randomly, maybe 20%-30% of the time I launch the app. When it does not crash, using audio works as expected. When launched from the device, it never crashes (so far, at least). Here's the code that outputs speech: Declared at the top level of the View struct: @State var synth = AVSpeechSynthesizer() In the View, as part of a Button's action closure: let utterance = AVSpeechUtterance(string: answer) utterance.voice = AVSpeechSynthesisVoice(language: en_US) synth.speak(utterance) Any idea on how to stop this? It's annoying having to launch the app multiple times to test on a simulator or device.
Replies
1
Boosts
0
Views
533
Activity
2w
Reply to filecopy fails with errno 34 "Result too large" when copying from NAS
Have you filed a bug on this and, if so, what is the bug number? Not yet, but I do have another thread where I describe the same problem in regards to .DS_Store: https://developer.apple.com/forums/thread/819041 I will post the bug number (most likely there) when I carve out a little time for it. Currently if copyfile fails and errno is not set my code falls back to a kind of 'Unknown Error' which I hate but if the user is counting on my app to perform the copy it's kind of a gamble if the operation doesn't succeed to just hope not critical data was lost. A big part of this is that xattrs aren't actually safe“— the system doesn't have a documented system for defining how they should be handled, and app/copy engine/file format support for them is inconsistent, so storing critical data in them can end up being a good way to lose critical data. Importantly, that kind of data loss isn't really a bug in the same way other kinds of data loss would be. The general point of xattrs is to allow the attachment of arbitra
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
2w
Reply to UIDocumentPickerViewController allows to select file declared in Info.plist document types even when restricting to folder UTI
Thanks for confirming. This is unexpected because from the documentation it sounds like only the provided UTIs are allowed by the document picker; there's no mention of the Info.plist types. Is there no way of allowing the user to select only the provided UTIs? On macOS, regardless what document types the Info.plist contains, using the following code only allows to select folders: let openPanel = NSOpenPanel() openPanel.allowedContentTypes = [.folder] openPanel.runModal()
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
2w
Incoming calls thrue Jisti Meet and locked screen
Problem: When the screen is locked, an incoming call does not initiate the launch of the Flutter application required for audio and video communication through Jitsi Meet. In the unlocked state, the application functions correctly. The current implementation does not have a mechanism for activating the Flutter engine when receiving a call via CallKit while the screen is locked. Although CallKit UI displays the call acceptance interface and the audio session is configured, the Flutter application remains in a suspended state, making it impossible to connect to the media server. Audio session activated using didActivateAudioSession method.
Replies
1
Boosts
0
Views
91
Activity
2w
Reply to Incoming calls thrue Jisti Meet and locked screen
Problem: When the screen is locked, an incoming call does not initiate the launch of the Flutter application required for audio and video communication through Jitsi Meet. In the unlocked state, the application functions correctly. This is a problem with your app that you'll need to address, not an issue with our API or the system’s broader behavior. The core point is actually here: The current implementation does not have a mechanism for activating the Flutter engine when receiving a call via CallKit while the screen is locked. Although CallKit UI displays the call acceptance interface and the audio session is configured, the Flutter application remains in a suspended state, making it impossible to connect to the media server. Audio session activated using didActivateAudioSession method. The CallKit UI isn't an independent system component outside of your app’s control, but is actually an interface element your app is controlling and managing. Case in point, the ONLY reason the inc
Topic: Media Technologies SubTopic: Audio Tags:
Replies
Boosts
Views
Activity
2w
macOS 26: Can’t add a new VPN configuration
On one of my machines (new MacMini M4Pro) I can’t add any new VPN configuration, doesn’t matter what I use. Trying to set up Tailscale, I get to the point where Tailscale brings up the Allow VPN configuration panel. If I hit the Allow VPN Configuration button, then macOS pops up its own panel: Tailscale Would Like to Add VPN Configurations All network activity on this Mac may be filtered or monitored when using VPN. [Allow] [Don’t Allow] I hit the allow button, and after a short wait the Tailscale panel shows in red You must allow this to use Tailscale. I can repeat this as often as I want, but Tailscale isn’t added to the VPN configurations. If I use any other third party VPN app, I get similar results: nothing gets added to the VPN configurations. If I use macOS’s System Settings and hit the Add VPN Configuration pop-up menu in the VPN section, and e.g. add an IKEv2 setup, it ask me to authenticate, and then provides me with the panel into which to put the relevant settings. I enter some test setti
Replies
2
Boosts
0
Views
403
Activity
2w
Reply to AVAudioSession.outputVolume does not reflect system volume changes made while app is in background
I had the same problem even with Audio, AirPlay and Picture in Picture background mode enabled and with all the AVAudioSession.setActive(true) and AVAudioSession.setCategory(...) calls. We run some tests and it seems Apple made things more restrictive since iOS 18 (it was working on iOS 17.6). The only fix I found is to use the good old MPVolumeView as a substitute, but there's a catch - it's mandatory to add it to UI otherwise it will always return volume of 0. In SwiftUI it was as simple as creating a UI component: import MediaPlayer import SwiftUI struct VolumeSlider: UIViewRepresentable { private let volumeView: MPVolumeView = MPVolumeView() func makeUIView(context: Context) -> MPVolumeView { return volumeView } func updateUIView(_ view: MPVolumeView, context: Context) {} func getVolume() -> Float { if let slider = volumeView.subviews.first(where: { $0 is UISlider }) as? UISlider { return slider.value } return AVAudioSession.sharedInstance().outputVolume } } And then in your SwiftUI view yo
Topic: Media Technologies SubTopic: Audio Tags:
Replies
Boosts
Views
Activity
2w
Reply to Static library links on device but fails on iOS Simulator
It sounds like your static library isn't built as an XCFramework that then contains your static library. In essence, your library needs to be built twice, once for iOS devices and a second time for iOS simulators, with both copies and the header files then packed inside of the XCFramework so Xcode then handles all of the details from there. The documentation covers all of the details you need. — Ed Ford,  DTS Engineer
Replies
Boosts
Views
Activity
2w
Reply to Using StoreKit from an AUv3 plugin that can be loaded in-process
Yeah, the obvious way doesn't work so well if you're using auto-renewing subscriptions - forcing the user to run the outer app every three days when the grace period expires to see if the user is still subscribed is a non-starter - this needs to be transparent and just work™ once the user has bought the subscription - my target customers are mastering engineers and similar - I wouldn't put up with that from a plugin for long, so I cannot expect my customer to. I have one local beta tester I'm going to try a TestFlight version with subscription support enabled and lots of logging and see if the extension is able to see products defined for the outer app. The fact that all of this is essentially untestable by the developer (getting a StoreKit config through to the extension process seems to be a no-go, not to mention my experience with local StoreKit configs working on a much simpler iOS app spotty enough not to trust) is fairly maddening. The combinatorics in the state machine you need for definitely-not-subsc
Topic: Media Technologies SubTopic: Audio Tags:
Replies
Boosts
Views
Activity
2w
The SecKeyCreateSignature method always prompts for the current user's login password.
I downloaded a P12 file (containing a private key) from the company server, and retrieved the private key from this P12 file using a password : private func loadPrivateKeyFromPKCS12(path: String, password: String) throws -> SecKey? { let p12Data: Data do { p12Data = try Data(contentsOf: fileURL) } catch let readError { ... } let options: [CFString: Any] = [ kSecImportExportPassphrase: password as CFString ] var items: CFArray? let status = SecPKCS12Import(p12Data as CFData, options as CFDictionary, &items) guard status == errSecSuccess else { throw exception } var privateKey: SecKey? let idd = identity as! SecIdentity let _ = SecIdentityCopyPrivateKey(idd, &privateKey) return privateKey } However, when I use this private key to call SecKeyCreateSignature for data signing, a dialog box always pops up to ask user to input the Mac admin password. What confuses me is that this private key is clearly stored in the local P12 file, and there should be no access to the keychain involved in this process. Wh
Replies
1
Boosts
0
Views
79
Activity
2w
On iOS 26, HLS alternate audio track selection behaves inconsistently
Summary On iOS 26, HLS alternate audio track selection behaves inconsistently on both VOD and live streams: the French track falls back to the DEFAULT=YES (English) track after manual selection, and in some cases switching to a non-default track appears to work but it is then impossible to switch back to English. Environment iOS version: 26 Players affected: native Safari on iOS 26 and THEOplayer (issue also reproducible on THEOplayer's own demo page) Stream type: HLS/CMAF with demuxed alternate audio renditions (CMFC container) Affected stream types: both VOD and live streaming Issue NOT present on iOS 17/18 Manifest #EXTM3U #EXT-X-VERSION:4 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:BANDWIDTH=8987973,AVERAGE-BANDWIDTH=8987973,VIDEO-RANGE=SDR,CODECS=avc1.640028,RESOLUTION=1920x1080,FRAME-RATE=29.970,AUDIO=program_audio video_1080p.m3u8 #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=en,ASSOC-LANGUAGE=en,NAME=English,AUTOSELECT=YES,DEFAULT=YES,CHANNELS=2,URI=audi
Replies
1
Boosts
0
Views
110
Activity
2w
Reply to On iOS 26, HLS alternate audio track selection behaves inconsistently
Update — Workaround found After further investigation I have found a workaround that resolves the inconsistent track switching behaviour described above. Observation I noticed that changing the order of EXT-X-MEDIA audio entries in the manifest produced different results. Specifically, when the DEFAULT=YES track is listed first, switching behaviour is unreliable. When the DEFAULT=YES track is placed last, switching back to the default language works correctly. Workaround Reorder the EXT-X-MEDIA audio entries so that the DEFAULT=YES rendition appears last in the manifest: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=de,NAME=Deutsch,AUTOSELECT=YES,DEFAULT=NO,CHANNELS=2,URI=audio_DEU.m3u8 #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=fr,NAME=Francais,AUTOSELECT=YES,DEFAULT=NO,CHANNELS=2,URI=audio_FRA.m3u8 #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=program_audio,LANGUAGE=en,NAME=English,AUTOSELECT=YES,DEFAULT=YES,CHANNELS=2,URI=audio_ENG.m3u8 In our case the
Topic: Media Technologies SubTopic: Streaming Tags:
Replies
Boosts
Views
Activity
2w
AVAudioSession : Audio issues when recording the screen in an app that changes IOBufferDuration on iOS 26.
Among Japanese end users, audio issues during screen recording—primarily in game applications—have become a topic of discussion. We have confirmed that the trigger for this issue is highly likely to be related to changes to IOBufferDuration. When using setPreferredIOBufferDuration and the IOBufferDuration is set to a value smaller than the default, audio problems occur in the recorded screen capture video. Audio playback is performed using AudioUnit (RemoteIO). https://developer.apple.com/documentation/avfaudio/avaudiosession/setpreferrediobufferduration(_:)?language=objc This issue was not observed on iOS 18, and it appears to have started occurring after upgrading to iOS 26. We provide an audio middleware solution, and we had incorporated changes to IOBufferDuration into our product to achieve low-latency audio playback. As a result, developers using our product as well as their end users are being affected by this issue. We kindly request that this issue be inve
Replies
2
Boosts
0
Views
471
Activity
2w