OBS Studio - Free from stubborn peops https://obsproject.com
Find a file
Ryan Foster 7cae57d3b7 media-playback: Fix possible crash if frame width or height is zero
If a frame has a width or height of zero, this value will make it into
libobs/media-io/video-frame.c:video_frame_init and cause linesizes or
heights to be zero, which will result in a bmalloc(0) call and OBS will
crash.

Instead of letting the call stack get that far, check the frame width
and height here at the source, log an error, and return early if the
frame width or height are zero.
2025-04-23 19:26:54 -04:00
.github CI: Use Flatpak action upstream 2025-04-22 18:11:27 -04:00
additional_install_files Improve additional_install_files for debug/release 2014-07-18 22:41:11 -07:00
build-aux CI: Update clang-format version to 19.1.1 2025-04-17 18:16:33 +02:00
cmake cmake: Adjust macOS SDK detection 2025-03-31 14:10:38 -04:00
deps deps/json11: Fix compile error on GCC 15+ 2025-04-02 14:04:02 -04:00
docs/sphinx libobs/graphics: Add gs_draw_quadf() 2025-04-23 15:23:29 -04:00
frontend frontend/widgets: Optimize preview primitive rendering 2025-04-23 15:23:29 -04:00
libobs libobs/graphics: Add gs_draw_quadf() 2025-04-23 15:23:29 -04:00
libobs-d3d11 cmake: Specify NOMINMAX all the time on Windows 2025-02-07 14:52:24 -05:00
libobs-opengl libobs, libobs-opengl: Add memory and identification APIs 2025-04-01 23:18:15 -04:00
libobs-winrt cmake: Specify NOMINMAX all the time on Windows 2025-02-07 14:52:24 -05:00
plugins graphics-hook: Fix crash with Vulkan DirectDisplay 2025-04-23 17:24:29 -04:00
shared media-playback: Fix possible crash if frame width or height is zero 2025-04-23 19:26:54 -04:00
test clang-format: Increase column limit from 80 to 120 2024-10-04 18:19:27 -04:00
.cirrus.yml CI: Enable WebRTC on FreeBSD 2024-10-22 16:11:08 -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 CI: Add configuration file for gersemi CMake formatter 2024-08-14 12:07:47 -04: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 cmake: Add Xcode component to CMake build framework 3.0 2023-03-26 18:20:38 -04:00
AUTHORS Update translations from Crowdin 2024-12-06 23:21:55 +00:00
buildspec.json CI: Use rebuilt CEF to avoid memory allocation crashes on macOS 2025-03-13 17:42:14 -04:00
CMakeLists.txt cmake: Update main CMakeLists file to use refactored frontend 2025-01-08 17:33:13 +01:00
CMakePresets.json cmake: Update cross-platform build project management for Windows 2025-03-12 16:33:00 -04: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: Update for 120 column limit 2024-10-16 13:29:47 -04: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: 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.