Skip to content

[VirtualCam] Fix Windows code path to return exception - #1804

Merged
sandboxcoder merged 1 commit into
stagingfrom
rno/win-virtualcam
Oct 15, 2026
Merged

sandboxcoder merged 1 commit into
stagingfrom
rno/win-virtualcam

Conversation

@sandboxcoder

@sandboxcoder sandboxcoder commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Description

When virtual camera is started on Windows, ensure it cannot silently fail.

Motivation and Context

Updated startVirtualCam code path to share the same implementation as MacOS where any error is displayed to user. I actually can no longer repro the original issue in staging where QA reports they could not get windows vcam to work after I restarted Windows (making sure to unhook previously loaded virtual cam DLL from zoom/slack etc) and rebuilt with latest OSN. So adding support for the same code path MacOS had in-place to display an error and print it to Desktop app.log.

How Has This Been Tested?

I verified when I start Virtual WebCam it can be started/stopped/restarted.

Types of changes

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

Checklist:

  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

// On macOS, we will wait for a response. Our situation is more complicated due to the vcam SystemExtension
// which will return errors that we need to display to the user.
std::vector<ipc::value> response = conn->call_synchronous_helper("NodeOBS_Service", "OBS_service_startVirtualCam", {});
if (response.size() > 1) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should we throw if the response is empty?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Very good callout. I thought about updating the code path to return OK when all goes well and also tidy up the frontend code to check for OK. Right now, it just wraps this code in a try/catch on FE side and displays a popup if its' returned an exception.

@sandboxcoder
sandboxcoder merged commit f0f12be into staging Oct 15, 2026
20 checks passed
@sandboxcoder
sandboxcoder deleted the rno/win-virtualcam branch October 15, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants