[obs-studio] Backport fix for cursor positioning in Wayland screencasting
by Neal Gompa
commit 0e19cde33bba95fc4a0758e9a78f1ac21d99e3b4
Author: Neal Gompa <ngompa13(a)gmail.com>
Date: Sat Jun 26 13:04:52 2021 -0400
Backport fix for cursor positioning in Wayland screencasting
...ewire-Properly-account-for-cursor-hotspot.patch | 38 ++++++++++++++++++++++
obs-studio.spec | 8 ++++-
2 files changed, 45 insertions(+), 1 deletion(-)
---
diff --git a/0001-pipewire-Properly-account-for-cursor-hotspot.patch b/0001-pipewire-Properly-account-for-cursor-hotspot.patch
new file mode 100644
index 0000000..600b247
--- /dev/null
+++ b/0001-pipewire-Properly-account-for-cursor-hotspot.patch
@@ -0,0 +1,38 @@
+From 6942bb814dcf9361dc9c3dac395842444159be54 Mon Sep 17 00:00:00 2001
+From: Georges Basile Stavracas Neto <georges.stavracas(a)gmail.com>
+Date: Tue, 22 Jun 2021 22:31:26 -0300
+Subject: [PATCH] pipewire: Properly account for cursor hotspot
+
+The cursor bitmap is centered on the hotspot, so not accounting
+for it means PipeWire captures were positioning the cursor sprite
+slightly off.
+
+Properly account for the hotspot by subtracting it from the cursor
+position.
+
+Related: https://github.com/obsproject/obs-studio/issues/4766
+---
+ plugins/linux-capture/pipewire.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/linux-capture/pipewire.c b/plugins/linux-capture/pipewire.c
+index abd0d4923..114e66c33 100644
+--- a/plugins/linux-capture/pipewire.c
++++ b/plugins/linux-capture/pipewire.c
+@@ -1234,9 +1234,11 @@ void obs_pipewire_video_render(obs_pipewire_data *obs_pw, gs_effect_t *effect)
+
+ if (obs_pw->cursor.visible && obs_pw->cursor.valid &&
+ obs_pw->cursor.texture) {
++ float cursor_x = obs_pw->cursor.x - obs_pw->cursor.hotspot_x;
++ float cursor_y = obs_pw->cursor.y - obs_pw->cursor.hotspot_y;
++
+ gs_matrix_push();
+- gs_matrix_translate3f((float)obs_pw->cursor.x,
+- (float)obs_pw->cursor.y, 0.0f);
++ gs_matrix_translate3f(cursor_x, cursor_y, 0.0f);
+
+ gs_effect_set_texture(image, obs_pw->cursor.texture);
+ gs_draw_sprite(obs_pw->texture, 0, obs_pw->cursor.width,
+--
+2.31.1
+
diff --git a/obs-studio.spec b/obs-studio.spec
index 8aca393..2194ae9 100644
--- a/obs-studio.spec
+++ b/obs-studio.spec
@@ -7,7 +7,7 @@
Name: obs-studio
Version: 27.0.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Open Broadcaster Software Studio
License: GPLv2+
@@ -15,6 +15,9 @@ URL: https://obsproject.com/
Source0: https://github.com/obsproject/obs-studio/archive/%{version}/%{name}-%{ver...
Source1: https://github.com/obsproject/obs-vst/archive/%{commit1}/obs-vst-%{shortc...
+# Backports from upstream
+Patch0001: 0001-pipewire-Properly-account-for-cursor-hotspot.patch
+
BuildRequires: gcc
BuildRequires: cmake >= 3.0
BuildRequires: ninja-build
@@ -135,6 +138,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata
%{_includedir}/obs/
%changelog
+* Sat Jun 26 2021 Neal Gompa <ngompa13(a)gmail.com> - 27.0.1-2
+- Backport fix for cursor positioning in Wayland screencasting
+
* Sat Jun 12 2021 Neal Gompa <ngompa13(a)gmail.com> - 27.0.1-1
- Update to 27.0.1
3 years, 4 months
[gstreamer1-plugins-bad-freeworld/f34] Fix patch
by Leigh Scott
commit ad48810b2535660404fa996b76c834e8f35c7a3d
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:21:47 2021 +0100
Fix patch
build_what_we_need_only.patch | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)
---
diff --git a/build_what_we_need_only.patch b/build_what_we_need_only.patch
index c7fed0d..562996b 100644
--- a/build_what_we_need_only.patch
+++ b/build_what_we_need_only.patch
@@ -1,7 +1,7 @@
diff -uNrp a/ext/meson.build b/ext/meson.build
---- a/ext/meson.build 2021-06-01 00:14:25.000000000 +0100
-+++ b/ext/meson.build 2021-06-08 13:36:03.843005732 +0100
-@@ -1,75 +1,10 @@
+--- a/ext/meson.build 2020-08-20 16:14:26.000000000 +0100
++++ b/ext/meson.build 2020-08-23 14:38:26.171082319 +0100
+@@ -1,69 +1,10 @@
-subdir('assrender')
-subdir('aom')
-subdir('avtp')
@@ -22,14 +22,11 @@ diff -uNrp a/ext/meson.build b/ext/meson.build
-subdir('flite')
-subdir('fluidsynth')
-subdir('gme')
--subdir('gs')
-subdir('gsm')
-subdir('hls')
-subdir('iqa')
--subdir('isac')
-subdir('kate')
-subdir('ladspa')
--subdir('ldac')
subdir('libde265')
subdir('libmms')
-subdir('lv2')
@@ -40,9 +37,7 @@ diff -uNrp a/ext/meson.build b/ext/meson.build
-subdir('musepack')
-subdir('neon')
-subdir('ofa')
--subdir('onnx')
-subdir('openal')
--subdir('openaptx')
-subdir('opencv')
-subdir('openexr')
-subdir('openh264')
@@ -50,7 +45,6 @@ diff -uNrp a/ext/meson.build b/ext/meson.build
-subdir('openmpt')
-subdir('openni2')
-subdir('opus')
--subdir('qroverlay')
-subdir('resindvd')
-subdir('rsvg')
subdir('rtmp')
@@ -77,14 +71,15 @@ diff -uNrp a/ext/meson.build b/ext/meson.build
subdir('x265')
-subdir('zxing')
-subdir('zbar')
+
diff -uNrp a/gst/meson.build b/gst/meson.build
---- a/gst/meson.build 2021-06-01 00:14:25.000000000 +0100
-+++ b/gst/meson.build 2021-06-08 13:30:36.516757191 +0100
+--- a/gst/meson.build 2020-08-20 16:14:27.000000000 +0100
++++ b/gst/meson.build 2020-08-23 14:38:26.172082317 +0100
@@ -1,18 +1,4 @@
-foreach plugin : ['accurip', 'adpcmdec', 'adpcmenc', 'aiff', 'asfmux',
- 'audiobuffersplit', 'audiofxbad', 'audiomixmatrix',
- 'audiolatency', 'audiovisualizers', 'autoconvert', 'bayer',
-- 'camerabin2', 'codecalpha', 'coloreffects', 'debugutils', 'dvbsubenc',
+- 'camerabin2', 'coloreffects', 'debugutils', 'dvbsubenc',
- 'dvbsuboverlay', 'dvdspu', 'faceoverlay', 'festival',
- 'fieldanalysis', 'freeverb', 'frei0r', 'gaudieffects', 'gdp',
- 'geometrictransform', 'id3tag', 'inter', 'interlace',
@@ -101,9 +96,9 @@ diff -uNrp a/gst/meson.build b/gst/meson.build
subdir(plugin)
endif
diff -uNrp a/meson.build b/meson.build
---- a/meson.build 2021-06-01 00:14:25.000000000 +0100
-+++ b/meson.build 2021-06-08 13:32:38.208390976 +0100
-@@ -284,6 +284,8 @@ gstapp_dep = dependency('gstreamer-app-1
+--- a/meson.build 2020-08-20 16:14:27.000000000 +0100
++++ b/meson.build 2020-08-23 14:38:26.173082315 +0100
+@@ -279,6 +279,8 @@
fallback : ['gst-plugins-base', 'app_dep'])
gstaudio_dep = dependency('gstreamer-audio-1.0', version : gst_req,
fallback : ['gst-plugins-base', 'audio_dep'])
@@ -112,9 +107,9 @@ diff -uNrp a/meson.build b/meson.build
gstfft_dep = dependency('gstreamer-fft-1.0', version : gst_req,
fallback : ['gst-plugins-base', 'fft_dep'])
gstriff_dep = dependency('gstreamer-riff-1.0', version : gst_req,
-@@ -484,13 +486,9 @@ pkgconfig.generate(
- description : 'Streaming media framework, bad plugins libraries',
- )
+@@ -461,14 +463,9 @@
+ plugins_pkgconfig_install_dir = disabler()
+ endif
-subdir('gst-libs')
subdir('gst')
@@ -123,6 +118,8 @@ diff -uNrp a/meson.build b/meson.build
-subdir('tests')
subdir('data')
-subdir('tools')
+-subdir('pkgconfig')
if have_orcc
update_orc_dist_files = find_program('scripts/update-orc-dist-files.py')
+
3 years, 5 months
[gstreamer1-libav] Add epoch
by Leigh Scott
commit 9c1374e366d9fcd99ddf2b70c6b0ab0a702cf5db
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:19:39 2021 +0100
Add epoch
gstreamer1-libav.spec | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/gstreamer1-libav.spec b/gstreamer1-libav.spec
index bbb80a1..6a781af 100644
--- a/gstreamer1-libav.spec
+++ b/gstreamer1-libav.spec
@@ -1,4 +1,5 @@
Name: gstreamer1-libav
+Epoch: 1
Version: 1.19.1
Release: 1%{?dist}
Summary: GStreamer 1.0 libav-based plug-ins
3 years, 5 months
[gstreamer1-plugins-bad-freeworld] Add epoch
by Leigh Scott
commit 30cf81c5fd4e8e63817555f7b99cc685d8456064
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:18:39 2021 +0100
Add epoch
gstreamer1-plugins-bad-freeworld.spec | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/gstreamer1-plugins-bad-freeworld.spec b/gstreamer1-plugins-bad-freeworld.spec
index e79b4d5..29bf8cf 100644
--- a/gstreamer1-plugins-bad-freeworld.spec
+++ b/gstreamer1-plugins-bad-freeworld.spec
@@ -1,5 +1,6 @@
Summary: GStreamer 1.0 streaming media framework "bad" plug-ins
Name: gstreamer1-plugins-bad-freeworld
+Epoch: 1
Version: 1.19.1
Release: 1%{?dist}
License: LGPLv2+
3 years, 5 months
[gstreamer1-plugins-bad-freeworld] Revert "Fix"
by Leigh Scott
commit bf5ddc046e0af9ad8328cad97cf24f68475ccb7e
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:06:22 2021 +0100
Revert "Fix"
This reverts commit 220253cd322bd96dbc9fd94c937e669cb8ae56d4.
gstreamer1-plugins-bad-freeworld.spec | 1 -
1 file changed, 1 deletion(-)
---
diff --git a/gstreamer1-plugins-bad-freeworld.spec b/gstreamer1-plugins-bad-freeworld.spec
index 98454c1..e79b4d5 100644
--- a/gstreamer1-plugins-bad-freeworld.spec
+++ b/gstreamer1-plugins-bad-freeworld.spec
@@ -67,7 +67,6 @@ well enough, or the code is not of good enough quality.
%meson_install
rm -rf %{buildroot}%{_datadir}/gstreamer-1.0/encoding-profiles/
-rm -rf %{buildroot}%{_libdir}/pkgconfig/gstreamer-plugins-bad-1.0.pc
%files
%doc AUTHORS NEWS README RELEASE
3 years, 5 months
[gstreamer1-plugins-ugly] Add epoch
by Leigh Scott
commit de1ca055588257d0cbd2c03b6f6506ed9c7e4f65
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:18:07 2021 +0100
Add epoch
gstreamer1-plugins-ugly.spec | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/gstreamer1-plugins-ugly.spec b/gstreamer1-plugins-ugly.spec
index 13905bb..e26b7ac 100644
--- a/gstreamer1-plugins-ugly.spec
+++ b/gstreamer1-plugins-ugly.spec
@@ -2,6 +2,7 @@
Summary: GStreamer 1.0 streaming media framework "ugly" plug-ins
Name: gstreamer1-plugins-ugly
+Epoch: 1
Version: 1.19.1
Release: 1%{?dist}
License: LGPLv2+
3 years, 5 months
[gstreamer1-plugins-ugly/f34] Epoch back to 1.18.4
by Leigh Scott
commit eb91ef4f5e27f42873d4c734629be9ed7698e51c
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:17:12 2021 +0100
Epoch back to 1.18.4
gstreamer1-plugins-ugly.spec | 8 ++++++--
sources | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/gstreamer1-plugins-ugly.spec b/gstreamer1-plugins-ugly.spec
index 13905bb..23028f2 100644
--- a/gstreamer1-plugins-ugly.spec
+++ b/gstreamer1-plugins-ugly.spec
@@ -2,8 +2,9 @@
Summary: GStreamer 1.0 streaming media framework "ugly" plug-ins
Name: gstreamer1-plugins-ugly
-Version: 1.19.1
-Release: 1%{?dist}
+Epoch: 1
+Version: 1.18.4
+Release: 2%{?dist}
License: LGPLv2+
URL: https://gstreamer.freedesktop.org/
Source0: %{url}/src/%{src_name}/%{src_name}-%{version}.tar.xz
@@ -72,6 +73,9 @@ gstreamer-plugins-good because:
%changelog
+* Fri Jun 25 2021 Leigh Scott <leigh123linux(a)gmail.com> - 1:1.18.4-2
+- Epoch back to 1.18.4
+
* Tue Jun 08 2021 Leigh Scott <leigh123linux(a)gmail.com> - 1.19.1-1
- Update
diff --git a/sources b/sources
index 0f05583..fa8075c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (gst-plugins-ugly-1.19.1.tar.xz) = 834f15084fb9d627d2a683a6e0a63b5de3aff289c4954e4fae6d26789c90d34b4e6993dd99429aae72e665508d917cb247e785e6f62a4b804466ec01d215291e
+SHA512 (gst-plugins-ugly-1.18.4.tar.xz) = eac02000ac3e0a54a953fe1531cb29bc6bc9913a707d1508905bf64fe0a4ef92f7d01b196259fc217fac8a344f0b2d683dd6d32210ce6b8c0acab08cb3b1322a
3 years, 5 months
[gstreamer1-plugins-bad-freeworld/f34] Add epoch
by Leigh Scott
commit dc209302ea930f5d215c722d78bd992da26e02af
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:14:11 2021 +0100
Add epoch
gstreamer1-plugins-bad-freeworld.spec | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/gstreamer1-plugins-bad-freeworld.spec b/gstreamer1-plugins-bad-freeworld.spec
index 5d75fd5..6632b04 100644
--- a/gstreamer1-plugins-bad-freeworld.spec
+++ b/gstreamer1-plugins-bad-freeworld.spec
@@ -1,5 +1,6 @@
Summary: GStreamer 1.0 streaming media framework "bad" plug-ins
Name: gstreamer1-plugins-bad-freeworld
+Epoch: 1
Version: 1.18.4
Release: 4%{?dist}
License: LGPLv2+
@@ -96,7 +97,7 @@ rm -rf %{buildroot}%{_datadir}/gstreamer-1.0/encoding-profiles/
%changelog
-* Fri Jun 25 2021 Leigh Scott <leigh123linux(a)gmail.com> - 1.18.4-4
+* Fri Jun 25 2021 Leigh Scott <leigh123linux(a)gmail.com> - 1:1.18.4-4
- Epoch back to 1.18.4
* Tue Jun 08 2021 Leigh Scott <leigh123linux(a)gmail.com> - 1.19.1-1
3 years, 5 months
[gstreamer1-plugins-bad-freeworld/f34] Epoch back to 1.18.4
by Leigh Scott
commit e4a45854a53ba86c8662cfdb418db3104c3f080d
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:11:13 2021 +0100
Epoch back to 1.18.4
gstreamer1-plugins-bad-freeworld.spec | 7 +++++--
sources | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gstreamer1-plugins-bad-freeworld.spec b/gstreamer1-plugins-bad-freeworld.spec
index e79b4d5..5d75fd5 100644
--- a/gstreamer1-plugins-bad-freeworld.spec
+++ b/gstreamer1-plugins-bad-freeworld.spec
@@ -1,7 +1,7 @@
Summary: GStreamer 1.0 streaming media framework "bad" plug-ins
Name: gstreamer1-plugins-bad-freeworld
-Version: 1.19.1
-Release: 1%{?dist}
+Version: 1.18.4
+Release: 4%{?dist}
License: LGPLv2+
URL: https://gstreamer.freedesktop.org/
Source0: %{url}/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz
@@ -96,6 +96,9 @@ rm -rf %{buildroot}%{_datadir}/gstreamer-1.0/encoding-profiles/
%changelog
+* Fri Jun 25 2021 Leigh Scott <leigh123linux(a)gmail.com> - 1.18.4-4
+- Epoch back to 1.18.4
+
* Tue Jun 08 2021 Leigh Scott <leigh123linux(a)gmail.com> - 1.19.1-1
- Update
diff --git a/sources b/sources
index 88ddabb..0fb6091 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (gst-plugins-bad-1.19.1.tar.xz) = 22ff1f2f64311304c35e27aa838fc3d1050cd4731f3cbd852cc187a1e41e3be04c8bd2391743389a64160361f122c9c907ae7b771ab4a0fdd09769ddb370c8f3
+SHA512 (gst-plugins-bad-1.18.4.tar.xz) = 02123e054419f5ce6ca2ebe0bdf23572269ea4120bf463b4d672efbe5d9e5d417d4d711cc80094be974c4569f754d8b2ad93f59b827e3b018d450582834cb125
3 years, 5 months
[gstreamer1-plugins-bad-freeworld/f34] Revert "Fix"
by Leigh Scott
commit 2750e904241bfc8197d1bcc9d45c90077e8a4ed9
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Fri Jun 25 16:08:59 2021 +0100
Revert "Fix"
This reverts commit 220253cd322bd96dbc9fd94c937e669cb8ae56d4.
gstreamer1-plugins-bad-freeworld.spec | 1 -
1 file changed, 1 deletion(-)
---
diff --git a/gstreamer1-plugins-bad-freeworld.spec b/gstreamer1-plugins-bad-freeworld.spec
index 98454c1..e79b4d5 100644
--- a/gstreamer1-plugins-bad-freeworld.spec
+++ b/gstreamer1-plugins-bad-freeworld.spec
@@ -67,7 +67,6 @@ well enough, or the code is not of good enough quality.
%meson_install
rm -rf %{buildroot}%{_datadir}/gstreamer-1.0/encoding-profiles/
-rm -rf %{buildroot}%{_libdir}/pkgconfig/gstreamer-plugins-bad-1.0.pc
%files
%doc AUTHORS NEWS README RELEASE
3 years, 5 months