BackgroundMusic/BGMApp/PublicUtility
Kyle Neideck 488ed16dfc
Hopefully fix a segfault caused by BGM_PlayThrough.
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.)
2020-04-18 22:00:49 +10:00
..
BGMDebugLogging.c Add optional debug logging in release builds. 2020-01-24 08:07:34 +11:00
BGMDebugLogging.h Add optional debug logging in release builds. 2020-01-24 08:07:34 +11:00
CAAtomic.h Initial commit 2016-02-19 16:25:34 +11:00
CAAutoDisposer.h Initial commit 2016-02-19 16:25:34 +11:00
CABitOperations.h Initial commit 2016-02-19 16:25:34 +11:00
CACFArray.cpp Initial commit 2016-02-19 16:25:34 +11:00
CACFArray.h Initial commit 2016-02-19 16:25:34 +11:00
CACFDictionary.cpp Initial commit 2016-02-19 16:25:34 +11:00
CACFDictionary.h Initial commit 2016-02-19 16:25:34 +11:00
CACFNumber.cpp Initial commit 2016-02-19 16:25:34 +11:00
CACFNumber.h Initial commit 2016-02-19 16:25:34 +11:00
CACFString.cpp Initial commit 2016-02-19 16:25:34 +11:00
CACFString.h Initial commit 2016-02-19 16:25:34 +11:00
CADebugger.cpp Initial commit 2016-02-19 16:25:34 +11:00
CADebugger.h Refactor non-UI code out of BGMAppVolumes. 2017-10-28 18:13:08 +11:00
CADebugMacros.cpp Hopefully fix a segfault caused by BGM_PlayThrough. 2020-04-18 22:00:49 +10:00
CADebugMacros.h Hopefully fix a segfault caused by BGM_PlayThrough. 2020-04-18 22:00:49 +10:00
CADebugPrintf.cpp Add optional debug logging in release builds. 2020-01-24 08:07:34 +11:00
CADebugPrintf.h Add optional debug logging in release builds. 2020-01-24 08:07:34 +11:00
CAException.h Initial commit 2016-02-19 16:25:34 +11:00
CAHALAudioDevice.cpp Initial commit 2016-02-19 16:25:34 +11:00
CAHALAudioDevice.h Initial commit 2016-02-19 16:25:34 +11:00
CAHALAudioObject.cpp Change output device in some cases when devices are added/removed. 2018-10-23 14:07:13 +11:00
CAHALAudioObject.h Initial commit 2016-02-19 16:25:34 +11:00
CAHALAudioStream.cpp Initial commit 2016-02-19 16:25:34 +11:00
CAHALAudioStream.h Initial commit 2016-02-19 16:25:34 +11:00
CAHALAudioSystemObject.cpp Initial commit 2016-02-19 16:25:34 +11:00
CAHALAudioSystemObject.h Initial commit 2016-02-19 16:25:34 +11:00
CAHostTimeBase.cpp Initial commit 2016-02-19 16:25:34 +11:00
CAHostTimeBase.h Initial commit 2016-02-19 16:25:34 +11:00
CAMutex.cpp Initial commit 2016-02-19 16:25:34 +11:00
CAMutex.h Hopefully fix a segfault caused by BGM_PlayThrough. 2020-04-18 22:00:49 +10:00
CAPropertyAddress.h Enable Hardened Runtime in BGMApp, BGMXPCHelper and BGMDriver. 2019-08-05 21:25:57 +10:00
CAPThread.cpp Initial commit 2016-02-19 16:25:34 +11:00
CAPThread.h Initial commit 2016-02-19 16:25:34 +11:00
CARingBuffer.cpp Initial commit 2016-02-19 16:25:34 +11:00
CARingBuffer.h first attempt at using CARingBuffer 2019-11-30 21:04:21 +11:00