mac-virtualcam: Check result of finished extension installation

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.
This commit is contained in:
gxalpha
2023-10-07 17:16:45 +02:00
committed by Lain
parent 1781289f22
commit e85b257562
2 changed files with 12 additions and 2 deletions

View File

@@ -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."

View File

@@ -96,8 +96,17 @@ struct virtualcam_data {
- (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