Projects
home:darix:branches:Multimedia
obs-studio
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 7
View file
obs-studio.changes
Changed
@@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Thu Oct 01 00:15:18 UTC 2026 - darix <packman@nordisch.org> + +- Update to version 33.0.0~beta5: + * frontend: Limit missing encoder check by output mode + * libobs: Fix data for updated monitoring + * updater: Retain legacy module path support + * frontend: Fix source icon state appearing inverted + * frontend: Fix rich text on macOS warning popups + * frontend: Unregister save replay buffer hotkey + +------------------------------------------------------------------- Fri Sep 25 22:38:56 UTC 2026 - darix <packman@nordisch.org> - Update to version 33.0.0~beta4:
View file
obs-studio.spec
Changed
@@ -50,7 +50,7 @@ %endif Name: obs-studio -Version: 33.0.0~beta4 +Version: 33.0.0~beta5 Release: 0 Summary: A recording/broadcasting program Group: Productivity/Multimedia/Video/Editors and Convertors
View file
_service
Changed
@@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="manual"> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">33.0.0-beta4</param> + <param name="revision">33.0.0-beta5</param> <param name="url">https://github.com/obsproject/obs-studio.git</param> <param name="versionrewrite-pattern">(\.\d+)-(a-z.*)</param> <param name="versionrewrite-replacement">\1~\2</param>
View file
_servicedata
Changed
@@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/obsproject/obs-studio.git</param> - <param name="changesrevision">50530ce9046599e698c5d2068e4f053fae2318f6</param> + <param name="changesrevision">a8b04ac5e15115591d8a184701e1670fb5dc00af</param> </service> </servicedata> \ No newline at end of file
View file
obs-studio-33.0.0~beta4.tar.xz/frontend/components/SourceTreeItem.cpp -> obs-studio-33.0.0~beta5.tar.xz/frontend/components/SourceTreeItem.cpp
Changed
@@ -72,6 +72,7 @@ iconLabel->setStyleSheet("background: none"); idian::Utils::addClass(iconLabel, "source-icon"); idian::Utils::toggleClass(iconLabel, "text-muted", !sourceVisible); + style()->polish(iconLabel); idian::Utils::applyColorToIcon(iconLabel); } @@ -483,6 +484,7 @@ { if (iconLabel) { idian::Utils::toggleClass(iconLabel, "text-muted", !visible); + style()->polish(iconLabel); idian::Utils::applyColorToIcon(iconLabel); } idian::Utils::toggleClass(label, "text-muted", !visible);
View file
obs-studio-33.0.0~beta4.tar.xz/frontend/updater/init-hook-files.c -> obs-studio-33.0.0~beta5.tar.xz/frontend/updater/init-hook-files.c
Changed
@@ -106,9 +106,11 @@ } while (false) #define IMPLICIT_LAYERS L"SOFTWARE\\Khronos\\Vulkan\\ImplicitLayers" -#define HOOK_LOCATION L"\\core\\win-capture\\data\\" -static bool update_hook_file(bool b64) +#define LEGACY_HOOK_LOCATION L"\\data\\obs-plugins\\win-capture\\" +#define CORE_HOOK_LOCATION L"\\core\\win-capture\\data\\" + +static bool update_hook_file(LPCWSTR location, bool b64) { wchar_t tempMAX_PATH; wchar_t srcMAX_PATH; @@ -117,11 +119,11 @@ wchar_t dst_jsonMAX_PATH; GetCurrentDirectoryW(_countof(src_json), src_json); - StringCbCat(src_json, sizeof(src_json), HOOK_LOCATION); + StringCbCat(src_json, sizeof(src_json), location); make_filename(src_json, L"obs-vulkan", L".json"); GetCurrentDirectoryW(_countof(src), src); - StringCbCat(src, sizeof(src), HOOK_LOCATION); + StringCbCat(src, sizeof(src), location); make_filename(src, L"graphics-hook", L".dll"); get_programdata_path(temp, L"obs-studio-hook\\"); @@ -184,10 +186,18 @@ RegCloseKey(key); } +void UpdateHookFilesLegacy(void) +{ + if (update_hook_file(LEGACY_HOOK_LOCATION, true)) + update_vulkan_registry(true); + if (update_hook_file(LEGACY_HOOK_LOCATION, false)) + update_vulkan_registry(false); +} + void UpdateHookFiles(void) { - if (update_hook_file(true)) + if (update_hook_file(CORE_HOOK_LOCATION, true)) update_vulkan_registry(true); - if (update_hook_file(false)) + if (update_hook_file(CORE_HOOK_LOCATION, false)) update_vulkan_registry(false); }
View file
obs-studio-33.0.0~beta4.tar.xz/frontend/updater/updater.cpp -> obs-studio-33.0.0~beta5.tar.xz/frontend/updater/updater.cpp
Changed
@@ -42,6 +42,7 @@ constexpr const wchar_t *kPatchManifestURL = L"https://obsproject.com/update_studio/getpatchmanifest"; constexpr const wchar_t *kVSRedistURL = L"https://aka.ms/vs/17/release/vc_redist.x64.exe"; constexpr const wchar_t *kMSHostname = L"aka.ms"; +constexpr const uint8_t kNewCorePluginsLocationVersionMajor = 33; /* ----------------------------------------------------------------------- */ @@ -740,8 +741,11 @@ static bool NonCorePackageInstalled(const char *name) { + // While this function is still called, the check for obs-browser is not hit as it has been part of core for a while. + // Keeping it around and updated for now in case either of these things change in the future. if (strcmp(name, "obs-browser") == 0) { - return FileExists(L"core\\obs-browser\\obs-browser.dll"); + return FileExists(L"obs-plugins\\64bit\\obs-browser.dll") || + FileExists(L"core\\obs-browser\\obs-browser.dll"); } return false; @@ -1356,6 +1360,7 @@ } } +extern "C" void UpdateHookFilesLegacy(void); extern "C" void UpdateHookFiles(void); static bool Update(wchar_t *cmdLine) @@ -1744,7 +1749,12 @@ StringCbCat(regsvr, sizeof(regsvr), L"\\regsvr32.exe"); StringCbCopy(src, sizeof(src), obs_base_directory); - StringCbCat(src, sizeof(src), L"\\core\\win-dshow\\data\\"); + + if (manifest.version_major >= kNewCorePluginsLocationVersionMajor) { + StringCbCat(src, sizeof(src), L"\\core\\win-dshow\\data\\"); + } else { + StringCbCat(src, sizeof(src), L"\\data\\obs-plugins\\win-dshow\\"); + } StringCbCopy(tmp, sizeof(tmp), L"\""); StringCbCat(tmp, sizeof(tmp), regsvr); @@ -1765,7 +1775,11 @@ * Update hook files and vulkan registry */ Status(L"Updating Game Capture hooks..."); - UpdateHookFiles(); + if (manifest.version_major >= kNewCorePluginsLocationVersionMajor) { + UpdateHookFiles(); + } else { + UpdateHookFilesLegacy(); + } /* ------------------------------------- * * Clear shader cache */
View file
obs-studio-33.0.0~beta4.tar.xz/frontend/widgets/OBSBasic_Hotkeys.cpp -> obs-studio-33.0.0~beta5.tar.xz/frontend/widgets/OBSBasic_Hotkeys.cpp
Changed
@@ -322,6 +322,7 @@ obs_hotkey_unregister(splitFileHotkey); obs_hotkey_unregister(addChapterHotkey); obs_hotkey_pair_unregister(replayBufHotkeys); + obs_hotkey_unregister(saveReplayBufferHotkey); obs_hotkey_pair_unregister(vcamHotkeys); obs_hotkey_pair_unregister(togglePreviewHotkeys); obs_hotkey_pair_unregister(contextBarHotkeys);
View file
obs-studio-33.0.0~beta4.tar.xz/frontend/widgets/OBSBasic_Profiles.cpp -> obs-studio-33.0.0~beta5.tar.xz/frontend/widgets/OBSBasic_Profiles.cpp
Changed
@@ -1065,12 +1065,21 @@ const QString encoderListItem = QTStr("EncoderMissing.ItemText"); const QString unknownErrorText = QTStr("EncoderMissing.Unknown"); - std::unordered_set<std::string_view> missing_encoders = { - config_get_string(activeConfiguration, "AdvOut", "Encoder"), - config_get_string(activeConfiguration, "AdvOut", "RecEncoder"), - get_simple_output_encoder(config_get_string(activeConfiguration, "SimpleOutput", "StreamEncoder")), - get_simple_output_encoder(config_get_string(activeConfiguration, "SimpleOutput", "RecEncoder")), - }; + const char *outputMode = config_get_string(activeConfiguration, "Output", "Mode"); + + std::unordered_set<std::string_view> missing_encoders; + if (strcmp(outputMode, "Advanced") != 0) { + missing_encoders = { + get_simple_output_encoder( + config_get_string(activeConfiguration, "SimpleOutput", "StreamEncoder")), + get_simple_output_encoder(config_get_string(activeConfiguration, "SimpleOutput", "RecEncoder")), + }; + } else { + missing_encoders = { + config_get_string(activeConfiguration, "AdvOut", "Encoder"), + config_get_string(activeConfiguration, "AdvOut", "RecEncoder"), + }; + } size_t idx = 0; const char *id;
View file
obs-studio-33.0.0~beta4.tar.xz/libobs/obs.c -> obs-studio-33.0.0~beta5.tar.xz/libobs/obs.c
Changed
@@ -2356,11 +2356,11 @@ } } - obs_data_set_default_bool(source_data, "monitoring", false); + obs_data_set_default_bool(source_data, "monitoring_enabled", false); if (prev_ver < MAKE_SEMANTIC_VERSION(33, 0, 0)) { - obs_data_set_bool(source_data, "monitoring", monitoring_type != OBS_MONITORING_TYPE_NONE); + obs_data_set_bool(source_data, "monitoring_enabled", monitoring_type != OBS_MONITORING_TYPE_NONE); } - obs_source_set_monitoring_enabled(source, obs_data_get_bool(source_data, "monitoring")); + obs_source_set_monitoring_enabled(source, obs_data_get_bool(source_data, "monitoring_enabled")); obs_data_release(source->private_settings); source->private_settings = obs_data_get_obj(source_data, "private_settings"); @@ -2500,7 +2500,7 @@ obs_data_set_int(source_data, "deinterlace_field_order", di_order); obs_data_set_int(source_data, "monitoring_type", monitoring ? (int)OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT : (int)OBS_MONITORING_TYPE_NONE); - obs_data_set_int(source_data, "monitoring_enabled", monitoring); + obs_data_set_bool(source_data, "monitoring_enabled", monitoring); if (canvas) { obs_data_set_string(source_data, "canvas_uuid", obs_canvas_get_uuid(canvas));
View file
obs-studio-33.0.0~beta4.tar.xz/shared/qt/wrappers/qt-wrappers.cpp -> obs-studio-33.0.0~beta5.tar.xz/shared/qt/wrappers/qt-wrappers.cpp
Changed
@@ -90,6 +90,7 @@ QMessageBox mb(QMessageBox::Warning, title, text, QMessageBox::NoButton, parent); if (enableRichText) { mb.setTextFormat(Qt::RichText); + mb.setOption(QMessageBox::Option::DontUseNativeDialog, true); } mb.addButton(tr("OK"), QMessageBox::AcceptRole); mb.exec();
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.