mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 13:08:50 +02:00
OBS Studio - Free and open source software for live streaming and screen recording
cc-plus-plusdirectshowfacebook-liveffmpeggame-capturelive-streamingscreen-capturetwitch-tvvideo-recordingyoutube-live
dc6a0bf8e9
Before, we were calling DestroyWindow on the browser panel HWND from the CEF UI thread, which meant that the main program thread had to process window messages in order for that message to successfully through as DestroyWindow blocks on the WM_DESTROY/WM_NCDESTROY window messages. Unfortunately, this also had the side-effect of processing all queued Qt events, which, when called in the destructor of a window like this, can result in undefined behavior; specifically crashes, which were occurring due to this. Especially when browser panels were in docks and docked to the main window. So, instead of calling DestroyWindow in another thread and then processing events in the main thread, call DestroyWindow directly in the main thread to get WM_DESTROY/WM_NCDESTROY and only those processed on the spot. This appears to fix the crashes due to the undefined behavior when closing browser panels. |
||
---|---|---|
.github | ||
additional_install_files | ||
CI | ||
cmake | ||
config | ||
deps | ||
docs | ||
libobs | ||
libobs-d3d11 | ||
libobs-opengl | ||
plugins | ||
test | ||
UI | ||
.clang-format | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.travis.yml | ||
appveyor.yml | ||
AUTHORS | ||
azure-pipelines.yml | ||
CMakeLists.txt | ||
COMMITMENT | ||
CONTRIBUTING.rst | ||
COPYING | ||
Doxyfile | ||
formatcode.sh | ||
INSTALL | ||
README.rst |
OBS Studio <https://obsproject.com> =================================== .. image:: https://travis-ci.org/obsproject/obs-studio.svg?branch=master :alt: OBS Studio Build Status - Travis CI :target: https://travis-ci.org/obsproject/obs-studio .. image:: https://ci.appveyor.com/api/projects/status/github/obsproject/obs-studio?branch=master&svg=true :alt: OBS Studio Build Status - AppVeyor CI :target: https://ci.appveyor.com/project/jp9000/obs-studio/branch/master .. image:: https://dev.azure.com/obsjim/obsjim/_apis/build/status/obsproject.obs-studio?branchName=master :alt: OBS Studio Build Status - Azure Pipelines :target: https://dev.azure.com/obsjim/obsjim/_build/latest?definitionId=1&branchName=master .. image:: https://discordapp.com/api/guilds/348973006581923840/widget.png?style=shield :alt: OBS Studio Discord Server :target: https://obsproject.com/discord What is OBS Studio? ------------------- OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. It's distributed under the GNU General Public License v2 (or any later version) - see the accompanying COPYING file for more details. Quick Links ----------- - Website: https://obsproject.com - Help/Documentation/Guides: https://github.com/obsproject/obs-studio/wiki - Forums: https://obsproject.com/forum/ - Build Instructions: https://github.com/obsproject/obs-studio/wiki/Install-Instructions - Developer/API Documentation: https://obsproject.com/docs - Donating/backing/sponsoring: https://obsproject.com/contribute - Bug Tracker: https://obsproject.com/mantis/ (Note: The bug tracker is linked to forum accounts. To use the bug tracker, log in to a forum account) Contributing ------------ - If you would like to help fund or sponsor the project, you can do so via `Patreon <https://www.patreon.com/obsproject>`_, `OpenCollective <https://opencollective.com/obsproject>`_, or `PayPal <https://www.paypal.me/obsproject>`_. See our `contribute page <https://obsproject.com/contribute>`_ for more information. - If you wish to contribute code to the project, please make sure to read the coding and commit guidelines: https://github.com/obsproject/obs-studio/blob/master/CONTRIBUTING.rst - Developer/API documentation can be found here: https://obsproject.com/docs - If you wish to contribute translations, do not submit pull requests. Instead, please use Crowdin. For more information read this thread: https://obsproject.com/forum/threads/how-to-contribute-translations-for-obs.16327/ - Other ways to contribute are by helping people out with support on our forums or in our community chat. Please limit support to topics you fully understand -- bad advice is worse than no advice. When it comes to something that you don't fully know or understand, please defer to the official help or official channels.