diff --git a/CI/before-deploy-osx.sh b/CI/before-deploy-osx.sh
index 7c092c4..236c0d0 100755
--- a/CI/before-deploy-osx.sh
+++ b/CI/before-deploy-osx.sh
@@ -41,6 +41,10 @@ fi
cp /usr/local/opt/mbedtls/lib/libmbedtls.12.dylib ./OBS.app/Contents/Frameworks/
cp /usr/local/opt/mbedtls/lib/libmbedcrypto.3.dylib ./OBS.app/Contents/Frameworks/
cp /usr/local/opt/mbedtls/lib/libmbedx509.0.dylib ./OBS.app/Contents/Frameworks/
+chmod +w ./OBS.app/Contents/Frameworks/*.dylib
+install_name_tool -id @executable_path/../Frameworks/libmbedtls.12.dylib ./OBS.app/Contents/Frameworks/libmbedtls.12.dylib
+install_name_tool -id @executable_path/../Frameworks/libmbedcrypto.3.dylib ./OBS.app/Contents/Frameworks/libmbedcrypto.3.dylib
+install_name_tool -id @executable_path/../Frameworks/libmbedx509.0.dylib ./OBS.app/Contents/Frameworks/libmbedx509.0.dylib
install_name_tool -change /usr/local/opt/mbedtls/lib/libmbedtls.12.dylib @executable_path/../Frameworks/libmbedtls.12.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
install_name_tool -change /usr/local/opt/mbedtls/lib/libmbedcrypto.3.dylib @executable_path/../Frameworks/libmbedcrypto.3.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
install_name_tool -change /usr/local/opt/mbedtls/lib/libmbedx509.0.dylib @executable_path/../Frameworks/libmbedx509.0.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
@@ -49,13 +53,13 @@ install_name_tool -change @rpath/libobs.0.dylib @executable_path/../Frameworks/l
# copy sparkle into the app
hr "Copying Sparkle.framework"
-cp -r ../../sparkle/Sparkle.framework ./OBS.app/Contents/Frameworks/
+cp -R ../../sparkle/Sparkle.framework ./OBS.app/Contents/Frameworks/
install_name_tool -change @rpath/Sparkle.framework/Versions/A/Sparkle @executable_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle ./OBS.app/Contents/MacOS/obs
# Copy Chromium embedded framework to app Frameworks directory
hr "Copying Chromium Embedded Framework.framework"
sudo mkdir -p OBS.app/Contents/Frameworks
-sudo cp -r ../../cef_binary_${CEF_BUILD_VERSION}_macosx64/Release/Chromium\ Embedded\ Framework.framework OBS.app/Contents/Frameworks/
+sudo cp -R ../../cef_binary_${CEF_BUILD_VERSION}_macosx64/Release/Chromium\ Embedded\ Framework.framework OBS.app/Contents/Frameworks/
install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/Plugins/obs-browser.so
install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Plugins/obs-browser.so
diff --git a/CI/install/osx/Info.plist b/CI/install/osx/Info.plist
index 7eed962..074e14a 100644
--- a/CI/install/osx/Info.plist
+++ b/CI/install/osx/Info.plist
@@ -9,13 +9,11 @@
CFBundleGetInfoString
OBS - Free and Open Source Streaming/Recording Software
CFBundleExecutable
- OBS
+ obs
CFBundleIdentifier
com.obsproject.obs-studio
CFBundlePackageType
APPL
- CFBundleSignature
- ????
LSMinimumSystemVersion
10.8.5
NSHighResolutionCapable
diff --git a/CI/install/osx/packageApp.sh b/CI/install/osx/packageApp.sh
index e3175b9..d0a3b89 100755
--- a/CI/install/osx/packageApp.sh
+++ b/CI/install/osx/packageApp.sh
@@ -6,10 +6,10 @@ mkdir OBS.app/Contents/MacOS
mkdir OBS.app/Contents/Plugins
mkdir OBS.app/Contents/Resources
-cp -r rundir/RelWithDebInfo/bin/ ./OBS.app/Contents/MacOS
-cp -r rundir/RelWithDebInfo/data ./OBS.app/Contents/Resources
+cp -R rundir/RelWithDebInfo/bin/ ./OBS.app/Contents/MacOS
+cp -R rundir/RelWithDebInfo/data ./OBS.app/Contents/Resources
cp ../CI/install/osx/obs.icns ./OBS.app/Contents/Resources
-cp -r rundir/RelWithDebInfo/obs-plugins/ ./OBS.app/Contents/Plugins
+cp -R rundir/RelWithDebInfo/obs-plugins/ ./OBS.app/Contents/Plugins
cp ../CI/install/osx/Info.plist ./OBS.app/Contents
../CI/install/osx/dylibBundler -b -cd -d ./OBS.app/Contents/Frameworks -p @executable_path/../Frameworks/ \
@@ -46,10 +46,16 @@ cp ../CI/install/osx/Info.plist ./OBS.app/Contents
mv ./OBS.app/Contents/MacOS/libobs-opengl.so ./OBS.app/Contents/Frameworks
# put qt network in here becasuse streamdeck uses it
-cp -r /usr/local/opt/qt/lib/QtNetwork.framework ./OBS.app/Contents/Frameworks
-chmod +w ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
+cp -R /usr/local/opt/qt/lib/QtNetwork.framework ./OBS.app/Contents/Frameworks
+chmod -R +w ./OBS.app/Contents/Frameworks/QtNetwork.framework
+rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Headers
+rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/QtNetwork.prl
+rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Headers/
+chmod 644 ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources/Info.plist
+install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
install_name_tool -change /usr/local/Cellar/qt/5.10.1/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
+
# decklink ui qt
install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/Plugins/decklink-ouput-ui.so
install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Plugins/decklink-ouput-ui.so
diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp
index 1e2e7a4..2eddc5c 100644
--- a/UI/obs-app.cpp
+++ b/UI/obs-app.cpp
@@ -1059,21 +1059,27 @@ bool OBSApp::InitTheme()
defaultPalette = palette();
const char *themeName =
- config_get_string(globalConfig, "General", "CurrentTheme");
+ config_get_string(globalConfig, "General", "CurrentTheme2");
- if (!themeName) {
+ if (!themeName)
+ /* Use deprecated "CurrentTheme" value if available */
+ themeName = config_get_string(globalConfig, "General",
+ "CurrentTheme");
+ if (!themeName)
/* Use deprecated "Theme" value if available */
themeName = config_get_string(globalConfig, "General", "Theme");
- if (!themeName)
- themeName = DEFAULT_THEME;
- if (!themeName)
- themeName = "Dark";
- }
+ if (!themeName)
+ themeName = DEFAULT_THEME;
+ if (!themeName)
+ themeName = "Dark";
if (strcmp(themeName, "Default") == 0)
themeName = "System";
- return SetTheme(themeName);
+ if (strcmp(themeName, "System") != 0 && SetTheme(themeName))
+ return true;
+
+ return SetTheme("System");
}
OBSApp::OBSApp(int &argc, char **argv, profiler_name_store_t *store)
diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp
index d62f312..25d7205 100644
--- a/UI/window-basic-settings.cpp
+++ b/UI/window-basic-settings.cpp
@@ -2726,7 +2726,7 @@ void OBSBasicSettings::SaveGeneralSettings()
themeData = DEFAULT_THEME;
if (WidgetChanged(ui->theme)) {
- config_set_string(GetGlobalConfig(), "General", "CurrentTheme",
+ config_set_string(GetGlobalConfig(), "General", "CurrentTheme2",
QT_TO_UTF8(themeData));
App()->SetTheme(themeData.toUtf8().constData());
diff --git a/UI/window-extra-browsers.cpp b/UI/window-extra-browsers.cpp
index e90d172..d754d45 100644
--- a/UI/window-extra-browsers.cpp
+++ b/UI/window-extra-browsers.cpp
@@ -536,7 +536,7 @@ void OBSBasic::AddExtraBrowserDock(const QString &title, const QString &url,
/* Add support for Twitch Dashboard panels */
if (url.contains("twitch.tv/popout") &&
url.contains("dashboard/live")) {
- QRegularExpression re("twitch.tv\/popout\/([^/]+)\/");
+ QRegularExpression re("twitch.tv\\/popout\\/([^/]+)\\/");
QRegularExpressionMatch match = re.match(url);
QString username = match.captured(1);
if (username.length() > 0) {
diff --git a/libobs/obs-cocoa.m b/libobs/obs-cocoa.m
index 7f261d0..4f0d30d 100644
--- a/libobs/obs-cocoa.m
+++ b/libobs/obs-cocoa.m
@@ -1754,6 +1754,10 @@ bool obs_hotkeys_platform_is_pressed(obs_hotkeys_platform_t *plat,
IOHIDValueRef value = 0;
IOHIDDeviceRef device = IOHIDElementGetDevice(element);
+ if (device == NULL) {
+ continue;
+ }
+
if (IOHIDDeviceGetValue(device, element, &value) !=
kIOReturnSuccess) {
i += 1;
diff --git a/libobs/obs-config.h b/libobs/obs-config.h
index acc5d73..127004d 100644
--- a/libobs/obs-config.h
+++ b/libobs/obs-config.h
@@ -41,7 +41,7 @@
*
* Reset to zero each major or minor version
*/
-#define LIBOBS_API_PATCH_VER 5
+#define LIBOBS_API_PATCH_VER 6
#define MAKE_SEMANTIC_VERSION(major, minor, patch) \
((major << 24) | (minor << 16) | patch)
diff --git a/plugins/rtmp-services/data/package.json b/plugins/rtmp-services/data/package.json
index a297b2d..efdf496 100755
--- a/plugins/rtmp-services/data/package.json
+++ b/plugins/rtmp-services/data/package.json
@@ -1,10 +1,10 @@
{
"url": "https://obsproject.com/obs2_update/rtmp-services",
- "version": 114,
+ "version": 116,
"files": [
{
"name": "services.json",
- "version": 114
+ "version": 116
}
]
}
diff --git a/plugins/rtmp-services/data/services.json b/plugins/rtmp-services/data/services.json
index 724e6e2..f3bbee3 100755
--- a/plugins/rtmp-services/data/services.json
+++ b/plugins/rtmp-services/data/services.json
@@ -573,7 +573,7 @@
"recommended": {
"keyint": 2,
"profile": "main",
- "max video bitrate": 4000,
+ "max video bitrate": 6000,
"max audio bitrate": 128
}
},