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

Thread safety fixes to address potential crashes and freezes #52

Merged
merged 9 commits into from
Feb 8, 2023

Conversation

y2kcyborg
Copy link
Contributor

@y2kcyborg y2kcyborg commented Feb 4, 2023

These commits clean up the locking strategy in spout-output and spout-filter, fixing a number of freezes, crash on exit, and similar errors due to race conditions between the OBS main and graphics threads.

The create/destroy methods are also tidied up and no longer have a potential null pointer dereference.

Bonus: made the filter actually stop sending if it's disabled in OBS.

Maintainer Edit

Copy link
Collaborator

@campbellwmorgan campbellwmorgan left a comment

Choose a reason for hiding this comment

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

Many thanks for this. Have commented out the spout debug log lines, but left them in for future debugging.

@campbellwmorgan
Copy link
Collaborator

@millenium-cyborg We've just been doing some QA on this and have found that the Spout Output now causes OBS to crash on exit. To recreate:

  • Start the the Spout Output
  • Open the SpoutReceiver to watch it
  • Close OBS

CrashLog_a.txt

@campbellwmorgan
Copy link
Collaborator

@millenium-cyborg good news - our internal QA shows that this is working well now! Thank you!

@campbellwmorgan campbellwmorgan merged commit 3eb5e3d into Off-World-Live:master Feb 8, 2023
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