Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mac-virtualcam: Fix global namespace issues in DAL plugin #3758

Merged
merged 1 commit into from
Nov 24, 2020
Merged

mac-virtualcam: Fix global namespace issues in DAL plugin #3758

merged 1 commit into from
Nov 24, 2020

Conversation

PatTheMav
Copy link
Member

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

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@PatTheMav PatTheMav added Seeking Testers Build artifacts on CI macOS Affects macOS labels Nov 23, 2020
@PatTheMav
Copy link
Member Author

@gxalpha Feel free to download the artifact once it's done and check the built-in plugin. As you have SIP disabled the lack of signing shouldn't be an issue then.

@dodgepong dodgepong added this to the OBS Studio 26.1 milestone Nov 23, 2020
@gxalpha
Copy link
Member

gxalpha commented Nov 23, 2020

Works for me, can't test if its compatible with EOS Webcam Utility though since I dont have it. 👍

@johnboiles
Copy link
Contributor

❤️ this is awesome. Thanks @PatTheMav

<string>PlugInMain</string>
</dict>
<key>CFPlugInTypes</key>
<dict>
<key>30010C1C-93BF-11D8-8B5B-000A95AF9C6A</key>
<array>
<string>35FDFF29-BFCF-4644-AB77-B759DE932ABE</string>
<string>7E950B8C-5E49-4B9E-B7D0-B3608A08E8F6</string>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea to switch this

@jp9000 jp9000 merged commit 3fd9509 into obsproject:master Nov 24, 2020
@PatTheMav PatTheMav deleted the mac-virtualcam-namespacing branch December 10, 2020 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Fix Non-breaking change which fixes an issue macOS Affects macOS Seeking Testers Build artifacts on CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants