-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
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
libobs: Add new signals for video reset #11686
base: master
Are you sure you want to change the base?
Conversation
For |
|
98fb9a2
to
152963f
Compare
I have modified the timing of sending release signal |
152963f
to
f816574
Compare
I am unable to reproduce a crash using the provided reproduction steps. Please attempt on a fresh OBS installation of OBS 31.0.0 and provide the exact version of DistroAV used. Additionally, please provide the crash log (stack trace). |
@WizardCM this crash still reproduce on obs-31.0 and ndi-6.0.0. it has also been reproduced by others in DistroAV/DistroAV#1096 have you checked if your ndi output is working normally? you can add a ndi source to check its output view in OBS. |
Yes, my NDI output is working correctly. Verified in an NDI source. No crash occurs for me when changing resolution and enabling the output. |
According to my SRE statistics, these third-party output plugins are widely used: @exeldro developed both of the last two. |
Description
If obs_reset_video is called in OBS, for 3rd plugins, they should re-create the obs_output or video_output hold in their code. Otherwise, 3rd plugins will easily crash since their video_output and obs_output::video_t have been deleted in obs_reset_video.
With this commit, 3rd should no longer access their video output when they receive
"core_video_released"
;They should re-create video output hold in code or reset video_t in their obs_output when
"core_video_ready"
arrives.Motivation and Context
if a 3rd plugin hold their obs_output or video_output, crash will easily happen after below operation:
Except NDI plugin, I also found this kind of crash on other plugin, such as vertical-canvas, source-record.
If OBS provide this new front event, 3rd plugin has the chance to reset their obs_output or video_output.
How Has This Been Tested?
settings -> video -> modify resolution -> click OK -> check if this event can be sent
Types of changes
New feature (non-breaking change which adds functionality)
Checklist: