OBS Studio - Free and open source software for live streaming and screen recording
Go to file
Sebastian Beckmann a9634db561 frontend/cmake: Enable Qt strict mode
Qt strict mode disables APIs deemed "'suboptimal' or 'dangerous'" [1]
and "clearly undesirable" [2] by Qt that will be removed in the long
term.
Usages of the APIs in OBS have been removed in the previous commits, and
by setting this flag we keep ourselves from using them again.
The versioning works in a way where e.g. a new addition to this in 6.9
would only be disabled if at least 0x060900 is set. By setting 0xFF0000,
we're effectively disabling any APIs that are deemed to be bad in any
future Qt version (up to 255).
While this could lead to OBS not being buildable against bleeding edge
Qt, it also means that it will be noticed early. Should the disabled API
turn out to be too complex to remove, the value can be downgraded to the
last working one then.

[1] qt/qtbase@3a6c8e02b6
[2] qt/qtbase@f9163ae7a8
2025-12-17 16:35:45 -05:00
.github CI: Prepare more space for Flatpak jobs 2025-11-26 13:50:31 -05:00
additional_install_files
build-aux CI,build-aux: Use rebuilt CEF on Linux and macOS 2025-09-04 15:14:46 -04:00
cmake cmake: Remove Ccache option to enforce second preprocessor call 2025-09-19 14:26:29 -04:00
deps cmake: Group blake2 targets under same directory for IDEs 2025-04-25 20:06:41 -04:00
docs/sphinx docs: Add API disclaimer to canvases 2025-12-12 16:03:04 -05:00
frontend frontend/cmake: Enable Qt strict mode 2025-12-17 16:35:45 -05:00
libobs libobs: Update version to 32.0.4 2025-12-12 16:33:05 -05:00
libobs-d3d11 cmake: Specify NOMINMAX all the time on Windows 2025-02-07 14:52:24 -05:00
libobs-metal libobs-metal: Added README file for current state of implementation 2025-09-04 17:58:27 -04:00
libobs-opengl libobs-opengl: Treat pixel format 0 in IOSurface as 32BGRA 2025-10-23 08:35:52 -04:00
libobs-winrt cmake: Specify NOMINMAX all the time on Windows 2025-02-07 14:52:24 -05:00
plugins obs-webrtc: Add Simulcast Support 2025-12-17 13:41:59 -05:00
shared frontend,shared: Replace and disable contextless connect calls 2025-12-17 16:35:45 -05:00
test clang-format: Increase column limit from 80 to 120 2024-10-04 18:19:27 -04:00
.cirrus.yml cmake: Use Extra CMake Modules on Linux 2025-04-28 13:30:26 -04:00
.clang-format clang-format: Enable skipping of macro definitions for clang-format 19 2025-04-17 18:16:33 +02:00
.editorconfig Add composable theme files spacing in editorconfig 2024-04-25 16:11:38 -04:00
.gersemirc cmake: Remove settings from gersemirc only supported via command-line 2025-08-01 19:02:04 +02:00
.git-blame-ignore-revs .git-blame-ignore-revs: Add change from column limit increase 2024-10-04 18:30:06 -04:00
.gitattributes CI: Add Crowdin Synchronization 2021-11-25 20:59:11 +11:00
.gitignore .gitignore: Remove UI exclusion 2025-01-27 17:06:18 -05:00
.gitmodules cmake: Update cross-platform build project management for Windows 2024-08-20 16:00:21 -04:00
.mailmap Update copyrights/names 2023-05-20 01:31:18 -07:00
.swift-format CI: Update swift-format configuration with more explicit rules 2025-09-04 17:58:27 -04:00
AUTHORS Update translations from Crowdin 2025-09-08 22:38:40 -04:00
buildspec.json CI,build-aux: Use rebuilt CEF on Linux and macOS 2025-09-04 15:14:46 -04:00
CMakeLists.txt libobs-metal: Add Metal renderer 2025-09-04 17:58:27 -04:00
CMakePresets.json cmake: Use precise 4-component SDK version for Windows SDK 2025-08-28 15:38:55 -04:00
COC.rst Revert "docs: Rename Code of Conduct to fix GitHub detection" 2021-08-07 20:40:29 +10:00
COMMITMENT
CONTRIBUTING.rst CONTRIBUTING.rst: Fix typo 2025-05-14 13:49:54 -04:00
COPYING COPYING: Use license file from gnu.org 2021-10-24 00:35:27 -07:00
INSTALL
README.rst README.rst: Add SAST Tools section 2024-06-04 18:37:44 -04:00

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

.. image:: https://github.com/obsproject/obs-studio/actions/workflows/push.yaml/badge.svg?branch=master
   :alt: OBS Studio Build Status - GitHub Actions
   :target: https://github.com/obsproject/obs-studio/actions/workflows/push.yaml?query=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.


SAST Tools
----------

`PVS-Studio <https://pvs-studio.com/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source>`_ - static analyzer for C, C++, C#, and Java code.