extra/gstreamer to 1.20.3-1

This commit is contained in:
Kevin Mihelich 2022-06-16 23:37:01 +00:00
parent 0e891e32a9
commit 0075845d9a
4 changed files with 23 additions and 157 deletions

View file

@ -1,22 +1,28 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Mon, 6 Jun 2022 00:30:08 +0200
Date: Mon, 6 Jun 2022 00:29:08 +0200
Subject: [PATCH] meson: Allow building with system orc
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
meson.build | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 9ea00429bcb5..0481dbcbe512 100644
index 617ba8a41461..509565e90891 100644
--- a/meson.build
+++ b/meson.build
@@ -112,7 +112,7 @@ elif build_system == 'darwin'
@@ -112,7 +112,13 @@ elif build_system == 'darwin'
subproject('macos-bison-binary')
endif
-orc_subproject = subproject('orc', required: get_option('orc'))
+orc_subproject = subproject('orc', required: false)
+orc_subproject_required = get_option('orc')
+if orc_subproject_required.allowed()
+ # Download if possible, otherwise use system orc
+ orc_subproject_required = false
+endif
+
+orc_subproject = subproject('orc', required: orc_subproject_required)
foreach custom_subproj: get_option('custom_subprojects').split(',')
if custom_subproj != ''

View file

@ -11,7 +11,7 @@ Subject: [PATCH] HACK: meson: Disable broken tests
4 files changed, 4 deletions(-)
diff --git a/subprojects/gst-editing-services/meson.build b/subprojects/gst-editing-services/meson.build
index 04373faa0df3..c4ef81439052 100644
index 1a4a29b3657f..857290baf35f 100644
--- a/subprojects/gst-editing-services/meson.build
+++ b/subprojects/gst-editing-services/meson.build
@@ -274,7 +274,6 @@ subdir('plugins')
@ -23,7 +23,7 @@ index 04373faa0df3..c4ef81439052 100644
subdir('examples')
endif
diff --git a/subprojects/gst-python/meson.build b/subprojects/gst-python/meson.build
index 707bde7d96ea..e1fd643e5cd6 100644
index dce5982e59d7..ed51d7e88f36 100644
--- a/subprojects/gst-python/meson.build
+++ b/subprojects/gst-python/meson.build
@@ -104,5 +104,4 @@ if not get_option('plugin').disabled()
@ -45,7 +45,7 @@ index 229af32f8117..b9372c125d77 100644
'gst/sessionpool',
'gst/stream',
diff --git a/subprojects/gstreamer-vaapi/meson.build b/subprojects/gstreamer-vaapi/meson.build
index 61ddc86f5dbe..8732d714abe8 100644
index 702441cb7b5c..9fff27ce91b9 100644
--- a/subprojects/gstreamer-vaapi/meson.build
+++ b/subprojects/gstreamer-vaapi/meson.build
@@ -202,7 +202,6 @@ plugins = []

View file

@ -1,135 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Mon, 6 Jun 2022 00:30:08 +0200
Subject: [PATCH] opencv: Allow building against 4.6.x
Replace the broken version checks with one modeled after
`GLIB_CHECK_VERSION`.
---
.../gst-plugins-bad/ext/opencv/gstcvtracker.cpp | 14 +++++++-------
.../gst-plugins-bad/ext/opencv/gstcvtracker.h | 11 +++++++++--
subprojects/gst-plugins-bad/ext/opencv/meson.build | 2 +-
3 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.cpp b/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.cpp
index 492c9cf9b877..0c5dfda35f0a 100644
--- a/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.cpp
+++ b/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.cpp
@@ -233,7 +233,7 @@ gst_cvtracker_init (GstCVTracker * filter)
filter->y = DEFAULT_PROP_INITIAL_Y;
filter->width = DEFAULT_PROP_INITIAL_WIDTH;
filter->height = DEFAULT_PROP_INITIAL_HEIGHT;
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
filter->tracker = cv::legacy::upgradeTrackingAPI(
cv::legacy::TrackerMedianFlow::create());
#else
@@ -283,40 +283,40 @@ create_cvtracker (GstCVTracker * filter)
{
switch (filter->algorithm) {
case GST_OPENCV_TRACKER_ALGORITHM_BOOSTING:
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
filter->tracker = cv::legacy::upgradeTrackingAPI(
cv::legacy::TrackerBoosting::create());
#else
filter->tracker = cv::TrackerBoosting::create();
#endif
break;
case GST_OPENCV_TRACKER_ALGORITHM_CSRT:
filter->tracker = cv::TrackerCSRT::create ();
break;
case GST_OPENCV_TRACKER_ALGORITHM_KCF:
filter->tracker = cv::TrackerKCF::create ();
break;
case GST_OPENCV_TRACKER_ALGORITHM_MEDIANFLOW:
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
filter->tracker = cv::legacy::upgradeTrackingAPI(
cv::legacy::TrackerMedianFlow::create());
#else
filter->tracker = cv::TrackerMedianFlow::create();
#endif
break;
case GST_OPENCV_TRACKER_ALGORITHM_MIL:
filter->tracker = cv::TrackerMIL::create ();
break;
case GST_OPENCV_TRACKER_ALGORITHM_MOSSE:
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
filter->tracker = cv::legacy::upgradeTrackingAPI(
cv::legacy::TrackerMOSSE::create());
#else
filter->tracker = cv::TrackerMOSSE::create ();
#endif
break;
case GST_OPENCV_TRACKER_ALGORITHM_TLD:
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
filter->tracker = cv::legacy::upgradeTrackingAPI(
cv::legacy::TrackerTLD::create());
#else
@@ -366,19 +366,19 @@ gst_cvtracker_transform_ip (GstOpencvVideoFilter * base,
GstMessage *msg;
if (filter->roi.empty ()) {
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
filter->roi = new (cv::Rect);
#else
filter->roi = new (cv::Rect2d);
#endif
filter->roi->x = filter->x;
filter->roi->y = filter->y;
filter->roi->width = filter->width;
filter->roi->height = filter->height;
create_cvtracker (filter);
filter->tracker->init (img, *filter->roi);
} else if (filter->tracker->update (img, *filter->roi)) {
-#if (!(CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1))
+#if !GST_OPENCV_CHECK_VERSION(4, 5, 1)
/* Round values to avoid inconsistencies depending on the OpenCV version. */
filter->roi->x = cvRound (filter->roi->x);
filter->roi->y = cvRound (filter->roi->y);
diff --git a/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.h b/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.h
index d3531efbc593..1a06111d8b03 100644
--- a/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.h
+++ b/subprojects/gst-plugins-bad/ext/opencv/gstcvtracker.h
@@ -50,7 +50,14 @@
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/tracking.hpp>
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+
+#define GST_OPENCV_CHECK_VERSION(major,minor,revision) \
+ (CV_VERSION_MAJOR > (major) || \
+ (CV_VERSION_MAJOR == (major) && CV_VERSION_MINOR > (minor)) || \
+ (CV_VERSION_MAJOR == (major) && CV_VERSION_MINOR == (minor) && \
+ CV_VERSION_REVISION >= (revision)))
+
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
#include <opencv2/tracking/tracking_legacy.hpp>
#endif
@@ -84,7 +91,7 @@ struct _GstCVTracker
gboolean post_debug_info;
cv::Ptr<cv::Tracker> tracker;
-#if CV_VERSION_MAJOR == 4 && CV_VERSION_MINOR >= 5 && CV_VERSION_REVISION >= 1
+#if GST_OPENCV_CHECK_VERSION(4, 5, 1)
cv::Ptr<cv::Rect> roi;
#else
cv::Ptr<cv::Rect2d> roi;
diff --git a/subprojects/gst-plugins-bad/ext/opencv/meson.build b/subprojects/gst-plugins-bad/ext/opencv/meson.build
index 1d86b9092d9d..3962cff90a55 100644
--- a/subprojects/gst-plugins-bad/ext/opencv/meson.build
+++ b/subprojects/gst-plugins-bad/ext/opencv/meson.build
@@ -71,7 +71,7 @@ if opencv_found
endif
if not opencv_found
- opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.6.0'], required : false)
+ opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.7.0'], required : false)
opencv_found = opencv_dep.found()
if opencv_found
foreach h : libopencv4_headers

View file

@ -29,8 +29,8 @@ pkgname=(
gst-python
gstreamer-docs
)
pkgver=1.20.2
pkgrel=2
pkgver=1.20.3
pkgrel=1
pkgdesc="Multimedia graph framework"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64)
@ -75,22 +75,20 @@ makedepends=(
)
checkdepends=(xorg-server-xvfb)
options=(debug)
_commit=8dbfc89a850d484a27937eb882978251bfce06b3 # tags/1.20.2^0
_commit=ccf22e315cedf81e0075ab179ffb1b733da5206e # tags/1.20.3^0
source=(
"git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git#commit=$_commit"
"https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-$pkgver.tar.xz"{,.asc}
"https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.20.3.tar.xz"{,.asc}
0001-meson-Allow-building-with-system-orc.patch
0002-HACK-meson-Disable-broken-tests.patch
0003-HACK-meson-Work-around-broken-detection-of-underscor.patch
0004-opencv-Allow-building-against-4.6.x.patch
)
sha256sums=('SKIP'
'ca70d921cbbba9fe17679b47d2e0db886e0422d37652837a170d76c3f2b4bc53'
'73fc428a40d6a34c2ceb80e3e572b20f19f8ebe216d566f010de11573063f1bf'
'SKIP'
'de7ae4a8d38be56a2079a0a64d84281758f7aaa3918cd57376dd0c244574cf10'
'a88d22b06b8d09f5d7111465c41bbabe13df97d41c1216fc3338ecf4bd13d8d9'
'79d3038a0ba0c3958ffa8b5aec8431336b372906c07c0c878c3767bec0acb46f'
'd06d390787e8b54dba04f1988af88c9e64e91b25e136559f6651268685f7b906')
'292edebc224557db08404b0d53e2824413f0aad2a99c991de2cb8ccc6e9a7683'
'11971a978e37fda3822f95fb61b59ba3ded6487066dc59fcbde7b72a3a9cfe70'
'79d3038a0ba0c3958ffa8b5aec8431336b372906c07c0c878c3767bec0acb46f')
validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller <tim@gstreamer-foundation.org>
pkgver() {
@ -110,9 +108,6 @@ prepare() {
# Workaround broken detection of underscore prefixes
# https://github.com/mesonbuild/meson/issues/5482
git apply -3 ../0003-HACK-meson-Work-around-broken-detection-of-underscor.patch
# Fix building against opencv 4.6
git apply -3 ../0004-opencv-Allow-building-against-4.6.x.patch
}
build() {