mirror of
https://github.com/kyleneideck/BackgroundMusic
synced 2024-11-26 14:10:16 +00:00
488ed16dfc
Issue #276 reported a segfault that occurred while BGMApp was launching. It was caused by BGM_PlayThrough's output IOProc when it tried to read from the ring buffer. I haven't been able to reproduce the problem, so I don't know whether this commit will actually fix it. Hopefully it will at least make it easier to diagnose. This commit adds locking around accesses to the buffer so that the IOProcs will skip the current IO cycle if it isn't safe to use the ring buffer. That should only happen during launch or when changing the output device. (And only if something else has gone wrong.) |
||
---|---|---|
.. | ||
BGMDebugLogging.c | ||
BGMDebugLogging.h | ||
CAAtomic.h | ||
CAAutoDisposer.h | ||
CABitOperations.h | ||
CACFArray.cpp | ||
CACFArray.h | ||
CACFDictionary.cpp | ||
CACFDictionary.h | ||
CACFNumber.cpp | ||
CACFNumber.h | ||
CACFString.cpp | ||
CACFString.h | ||
CADebugger.cpp | ||
CADebugger.h | ||
CADebugMacros.cpp | ||
CADebugMacros.h | ||
CADebugPrintf.cpp | ||
CADebugPrintf.h | ||
CAException.h | ||
CAHALAudioDevice.cpp | ||
CAHALAudioDevice.h | ||
CAHALAudioObject.cpp | ||
CAHALAudioObject.h | ||
CAHALAudioStream.cpp | ||
CAHALAudioStream.h | ||
CAHALAudioSystemObject.cpp | ||
CAHALAudioSystemObject.h | ||
CAHostTimeBase.cpp | ||
CAHostTimeBase.h | ||
CAMutex.cpp | ||
CAMutex.h | ||
CAPropertyAddress.h | ||
CAPThread.cpp | ||
CAPThread.h | ||
CARingBuffer.cpp | ||
CARingBuffer.h |