OBS Studio - Free from stubborn peops https://obsproject.com
Find a file
jpark37 9f330050ef libobs-opengl: OpenGL thread-safety on Mac
Attempt to fix threading issues that cause OBS to force-crash when
compiled with latest Xcode. There are two places where the new SDK
introduces a force-crash because operations are not happening on the
main thread: when we modify the context view to switch swap chains, and
when we resize a swap chain.

Instead of using just one context for all rendering, we create an
additional context for each swap chain, set each view once on
initialization, and switch contexts only in present to blit the final
framebuffer. This is an extra copy, but it's pretty hairy to optimize
away, and it's not worth potential regressions just to speed up Mac.

For resizing, we schedule the update code to run on the main thread from
the render thread. Ideally, we wouldn't have to round trip the logic
from main thread to graphics thread and back, but I don't think we want
to hack up the interface for this, especially since OpenGL will give way
to Metal soon enough.
2019-12-26 01:45:48 -08:00
.github GitHub: Add funding buttons 2019-05-23 18:58:20 +10:00
additional_install_files Improve additional_install_files for debug/release 2014-07-18 22:41:11 -07:00
CI CI: Fix QtNetwork in Mac packaging script 2019-12-16 04:37:16 -08:00
cmake Merge pull request #2085 from ratwithacompiler/macos-python-fix 2019-11-14 20:38:53 -08:00
config update build system to autotools (finally) 2013-10-29 23:21:40 -07:00
deps Merge pull request #2069 from pgwipeout/aarch64 2019-11-25 23:56:43 -08:00
docs docs/sphinx: Fix various typos 2019-10-14 17:19:38 -07:00
libobs libobs: Update version to 24.0.6 2019-12-17 12:16:52 -08:00
libobs-d3d11 libobs-d3d11: Increase the frame queue capacity 2019-12-19 10:08:21 -08:00
libobs-opengl libobs-opengl: OpenGL thread-safety on Mac 2019-12-26 01:45:48 -08:00
plugins Merge pull request #1748 from boxerab/ffmpeg-streaming 2019-12-18 12:54:10 -08:00
test Apply clang-format to objective c code 2019-07-09 13:39:13 -05:00
UI UI: Fix compile issue 2019-12-23 16:13:13 -08:00
.cirrus.yml CI: Add Cirrus-CI config for FreeBSD builds 2019-12-02 09:41:17 -05:00
.clang-format Apply clang-format to objective c code 2019-07-09 13:39:13 -05:00
.editorconfig .editorconfig: Add file to speed up editor configuration 2017-06-14 21:35:09 -05:00
.git-blame-ignore-revs .git-blame-ignore-revs: Add file to handle mass reformatting 2019-06-27 01:09:31 +09:00
.gitattributes Fix ffmpeg/x264 find modules according to cmake find module naming conventions 2014-05-22 13:03:47 +02:00
.gitignore git: Add VSCode working dir to .gitignore 2019-10-25 14:01:48 -07:00
.gitmodules enc-amf: Update to 2.5.0.1 and update repository address 2018-09-28 10:54:19 +02:00
.mailmap mailmap: Disambiguate between another author 2017-02-22 16:04:45 +01:00
.travis.yml CI: Update CEF on osx to 3770 2019-09-07 17:44:12 -05:00
appveyor.yml CI: Update Windows CEF version 2019-08-30 16:38:59 +02:00
AUTHORS Update translations from Crowdin 2019-09-17 23:21:00 +02:00
azure-pipelines.yml CI: Keep artifacts for PRs labelled "Seeking Testers" 2019-11-26 14:48:14 +13:00
CMakeLists.txt cmake: Use C++17 for compilation 2019-10-15 21:08:45 -07:00
COMMITMENT Add GPL Cooperation Commitment to base directory 2019-01-24 02:02:49 -05:00
CONTRIBUTING.rst CONTRIBUTING.rst: Improve commit guidelines 2019-04-13 01:52:25 -07:00
COPYING deps-w32-pthreads: Update FSF address 2015-07-11 09:10:27 -07:00
Doxyfile Add doxygen configuration file for obs. 2014-10-19 15:00:07 +02:00
formatcode.sh CI: Don't run clang format on some submodule plugins 2019-12-09 23:52:59 -08:00
INSTALL Update INSTALL 2018-07-14 08:21:00 +01:00
README.rst README.rst: Add Crowdin progress badge 2019-10-29 15:50:21 +01:00

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

.. image:: https://d322cqt584bo4o.cloudfront.net/obs-studio/localized.svg
   :alt: OBS Studio Translation Project Progress
   :target: https://crowdin.com/project/obs-studio

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.