Thanks for testing and for the feedback
Random crashes are definitely something we want to track down. To help narrow it down, could you share:
- Which audio device/driver — ASIO, WASAPI, or JACK?
- Does the crash happen on startup, after running for a period of time, or triggered by a specific operation (load, play, stop, device change)?
- Any crash log or stack trace from the CasparCG log folder?
In the meantime here are the most common causes we’re aware of with PortAudio consumers: **COM apartment threading (Windows/ASIO)**— All PortAudio calls (Pa_Initialize, Pa_OpenStream, Pa_StartStream) must share the same COM apartment thread. If your ASIO driver is strict about this, any cross-thread call can produce an unpredictable crash.
We moved Pa_Initialize into the executor thread specifically to address this but some drivers may still be sensitive. **FIFO underrun** — If the ring buffer between CasparCG’s push model and PortAudio’s pull callback drains completely the callback can read from an invalid position.
This is more likely under high CPU load or when the buffer size and FIFO depth settings are too small for your system.
Try increasing `` in the config if you suspect this. **Device disconnection or driver reset** — PortAudio does not handle surprise device removal or driver-level resets gracefully and will likely crash if the device disappears while streaming. Make sure your ASIO device is stable before starting CasparCG.
If you want a build that already has all three PRs (screen consumer, OAL fix, and PortAudio) integrated and ready to compile without any patching, we maintain a complete fork at: GitHub - gmeisel01/CasparCG_Enhanced · GitHub
Any details you can share from the log would be really helpful — even the last few lines before the crash would give us something to work with.