mac-virtualcam: Fix global namespace issues in DAL plugin #3758
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes global namespaces issues in the DAL plugin that will arise when another DAL plugin based on the same example code is installed on the system.
Motivation and Context
ObjectiveC does symbol lookups at runtime, which means that two plugins can be loaded with identical symbol names. This leads to undefined behaviour as it is not defined which class/method will be used.
The issue was mentioned in johnboiles/obs-mac-virtualcam#215 before and has been shown to interfere with the EOS Webcam Utility for macOS (which also didn't namespace its functions uniquely) johnboiles/obs-mac-virtualcam#232 (comment).
How Has This Been Tested?
Virtualcam tested locally with the plugin-version installed to check if there are still ambiguous symbols.
Types of changes
Checklist: