Overview
Request 4281 (accepted)
- Update to version 22.0.2:
* Revert "UI: Do not fire load events until program loaded"
* Revert "UI: Reset sources list manually on first load"
* UI: Always show filter preview if video source
* obs-browser: Update version to 2.1.5
* UI: Reset sources list manually on first load
* UI: Remove "Beta" from auto-config tools menu text
* libobs: Update version to 22.0.2
* obs-browser: Update version to 2.1.4
* UI: Make sure quick transition hotkey is not zeroed
* UI: Do not fire load events until program loaded
* UI: Use AlwaysOnTop option for windowed projectors
* UI: Fix a rare multiview crash when clicked
* UI: Fix macOS bug (scrollbar blocking lock icons)
* CI: Use Qt 5.10.1 instead of 5.11.1 for macOS
* UI: Remove beta warning from auto-config wizard
* libobs: Blacklist old obs-browser version on macOS
* UI: Fix filter layout issue
* UI/updater: Add missing header
* obs-outputs: Revert f1f49bc1 to fix RTMP authentication
* UI: Select item that user adds
* CI: Rename one more missed cef-bootstrap name
* CI: Rename cef-bootstrap to obs-browser-page
* obs-browser: Update browser version to 2.1.3
* UI: Set browser hwaccel def. to false if winver <=7
* rtmp-services: Only do URL check for Facebook
* UI: Close remux output before showing dialog
* rtmp-services: update Periscope settings
* CI: Use env variable for CEF cache on Windows
* CI: Build Browser Source on Windows
- Created by boombatower over 6 years ago
- In state accepted
-
Package maintainers:
boombatower,
darix, and
frispete
obs-studio.changes
Changed
-------------------------------------------------------------------
+Fri Aug 31 15:39:49 UTC 2018 - jimmy@boombatower.com
+
+- Update to version 22.0.2:
+ * Revert "UI: Do not fire load events until program loaded"
+ * Revert "UI: Reset sources list manually on first load"
+ * UI: Always show filter preview if video source
+ * obs-browser: Update version to 2.1.5
+ * UI: Reset sources list manually on first load
+ * UI: Remove "Beta" from auto-config tools menu text
+ * libobs: Update version to 22.0.2
+ * obs-browser: Update version to 2.1.4
+ * UI: Make sure quick transition hotkey is not zeroed
+ * UI: Do not fire load events until program loaded
+ * UI: Use AlwaysOnTop option for windowed projectors
+ * UI: Fix a rare multiview crash when clicked
+ * UI: Fix macOS bug (scrollbar blocking lock icons)
+ * CI: Use Qt 5.10.1 instead of 5.11.1 for macOS
+ * UI: Remove beta warning from auto-config wizard
+ * libobs: Blacklist old obs-browser version on macOS
+ * UI: Fix filter layout issue
+ * UI/updater: Add missing header
+ * obs-outputs: Revert f1f49bc1 to fix RTMP authentication
+ * UI: Select item that user adds
+ * CI: Rename one more missed cef-bootstrap name
+ * CI: Rename cef-bootstrap to obs-browser-page
+ * obs-browser: Update browser version to 2.1.3
+ * UI: Set browser hwaccel def. to false if winver <=7
+ * rtmp-services: Only do URL check for Facebook
+ * UI: Close remux output before showing dialog
+ * rtmp-services: update Periscope settings
+ * CI: Use env variable for CEF cache on Windows
+ * CI: Build Browser Source on Windows
+ * UI: Use QT font picker on OSX
+
+-------------------------------------------------------------------
Tue Aug 21 01:31:18 UTC 2018 - jimmy@boombatower.com
- Update to version 22.0.1:
obs-studio.spec
Changed
Name: obs-studio
-Version: 22.0.1
+Version: 22.0.2
Release: 0
Summary: A recording/broadcasting program
Group: Productivity/Multimedia/Video/Editors and Convertors
_service
Changed
<services>
<service name="tar_scm" mode="disabled">
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">refs/tags/22.0.1</param>
+ <param name="revision">refs/tags/22.0.2</param>
<param name="url">git://github.com/jp9000/obs-studio.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
_servicedata
Changed
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/jp9000/obs-studio.git</param>
- <param name="changesrevision">92d7c81077ac0f1ab8f8d136f8aa6ebb0274813c</param>
+ <param name="changesrevision">62cd0e8759cdd7abb699fdf5fd122884ce0fbe42</param>
</service>
</servicedata>
obs-studio-22.0.1.tar.xz/plugins/obs-browser/cef-bootstrap
Deleted
-(directory)
obs-studio-22.0.1.tar.xz/CI/before-deploy-osx.sh -> obs-studio-22.0.2.tar.xz/CI/before-deploy-osx.sh
Changed
sudo install_name_tool -change \
@rpath/Frameworks/Chromium\ Embedded\ Framework.framework/Chromium\ Embedded\ Framework \
../../Frameworks/Chromium\ Embedded\ Framework.framework/Chromium\ Embedded\ Framework \
- OBS.app/Contents/Resources/obs-plugins/cef-bootstrap
+ OBS.app/Contents/Resources/obs-plugins/obs-browser-page
# Package app
hr "Generating .pkg"
obs-studio-22.0.1.tar.xz/CI/before-script-osx.sh -> obs-studio-22.0.2.tar.xz/CI/before-script-osx.sh
Changed
cd build
cmake -DENABLE_SPARKLE_UPDATER=ON \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 \
+-DQTDIR=/usr/local/Cellar/qt/5.10.1 \
-DDepsPath=/tmp/obsdeps \
-DVLCPath=$PWD/../../vlc-master \
-DBUILD_BROWSER=ON \
obs-studio-22.0.1.tar.xz/CI/install-dependencies-osx.sh -> obs-studio-22.0.2.tar.xz/CI/install-dependencies-osx.sh
Changed
brew update
#Base OBS Deps and ccache
-brew install qt@5.11 jack speexdsp ccache swig mbedtls
+brew install jack speexdsp ccache swig mbedtls
+brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/9a70413d137839de0054571e5f85fd07ee400955/Formula/qt.rb
export PATH=/usr/local/opt/ccache/libexec:$PATH
ccache -s || echo "CCache is not available."
obs-studio-22.0.1.tar.xz/CI/install/osx/CMakeLists.pkgproj -> obs-studio-22.0.2.tar.xz/CI/install/osx/CMakeLists.pkgproj
Changed
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
- <string>../../../build/plugins/obs-browser/cef-bootstrap</string>
+ <string>../../../build/plugins/obs-browser/obs-browser-page</string>
<key>PATH_TYPE</key>
<integer>3</integer>
<key>PERMISSIONS</key>
obs-studio-22.0.1.tar.xz/UI/forms/OBSBasic.ui -> obs-studio-22.0.2.tar.xz/UI/forms/OBSBasic.ui
Changed
</action>
<action name="autoConfigure">
<property name="text">
- <string>Basic.AutoConfig.Beta</string>
+ <string>Basic.AutoConfig</string>
</property>
</action>
<action name="stats">
obs-studio-22.0.1.tar.xz/UI/forms/OBSBasicFilters.ui -> obs-studio-22.0.2.tar.xz/UI/forms/OBSBasicFilters.ui
Changed
</layout>
</item>
<item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>4</number>
obs-studio-22.0.1.tar.xz/UI/obs-app.cpp -> obs-studio-22.0.2.tar.xz/UI/obs-app.cpp
Changed
"MultiviewDrawAreas", true);
#ifdef _WIN32
+ uint32_t winver = GetWindowsVersion();
+
config_set_default_bool(globalConfig, "Audio", "DisableAudioDucking",
true);
- config_set_default_bool(globalConfig, "General", "BrowserHWAccel", true);
+ config_set_default_bool(globalConfig, "General", "BrowserHWAccel",
+ winver > 0x601);
#endif
#ifdef __APPLE__
obs-studio-22.0.1.tar.xz/UI/properties-view.cpp -> obs-studio-22.0.2.tar.xz/UI/properties-view.cpp
Changed
uint32_t flags;
QFont font;
+ QFontDialog::FontDialogOptions options;
+
+#ifdef __APPLE__
+ options = QFontDialog::DontUseNativeDialog;
+#endif
+
if (!font_obj) {
- font = QFontDialog::getFont(&success, view);
+ QFont initial;
+ font = QFontDialog::getFont(&success, initial, view, "Pick a Font", options);
} else {
MakeQFont(font_obj, font);
- font = QFontDialog::getFont(&success, font, view);
+ font = QFontDialog::getFont(&success, font, view, "Pick a Font", options);
obs_data_release(font_obj);
}
obs-studio-22.0.1.tar.xz/UI/source-tree.cpp -> obs-studio-22.0.2.tar.xz/UI/source-tree.cpp
Changed
boxLayout->addWidget(label);
boxLayout->addWidget(vis);
boxLayout->addWidget(lock);
+#ifdef __APPLE__
+ /* Hack: Fixes a bug where scrollbars would be above the lock icon */
+ boxLayout->addSpacing(16);
+#endif
Update(false);
obs-studio-22.0.1.tar.xz/UI/win-update/win-update.cpp -> obs-studio-22.0.2.tar.xz/UI/win-update/win-update.cpp
Changed
#include <QMessageBox>
#include <string>
+#include <mutex>
#include <util/windows/WinHandle.hpp>
#include <util/util.hpp>
obs-studio-22.0.1.tar.xz/UI/window-basic-auto-config.cpp -> obs-studio-22.0.2.tar.xz/UI/window-basic-auto-config.cpp
Changed
setPage(VideoPage, new AutoConfigVideoPage());
setPage(StreamPage, streamPage);
setPage(TestPage, new AutoConfigTestPage());
- setWindowTitle(QTStr("Basic.AutoConfig.Beta"));
+ setWindowTitle(QTStr("Basic.AutoConfig"));
obs_video_info ovi;
obs_get_video_info(&ovi);
obs-studio-22.0.1.tar.xz/UI/window-basic-filters.cpp -> obs-studio-22.0.2.tar.xz/UI/window-basic-filters.cpp
Changed
addDrawCallback);
} else {
ui->rightLayout->setContentsMargins(0, noPreviewMargin, 0, 0);
+ ui->rightContainerLayout->insertStretch(1);
ui->preview->hide();
}
}
OBSBasicFilters::UpdateProperties,
this);
- uint32_t caps = obs_source_get_output_flags(filter);
- if ((caps & OBS_SOURCE_VIDEO)) {
- ui->rightLayout->setContentsMargins(0, 0, 0, 0);
- ui->preview->show();
- } else {
- ui->rightLayout->setContentsMargins(0, noPreviewMargin, 0, 0);
- ui->preview->hide();
- }
-
obs_data_release(settings);
view->setMaximumHeight(250);
obs-studio-22.0.1.tar.xz/UI/window-basic-main.cpp -> obs-studio-22.0.2.tar.xz/UI/window-basic-main.cpp
Changed
if (!first_run && !has_last_version && !Active()) {
QString msg;
msg = QTStr("Basic.FirstStartup.RunWizard");
- msg += "\n\n";
- msg += QTStr("Basic.FirstStartup.RunWizard.BetaWarning");
QMessageBox::StandardButton button =
OBSMessageBox::question(this, QTStr("Basic.AutoConfig"),
api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
}
+static bool select_one(obs_scene_t *scene, obs_sceneitem_t *item, void *param)
+{
+ obs_sceneitem_t *selectedItem =
+ reinterpret_cast<obs_sceneitem_t*>(param);
+ if (obs_sceneitem_is_group(item))
+ obs_sceneitem_group_enum_items(item, select_one, param);
+
+ obs_sceneitem_select(item, (selectedItem == item));
+
+ UNUSED_PARAMETER(scene);
+ return true;
+}
+
void OBSBasic::AddSceneItem(OBSSceneItem item)
{
obs_scene_t *scene = obs_sceneitem_get_scene(item);
obs_source_get_name(itemSource),
obs_source_get_id(itemSource),
obs_source_get_name(sceneSource));
+
+ obs_scene_enum_items(scene, select_one, (obs_sceneitem_t*)item);
}
}
obs-studio-22.0.1.tar.xz/UI/window-basic-main.hpp -> obs-studio-22.0.2.tar.xz/UI/window-basic-main.hpp
Changed
struct QuickTransition {
QPushButton *button = nullptr;
OBSSource source;
- obs_hotkey_id hotkey = 0;
+ obs_hotkey_id hotkey = OBS_INVALID_HOTKEY_ID;
int duration = 0;
int id = 0;
obs-studio-22.0.1.tar.xz/UI/window-projector.cpp -> obs-studio-22.0.2.tar.xz/UI/window-projector.cpp
Changed
windowedProjectors.push_back(this);
resize(480, 270);
+
+ SetAlwaysOnTop(this, config_get_bool(GetGlobalConfig(),
+ "BasicWindow", "ProjectorAlwaysOnTop"));
} else {
setWindowFlags(Qt::FramelessWindowHint |
Qt::X11BypassWindowManagerHint);
addAction(action);
connect(action, SIGNAL(triggered()), this,
SLOT(EscapeTriggered()));
+
+ SetAlwaysOnTop(this, true);
}
setAttribute(Qt::WA_DeleteOnClose, true);
connect(this, &OBSQTDisplay::DisplayCreated, addDrawCallback);
- bool alwaysOnTop = config_get_bool(GetGlobalConfig(), "BasicWindow",
- "ProjectorAlwaysOnTop");
- if (alwaysOnTop && !isWindow)
- SetAlwaysOnTop(this, true);
-
bool hideCursor = config_get_bool(GetGlobalConfig(),
"BasicWindow", "HideProjectorCursor");
if (hideCursor && !isWindow) {
static int getSourceByPosition(int x, int y, float ratio)
{
- QWidget *rec = QApplication::activeWindow();
+ int pos = -1;
+ QWidget *rec = QApplication::activeWindow();
+ if (!rec)
+ return pos;
int cx = rec->width();
int cy = rec->height();
int minX = 0;
int minY = 0;
int maxX = cx;
int maxY = cy;
- int pos = -1;
switch (multiviewLayout) {
case MultiviewLayout::HORIZONTAL_TOP_24_SCENES:
obs-studio-22.0.1.tar.xz/UI/window-remux.cpp -> obs-studio-22.0.2.tar.xz/UI/window-remux.cpp
Changed
void OBSRemux::remuxFinished(bool success)
{
+ worker->job.reset();
+
OBSMessageBox::information(this, QTStr("Remux.FinishedTitle"),
success ?
QTStr("Remux.Finished") : QTStr("Remux.FinishedError"));
- worker->job.reset();
ui->progressBar->setVisible(false);
ui->buttonBox->button(QDialogButtonBox::Ok)->
setEnabled(true);
obs-studio-22.0.1.tar.xz/appveyor.yml -> obs-studio-22.0.2.tar.xz/appveyor.yml
Changed
image: Visual Studio 2017
environment:
CURL_VERSION: 7.56.1
+ CEF_VERSION: 3.3440.1805.gbe070f9
install:
- git submodule update --init --recursive
- if exist dependencies2017.zip (curl -kLO https://obsproject.com/downloads/dependencies2017.zip -f --retry 5 -z dependencies2017.zip) else (curl -kLO https://obsproject.com/downloads/dependencies2017.zip -f --retry 5 -C -)
- if exist vlc.zip (curl -kLO https://obsproject.com/downloads/vlc.zip -f --retry 5 -z vlc.zip) else (curl -kLO https://obsproject.com/downloads/vlc.zip -f --retry 5 -C -)
+ - if exist cef_binary_%CEF_VERSION%_windows32.zip (curl -kLO https://obsproject.com/downloads/cef_binary_%CEF_VERSION%_windows32.zip -f --retry 5 -z cef_binary_%CEF_VERSION%_windows32.zip) else (curl -kLO https://obsproject.com/downloads/cef_binary_%CEF_VERSION%_windows32.zip -f --retry 5 -C -)
+ - if exist cef_binary_%CEF_VERSION%_windows64.zip (curl -kLO https://obsproject.com/downloads/cef_binary_%CEF_VERSION%_windows64.zip -f --retry 5 -z cef_binary_%CEF_VERSION%_windows64.zip) else (curl -kLO https://obsproject.com/downloads/cef_binary_%CEF_VERSION%_windows64.zip -f --retry 5 -C -)
- 7z x dependencies2017.zip -odependencies2017
- 7z x vlc.zip -ovlc
+ - 7z x cef_binary_%CEF_VERSION%_windows32.zip -oCEF_32
+ - 7z x cef_binary_%CEF_VERSION%_windows64.zip -oCEF_64
- set DepsPath32=%CD%\dependencies2017\win32
- set DepsPath64=%CD%\dependencies2017\win64
- set VLCPath=%CD%\vlc
- set QTDIR32=C:\Qt\5.11.1\msvc2015
- set QTDIR64=C:\Qt\5.11.1\msvc2017_64
+ - set CEF_32=%CD%\CEF_32\cef_binary_%CEF_VERSION%_windows32
+ - set CEF_64=%CD%\CEF_64\cef_binary_%CEF_VERSION%_windows64
- set build_config=RelWithDebInfo
- mkdir build build32 build64
- cd ./build32
- - cmake -G "Visual Studio 15 2017" -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true -DBUILD_CAPTIONS=true -DCOMPILE_D3D12_HOOK=true ..
+ - cmake -G "Visual Studio 15 2017" -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true -DBUILD_CAPTIONS=true -DCOMPILE_D3D12_HOOK=true -DBUILD_BROWSER=true -DCEF_ROOT_DIR=%CEF_32% ..
- cd ../build64
- - cmake -G "Visual Studio 15 2017 Win64" -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true -DBUILD_CAPTIONS=true -DCOMPILE_D3D12_HOOK=true ..
+ - cmake -G "Visual Studio 15 2017 Win64" -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true -DBUILD_CAPTIONS=true -DCOMPILE_D3D12_HOOK=true -DBUILD_BROWSER=true -DCEF_ROOT_DIR=%CEF_64% ..
build_script:
- call msbuild /m /p:Configuration=%build_config% C:\projects\obs-studio\build32\obs-studio.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
cache:
- dependencies2017.zip
- vlc.zip
+ - 'cef_binary_%CEF_VERSION%_windows32.zip'
+ - 'cef_binary_%CEF_VERSION%_windows64.zip'
notifications:
- provider: Webhook
obs-studio-22.0.1.tar.xz/libobs/obs-config.h -> obs-studio-22.0.2.tar.xz/libobs/obs-config.h
Changed
*
* Reset to zero each major or minor version
*/
-#define LIBOBS_API_PATCH_VER 1
+#define LIBOBS_API_PATCH_VER 2
#define MAKE_SEMANTIC_VERSION(major, minor, patch) \
((major << 24) | \
obs-studio-22.0.1.tar.xz/libobs/obs-module.c -> obs-studio-22.0.2.tar.xz/libobs/obs-module.c
Changed
if (!module || !path || !obs)
return MODULE_ERROR;
+#ifdef __APPLE__
+ /* HACK: Do not load obsolete obs-browser build on macOS; the
+ * obs-browser plugin used to live in the Application Support
+ * directory. */
+ if (astrstri(path, "Library/Application Support") != NULL &&
+ astrstri(path, "obs-browser") != NULL) {
+ blog(LOG_WARNING, "Ignoring old obs-browser.so version");
+ return MODULE_ERROR;
+ }
+#endif
+
blog(LOG_DEBUG, "---------------------------------");
mod.module = os_dlopen(path);
obs-studio-22.0.1.tar.xz/plugins/obs-browser/CMakeLists.txt -> obs-studio-22.0.2.tar.xz/plugins/obs-browser/CMakeLists.txt
Changed
# ----------------------------------------------------------------------------
-set(cef-bootstrap_SOURCES
- cef-bootstrap/cef-bootstrap-main.cpp
+set(obs-browser-page_SOURCES
+ obs-browser-page/obs-browser-page-main.cpp
browser-app.cpp
deps/json11/json11.cpp
)
-set(cef-bootstrap_HEADERS
- cef-bootstrap/cef-bootstrap-main.cpp
+set(obs-browser-page_HEADERS
+ obs-browser-page/obs-browser-page-main.cpp
browser-app.hpp
deps/json11/json11.hpp
cef-headers.hpp
)
-add_executable(cef-bootstrap
- ${cef-bootstrap_SOURCES}
- ${cef-bootstrap_HEADERS}
+add_executable(obs-browser-page
+ ${obs-browser-page_SOURCES}
+ ${obs-browser-page_HEADERS}
)
-target_link_libraries(cef-bootstrap
+target_link_libraries(obs-browser-page
${CEF_LIBRARIES}
)
if (APPLE)
- set_target_properties(cef-bootstrap PROPERTIES
+ set_target_properties(obs-browser-page PROPERTIES
COMPILE_FLAGS "-mmacosx-version-min=10.8")
endif(APPLE)
if (WIN32)
- set_target_properties(cef-bootstrap PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
+ set_target_properties(obs-browser-page PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
endif(WIN32)
if (APPLE AND XCODE)
- set_xcode_property(cef-bootstrap CLANG_CXX_LIBRARY "libc++")
+ set_xcode_property(obs-browser-page CLANG_CXX_LIBRARY "libc++")
endif(APPLE AND XCODE)
# ----------------------------------------------------------------------------
endif()
install_obs_plugin_with_data(obs-browser data)
-install_obs_plugin(cef-bootstrap)
+install_obs_plugin(obs-browser-page)
obs-studio-22.0.1.tar.xz/plugins/obs-browser/browser-client.cpp -> obs-studio-22.0.2.tar.xz/plugins/obs-browser/browser-client.cpp
Changed
#include "base64/base64.hpp"
#include "json11/json11.hpp"
#include <obs-frontend-api.h>
+#include <obs.hpp>
using namespace json11;
BrowserClient::~BrowserClient()
{
-#if EXPERIMENTAL_SHARED_TEXTURE_SUPPORT_ENABLED
+#if EXPERIMENTAL_SHARED_TEXTURE_SUPPORT_ENABLED && USE_TEXTURE_COPY
if (sharing_available) {
obs_enter_graphics();
gs_texture_destroy(texture);
}
if (name == "getCurrentScene") {
+ OBSSource current_scene = obs_frontend_get_current_scene();
+ obs_source_release(current_scene);
+
+ if (!current_scene)
+ return false;
+
+ const char *name = obs_source_get_name(current_scene);
+ if (!name)
+ return false;
+
json = Json::object {
- {"name", obs_source_get_name(bs->source)},
- {"width", (int)obs_source_get_width(bs->source)},
- {"height", (int)obs_source_get_height(bs->source)}
+ {"name", name},
+ {"width", (int)obs_source_get_width(current_scene)},
+ {"height", (int)obs_source_get_height(current_scene)}
};
} else if (name == "getStatus") {
if (shared_handle != last_handle) {
obs_enter_graphics();
+#if USE_TEXTURE_COPY
gs_texture_destroy(texture);
+ texture = nullptr;
+#endif
gs_texture_destroy(bs->texture);
bs->texture = nullptr;
- texture = nullptr;
+#if USE_TEXTURE_COPY
texture = gs_texture_open_shared(
(uint32_t)(uintptr_t)shared_handle);
gs_color_format format = gs_texture_get_color_format(texture);
bs->texture = gs_texture_create(cx, cy, format, 1, nullptr, 0);
+#else
+ bs->texture = gs_texture_open_shared(
+ (uint32_t)(uintptr_t)shared_handle);
+#endif
obs_leave_graphics();
last_handle = shared_handle;
}
+#if USE_TEXTURE_COPY
if (texture && bs->texture) {
obs_enter_graphics();
gs_copy_texture(bs->texture, texture);
obs_leave_graphics();
}
+#endif
}
#endif
obs-studio-22.0.1.tar.xz/plugins/obs-browser/browser-client.hpp -> obs-studio-22.0.2.tar.xz/plugins/obs-browser/browser-client.hpp
Changed
#include "cef-headers.hpp"
#include "browser-config.h"
+#define USE_TEXTURE_COPY 0
+
struct BrowserSource;
class BrowserClient : public CefClient,
public CefLoadHandler {
#if EXPERIMENTAL_SHARED_TEXTURE_SUPPORT_ENABLED
+#if USE_TEXTURE_COPY
gs_texture_t *texture = nullptr;
+#endif
void *last_handle = INVALID_HANDLE_VALUE;
#endif
bool sharing_available = false;
obs-studio-22.0.1.tar.xz/plugins/obs-browser/browser-version.h -> obs-studio-22.0.2.tar.xz/plugins/obs-browser/browser-version.h
Changed
#define OBS_BROWSER_VERSION_MAJOR 2
#define OBS_BROWSER_VERSION_MINOR 1
-#define OBS_BROWSER_VERSION_PATCH 2
+#define OBS_BROWSER_VERSION_PATCH 5
#ifndef MAKE_SEMANTIC_VERSION
#define MAKE_SEMANTIC_VERSION(major, minor, patch) \
obs-studio-22.0.1.tar.xz/plugins/obs-browser/deps/wide-string.cpp -> obs-studio-22.0.2.tar.xz/plugins/obs-browser/deps/wide-string.cpp
Changed
******************************************************************************/
#include "wide-string.hpp"
+#include <string.h>
#include <util/platform.h>
using namespace std;
obs-studio-22.0.2.tar.xz/plugins/obs-browser/obs-browser-page
Added
+(directory)
obs-studio-22.0.2.tar.xz/plugins/obs-browser/obs-browser-page/obs-browser-page-main.cpp
Changed
(renamed from plugins/obs-browser/cef-bootstrap/cef-bootstrap-main.cpp)
obs-studio-22.0.1.tar.xz/plugins/obs-browser/obs-browser-plugin.cpp -> obs-studio-22.0.2.tar.xz/plugins/obs-browser/obs-browser-plugin.cpp
Changed
#include <util/util.hpp>
#include <util/dstr.hpp>
#include <obs-module.h>
+#include <obs.hpp>
#include <thread>
#include <mutex>
{
string path = obs_get_module_binary_path(obs_current_module());
path = path.substr(0, path.find_last_of('/') + 1);
- path += "//cef-bootstrap";
+ path += "//obs-browser-page";
#ifdef _WIN32
path += ".exe";
#endif
#endif
BPtr<char> conf_path = obs_module_config_path("");
- CefString(&settings.cache_path) = conf_path;
+ BPtr<char> conf_path_abs = os_get_abs_path_ptr(conf_path);
+ CefString(&settings.cache_path) = conf_path_abs;
CefString(&settings.browser_subprocess_path) = path;
bool tex_sharing_avail = false;
#if EXPERIMENTAL_SHARED_TEXTURE_SUPPORT_ENABLED
if (hwaccel) {
obs_enter_graphics();
- tex_sharing_avail = gs_shared_texture_available();
+ hwaccel = tex_sharing_avail = gs_shared_texture_available();
obs_leave_graphics();
}
#endif
break;
case OBS_FRONTEND_EVENT_SCENE_CHANGED:
{
- obs_source_t *source = obs_frontend_get_current_scene();
+ OBSSource source = obs_frontend_get_current_scene();
+ obs_source_release(source);
+
+ if (!source)
+ break;
+
+ const char *name = obs_source_get_name(source);
+ if (!name)
+ break;
Json json = Json::object {
- {"name", obs_source_get_name(source)},
+ {"name", name},
{"width", (int)obs_source_get_width(source)},
{"height", (int)obs_source_get_height(source)}
};
- obs_source_release(source);
-
DispatchJSEvent("obsSceneChanged", json.dump().c_str());
break;
}
#if EXPERIMENTAL_SHARED_TEXTURE_SUPPORT_ENABLED
static const wchar_t *blacklisted_devices[] = {
- L"Intel(R) HD Graphics",
+ L"Intel",
+ L"Microsoft",
nullptr
};
#endif
if (hwaccel) {
/* do not use hardware acceleration if a blacklisted device is
* the default and on 2 or more adapters */
- if (adapterCount >= 2) {
- const wchar_t **device = blacklisted_devices;
- while (*device) {
- if (!!wstrstri(deviceId.c_str(), *device)) {
- hwaccel = false;
- blog(LOG_INFO, "[obs-browser]: "
- "Blacklisted device "
- "detected on a "
- "computer with more "
- "than one adapter, "
- "disabling browser "
- "source hardware "
- "acceleration.");
- break;
- }
- device++;
+ const wchar_t **device = blacklisted_devices;
+ while (*device) {
+ if (!!wstrstri(deviceId.c_str(), *device)) {
+ hwaccel = false;
+ blog(LOG_INFO, "[obs-browser]: "
+ "Blacklisted device "
+ "detected, "
+ "disabling browser "
+ "source hardware "
+ "acceleration.");
+ break;
}
+ device++;
}
}
obs_data_release(private_data);
obs-studio-22.0.1.tar.xz/plugins/obs-outputs/librtmp/rtmp.c -> obs-studio-22.0.2.tar.xz/plugins/obs-outputs/librtmp/rtmp.c
Changed
r->m_customSendParam = NULL;
#if defined(CRYPTO) || defined(USE_ONLY_MD5)
- for (int idx = 0; idx < r->Link.nStreams; idx++)
- {
- free(r->Link.streams[idx].playpath.av_val);
- r->Link.streams[idx].playpath.av_val = NULL;
- }
-
if (!(r->Link.protocol & RTMP_FEATURE_WRITE) || (r->Link.pFlags & RTMP_PUB_CLEAN))
{
+ for (int idx = 0; idx < r->Link.nStreams; idx++)
+ {
+ free(r->Link.streams[idx].playpath.av_val);
+ r->Link.streams[idx].playpath.av_val = NULL;
+ }
+
r->Link.curStreamIdx = 0;
r->Link.nStreams = 0;
}
obs-studio-22.0.1.tar.xz/plugins/rtmp-services/data/package.json -> obs-studio-22.0.2.tar.xz/plugins/rtmp-services/data/package.json
Changed
{
"url": "https://obsproject.com/obs2_update/rtmp-services",
- "version": 87,
+ "version": 88,
"files": [
{
"name": "services.json",
- "version": 87
+ "version": 88
}
]
}
obs-studio-22.0.1.tar.xz/plugins/rtmp-services/data/services.json -> obs-studio-22.0.2.tar.xz/plugins/rtmp-services/data/services.json
Changed
}
],
"recommended": {
- "keyint": 2,
- "max video bitrate": 800,
- "max audio bitrate": 96
+ "keyint": 3,
+ "max video bitrate": 4000,
+ "max audio bitrate": 128
}
},
{
obs-studio-22.0.1.tar.xz/plugins/rtmp-services/rtmp-common.c -> obs-studio-22.0.2.tar.xz/plugins/rtmp-services/rtmp-common.c
Changed
if (!service->server || !servers || !json_is_array(servers))
return;
- if (astrcmpi(service->server, "auto") == 0)
+ if (astrstri(service->service, "Facebook") == NULL)
return;
json_array_foreach (servers, index, server) {
No build results available
No rpmlint results available
Request History
boombatower created request over 6 years ago
- Update to version 22.0.2:
* Revert "UI: Do not fire load events until program loaded"
* Revert "UI: Reset sources list manually on first load"
* UI: Always show filter preview if video source
* obs-browser: Update version to 2.1.5
* UI: Reset sources list manually on first load
* UI: Remove "Beta" from auto-config tools menu text
* libobs: Update version to 22.0.2
* obs-browser: Update version to 2.1.4
* UI: Make sure quick transition hotkey is not zeroed
* UI: Do not fire load events until program loaded
* UI: Use AlwaysOnTop option for windowed projectors
* UI: Fix a rare multiview crash when clicked
* UI: Fix macOS bug (scrollbar blocking lock icons)
* CI: Use Qt 5.10.1 instead of 5.11.1 for macOS
* UI: Remove beta warning from auto-config wizard
* libobs: Blacklist old obs-browser version on macOS
* UI: Fix filter layout issue
* UI/updater: Add missing header
* obs-outputs: Revert f1f49bc1 to fix RTMP authentication
* UI: Select item that user adds
* CI: Rename one more missed cef-bootstrap name
* CI: Rename cef-bootstrap to obs-browser-page
* obs-browser: Update browser version to 2.1.3
* UI: Set browser hwaccel def. to false if winver <=7
* rtmp-services: Only do URL check for Facebook
* UI: Close remux output before showing dialog
* rtmp-services: update Periscope settings
* CI: Use env variable for CEF cache on Windows
* CI: Build Browser Source on Windows
boombatower accepted request over 6 years ago
ok