obs-studio/plugins/mac-virtualcam/src/obs-plugin
PatTheMav 00b4c9c88a mac-virtualcam: Fix memory access issues for shared IOSurfaces
The DAL plugin-based virtualcamera shares data between OBS and the
plugin using an IOSurface. IOSurface locks are necessary to ensure
race conditions between data generation (OBS side) and consumption
(virtual camera side) and also that an IOSurface is not offloaded to
GPU memory when it is indeed needed in CPU memory.

Also moves the invalidation of the NSMachPort for the frames to after
the IOSurface data has been converted into a pixelbuffer and added to
the frame queue of the virtual camera, as an early invalidation will
cut off access to the pixel data shared with the DAL plugin.

(cherry picked from commit 447adfbe38)
2023-01-31 16:08:40 -08:00
..
data/locale Update translations from Crowdin 2022-08-17 04:22:50 +00:00
CMakeLists.txt mac-virtualcam: Use IOSurface to share output with virtual cameras 2022-06-10 13:36:54 +02:00
Defines.h mac-virtualcam: Remove unnecessary plugin version number 2021-10-24 00:22:53 -07:00
OBSDALMachServer.h mac-virtualcam: Use IOSurface to share output with virtual cameras 2022-06-10 13:36:54 +02:00
OBSDALMachServer.mm mac-virtualcam: Fix memory access issues for shared IOSurfaces 2023-01-31 16:08:40 -08:00
plugin-main.mm mac-virtualcam: Remove unnecessary use of NSAppleEventDescriptor 2022-10-19 01:59:11 +02:00