Update to 1.20.0
This commit is contained in:
parent
fdffd8410b
commit
398611af18
1
.gitignore
vendored
1
.gitignore
vendored
@ -77,3 +77,4 @@
|
|||||||
/gst-plugins-bad-free-1.19.1.tar.xz
|
/gst-plugins-bad-free-1.19.1.tar.xz
|
||||||
/gst-plugins-bad-free-1.19.2.tar.xz
|
/gst-plugins-bad-free-1.19.2.tar.xz
|
||||||
/gst-plugins-bad-free-1.19.3.tar.xz
|
/gst-plugins-bad-free-1.19.3.tar.xz
|
||||||
|
/gst-plugins-bad-free-1.20.0.tar.xz
|
||||||
|
@ -1,94 +0,0 @@
|
|||||||
From 12a5bf64f88d3b7a714649752ec0bef2ec2b6ba1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Philippe Normand <philn@igalia.com>
|
|
||||||
Date: Sat, 13 Nov 2021 12:17:23 +0000
|
|
||||||
Subject: [PATCH 1/2] play: Allow runtime configuration of video-renderer
|
|
||||||
|
|
||||||
This is a requirement for GstPlayer when using the default overlay interface
|
|
||||||
provided by the pipeline. The GstPlayerWrappedVideoRenderer requires a valid
|
|
||||||
pipeline, but that's available only after the GstPlay thread has successfully
|
|
||||||
started.
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345>
|
|
||||||
---
|
|
||||||
.../gst-libs/gst/play/gstplay.c | 35 ++++++++++++++-----
|
|
||||||
1 file changed, 26 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.c b/subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.c
|
|
||||||
index 79e47cd6f5..fbc55897ad 100644
|
|
||||||
--- a/subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.c
|
|
||||||
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.c
|
|
||||||
@@ -352,8 +352,7 @@ gst_play_class_init (GstPlayClass * klass)
|
|
||||||
param_specs[PROP_VIDEO_RENDERER] =
|
|
||||||
g_param_spec_object ("video-renderer",
|
|
||||||
"Video Renderer", "Video renderer to use for rendering videos",
|
|
||||||
- GST_TYPE_PLAY_VIDEO_RENDERER,
|
|
||||||
- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
|
|
||||||
+ GST_TYPE_PLAY_VIDEO_RENDERER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
|
||||||
|
|
||||||
param_specs[PROP_URI] = g_param_spec_string ("uri", "URI", "Current URI",
|
|
||||||
DEFAULT_URI, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
|
|
||||||
@@ -590,6 +589,18 @@ gst_play_set_rate_internal (GstPlay * self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+gst_play_set_playbin_video_sink (GstPlay * self)
|
|
||||||
+{
|
|
||||||
+ GstElement *video_sink = NULL;
|
|
||||||
+
|
|
||||||
+ if (self->video_renderer != NULL)
|
|
||||||
+ video_sink =
|
|
||||||
+ gst_play_video_renderer_create_video_sink (self->video_renderer, self);
|
|
||||||
+ if (video_sink)
|
|
||||||
+ g_object_set (self->playbin, "video-sink", video_sink, NULL);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
gst_play_set_property (GObject * object, guint prop_id,
|
|
||||||
const GValue * value, GParamSpec * pspec)
|
|
||||||
@@ -598,7 +609,11 @@ gst_play_set_property (GObject * object, guint prop_id,
|
|
||||||
|
|
||||||
switch (prop_id) {
|
|
||||||
case PROP_VIDEO_RENDERER:
|
|
||||||
+ g_mutex_lock (&self->lock);
|
|
||||||
+ g_clear_object (&self->video_renderer);
|
|
||||||
self->video_renderer = g_value_dup_object (value);
|
|
||||||
+ gst_play_set_playbin_video_sink (self);
|
|
||||||
+ g_mutex_unlock (&self->lock);
|
|
||||||
break;
|
|
||||||
case PROP_URI:{
|
|
||||||
g_mutex_lock (&self->lock);
|
|
||||||
@@ -2496,12 +2511,7 @@ gst_play_main (gpointer data)
|
|
||||||
gst_object_ref_sink (self->playbin);
|
|
||||||
|
|
||||||
if (self->video_renderer) {
|
|
||||||
- GstElement *video_sink =
|
|
||||||
- gst_play_video_renderer_create_video_sink (self->video_renderer,
|
|
||||||
- self);
|
|
||||||
-
|
|
||||||
- if (video_sink)
|
|
||||||
- g_object_set (self->playbin, "video-sink", video_sink, NULL);
|
|
||||||
+ gst_play_set_playbin_video_sink (self);
|
|
||||||
}
|
|
||||||
|
|
||||||
scaletempo = gst_element_factory_make ("scaletempo", NULL);
|
|
||||||
@@ -2638,8 +2648,15 @@ gst_play_new (GstPlayVideoRenderer * video_renderer)
|
|
||||||
|
|
||||||
g_once (&once, gst_play_init_once, NULL);
|
|
||||||
|
|
||||||
- self = g_object_new (GST_TYPE_PLAY, "video-renderer", video_renderer, NULL);
|
|
||||||
+ self = g_object_new (GST_TYPE_PLAY, NULL);
|
|
||||||
|
|
||||||
+ // When the video_renderer is a GstPlayerWrappedVideoRenderer it cannot be set
|
|
||||||
+ // at construction time because it requires a valid pipeline which is created
|
|
||||||
+ // only after GstPlay has been constructed. That is why the video renderer is
|
|
||||||
+ // set *after* GstPlay has been constructed.
|
|
||||||
+ if (video_renderer != NULL) {
|
|
||||||
+ g_object_set (self, "video-renderer", video_renderer, NULL);
|
|
||||||
+ }
|
|
||||||
gst_object_ref_sink (self);
|
|
||||||
|
|
||||||
if (video_renderer)
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
From ee7fe545b2d6f8c26b0d53830395726e11ae6eb2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Philippe Normand <philn@igalia.com>
|
|
||||||
Date: Sat, 13 Nov 2021 12:22:36 +0000
|
|
||||||
Subject: [PATCH 2/2] player: Ensure the GstPlay is created before the wrapped
|
|
||||||
renderer
|
|
||||||
|
|
||||||
The GstPlayerWrappedVideoRenderer implicitely depends on GstPlay.
|
|
||||||
|
|
||||||
Fixes #878
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345>
|
|
||||||
---
|
|
||||||
subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c | 5 ++++-
|
|
||||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c b/subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c
|
|
||||||
index cbc9501a36..d11e7a62db 100644
|
|
||||||
--- a/subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c
|
|
||||||
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c
|
|
||||||
@@ -573,10 +573,13 @@ gst_player_new (GstPlayerVideoRenderer * video_renderer,
|
|
||||||
g_object_new (GST_TYPE_PLAYER, "signal-dispatcher", signal_dispatcher,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
+ self->play = gst_play_new (NULL);
|
|
||||||
+
|
|
||||||
if (video_renderer != NULL) {
|
|
||||||
renderer = gst_player_wrapped_video_renderer_new (video_renderer, self);
|
|
||||||
+ g_object_set (self->play, "video-renderer",
|
|
||||||
+ GST_PLAY_VIDEO_RENDERER (renderer), NULL);
|
|
||||||
}
|
|
||||||
- self->play = gst_play_new (GST_PLAY_VIDEO_RENDERER (renderer));
|
|
||||||
|
|
||||||
if (signal_dispatcher != NULL) {
|
|
||||||
GMainContext *context = NULL;
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -13,8 +13,8 @@
|
|||||||
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
|
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
|
||||||
|
|
||||||
Name: gstreamer1-plugins-bad-free
|
Name: gstreamer1-plugins-bad-free
|
||||||
Version: 1.19.3
|
Version: 1.20.0
|
||||||
Release: 6%{?gitcommit:.git%{shortcommit}}%{?dist}
|
Release: 1%{?gitcommit:.git%{shortcommit}}%{?dist}
|
||||||
Summary: GStreamer streaming media framework "bad" plugins
|
Summary: GStreamer streaming media framework "bad" plugins
|
||||||
|
|
||||||
License: LGPLv2+ and LGPLv2
|
License: LGPLv2+ and LGPLv2
|
||||||
@ -34,11 +34,6 @@ Source1: gst-p-bad-cleanup.sh
|
|||||||
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1406
|
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1406
|
||||||
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1570
|
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1570
|
||||||
Patch0: 0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch
|
Patch0: 0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch
|
||||||
# Fix GstPlayer with GstPlayerVideoOverlayVideoRenderer
|
|
||||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/878
|
|
||||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1345
|
|
||||||
Patch1: 0001-play-Allow-runtime-configuration-of-video-renderer.patch
|
|
||||||
Patch2: 0002-player-Ensure-the-GstPlay-is-created-before-the-wrap.patch
|
|
||||||
|
|
||||||
BuildRequires: meson >= 0.48.0
|
BuildRequires: meson >= 0.48.0
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -244,8 +239,6 @@ aren't tested well enough, or the code is not of good enough quality.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n gst-plugins-bad-%{version}
|
%setup -q -n gst-plugins-bad-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p3
|
|
||||||
%patch2 -p3
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson \
|
%meson \
|
||||||
@ -645,6 +638,9 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 4 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.0-1
|
||||||
|
- Update to 1.20.0
|
||||||
|
|
||||||
* Thu Feb 03 2022 Scott Talbert <swt@techie.net> - 1.19.3-6
|
* Thu Feb 03 2022 Scott Talbert <swt@techie.net> - 1.19.3-6
|
||||||
- Enable rtmp2 plugin (#1915517)
|
- Enable rtmp2 plugin (#1915517)
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (gst-plugins-bad-free-1.19.3.tar.xz) = 8b8655cd4edb923f57cf8ee6ae061bf51b3f0ca2c2a8c7eb5d3f8d6255c2142d884e261719e9f53dac03ab7d17057b6c74c5b34097f8c849ef48850c94466b50
|
SHA512 (gst-plugins-bad-free-1.20.0.tar.xz) = d3fbbb21014a4af9a24c8a8a4d5bdbefcafc2359aa950384718b8468e01a735ddfccd57b1d05e68251bb48c9abf6396506fbbdb3815b9597622cd1ecb4a60caf
|
||||||
|
Loading…
Reference in New Issue
Block a user