Post

Replies

Boosts

Views

Activity

How to properly use NSURLSession for audio streaming
I am trying to use NSURLSession for http and https streaming, but I encounter numerous issues doing so. For one thing, my file open function must be synchronous, since the caller is expecting to be able to start reading data the moment the open function returns. Also, the read requests are expected to complete on the same thread as the file is opened from, which also implies synchronous access. I also do my own decoding and playback interface, and support a whole host of exotic formats, so it's really impractical for me to use the AVPlayer interface.I also have a concern with using Core Audio to decode indeterminate length non-seekable streams which may not start on a packet boundary, but I'll take that to another sub forum of this site, since it's not really a networking question.
2
0
962
Apr ’20
Unreal Engine 4.26 titles consistently crashing the GPU while in Skype video call
I have had a consistent bug since macOS Developer beta 9, and continuing with beta 10. First it happened with Myst from the GOG.com store, version 1.5.3, which is an Unreal Engine 4.26 title, and Apple Silicon native. Then it happened again with the latest release of Wonderbox from Apple Arcade, which is also now an Apple Silicon native title, and another Unreal Engine 4.26 title. I will launch and play the game while a Skype video call is idling away on my other monitor. Within about 20 minutes of gameplay, the GPU will lock up, and all keyboard shortcuts will stop working. Within about one minute of that happening, the displays will shut off. At least with Wonderbox, the running game audio kept playing, but the game event loop did stop on its own, so the audio that persisted was the background music and the event sounds that were running when it locked up. The audio continues looping, so the game audio thread is still processing at this time. At this point, the only access I had to the machine was to SSH into it with my iPad, and monitor processes with the top command, which showed that a crash was being logged. After that crash logged, I kill'd the game executable, which stopped the audio. Then I attempted to HUP WindowServer, which only killed it, and didn't bring back my displays. I eventually sudo reboot'd the machine, which took a while to process, and when I booted back up, it reported that the machine apparently did panic, either before or during my attempted reboot. The panic logged indicated that the GPU had crashed or something like that. A snippet of the panic: panic(cpu 4 caller 0xfffffe00152a95a8): GFX NMI FIQ - agx_interrupt(4) - failed to transition to state 0 (_iopStatus=7) RTKit: RTKit-1826.40.9.release - Client: not set Feedback reported, reference number FB9704932
1
0
773
Oct ’21
Please delete this obviously fake crash report
Since you don't provide a report feature, or let me reply or comment on the issue, I'll post a new issue and link the other one here: https://developer.apple.com/forums/thread/700578 Please give this issue the attention it deserves: deletion so it stops showing up in search results. It's so obviously nonsense that I don't even know where to begin.
0
0
461
Feb ’22
Is it possible to utilize the Spatial Audio API on macOS without targeting Mac Catalyst?
The question speaks for itself. Is there any exposed API for accessing or implementing Spatial Audio, for virtual surround playback, say, from doing my own multi-channel decoding and outputting to discrete surround speaker positions, and having that track a user wearing a Spatial Audio compatible headphone or earphone device attached to their Mac via Bluetooth? I maintain an audio player, and I currently implement a fixed position spatial audio downmixer for surround, as an option. I would also like to support Spatial Audio downmixing via the OS. And I do not want to have to convert my app to a Catalyst app and lose a good chunk of backwards compatibility with older macOS versions to do this.
1
0
997
May ’22
SCNView / SceneKit crash in grain noise generator on Radeon Polaris series GPU on macOS 10.15.7
As mentioned in the title, whenever an iMac19,2 owner running 10.15.7 runs my app, which features a scene with grain noise and rendering against a transparent background, it crashes like so: Crashed: CVDisplayLink 0 libobjc.A.dylib 0x681d objc_msgSend + 29 1 SceneKit 0x250780 SCNMTLComputeCommandEncoder::dispatchOnTexture2DWithoutOptimizedThreadGroupPerGrid(id<MTLTexture>, id<MTLComputePipelineState>) + 104 2 SceneKit 0x15abf6 C3D::getGrainNoise256(id<MTLCommandBuffer>, SCNMTLRenderContext*, C3D::RenderGraphResourceManager&) + 403 3 SceneKit 0xc6a9e C3D::CompositePass::compile() + 1410 4 SceneKit 0x391a46 C3D::RenderGraph::allocateResources() + 2198 5 SceneKit 0x14dc2d C3DEngineContextRenderWithRenderGraph + 52 6 SceneKit 0x22666b -[SCNRenderer _renderSceneWithEngineContext:sceneTime:] + 532 7 SceneKit 0x227222 -[SCNRenderer _drawSceneWithNewRenderer:] + 281 8 SceneKit 0x227786 -[SCNRenderer _drawScene:] + 46 9 SceneKit 0x227c8b -[SCNRenderer _drawAtTime:] + 965 10 SceneKit 0x214d29 -[SCNView _drawAtTime:WithContext:] + 542 11 SceneKit 0x214653 -[SCNView SCN_displayLinkCallback:] + 306 12 SceneKit 0x1af4f8 __69-[NSObject(SCN_DisplayLinkExtensions) SCN_setupDisplayLinkWithQueue:]_block_invoke + 49 13 SceneKit 0x2a1468 __36-[SCNDisplayLink _callbackWithTime:]_block_invoke.13 + 52 14 libdispatch.dylib 0x2658 _dispatch_client_callout + 8 15 libdispatch.dylib 0xe6ec _dispatch_lane_barrier_sync_invoke_and_complete + 60 16 SceneKit 0x2a13c5 -[SCNDisplayLink _callbackWithTime:] + 307 17 SceneKit 0x2a10c6 _cvDisplayLinkCallback + 261 18 CoreVideo 0x2e92 CVDisplayLink::performIO(CVTimeStamp*) + 230 19 CoreVideo 0x22c8 CVDisplayLink::runIOThread() + 626 20 libsystem_pthread.dylib 0x6109 _pthread_start + 148 21 libsystem_pthread.dylib 0x1b8b thread_start + 15
0
0
753
Jun ’22
Locating user folders outside the App Sandbox
I have developer an app, and it is in the App Store now, but apparently, I have done something rather pointless. I granted it the entitlements: com.apple.security.assets.movies.read-only com.apple.security.assets.music.read-only com.apple.security.files.downloads.read-only But I have no idea how to get the system paths associated with these entitlements. Currently, the user has to manually grant permission to files in these paths for them to work, as I have no idea how to exclude them from requirement to ask the user to add the directories. [[NSFileManager defaultManager] URLForDirectory:..] is useless, as it returns paths inside the app's container. This is also challenging, as I default to setting a file tree browser to the user's Music directory, which can be located anywhere, but instead, it points inside the sandbox container.
0
0
810
Jun ’22
LibcOverlayShims.h compile error
I'm getting this error trying to compile my framework, which I newly added some Swift code to: <module-includes>:1:9: note: in file included from <module-includes>:1: #import "LibcOverlayShims.h"         ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/swift/shims/LibcOverlayShims.h:80:15: error: declaration of 'sem_t' must be imported from module 'Darwin.sys.semaphore' before it is required static inline sem_t *_stdlib_sem_open2(const char *name, int oflag) {               ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/semaphore.h:43:13: note: declaration here is not visible typedef int sem_t;             ^ <unknown>:0: error: could not build Objective-C module 'SwiftOverlayShims'
0
1
922
Jun ’22
Xcode Cloud ignores my versioning attempts
Is it possible to control how Xcode Cloud versions the apps it builds? I would like to declare it to use the same template that my build system uses to generate its own Info.plist at build time: CFBundleVersion: [number of commits since a specific Git tag where I forked the project] CFBundleShortVersionString: [the same thing] And I want it to preserve the generated tags that I add to the Info.plist for informational purposes: GitHash: [the full commit hash that was built] GitVersion: [number of commits as used above]-g[minimum characters of hash to be unique, currently up to 8 now] BuildTime: [current date/time when Info.plist was generated near the end of build time] Is there any way I can automate at least the CFBundleVersion and preserving the rest of the custom tags with Xcode Cloud? Xcode Cloud unfortunately seems to completely override my version field, and sets it to the first 5 characters of the Git commit hash, which is incompatible with App Store version policy of only being numbers or dots.
3
0
1.3k
Jul ’22