Repository Analysis

obsproject/obs-studio

OBS Studio - Free and open source software for live streaming and screen recording

1.3 Likely human-written View on GitHub
1.3
Adjusted Score
1.3
Raw Score
100%
Time Factor
2026-05-29
Last Push
72,813
Stars
C
Language
614,498
Lines of Code
4306
Files
939
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 8LOW 931

Pattern Findings

939 matches across 9 categories. Click a row to expand file-level details.

Over-Commented Block912 hits · 760 pts
SeverityFileLineSnippet
LOWfrontend/OBSApp.hpp21#include <utility/OBSTheme.hpp>
LOWfrontend/obs-main.cpp21#ifdef __APPLE__
LOWfrontend/OBSApp_Themes.cpp21#include <utility/OBSThemeVariable.hpp>
LOWfrontend/OBSApp.cpp21#include <dialogs/LogUploadDialog.hpp>
LOWfrontend/OBSApp.cpp41#if defined(_WIN32) || defined(ENABLE_SPARKLE_UPDATER)
LOWfrontend/OBSApp.cpp301 config_set_default_bool(appConfig, "General", "EnableAutoUpdates", true);
LOWfrontend/OBSApp.cpp1661 return names;
LOWfrontend/settings/OBSBasicSettings.cpp21#include "OBSHotkeyWidget.hpp"
LOWfrontend/settings/OBSBasicSettings.cpp301
LOWfrontend/settings/OBSBasicSettings_Stream.cpp1#include "OBSBasicSettings.hpp"
LOWfrontend/oauth/RestreamAuth.cpp1#include "RestreamAuth.hpp"
LOWfrontend/oauth/YoutubeAuth.cpp1#include "YoutubeAuth.hpp"
LOWfrontend/oauth/TwitchAuth.cpp1#include "TwitchAuth.hpp"
LOWfrontend/plugins/aja-output-ui/AJAOutputUI.cpp1#include "AJAOutputUI.h"
LOWfrontend/plugins/aja-output-ui/aja-ui-main.cpp1#include "aja-ui-main.h"
LOWfrontend/plugins/aja-output-ui/data/locale/en-GB.ini1#
LOWfrontend/plugins/frontend-tools/auto-scene-switcher.cpp1#include <obs-frontend-api.h>
LOW…tend/plugins/frontend-tools/captions-mssapi-stream.cpp1#include "captions-mssapi-stream.hpp"
LOW…end/plugins/frontend-tools/auto-scene-switcher-nix.cpp1#include <X11/Xlib.h>
LOWfrontend/plugins/frontend-tools/captions.cpp1#include <QMessageBox>
LOWfrontend/plugins/frontend-tools/captions.cpp21
LOWfrontend/plugins/frontend-tools/captions-mssapi.hpp1#pragma once
LOWfrontend/plugins/frontend-tools/scripts.cpp1#include "obs-module.h"
LOWfrontend/plugins/frontend-tools/scripts.cpp21
LOWfrontend/plugins/frontend-tools/data/locale/en-GB.ini1#
LOWfrontend/updater/resource.h1//{{NO_DEPENDENCIES}}
LOWfrontend/updater/resource.h21#define _APS_NEXT_SYMED_VALUE 101
LOWfrontend/updater/updater.hpp21#define _WIN32_WINNT 0x0600
LOWfrontend/components/AudioCaptureToolbar.cpp1#include "AudioCaptureToolbar.hpp"
LOWfrontend/components/DisplayCaptureToolbar.cpp1#include "DisplayCaptureToolbar.hpp"
LOWfrontend/components/WindowCaptureToolbar.cpp1#include "WindowCaptureToolbar.hpp"
LOWfrontend/components/OBSAdvAudioCtrl.cpp1#include "OBSAdvAudioCtrl.hpp"
LOWfrontend/components/SourceTreeItem.cpp1#include "SourceTreeItem.hpp"
LOWfrontend/dialogs/OBSBasicInteraction.cpp21#include <utility/OBSEventFilter.hpp>
LOWfrontend/dialogs/OBSBasicFilters.cpp21#include <components/VisibilityItemWidget.hpp>
LOWfrontend/dialogs/OBSBasicProperties.cpp21#include <widgets/OBSBasic.hpp>
LOWfrontend/wizards/AutoConfig.cpp1#include "AutoConfig.hpp"
LOWfrontend/wizards/AutoConfigStreamPage.cpp1#include "AutoConfigStreamPage.hpp"
LOWfrontend/wizards/AutoConfigTestPage.cpp1#include "AutoConfigTestPage.hpp"
LOWfrontend/wizards/AutoConfigVideoPage.cpp1#include "AutoConfigVideoPage.hpp"
LOWfrontend/widgets/OBSBasicPreview.hpp1#pragma once
LOWfrontend/widgets/AudioMixer.cpp21#include <dialogs/NameDialog.hpp>
LOWfrontend/widgets/OBSQTDisplay.cpp1#include "OBSQTDisplay.hpp"
LOWfrontend/widgets/OBSBasic_ContextToolbar.cpp21
LOWfrontend/widgets/OBSBasic.cpp21#include "ui-config.h"
LOWfrontend/widgets/OBSBasic.cpp41#include <settings/OBSBasicSettings.hpp>
LOWfrontend/widgets/OBSBasic.cpp61#include <QWidgetAction>
LOWfrontend/widgets/OBSBasic_Updater.cpp21
LOWfrontend/widgets/OBSBasic.hpp21#include "OBSMainWindow.hpp"
LOWfrontend/widgets/OBSBasic_MainControls.cpp21#include "OBSBasicStats.hpp"
LOWfrontend/widgets/OBSBasic_MainControls.cpp41#endif
LOWfrontend/widgets/OBSBasicStats.cpp1#include "OBSBasicStats.hpp"
LOWfrontend/utility/WhatsNewInfoThread.cpp1#include "WhatsNewInfoThread.hpp"
LOWfrontend/utility/WhatsNewInfoThread.cpp21#define WIN_WHATSNEW_URL "https://obsproject.com/update_studio/whatsnew.json"
LOWfrontend/utility/MultitrackVideoOutput.cpp1#include "MultitrackVideoError.hpp"
LOWfrontend/utility/platform-x11.cpp21#include <OBSApp.hpp>
LOWfrontend/utility/platform-x11.cpp41#if defined(__FreeBSD__) || defined(__DragonFly__)
LOWfrontend/utility/GoLiveAPI_Network.cpp1#include "GoLiveAPI_Network.hpp"
LOWfrontend/utility/AutoUpdateThread.cpp1#include "AutoUpdateThread.hpp"
LOWfrontend/utility/AutoUpdateThread.cpp21#define WIN_MANIFEST_URL "https://obsproject.com/update_studio/manifest.json"
852 more matches not shown…
Decorative Section Separators4 hits · 14 pts
SeverityFileLineSnippet
MEDIUM…ontend/plugins/frontend-tools/data/scripts/url-text.py9# ------------------------------------------------------------
MEDIUM…ontend/plugins/frontend-tools/data/scripts/url-text.py37# ------------------------------------------------------------
MEDIUMdeps/w32-pthreads/config.h70# ----------------------------------------------------------------------
MEDIUMdeps/w32-pthreads/config.h100# ----------------------------------------------------------------------
AI Slop Vocabulary3 hits · 10 pts
SeverityFileLineSnippet
MEDIUMfrontend/dialogs/OBSBasicSourceSelect.cpp340 // Allow some room for previous/next rows to make scrolling a bit more seamless
MEDIUMdeps/w32-pthreads/config.h72# facilitate development of applications on Win32 that will be ported
MEDIUMdeps/w32-pthreads/config.h86# that are not meticulous in tracking thread lifecycles e.g. applications
Unused Imports9 hits · 9 pts
SeverityFileLineSnippet
LOWbuild-aux/format-manifest.py2
LOWbuild-aux/format-manifest.py7
LOWplugins/obs-filters/rnnoise/src/rnn_train.py3
LOWplugins/obs-filters/rnnoise/src/rnn_train.py5
LOWplugins/obs-filters/rnnoise/src/rnn_train.py9
LOWplugins/obs-filters/rnnoise/src/rnn_train.py11
LOWplugins/obs-filters/rnnoise/src/rnn_train.py12
LOWplugins/obs-filters/rnnoise/src/rnn_train.py13
LOWplugins/obs-filters/rnnoise/src/rnn_train.py16
Excessive Try-Catch Wrapping5 hits · 5 pts
SeverityFileLineSnippet
LOW.github/scripts/utils.py/check-services.py150 except Exception as e:
LOW.github/scripts/utils.py/check-services.py188 except Exception as e:
LOW.github/scripts/utils.py/check-services.py233 except Exception as e:
LOW.github/scripts/utils.py/check-services.py322 except Exception as e:
LOW.github/scripts/utils.py/check-services.py360 except Exception as e:
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippet
LOWbuild-aux/format-manifest.py10
LOW.github/scripts/utils.py/check-services.py108
LOW.github/scripts/utils.py/check-services.py165
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMdocs/sphinx/conf.py7# This file is execfile()d with the current directory set to its
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWdeps/w32-pthreads/config.h90# Usage:
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippet
LOWfrontend/widgets/OBSBasic.cpp2132 // TODO: Implement for other platforms if possible. Don't forget to