OBS Studio - Free from stubborn peops https://obsproject.com
Find a file
PatTheMav 00b4c9c88a mac-virtualcam: Fix memory access issues for shared IOSurfaces
The DAL plugin-based virtualcamera shares data between OBS and the
plugin using an IOSurface. IOSurface locks are necessary to ensure
race conditions between data generation (OBS side) and consumption
(virtual camera side) and also that an IOSurface is not offloaded to
GPU memory when it is indeed needed in CPU memory.

Also moves the invalidation of the NSMachPort for the frames to after
the IOSurface data has been converted into a pixelbuffer and added to
the frame queue of the virtual camera, as an early invalidation will
cut off access to the pixel data shared with the DAL plugin.

(cherry picked from commit 447adfbe38)
2023-01-31 16:08:40 -08:00
.github CI: Revise repository conditions to validate JSON schema of services 2023-01-06 21:14:50 +01:00
additional_install_files Improve additional_install_files for debug/release 2014-07-18 22:41:11 -07:00
CI flatpak: Update deps based on obs-deps 2022-11-21 2022-11-21 18:44:53 -05:00
cmake cmake: Fix FindGio.cmake to find libgio 2022-12-05 14:22:14 -05:00
deps libcaption: Fix invalid data at utf8_load_text_file 2022-12-03 15:35:11 -08:00
docs/sphinx docs: Document a few missing obs_output_t function calls 2023-01-31 16:08:40 -08:00
libobs libobs: Remove extra space in output reconnect log message 2023-01-31 16:08:40 -08:00
libobs-d3d11 Revert "libobs-d3d11: Default to Intel IGPU on IGPU+DGPU systems" 2022-12-30 21:14:15 -08:00
libobs-opengl libobs-opengl: Drop gl pointers on device_leave_context 2023-01-31 16:08:40 -08:00
libobs-winrt libobs-winrt,win-capture: Allow forcing SDR 2022-09-04 17:16:07 -07:00
plugins mac-virtualcam: Fix memory access issues for shared IOSurfaces 2023-01-31 16:08:40 -08:00
test test: Only build osx tests for OS_MACOS 2022-08-06 16:07:17 -07:00
UI updater: Fix portable OBS not being relaunched correctly 2023-01-31 16:08:40 -08:00
.cirrus.yml CI: Build ALSA support on FreeBSD 2022-08-16 14:48:54 -04:00
.clang-format Apply clang-format to objective c code 2019-07-09 13:39:13 -05:00
.cmake-format.json cmake,UI: Refactor find_qt macro 2022-07-26 17:34:26 +02:00
.editorconfig CI: Update editorconfig to match CMake-format configuration 2022-03-18 05:46:21 -07:00
.git-blame-ignore-revs .git-blame-ignore-revs: Add file to handle mass reformatting 2019-06-27 01:09:31 +09:00
.gitattributes CI: Add Crowdin Synchronization 2021-11-25 20:59:11 +11:00
.gitignore .gitignore: Add install_temp folder 2022-08-11 20:04:01 -04:00
.gitmodules plugins: Add obs-websocket submodule 2022-07-28 12:36:17 -07:00
.mailmap .mailmap: Disambiguate many more authors 2021-01-11 17:45:01 -08:00
AUTHORS Update translations from Crowdin 2023-01-08 04:10:37 +00:00
CMakeLists.txt cmake: Enable ENABLE_HEVC by default 2022-07-23 17:26:24 -07:00
COC.rst Revert "docs: Rename Code of Conduct to fix GitHub detection" 2021-08-07 20:40:29 +10:00
COMMITMENT Add GPL Cooperation Commitment to base directory 2019-01-24 02:02:49 -05:00
CONTRIBUTING.rst CONTRIBUTING.rst: Add service submission guidelines (#5562) 2021-11-22 08:29:39 -06:00
COPYING COPYING: Use license file from gnu.org 2021-10-24 00:35:27 -07:00
INSTALL Update INSTALL 2018-07-14 08:21:00 +01:00
README.rst README.rst: Update url of translation guide 2022-08-13 16:28:36 -07:00

OBS Studio <https://obsproject.com>
===================================

.. image:: https://github.com/obsproject/obs-studio/actions/workflows/main.yml/badge.svg?branch=master&event=push
   :alt: OBS Studio Build Status - GitHub Actions
   :target: https://github.com/obsproject/obs-studio/actions/workflows/main.yml?query=event%3Apush+branch%3Amaster

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

.. image:: https://img.shields.io/discord/348973006581923840.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2
   :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://github.com/obsproject/obs-studio/issues

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 page:
  https://obsproject.com/wiki/How-To-Contribute-Translations-For-OBS

- 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.