summaryrefslogtreecommitdiff
path: root/media-video/obs-studio/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-12 17:23:15 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-12 17:23:15 +0100
commit6e0dec7ba4f6c5793a3d0b85952efa7ec57afa65 (patch)
treedcf170f6adae0db9a35f68683c81d68edfc54158 /media-video/obs-studio/files
parentab58e299fd6dae92ea274fe7d0ad685d888a51b7 (diff)
gentoo resync : 12.10.2017
Diffstat (limited to 'media-video/obs-studio/files')
-rw-r--r--media-video/obs-studio/files/obs-studio-20.0.1-fix-curl-crash.patch46
-rw-r--r--media-video/obs-studio/files/obs-studio-ImageMagick-header-path.patch70
2 files changed, 116 insertions, 0 deletions
diff --git a/media-video/obs-studio/files/obs-studio-20.0.1-fix-curl-crash.patch b/media-video/obs-studio/files/obs-studio-20.0.1-fix-curl-crash.patch
new file mode 100644
index 000000000000..178bb2e6715d
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-20.0.1-fix-curl-crash.patch
@@ -0,0 +1,46 @@
+From 379137d039e8db4a4f5f4dd8b56aaa21600fe962 Mon Sep 17 00:00:00 2001
+From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
+Date: Tue, 19 Sep 2017 15:33:55 +0200
+Subject: [PATCH] file-updater: fix crash due to network timeout
+
+If there is no network connection, OBS crashes after 5 minutes idling
+with following crash:
+
+*** longjmp causes uninitialized stack frame ***: obs terminated
+======= Backtrace: =========
+/lib64/libc.so.6(+0x6f1e3)[0x7f8f95f901e3]
+/lib64/libc.so.6(__fortify_fail+0x37)[0x7f8f96018ba7]
+/lib64/libc.so.6(+0xf7add)[0x7f8f96018add]
+/lib64/libc.so.6(__longjmp_chk+0x29)[0x7f8f96018a39]
+/usr/lib64/libcurl.so.4(+0xa5d5)[0x7f8f979b75d5]
+/lib64/libpthread.so.0(+0x10e30)[0x7f8f962cae30]
+/lib64/libc.so.6(__poll+0x2d)[0x7f8f95fff46d]
+/usr/lib64/libglib-2.0.so.0(+0x4a64c)[0x7f8f91b5564c]
+/usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c)[0x7f8f91b5575c]
+/usr/lib64/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x5f)[0x7f8f9706c1ff]
+/usr/lib64/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0xfa)[0x7f8f9701defa]
+/usr/lib64/libQt5Core.so.5(_ZN16QCoreApplication4execEv+0x9c)[0x7f8f970258fc]
+obs(main+0x5ac)[0x4773dc]
+/lib64/libc.so.6(__libc_start_main+0xf0)[0x7f8f95f41700]
+obs(_start+0x29)[0x478389]
+
+Internet search [1] revealed that this is a libcurl bug that can be worked
+around by asking curl not to install signal handlers.
+
+[1] https://stackoverflow.com/a/10755612
+---
+ deps/file-updater/file-updater/file-updater.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/deps/file-updater/file-updater/file-updater.c b/deps/file-updater/file-updater/file-updater.c
+index ec639aeee..b8d649e05 100644
+--- a/deps/file-updater/file-updater/file-updater.c
++++ b/deps/file-updater/file-updater/file-updater.c
+@@ -117,6 +117,7 @@ static bool do_http_request(struct update_info *info, const char *url,
+ curl_easy_setopt(info->curl, CURLOPT_WRITEFUNCTION, http_write);
+ curl_easy_setopt(info->curl, CURLOPT_WRITEDATA, info);
+ curl_easy_setopt(info->curl, CURLOPT_FAILONERROR, true);
++ curl_easy_setopt(info->curl, CURLOPT_NOSIGNAL, 1);
+
+ if (!info->remote_url) {
+ // We only care about headers from the main package file
diff --git a/media-video/obs-studio/files/obs-studio-ImageMagick-header-path.patch b/media-video/obs-studio/files/obs-studio-ImageMagick-header-path.patch
new file mode 100644
index 000000000000..ca1de74973bb
--- /dev/null
+++ b/media-video/obs-studio/files/obs-studio-ImageMagick-header-path.patch
@@ -0,0 +1,70 @@
+From affb84f98477bb490554f56bf82ebffcefa0ec42 Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Tue, 5 Sep 2017 23:30:24 +0300
+Subject: [PATCH 1/3] libobs: Fix ImageMagick header path
+
+Since ImageMagick 7, the header path has been changed. This commit
+implements a check for the version being used, and includes the
+header as is appropriate.
+
+Special thanks to Hu.
+
+Mantis-Bug: https://obsproject.com/mantis/view.php?id=966
+
+Gentoo-Bug: https://bugs.gentoo.org/627520
+---
+ libobs/CMakeLists.txt | 6 ++++++
+ libobs/graphics/graphics-magick.c | 6 ++++++
+ libobs/obsconfig.h.in | 3 +++
+ 3 files changed, 15 insertions(+)
+
+diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
+index cd2b80e1..e91f366a 100644
+--- a/libobs/CMakeLists.txt
++++ b/libobs/CMakeLists.txt
+@@ -31,6 +31,12 @@ option(LIBOBS_PREFER_IMAGEMAGICK "Prefer ImageMagick over ffmpeg for image loadi
+ if(NOT FFMPEG_AVCODEC_FOUND OR (ImageMagick_MagickCore_FOUND AND LIBOBS_PREFER_IMAGEMAGICK))
+ message(STATUS "Using ImageMagick for image loading in libobs")
+
++ if(${ImageMagick_VERSION_STRING} LESS 7)
++ set(LIBOBS_IMAGEMAGICK_DIR_STYLE LIBOBS_IMAGEMAGICK_DIR_STYLE_6L)
++ elseif(${ImageMagick_VERSION_STRING} GREATER_EQUAL 7)
++ set(LIBOBS_IMAGEMAGICK_DIR_STYLE LIBOBS_IMAGEMAGICK_DIR_STYLE_7GE)
++ endif()
++
+ set(libobs_image_loading_SOURCES
+ graphics/graphics-magick.c)
+ set(libobs_image_loading_LIBRARIES
+diff --git a/libobs/graphics/graphics-magick.c b/libobs/graphics/graphics-magick.c
+index c106bfa6..6e4e1e96 100644
+--- a/libobs/graphics/graphics-magick.c
++++ b/libobs/graphics/graphics-magick.c
+@@ -1,8 +1,14 @@
+ #include "graphics.h"
++#include "obsconfig.h"
+
+ #define MAGICKCORE_QUANTUM_DEPTH 16
+ #define MAGICKCORE_HDRI_ENABLE 0
++
++#if LIBOBS_IMAGEMAGICK_DIR_STYLE == LIBOBS_IMAGEMAGICK_DIR_STYLE_6L
+ #include <magick/MagickCore.h>
++#elif LIBOBS_IMAGEMAGICK_DIR_STYLE == LIBOBS_IMAGEMAGICK_DIR_STYLE_7GE
++#include <MagickCore/MagickCore.h>
++#endif
+
+ void gs_init_image_deps()
+ {
+diff --git a/libobs/obsconfig.h.in b/libobs/obsconfig.h.in
+index f86962d5..cc1f4005 100644
+--- a/libobs/obsconfig.h.in
++++ b/libobs/obsconfig.h.in
+@@ -17,3 +17,6 @@
+ #define OBS_UNIX_STRUCTURE @OBS_UNIX_STRUCTURE@
+ #define BUILD_CAPTIONS @BUILD_CAPTIONS@
+ #define HAVE_DBUS @HAVE_DBUS@
++#define LIBOBS_IMAGEMAGICK_DIR_STYLE_6L 6
++#define LIBOBS_IMAGEMAGICK_DIR_STYLE_7GE 7
++#define LIBOBS_IMAGEMAGICK_DIR_STYLE @LIBOBS_IMAGEMAGICK_DIR_STYLE@
+--
+2.14.1
+