summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Saavedra <psaavedra@igalia.com>2023-05-22 20:40:39 +0200
committerSteve Sakoman <steve@sakoman.com>2023-05-30 04:11:15 -1000
commitc84f68642e7dfb64914dd60a9f9f312a84b3a298 (patch)
tree3c9d63be46879df06854c560b034007c73135eaf
parent8af917d5727e0f9c6a0d10060b61168a5cce1a2b (diff)
downloadpoky-c84f68642e7dfb64914dd60a9f9f312a84b3a298.tar.gz
gstreamer1.0: upgrade 1.20.5 -> 1.20.6
Changelog: =========== audio: channel-mix: allow up to 64 channels instead of up to 63 channels AOM AV1 encoder timestamp handling improvements AV1 video codec caps handling improvements in aom plugin, isomp4 and matroska muxers/demuxers. avvidenc: fix bitrate control and timestamps off FFmpeg-based video encoders h264parse: fix missing timestamps on outputs when splitting a frame rtspsrc: more workarounds for servers with broken control uri handling playbin3: fix issue with UDP streams, making sure there's enough buffering qmlglsrc: Fix deadlock when stopping and some other fixes qtmux: fix default timescale unit for N/1001 framerates v4l2h264dec: Fix Raspberry Pi4 will not play video in application vtdec: Fix non-deterministic frame output after seeks wasapi2src: Fix loopback capture on Windows 10 Anniversary Update macOS, iOS: Fix Xcode 14 ABI breakage with older Xcode cerbero: Fix some regressions for CentOS in the 1.20 branch cerbero: Fix setuptools site.py breakage in Python 3.11 Fix gst-libav build against FFmpeg from git gobject-introspection annotation fixes for bindings Miscellaneous bug fixes, memory leak fixes, and other stability and reliability improvements Performance improvements (From OE-Core rev: 102c453668f71dd30c3f0f13502f0993a051d7fe) Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-devtools_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch300
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.6.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bb)3
12 files changed, 11 insertions, 312 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.6.bb
index 9db31c18e4..2eee50e6d8 100644
--- a/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.6.bb
@@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}
12 file://0001-connect-has-a-different-signature-on-musl.patch \ 12 file://0001-connect-has-a-different-signature-on-musl.patch \
13 " 13 "
14 14
15SRC_URI[sha256sum] = "5684436121b8bae07fd00b74395f95e44b5f26323dce4fa045fa665676807bba" 15SRC_URI[sha256sum] = "2c64037c823fb88751a47dacf3d4752a52b7951190d6e05fc44855e912e81d71"
16 16
17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" 17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
18RRECOMMENDS:${PN} = "git" 18RRECOMMENDS:${PN} = "git"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.6.bb
index e5925c6510..c54913e8a1 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.6.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
12 " 12 "
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
15SRC_URI[sha256sum] = "b152e3cc49d014899f53c39d8a6224a44e1399b4cf76aa5f9a903fdf9793c3cc" 15SRC_URI[sha256sum] = "7d619a030542a4a5a11e0302742a3d9b05f8e5cfc453025683a0379bc50aa013"
16 16
17S = "${WORKDIR}/gst-libav-${PV}" 17S = "${WORKDIR}/gst-libav-${PV}"
18 18
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.6.bb
index ec5efcd408..b29d393bfe 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.6.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
10 10
11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" 11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
12 12
13SRC_URI[sha256sum] = "bcccbc02548cdc123fd49944dd44a4f1adc5d107e36f010d320eb526e2107806" 13SRC_URI[sha256sum] = "48e82008a2a0ad5f4b525aba8a6c49c4ca2d7d25c6b1b14d107dd747e26d5a8e"
14 14
15S = "${WORKDIR}/gst-omx-${PV}" 15S = "${WORKDIR}/gst-omx-${PV}"
16 16
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.6.bb
index 80766b9166..fdb4509691 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.6.bb
@@ -11,7 +11,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad
11 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ 11 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
12 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ 12 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
13 " 13 "
14SRC_URI[sha256sum] = "f431214b0754d7037adcde93c3195106196588973e5b32dcb24938805f866363" 14SRC_URI[sha256sum] = "d98c73fa5cdddb372a91199464515cfc80c89bbe05e3d4387ea4381e4224483a"
15 15
16S = "${WORKDIR}/gst-plugins-bad-${PV}" 16S = "${WORKDIR}/gst-plugins-bad-${PV}"
17 17
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.6.bb
index c37b542c57..8d1aef1fc8 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.6.bb
@@ -11,7 +11,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba
11 file://0003-viv-fb-Make-sure-config.h-is-included.patch \ 11 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
12 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ 12 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
13 " 13 "
14SRC_URI[sha256sum] = "11f911ef65f3095d7cf698a1ad1fc5242ac3ad6c9270465fb5c9e7f4f9c19b35" 14SRC_URI[sha256sum] = "54eac357d6cd66f183b94a26e493bf4d5781bc76bc60cad122742626caf8f1a3"
15 15
16S = "${WORKDIR}/gst-plugins-base-${PV}" 16S = "${WORKDIR}/gst-plugins-base-${PV}"
17 17
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.6.bb
index 80aed01973..81f5dd0932 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.6.bb
@@ -8,7 +8,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-go
8 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ 8 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
9 " 9 "
10 10
11SRC_URI[sha256sum] = "e83ab4d12ca24959489bbb0ec4fac9b90e32f741d49cda357cb554b2cb8b97f9" 11SRC_URI[sha256sum] = "e51365cfa9b19bd736dafe2c8828254a55d66996a3c60550bb0d50041c381a44"
12 12
13S = "${WORKDIR}/gst-plugins-good-${PV}" 13S = "${WORKDIR}/gst-plugins-good-${PV}"
14 14
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.6.bb
index f765e626c9..e62e9e9815 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.6.bb
@@ -14,7 +14,7 @@ LICENSE_FLAGS = "commercial"
14SRC_URI = " \ 14SRC_URI = " \
15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ 15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
16 " 16 "
17SRC_URI[sha256sum] = "af67d8ba7cab230f64d0594352112c2c443e2aa36a87c35f9f98a43d11430b87" 17SRC_URI[sha256sum] = "ca3fb6abc9f6e981d204a736c254e50cc1786a2f5038d83023e42ea009b10246"
18 18
19S = "${WORKDIR}/gst-plugins-ugly-${PV}" 19S = "${WORKDIR}/gst-plugins-ugly-${PV}"
20 20
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.6.bb
index 05e9ace276..77745b8ba9 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.6.bb
@@ -8,7 +8,7 @@ LICENSE = "LGPL-2.1-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
9 9
10SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" 10SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
11SRC_URI[sha256sum] = "27487652318659cfd7dc42784b713c78d29cc7a7df4fb397134c8c125f65e3b2" 11SRC_URI[sha256sum] = "aa619e08ddd9f92755f4bd24ba9577e81ae4c86bff170c3e574153ec3cdc80cc"
12 12
13DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" 13DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
14RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" 14RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.6.bb
index c9cf42903d..017edec426 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.6.bb
@@ -10,7 +10,7 @@ PNREAL = "gst-rtsp-server"
10 10
11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" 11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
12 12
13SRC_URI[sha256sum] = "ba398a7ddd559cce56ef4b91f448d174e0dccad98a493563d2d59c41a2ef39c5" 13SRC_URI[sha256sum] = "800122a798387bd4b18b558737d30a010d94154f41bd210d4c4cc2d80ecae90f"
14 14
15S = "${WORKDIR}/${PNREAL}-${PV}" 15S = "${WORKDIR}/${PNREAL}-${PV}"
16 16
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.6.bb
index 716f50ebe1..d67abf408c 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.6.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
11 11
12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz" 12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
13 13
14SRC_URI[sha256sum] = "510c6fb4ff3f676d7946ce1800e04ccf5aabe5a586d4e164d1961808fab8c94b" 14SRC_URI[sha256sum] = "57028a2cdabb749eb38a53f45cfa36f02b4e5368fb6d8684ef31d9e73ddf653b"
15 15
16S = "${WORKDIR}/${REALPN}-${PV}" 16S = "${WORKDIR}/${REALPN}-${PV}"
17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" 17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch
deleted file mode 100644
index f1fac2df57..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch
+++ /dev/null
@@ -1,300 +0,0 @@
1From e1e2d8d58c1e09e065849cdb1f6466c0537a7c51 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
3Date: Tue, 21 Jun 2022 11:51:35 +0300
4Subject: [PATCH] bin: Fix race conditions in tests
5
6The latency messages are non-deterministic and can arrive before/after
7async-done or during state-changes as they are posted by e.g. sinks from
8their streaming thread but bins are finishing asynchronous state changes
9from a secondary helper thread.
10
11To solve this, expect latency messages at any time and assert that we
12receive one at some point during the test.
13
14Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2643>
15
16Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2643]
17Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
18---
19 .../gstreamer/tests/check/gst/gstbin.c | 132 ++++++++++++------
20 1 file changed, 92 insertions(+), 40 deletions(-)
21
22diff --git a/subprojects/gstreamer/tests/check/gst/gstbin.c b/subprojects/gstreamer/tests/check/gst/gstbin.c
23index e366d5fe20f..88ff44db0c3 100644
24--- a/subprojects/gstreamer/tests/check/gst/gstbin.c
25+++ b/subprojects/gstreamer/tests/check/gst/gstbin.c
26@@ -27,50 +27,95 @@
27 #include <gst/base/gstbasesrc.h>
28
29 static void
30-pop_async_done (GstBus * bus)
31+pop_async_done (GstBus * bus, gboolean * had_latency)
32 {
33 GstMessage *message;
34+ GstMessageType types = GST_MESSAGE_ASYNC_DONE;
35+
36+ if (!*had_latency)
37+ types |= GST_MESSAGE_LATENCY;
38
39 GST_DEBUG ("popping async-done message");
40- message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, -1);
41
42- fail_unless (message && GST_MESSAGE_TYPE (message)
43- == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE");
44+ do {
45+ message = gst_bus_poll (bus, types, -1);
46
47- gst_message_unref (message);
48- GST_DEBUG ("popped message");
49+ fail_unless (message);
50+ GST_DEBUG ("popped message %s",
51+ gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
52+
53+ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) {
54+ fail_unless (*had_latency == FALSE);
55+ *had_latency = TRUE;
56+ gst_clear_message (&message);
57+ types &= ~GST_MESSAGE_LATENCY;
58+ continue;
59+ }
60+
61+ fail_unless (GST_MESSAGE_TYPE (message)
62+ == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE");
63+
64+ gst_clear_message (&message);
65+ break;
66+ } while (TRUE);
67 }
68
69 static void
70-pop_latency (GstBus * bus)
71+pop_latency (GstBus * bus, gboolean * had_latency)
72 {
73 GstMessage *message;
74
75- GST_DEBUG ("popping async-done message");
76+ if (*had_latency)
77+ return;
78+
79+ GST_DEBUG ("popping latency message");
80 message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1);
81
82- fail_unless (message && GST_MESSAGE_TYPE (message)
83+ fail_unless (message);
84+ fail_unless (GST_MESSAGE_TYPE (message)
85 == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY");
86
87- gst_message_unref (message);
88- GST_DEBUG ("popped message");
89+ GST_DEBUG ("popped message %s",
90+ gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
91+ gst_clear_message (&message);
92+
93+ *had_latency = TRUE;
94 }
95
96 static void
97-pop_state_changed (GstBus * bus, int count)
98+pop_state_changed (GstBus * bus, int count, gboolean * had_latency)
99 {
100 GstMessage *message;
101-
102+ GstMessageType types = GST_MESSAGE_STATE_CHANGED;
103 int i;
104
105+ if (!*had_latency)
106+ types |= GST_MESSAGE_LATENCY;
107+
108 GST_DEBUG ("popping %d messages", count);
109 for (i = 0; i < count; ++i) {
110- message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1);
111-
112- fail_unless (message && GST_MESSAGE_TYPE (message)
113- == GST_MESSAGE_STATE_CHANGED, "did not get GST_MESSAGE_STATE_CHANGED");
114-
115- gst_message_unref (message);
116+ do {
117+ message = gst_bus_poll (bus, types, -1);
118+
119+ fail_unless (message);
120+ GST_DEBUG ("popped message %s",
121+ gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
122+
123+ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) {
124+ fail_unless (*had_latency == FALSE);
125+ *had_latency = TRUE;
126+ gst_clear_message (&message);
127+ types &= ~GST_MESSAGE_LATENCY;
128+ continue;
129+ }
130+
131+ fail_unless (GST_MESSAGE_TYPE (message)
132+ == GST_MESSAGE_STATE_CHANGED,
133+ "did not get GST_MESSAGE_STATE_CHANGED");
134+
135+ gst_message_unref (message);
136+ break;
137+ } while (TRUE);
138 }
139 GST_DEBUG ("popped %d messages", count);
140 }
141@@ -538,6 +583,7 @@ GST_START_TEST (test_message_state_changed_children)
142 GstBus *bus;
143 GstStateChangeReturn ret;
144 GstState current, pending;
145+ gboolean had_latency = FALSE;
146
147 pipeline = GST_PIPELINE (gst_pipeline_new (NULL));
148 fail_unless (pipeline != NULL, "Could not create pipeline");
149@@ -576,7 +622,7 @@ GST_START_TEST (test_message_state_changed_children)
150 ASSERT_OBJECT_REFCOUNT (sink, "sink", 2);
151 ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 2);
152
153- pop_state_changed (bus, 3);
154+ pop_state_changed (bus, 3, &had_latency);
155 fail_if (gst_bus_have_pending (bus), "unexpected pending messages");
156
157 ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
158@@ -619,9 +665,9 @@ GST_START_TEST (test_message_state_changed_children)
159 * its state_change message */
160 ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 3, 4);
161
162- pop_state_changed (bus, 3);
163- pop_async_done (bus);
164- pop_latency (bus);
165+ pop_state_changed (bus, 3, &had_latency);
166+ pop_async_done (bus, &had_latency);
167+ pop_latency (bus, &had_latency);
168 fail_if ((gst_bus_pop (bus)) != NULL);
169
170 ASSERT_OBJECT_REFCOUNT_BETWEEN (bus, "bus", 2, 3);
171@@ -648,7 +694,7 @@ GST_START_TEST (test_message_state_changed_children)
172 ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 4);
173 ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3);
174
175- pop_state_changed (bus, 3);
176+ pop_state_changed (bus, 3, &had_latency);
177 fail_if ((gst_bus_pop (bus)) != NULL);
178
179 ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
180@@ -669,7 +715,7 @@ GST_START_TEST (test_message_state_changed_children)
181 ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 3, 4);
182 ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3);
183
184- pop_state_changed (bus, 6);
185+ pop_state_changed (bus, 6, &had_latency);
186 fail_if ((gst_bus_pop (bus)) != NULL);
187
188 ASSERT_OBJECT_REFCOUNT (src, "src", 1);
189@@ -696,6 +742,7 @@ GST_START_TEST (test_watch_for_state_change)
190 GstElement *src, *sink, *bin;
191 GstBus *bus;
192 GstStateChangeReturn ret;
193+ gboolean had_latency = FALSE;
194
195 bin = gst_element_factory_make ("bin", NULL);
196 fail_unless (bin != NULL, "Could not create bin");
197@@ -722,9 +769,9 @@ GST_START_TEST (test_watch_for_state_change)
198 GST_CLOCK_TIME_NONE);
199 fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
200
201- pop_state_changed (bus, 6);
202- pop_async_done (bus);
203- pop_latency (bus);
204+ pop_state_changed (bus, 6, &had_latency);
205+ pop_async_done (bus, &had_latency);
206+ pop_latency (bus, &had_latency);
207
208 fail_unless (gst_bus_have_pending (bus) == FALSE,
209 "Unexpected messages on bus");
210@@ -732,16 +779,17 @@ GST_START_TEST (test_watch_for_state_change)
211 ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
212 fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
213
214- pop_state_changed (bus, 3);
215+ pop_state_changed (bus, 3, &had_latency);
216
217+ had_latency = FALSE;
218 /* this one might return either SUCCESS or ASYNC, likely SUCCESS */
219 ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
220 gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE);
221
222- pop_state_changed (bus, 3);
223+ pop_state_changed (bus, 3, &had_latency);
224 if (ret == GST_STATE_CHANGE_ASYNC) {
225- pop_async_done (bus);
226- pop_latency (bus);
227+ pop_async_done (bus, &had_latency);
228+ pop_latency (bus, &had_latency);
229 }
230
231 fail_unless (gst_bus_have_pending (bus) == FALSE,
232@@ -898,6 +946,7 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
233 GstStateChangeReturn ret;
234 GstState current, pending;
235 GstBus *bus;
236+ gboolean had_latency = FALSE;
237
238 pipeline = gst_pipeline_new (NULL);
239 fail_unless (pipeline != NULL, "Could not create pipeline");
240@@ -951,10 +1000,11 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
241 ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 107);
242 #else
243
244- pop_state_changed (bus, 2); /* pop remaining ready => paused messages off the bus */
245+ pop_state_changed (bus, 2, &had_latency); /* pop remaining ready => paused messages off the bus */
246 ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED,
247 108);
248- pop_async_done (bus);
249+ pop_async_done (bus, &had_latency);
250+ pop_latency (bus, &had_latency);
251 #endif
252 /* PAUSED => PLAYING */
253 GST_DEBUG ("popping PAUSED -> PLAYING messages");
254@@ -972,8 +1022,8 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
255 fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed");
256
257 /* TODO: do we need to check downwards state change order as well? */
258- pop_state_changed (bus, 4); /* pop playing => paused messages off the bus */
259- pop_state_changed (bus, 4); /* pop paused => ready messages off the bus */
260+ pop_state_changed (bus, 4, &had_latency); /* pop playing => paused messages off the bus */
261+ pop_state_changed (bus, 4, &had_latency); /* pop paused => ready messages off the bus */
262
263 while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1)
264 THREAD_SWITCH ();
265@@ -1002,6 +1052,7 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
266 GstStateChangeReturn ret;
267 GstState current, pending;
268 GstBus *bus;
269+ gboolean had_latency = FALSE;
270
271 /* (2) Now again, but check other code path where we don't have
272 * a proper sink correctly flagged as such, but a 'semi-sink' */
273@@ -1056,10 +1107,11 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
274 ASSERT_STATE_CHANGE_MSG (bus, src, GST_STATE_READY, GST_STATE_PAUSED, 206);
275 ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 207);
276 #else
277- pop_state_changed (bus, 2); /* pop remaining ready => paused messages off the bus */
278+ pop_state_changed (bus, 2, &had_latency); /* pop remaining ready => paused messages off the bus */
279 ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED,
280 208);
281- pop_async_done (bus);
282+ pop_async_done (bus, &had_latency);
283+ pop_latency (bus, &had_latency);
284
285 /* PAUSED => PLAYING */
286 GST_DEBUG ("popping PAUSED -> PLAYING messages");
287@@ -1076,8 +1128,8 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
288 fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed");
289
290 /* TODO: do we need to check downwards state change order as well? */
291- pop_state_changed (bus, 4); /* pop playing => paused messages off the bus */
292- pop_state_changed (bus, 4); /* pop paused => ready messages off the bus */
293+ pop_state_changed (bus, 4, &had_latency); /* pop playing => paused messages off the bus */
294+ pop_state_changed (bus, 4, &had_latency); /* pop paused => ready messages off the bus */
295
296 GST_DEBUG ("waiting for pipeline to reach refcount 1");
297 while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1)
298--
299GitLab
300
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.6.bb
index ce9c1c116f..7ceb319d9b 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.6.bb
@@ -21,9 +21,8 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.x
21 file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \ 21 file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \
22 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \ 22 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
23 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \ 23 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
24 file://0005-bin-Fix-race-conditions-in-tests.patch;striplevel=3 \
25 " 24 "
26SRC_URI[sha256sum] = "5a19083faaf361d21fc391124f78ba6d609be55845a82fa8f658230e5fa03dff" 25SRC_URI[sha256sum] = "0545b030960680f71a95f9d39c95daae54b4d317d335e8f239d81138773c9b90"
27 26
28PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ 27PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
29 check \ 28 check \