Skip to content

Commit

Permalink
mac-virtualcam: Check result of finished extension installation
Browse files Browse the repository at this point in the history
Adds a switch to distinguish between the possible results that could
occur. While we expect to received RequestCompleted for our camera
extension (RequestWillCompleteAfterReboot is usually more of a network
extension thing), we can't be sure that this always is what we receive
unless we check it.
  • Loading branch information
gxalpha authored and Lain-B committed Oct 10, 2023
1 parent 1781289 commit e85b257
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ Error.SystemExtension.CameraUnavailable="Could not find virtual camera.\n\nPleas
Error.SystemExtension.CameraNotStarted="Unable to start virtual camera.\n\nPlease try again."
Error.SystemExtension.InstallationError="An error has occured while installing the virtual camera:"
Error.SystemExtension.WrongLocation="OBS cannot install the virtual camera if it's not in \"/Applications\". Please move OBS to the \"/Applications\" directory."
Error.SystemExtension.CompleteAfterReboot="The installation of the virtual camera will complete after a system reboot."
Error.DAL.NotInstalled="The virtual camera could not be installed or updated.\n\nPlease try again and enter the name and password of an administrator when prompted."
Error.DAL.NotUninstalled="Could not remove the legacy virtual camera.\n\nPlease try again and enter the name and password of an administrator when prompted."
13 changes: 11 additions & 2 deletions plugins/mac-virtualcam/src/obs-plugin/plugin-main.mm
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,17 @@ - (void)request:(nonnull OSSystemExtensionRequest *)request didFailWithError:(no

- (void)request:(nonnull OSSystemExtensionRequest *)request didFinishWithResult:(OSSystemExtensionRequestResult)result
{
self.installed = YES;
blog(LOG_INFO, "macOS Camera Extension activated successfully.");
switch (result) {
case OSSystemExtensionRequestCompleted:
self.installed = YES;
blog(LOG_INFO, "macOS Camera Extension activated successfully.");
break;
case OSSystemExtensionRequestWillCompleteAfterReboot:
self.lastErrorMessage =
[NSString stringWithUTF8String:obs_module_text("Error.SystemExtension.CompleteAfterReboot")];
blog(LOG_INFO, "macOS Camera Extension will activate after reboot.");
break;
}
}

- (void)requestNeedsUserApproval:(nonnull OSSystemExtensionRequest *)request
Expand Down

0 comments on commit e85b257

Please sign in to comment.