Fixes several possible crash issues that might occur on Intel-based Macs and older macOS versions: On modern macOS versions (13+) allocated memory is zero-allocated by default which makes NULL pointer checks work correctly after allocation. On older macOS versions this is not the case, so the OBSAVCaptureInfo struct needs to be zero-allocated to ensure the guards in the tick and render functions bail out correctly. On Intel-based Macs and/or older macOS versions passing a reference to the OBSAVCapture instance inside the OBSAVCapture struct can lead to a crash because of a possible circular reference that cannot be resolved at runtime. Passing only a reference of the OBSAVCapture to libobs and incrementing the retain count at source creation (decrementing in when the source is destroyed) avoids this issue entirely. |
||
|---|---|---|
| .. | ||
| data/locale | ||
| legacy | ||
| CMakeLists.txt | ||
| OBSAVCapture.h | ||
| OBSAVCapture.m | ||
| OBSAVCapturePresetInfo.h | ||
| OBSAVCapturePresetInfo.m | ||
| plugin-main.h | ||
| plugin-main.m | ||
| plugin-properties.h | ||
| plugin-properties.m | ||