Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gstreamer-plugins-base for
openSUSE:Factory checked in at 2026-09-11 19:00:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-base (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-base"
Fri Sep 11 19:00:50 2026 rev:134 rq:1376929 version:1.28.7
Changes:
--------
---
/work/SRC/openSUSE:Factory/gstreamer-plugins-base/gstreamer-plugins-base.changes
2026-08-06 16:19:37.547052684 +0200
+++
/work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.1265/gstreamer-plugins-base.changes
2026-09-11 19:01:36.162296940 +0200
@@ -1,0 +2,27 @@
+Tue Sep 8 06:54:49 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 1.28.7:
+ + appsrc: Don't push EOS directly in event handler (regression
+ fix)
+ + glcolorconvert: don't rely on integer modulus '%'
+ + mikey: use TEK_WITH_SALT for proper key/salt separation in
+ KEY_DATA
+ + overlay-composition: Don't try to scale high bitdepth
+ rectangles
+ + rtpbasedepayload: Don't assert if previous buffer's delayed
+ header extensions are still queued
+ + rtsp: message: fix crash when an auth value started with
+ whitespace
+ + typefindhelper: Revert "Drop unnecessary check for factories
+ without a function"
+ + typefind: regression causes txt file to be detected as subtitle
+ + typefindfunctions: Critical warnings when typefinding invalid
+ ogv file
+ + validate: Use a single value type in configs lists
+ + video-converter: Fix GRAY output border color
+ + video-format: Fix annotation on component function
+ + videoconvertscale: keep input colorimetry in scale-only
+ elements
+ + videotimecode: Fix documentation bug and update annotations
+
+-------------------------------------------------------------------
Old:
----
gst-plugins-base-1.28.6.obscpio
New:
----
gst-plugins-base-1.28.7.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-base.spec ++++++
--- /var/tmp/diff_new_pack.GS6Tt9/_old 2026-09-11 19:01:37.469351411 +0200
+++ /var/tmp/diff_new_pack.GS6Tt9/_new 2026-09-11 19:01:37.471351494 +0200
@@ -20,7 +20,7 @@
%define gst_branch 1.0
%define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//")
Name: gstreamer-plugins-base
-Version: 1.28.6
+Version: 1.28.7
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: GPL-2.0-or-later AND LGPL-2.1-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.GS6Tt9/_old 2026-09-11 19:01:37.498352620 +0200
+++ /var/tmp/diff_new_pack.GS6Tt9/_new 2026-09-11 19:01:37.501352745 +0200
@@ -5,7 +5,7 @@
<param
name="url">https://gitlab.freedesktop.org/gstreamer/gstreamer.git</param>
<param name="subdir">subprojects/gst-plugins-base</param>
<param name="filename">gst-plugins-base</param>
- <param name="revision">1.28.6</param>
+ <param name="revision">1.28.7</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">v?(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
++++++ gst-plugins-base-1.28.6.obscpio -> gst-plugins-base-1.28.7.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst/videoconvertscale/gstvideoconvertscale.c
new/gst-plugins-base-1.28.7/gst/videoconvertscale/gstvideoconvertscale.c
--- old/gst-plugins-base-1.28.6/gst/videoconvertscale/gstvideoconvertscale.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst/videoconvertscale/gstvideoconvertscale.c
2026-09-07 21:11:13.000000000 +0200
@@ -908,10 +908,19 @@
{
GstVideoConvertScale *self = GST_VIDEO_CONVERT_SCALE (filter);
GstVideoConvertScalePrivate *priv = PRIV (self);
+ GstVideoConvertScaleClass *klass = GST_VIDEO_CONVERT_SCALE_GET_CLASS (self);
gint from_dar_n, from_dar_d, to_dar_n, to_dar_d;
GstVideoInfo tmp_info;
GstStructure *options;
+ /* A scale-only element keeps the input colorimetry. With no colorimetry
+ * field on the output caps, out_info holds the resolution-derived default,
+ * so take the input's instead. */
+ if (!klass->converts
+ && !gst_structure_has_field (gst_caps_get_structure (out, 0),
+ "colorimetry"))
+ out_info->colorimetry = in_info->colorimetry;
+
if (priv->convert) {
gst_video_converter_free (priv->convert);
priv->convert = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-base-1.28.6/gst-libs/gst/app/gstappsrc.c
new/gst-plugins-base-1.28.7/gst-libs/gst/app/gstappsrc.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/app/gstappsrc.c 2026-08-05
13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/app/gstappsrc.c 2026-09-07
21:11:13.000000000 +0200
@@ -1134,7 +1134,9 @@
break;
case GST_EVENT_EOS:
gst_app_src_end_of_stream (appsrc);
- break;
+ /* Don't pass the event through */
+ gst_event_unref (event);
+ return TRUE;
default:
if (GST_EVENT_IS_SERIALIZED (event)) {
GST_DEBUG_OBJECT (appsrc, "queue event: %" GST_PTR_FORMAT, event);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/gl/gstglcolorconvert.c
new/gst-plugins-base-1.28.7/gst-libs/gst/gl/gstglcolorconvert.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/gl/gstglcolorconvert.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/gl/gstglcolorconvert.c
2026-09-07 21:11:13.000000000 +0200
@@ -443,7 +443,7 @@
" int tile_index = tile_coord.y * tiles_per_row + tile_coord.x;\n" \
" int linear_index = tile_index * tile_size + delta_coord.y * dim.x +
delta_coord.x;\n" \
" linear_index += need_offset * tile_size / 2;\n" \
- " return ivec2(linear_index % width, linear_index / width);\n" \
+ " return ivec2(int(mod(float(linear_index), float(width))), linear_index
/ width);\n" \
"}\n"
/* TILED semi-planar to RGB conversion */
@@ -460,12 +460,12 @@
"\n"
" ivec2 coord = ivec2(gl_FragCoord.xy);\n"
" ivec2 tile_coord = coord / luma_dim;\n"
- " ivec2 delta_coord = coord %% luma_dim;\n" \
+ " ivec2 delta_coord = ivec2(mod(vec2(coord), vec2(luma_dim)));\n" \
" texel = frag_to_tile(tile_coord, delta_coord, luma_dim, iwidth,
tiles_per_row, 0);\n"
" yuva.x = texelFetch(Ytex, texel, 0).r;\n"
"\n"
" ivec2 chroma_tcoord = ivec2(tile_coord.x, tile_coord.y / fy);\n"
- " texel = frag_to_tile(chroma_tcoord, delta_coord / 2, chroma_dim, iwidth
/ 2, tiles_per_row, tile_coord.y %% fy);\n"
+ " texel = frag_to_tile(chroma_tcoord, delta_coord / 2, chroma_dim, iwidth
/ 2, tiles_per_row, ivec2(mod(float(tile_coord.y), float(fy))));\n"
" yuva.yz = texelFetch(UVtex, texel, 0).%c%c;\n"
" yuva.a = 1.0;\n"
"\n"
@@ -513,8 +513,8 @@
" yuva.x = texture2D(tex, v_texcoord * vert_to_tex *
tex_scale0)[input_swizzle[0]];\n"
/* v_texcoord are normalized, texcoord may not be e.g. rectangle textures
*/
" vec2 half_poffset = vec2(poffset_x / 2.0, poffset_y / 2.0);\n"
- " int inorder = int(((v_texcoord.x * vert_to_tex.x - half_poffset.x) *
chroma_sampling.x + half_poffset.x) * width / vert_to_tex) % 2;\n"
- " if (inorder == 0) {\n"
+ " float inorder = mod(float(int(((v_texcoord.x * vert_to_tex.x -
half_poffset.x) * chroma_sampling.x + half_poffset.x) * width /
vert_to_tex.x)), 2.0);\n"
+ " if (inorder < 1.0) {\n"
" dx2 = -dx1;\n"
" dx1 = 0.0;\n"
" }\n"
@@ -627,7 +627,7 @@
static const char glsl_func_v210_unpack[] =
"ivec2 v210_component_to_texel(int comp) {\n"
// (the texel index in the row, the swizzle index in that texel)
- " return ivec2(comp / 3, comp % 3);\n"
+ " return ivec2(comp / 3, int(mod(float(comp), 3.0)));\n"
"}\n"
"ivec2 v210_y_xoffset(int xpos) {\n"
// 1 3 5 7 9 ...
@@ -715,9 +715,9 @@
// factor of 2/3 (4/6) different
" vec2 half_x_offset = vec2(poffset_x * 0.66666 / 2.0, 0.0);\n"
" int xpos = int(texcoord.x * out_width);\n"
- " ivec2 sub_idx0 = block_indices[(xpos % 4) * 3 + 0];\n"
- " ivec2 sub_idx1 = block_indices[(xpos % 4) * 3 + 1];\n"
- " ivec2 sub_idx2 = block_indices[(xpos % 4) * 3 + 2];\n"
+ " ivec2 sub_idx0 = block_indices[int(mod(float(xpos), 4.0)) * 3 + 0];\n"
+ " ivec2 sub_idx1 = block_indices[int(mod(float(xpos), 4.0)) * 3 + 1];\n"
+ " ivec2 sub_idx2 = block_indices[int(mod(float(xpos), 4.0)) * 3 + 2];\n"
" vec2 block_offset = vec2(float((xpos / 4) * 6) * poffset_x, texcoord.y
* vert_to_tex.y) + half_x_offset;\n"
" texcoord0 = block_offset + vec2(float(sub_idx0[0]) * poffset_x, 0.0);\n"
" texcoord1 = block_offset + vec2(float(sub_idx1[0]) * poffset_x, 0.0);\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/rtp/gstrtpbasedepayload.c
new/gst-plugins-base-1.28.7/gst-libs/gst/rtp/gstrtpbasedepayload.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/rtp/gstrtpbasedepayload.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/rtp/gstrtpbasedepayload.c
2026-09-07 21:11:13.000000000 +0200
@@ -939,7 +939,13 @@
a buffer that's pushed, either way the buffer cache should be
empty here and we append the delayed buffer */
if (priv->hdrext_delayed) {
- g_assert_true (gst_buffer_list_length (priv->hdrext_buffers) == 0);
+ if (gst_buffer_list_length (priv->hdrext_buffers) > 0) {
+ /* the previous output buffer was dropped (e.g. on packet loss) and its
+ * cached header extensions should not apply to the new buffer. */
+ GST_LOG_OBJECT (filter,
+ "flushing delayed header extensions of previous buffer");
+ gst_rtp_base_depayload_reset_hdrext_buffers (filter);
+ }
gst_buffer_list_add (priv->hdrext_buffers, priv->hdrext_delayed);
priv->hdrext_delayed = NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/rtsp/gstrtspmessage.c
new/gst-plugins-base-1.28.7/gst-libs/gst/rtsp/gstrtspmessage.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/rtsp/gstrtspmessage.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/rtsp/gstrtspmessage.c
2026-09-07 21:11:13.000000000 +0200
@@ -1416,18 +1416,21 @@
if (eq[0] == '=') {
GstRTSPAuthParam *auth_param = g_new0 (GstRTSPAuthParam, 1);
const gchar *value;
+ const gchar *param_end;
/* have an actual param */
auth_param->name = g_strndup (header, eq - header);
value = eq + 1;
value = skip_lws (value);
- auth_param->value = g_strndup (value, item_end - value);
+ param_end = skip_item (value);
+
+ auth_param->value = g_strndup (value, param_end - value);
if (value[0] == '"')
decode_quoted_string (auth_param->value);
g_ptr_array_add (params, auth_param);
- header = item_end;
+ header = param_end;
} else {
/* at next scheme, header at start of it */
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-base-1.28.6/gst-libs/gst/sdp/gstmikey.c
new/gst-plugins-base-1.28.7/gst-libs/gst/sdp/gstmikey.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/sdp/gstmikey.c 2026-08-05
13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/sdp/gstmikey.c 2026-09-07
21:11:13.000000000 +0200
@@ -2515,8 +2515,10 @@
guint8 byte;
guint8 enc_alg;
guint8 auth_alg;
- guint8 enc_key_length;
- guint8 auth_key_length;
+ guint8 enc_key_length = 0;
+ guint8 auth_key_length = 0;
+ guint8 salt_key_length = 0;
+ gsize key_length = 0;
GstStructure *s;
GstMapInfo info;
GstBuffer *srtpkey;
@@ -2565,6 +2567,15 @@
return NULL;
}
+ /* By default the whole srtp-key buffer is used as the master key. When a
+ * cipher is present and the buffer is larger than the encryption key, the
+ * trailing bytes are the session salt. */
+ key_length = gst_buffer_get_size (srtpkey);
+ if (enc_key_length > 0 && key_length > enc_key_length) {
+ salt_key_length = key_length - enc_key_length;
+ key_length = enc_key_length;
+ }
+
msg = gst_mikey_message_new ();
/* unencrypted MIKEY message, we send this over TLS so this is allowed */
gst_mikey_message_set_info (msg, GST_MIKEY_VERSION, GST_MIKEY_TYPE_PSK_INIT,
@@ -2587,6 +2598,11 @@
/* encryption key length */
gst_mikey_payload_sp_add_param (payload, GST_MIKEY_SP_SRTP_ENC_KEY_LEN,
1,
&enc_key_length);
+ if (salt_key_length) {
+ /* session salt key length */
+ gst_mikey_payload_sp_add_param (payload,
GST_MIKEY_SP_SRTP_SALT_KEY_LEN,
+ 1, &salt_key_length);
+ }
}
if (auth) {
/* HMAC-SHA1 or NULL in case of GCM */
@@ -2615,11 +2631,15 @@
/* make unencrypted KEMAC */
payload = gst_mikey_payload_new (GST_MIKEY_PT_KEMAC);
gst_mikey_payload_kemac_set (payload, GST_MIKEY_ENC_NULL,
GST_MIKEY_MAC_NULL);
- /* add the key in KEMAC */
+ /* add the key||salt in KEMAC */
pkd = gst_mikey_payload_new (GST_MIKEY_PT_KEY_DATA);
gst_buffer_map (srtpkey, &info, GST_MAP_READ);
- gst_mikey_payload_key_data_set_key (pkd, GST_MIKEY_KD_TEK, info.size,
+ gst_mikey_payload_key_data_set_key (pkd, GST_MIKEY_KD_TEK, key_length,
info.data);
+ if (salt_key_length) {
+ gst_mikey_payload_key_data_set_salt (pkd, salt_key_length,
+ info.data + key_length);
+ }
gst_buffer_unmap (srtpkey, &info);
/* add optional SPI/MKI
* See: https://www.rfc-editor.org/rfc/rfc3830.html#section-6.14
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/video/gstvideometa.c
new/gst-plugins-base-1.28.7/gst-libs/gst/video/gstvideometa.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/video/gstvideometa.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/video/gstvideometa.c
2026-09-07 21:11:13.000000000 +0200
@@ -1695,7 +1695,7 @@
* @buffer: a #GstBuffer
* @fps_n: framerate numerator
* @fps_d: framerate denominator
- * @latest_daily_jam: a #GDateTime for the latest daily jam
+ * @latest_daily_jam: (allow-none): a #GDateTime for the latest daily jam
* @flags: a #GstVideoTimeCodeFlags
* @hours: hours since the daily jam
* @minutes: minutes since the daily jam
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/video/gstvideotimecode.c
new/gst-plugins-base-1.28.7/gst-libs/gst/video/gstvideotimecode.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/video/gstvideotimecode.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/video/gstvideotimecode.c
2026-09-07 21:11:13.000000000 +0200
@@ -631,7 +631,7 @@
* gst_video_time_code_new:
* @fps_n: Numerator of the frame rate
* @fps_d: Denominator of the frame rate
- * @latest_daily_jam: The latest daily jam of the #GstVideoTimeCode
+ * @latest_daily_jam: (allow-none): The latest daily jam of the
#GstVideoTimeCode
* @flags: #GstVideoTimeCodeFlags
* @hours: the hours field of #GstVideoTimeCode
* @minutes: the minutes field of #GstVideoTimeCode
@@ -640,7 +640,6 @@
* @field_count: Interlaced video field count
*
* @field_count is 0 for progressive, 1 or 2 for interlaced.
- * @latest_daiy_jam reference is stolen from caller.
*
* Returns: a new #GstVideoTimeCode with the given values.
* The values are not checked for being in a valid range. To see if your
@@ -834,7 +833,6 @@
* @field_count: Interlaced video field count
*
* @field_count is 0 for progressive, 1 or 2 for interlaced.
- * @latest_daiy_jam reference is stolen from caller.
*
* Initializes @tc with the given values.
* The values are not checked for being in a valid range. To see if your
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-blend.c
new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-blend.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-blend.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-blend.c
2026-09-07 21:11:13.000000000 +0200
@@ -175,6 +175,8 @@
g_return_if_fail (dest_buffer != NULL);
+ *dest_buffer = NULL;
+
gst_video_info_init (dest);
if (!gst_video_info_set_format (dest, GST_VIDEO_INFO_FORMAT (src),
dest_width, dest_height)) {
@@ -182,6 +184,11 @@
return;
}
+ if (GST_VIDEO_INFO_COMP_DEPTH (src, 0) != 8) {
+ GST_WARNING ("Only 8-bit depth formats are supported");
+ return;
+ }
+
tmpbuf = g_malloc (dest_width * 8 * 4);
*dest_buffer = gst_buffer_new_and_alloc (GST_VIDEO_INFO_SIZE (dest));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-converter.c
new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-converter.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-converter.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-converter.c
2026-09-07 21:11:13.000000000 +0200
@@ -2197,22 +2197,19 @@
guint32 border_val;
gint i, w_sub;
const GstVideoFormatInfo *out_finfo;
+ const GstVideoFormatInfo *out_pack_finfo;
gpointer planes[GST_VIDEO_MAX_PLANES];
gint strides[GST_VIDEO_MAX_PLANES];
convert->borderline = g_malloc0 (sizeof (guint16) * width * 4);
out_finfo = convert->out_info.finfo;
+ out_pack_finfo = gst_video_format_get_info (convert->pack_format);
- if (GST_VIDEO_INFO_IS_YUV (&convert->out_info)) {
+ if (GST_VIDEO_FORMAT_INFO_IS_YUV (out_pack_finfo)) {
MatrixData cm;
- gint a, r, g, b;
- gint y, u, v;
-
- /* Get Color matrix. */
- color_matrix_set_identity (&cm);
- compute_matrix_to_YUV (convert, &cm, TRUE);
- color_matrix_convert (&cm);
+ gint64 a, r, g, b;
+ gint64 y, u, v;
border_val = GINT32_FROM_BE (convert->border_argb);
@@ -2221,16 +2218,32 @@
r = (0x0000FF00 & border_val) >> 8;
a = (0x000000FF & border_val);
- y = 16 + ((r * cm.im[0][0] + g * cm.im[0][1] + b * cm.im[0][2]) >> 8);
- u = 128 + ((r * cm.im[1][0] + g * cm.im[1][1] + b * cm.im[1][2]) >> 8);
- v = 128 + ((r * cm.im[2][0] + g * cm.im[2][1] + b * cm.im[2][2]) >> 8);
+ /* Get Color matrix. */
+ color_matrix_set_identity (&cm);
+
+ /* border_argb is 8-bit RGB, normalize it to [0, 1] */
+ color_matrix_scale_components (&cm,
+ 1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0);
+
+ compute_matrix_to_YUV (convert, &cm, TRUE);
+
+ /* convert to integer scale, same as prepare_matrix() */
+ color_matrix_scale_components (&cm, SCALE_F, SCALE_F, SCALE_F);
+ color_matrix_convert (&cm);
+
+ y = (r * cm.im[0][0] + g * cm.im[0][1] + b * cm.im[0][2] +
+ cm.im[0][3]) >> SCALE;
+ u = (r * cm.im[1][0] + g * cm.im[1][1] + b * cm.im[1][2] +
+ cm.im[1][3]) >> SCALE;
+ v = (r * cm.im[2][0] + g * cm.im[2][1] + b * cm.im[2][2] +
+ cm.im[2][3]) >> SCALE;
a = CLAMP (a, 0, 255);
y = CLAMP (y, 0, 255);
u = CLAMP (u, 0, 255);
v = CLAMP (v, 0, 255);
- border_val = a | (y << 8) | (u << 16) | ((guint32) v << 24);
+ border_val = (guint32) (a | (y << 8) | (u << 16) | v << 24);
} else {
border_val = GINT32_FROM_BE (convert->border_argb);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-format.c
new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-format.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-format.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-format.c
2026-09-07 21:11:13.000000000 +0200
@@ -8652,7 +8652,7 @@
* gst_video_format_info_component:
* @info: #GstVideoFormatInfo
* @plane: a plane number
- * @components: (out): array used to store component numbers
+ * @components: (out caller-allocates) (array fixed-size=4): array used to
store component numbers
*
* Fill @components with the number of all the components packed in @plane
* for the format @info. A value of -1 in @components indicates that no more
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-overlay-composition.c
new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-overlay-composition.c
--- old/gst-plugins-base-1.28.6/gst-libs/gst/video/video-overlay-composition.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-libs/gst/video/video-overlay-composition.c
2026-09-07 21:11:13.000000000 +0200
@@ -598,6 +598,13 @@
if (needs_scaling) {
gst_video_blend_scale_linear_RGBA (&rect->info, rect->pixels,
rect->render_height, rect->render_width, &scaled_info, &pixels);
+
+ if (!pixels) {
+ GST_WARNING ("Couldn't get scaled rectangle %u", n);
+ ret = FALSE;
+ continue;
+ }
+
vinfo = &scaled_info;
} else {
pixels = gst_buffer_ref (rect->pixels);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-base-1.28.6/gst-plugins-base.doap
new/gst-plugins-base-1.28.7/gst-plugins-base.doap
--- old/gst-plugins-base-1.28.6/gst-plugins-base.doap 2026-08-05
13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/gst-plugins-base.doap 2026-09-07
21:11:13.000000000 +0200
@@ -36,6 +36,16 @@
<release>
<Version>
+ <revision>1.28.7</revision>
+ <branch>1.28</branch>
+ <name></name>
+ <created>2026-09-07</created>
+ <file-release
rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.28.7.tar.xz"
/>
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.28.6</revision>
<branch>1.28</branch>
<name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-base-1.28.6/meson.build
new/gst-plugins-base-1.28.7/meson.build
--- old/gst-plugins-base-1.28.6/meson.build 2026-08-05 13:59:39.000000000
+0200
+++ new/gst-plugins-base-1.28.7/meson.build 2026-09-07 21:11:13.000000000
+0200
@@ -1,5 +1,5 @@
project('gst-plugins-base', 'c',
- version : '1.28.6',
+ version : '1.28.7',
meson_version : '>= 1.4',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/check/elements/appsrc.c
new/gst-plugins-base-1.28.7/tests/check/elements/appsrc.c
--- old/gst-plugins-base-1.28.6/tests/check/elements/appsrc.c 2026-08-05
13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/tests/check/elements/appsrc.c 2026-09-07
21:11:13.000000000 +0200
@@ -488,6 +488,71 @@
GST_END_TEST;
+/* Test that sending EOS to a blocked appsrc
+ * simply enqueues the event without hanging,
+ * and that subsequent push attempts return FLOW_EOS,
+ * and that unblocking eventually sends the EOS */
+GST_START_TEST (test_appsrc_blocked_eos)
+{
+ GstElement *pipeline = NULL, *app = NULL;
+ GstPad *pad = NULL;
+ GstCaps *caps = NULL;
+ GError *error = NULL;
+ GMainLoop *loop;
+
+ loop = g_main_loop_new (NULL, FALSE);
+
+ pipeline =
+ gst_parse_launch ("appsrc is-live=1 max-buffers=1 name=app ! fakesink",
+ &error);
+ g_assert_no_error (error);
+
+ app = gst_bin_get_by_name (GST_BIN (pipeline), "app");
+ pad = gst_element_get_static_pad (app, "src");
+
+ guint block_id = gst_pad_add_probe (pad,
+ GST_PAD_PROBE_TYPE_BLOCK | GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+ caps_event_probe_cb, loop, NULL);
+
+ gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+ caps = gst_caps_from_string ("application/x-test");
+ gst_app_src_set_caps (GST_APP_SRC (app), caps);
+ gst_caps_unref (caps);
+
+ /* Loop runs until the pad block signals it to quit */
+ g_main_loop_run (loop);
+
+ /* appsrc is now blocked - sending EOS should not hang */
+ GstEvent *eos = gst_event_new_eos ();
+ gst_element_send_event (GST_ELEMENT (pipeline), eos);
+
+ /* Pushing a buffer now must return FLOW_EOS */
+ GstBuffer *buf = gst_buffer_new ();
+ GstFlowReturn flow = gst_app_src_push_buffer (GST_APP_SRC (app), buf);
+ fail_unless (flow == GST_FLOW_EOS);
+
+ /* Now unblock and check EOS arrives */
+ gst_pad_remove_probe (pad, block_id);
+
+ GstMessage *msg = gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipeline), -1,
+ GST_MESSAGE_EOS | GST_MESSAGE_ERROR);
+ fail_unless (msg);
+ fail_unless (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_EOS);
+ gst_message_unref (msg);
+
+ /* Clean up */
+ gst_object_unref (app);
+ gst_object_unref (pad);
+
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ gst_object_unref (pipeline);
+ g_main_loop_unref (loop);
+}
+
+GST_END_TEST;
+
+
static guint expect_offset;
static gboolean chainlist_called;
static gboolean done;
@@ -1691,6 +1756,7 @@
tcase_add_test (tc_chain, test_appsrc_set_caps_twice);
tcase_add_test (tc_chain, test_appsrc_caps_in_push_modes);
tcase_add_test (tc_chain, test_appsrc_blocked_on_caps);
+ tcase_add_test (tc_chain, test_appsrc_blocked_eos);
tcase_add_test (tc_chain, test_appsrc_push_buffer_list);
tcase_add_test (tc_chain, test_appsrc_period_with_custom_segment);
tcase_add_test (tc_chain, test_appsrc_custom_segment_twice);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/check/gst/typefindfunctions.c
new/gst-plugins-base-1.28.7/tests/check/gst/typefindfunctions.c
--- old/gst-plugins-base-1.28.6/tests/check/gst/typefindfunctions.c
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/tests/check/gst/typefindfunctions.c
2026-09-07 21:11:13.000000000 +0200
@@ -535,108 +535,6 @@
GST_END_TEST;
-GST_START_TEST (test_typefind_with_wav_dts_caps)
-{
- GstTypeFindProbability prob;
- const gchar *type;
- GstBuffer *buf;
- GstCaps *caps;
- GstCaps *query_caps;
- GList *factories;
- guint8 *p;
-
- /* WAV header (44 bytes) followed by two DTS frames (96 bytes each).
- *
- * The DTS typefinder scans within DTS_MAX_FRAMESIZE bytes and will
- * find the DTS sync words after the WAV header. The WAV typefinder
- * matches the RIFF/WAVE signature at offset 0.
- *
- * This tests the _with_caps scenario like in gstwavparse.c: where
- * given a WAV stream, check if the content is actually DTS.
- */
- guint8 wav_dts_data[44 + 96 + 96];
-
- p = wav_dts_data;
-
- /* WAV header */
- memcpy (p, "RIFF", 4);
- GST_WRITE_UINT32_LE (p + 4, sizeof (wav_dts_data) - 8); /* file size -
8 */
- memcpy (p + 8, "WAVE", 4);
- memcpy (p + 12, "fmt ", 4);
- GST_WRITE_UINT32_LE (p + 16, 16); /* chunk size */
- GST_WRITE_UINT16_LE (p + 20, 1); /* PCM */
- GST_WRITE_UINT16_LE (p + 22, 1); /* mono */
- GST_WRITE_UINT32_LE (p + 24, 44100); /* sample rate */
- GST_WRITE_UINT32_LE (p + 28, 88200); /* byte rate */
- GST_WRITE_UINT16_LE (p + 32, 2); /* block align */
- GST_WRITE_UINT16_LE (p + 34, 16); /* bits per sample */
- memcpy (p + 36, "data", 4);
- GST_WRITE_UINT32_LE (p + 40, 96 * 2); /* data size */
-
- /* Two DTS frames at offset 44 (inside the WAV data chunk) */
- GST_WRITE_UINT32_BE (p + 44, 0x7FFE8001); /* sync */
- GST_WRITE_UINT16_BE (p + 48, 0x0014); /* num_blocks=5, frame_size high=0 */
- GST_WRITE_UINT16_BE (p + 50, 0x05F0); /* frame_size low: (95<<4)=0x5F0 */
- GST_WRITE_UINT16_BE (p + 52, 0x340F); /* sample_rate=48kHz */
- GST_WRITE_UINT16_BE (p + 54, 0x2400); /* channels=6, lfe=0 */
- memset (p + 56, 0, 96 - 12);
-
- /* Second DTS frame at offset 140 */
- GST_WRITE_UINT32_BE (p + 140, 0x7FFE8001);
- GST_WRITE_UINT16_BE (p + 144, 0x0014);
- GST_WRITE_UINT16_BE (p + 146, 0x05F0);
- GST_WRITE_UINT16_BE (p + 148, 0x340F);
- GST_WRITE_UINT16_BE (p + 150, 0x2400);
- memset (p + 152, 0, 96 - 12);
-
- buf = gst_buffer_new ();
- gst_buffer_append_memory (buf,
- gst_memory_new_wrapped (GST_MEMORY_FLAG_READONLY,
- wav_dts_data, sizeof (wav_dts_data), 0, sizeof (wav_dts_data),
- NULL, NULL));
- GST_BUFFER_OFFSET (buf) = 0;
-
- /* list_factories_for_caps with audio/x-wav should return factories */
- query_caps = gst_caps_from_string ("audio/x-wav");
- factories = gst_type_find_list_factories_for_caps (NULL, query_caps);
- fail_unless (factories != NULL);
- g_list_free_full (factories, (GDestroyNotify) gst_object_unref);
-
- /* typefind with audio/x-wav should find WAV */
- prob = 0;
- caps = gst_type_find_helper_for_buffer_with_caps (NULL, buf,
- query_caps, &prob);
- fail_unless (caps != NULL,
- "WAV+DTS: typefind with audio/x-wav caps should find WAV");
- type = gst_structure_get_name (gst_caps_get_structure (caps, 0));
- fail_unless_equals_string (type, "audio/x-wav");
- fail_unless (prob == GST_TYPE_FIND_MAXIMUM);
- gst_caps_unref (caps);
- gst_caps_unref (query_caps);
-
- /* list_factories_for_caps with audio/x-dts should return factories */
- query_caps = gst_caps_from_string ("audio/x-dts");
- factories = gst_type_find_list_factories_for_caps (NULL, query_caps);
- fail_unless (factories != NULL);
- g_list_free_full (factories, (GDestroyNotify) gst_object_unref);
-
- /* typefind with audio/x-dts should find DTS (inside WAV data chunk) */
- prob = 0;
- caps = gst_type_find_helper_for_buffer_with_caps (NULL, buf,
- query_caps, &prob);
- fail_unless (caps != NULL,
- "WAV+DTS: typefind with audio/x-dts caps should find DTS");
- type = gst_structure_get_name (gst_caps_get_structure (caps, 0));
- fail_unless_equals_string (type, "audio/x-dts");
- fail_unless (prob == GST_TYPE_FIND_MAXIMUM);
- gst_caps_unref (caps);
- gst_caps_unref (query_caps);
-
- gst_buffer_unref (buf);
-}
-
-GST_END_TEST;
-
static Suite *
typefindfunctions_suite (void)
{
@@ -656,7 +554,6 @@
tcase_add_test (tc_chain, test_manifest_typefinding);
tcase_add_test (tc_chain, test_webvtt);
tcase_add_test (tc_chain, test_subparse);
- tcase_add_test (tc_chain, test_typefind_with_wav_dts_caps);
return s;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gst-plugins-base-1.28.6/tests/check/libs/video.c
new/gst-plugins-base-1.28.7/tests/check/libs/video.c
--- old/gst-plugins-base-1.28.6/tests/check/libs/video.c 2026-08-05
13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/tests/check/libs/video.c 2026-09-07
21:11:13.000000000 +0200
@@ -4846,6 +4846,112 @@
GST_END_TEST;
+static void
+unpack_u8_pixel (const GstVideoFrame * frame, gint x, gint y, guint8 pixel[4])
+{
+ frame->info.finfo->unpack_func (frame->info.finfo,
+ GST_VIDEO_PACK_FLAG_NONE, pixel, frame->data, frame->info.stride,
+ x, y, 1);
+}
+
+GST_START_TEST (test_video_convert_border_color)
+{
+ const GstVideoFormat formats[] = {
+ GST_VIDEO_FORMAT_RGBA,
+ GST_VIDEO_FORMAT_AYUV,
+ GST_VIDEO_FORMAT_GRAY8,
+ };
+ const guint32 border_argb = 0xff4080c0;
+ GstVideoInfo src_info;
+ GstVideoFrame src_frame;
+ GstBuffer *src_buf;
+ guint i;
+
+ fail_unless (gst_video_info_set_format (&src_info,
+ GST_VIDEO_FORMAT_ARGB, 1, 1));
+
+ src_buf = gst_buffer_new_and_alloc (src_info.size);
+ fail_unless (gst_video_frame_map (&src_frame, &src_info,
+ src_buf, GST_MAP_READWRITE));
+
+ {
+ /* Fill source ARGB */
+ const guint8 argb[] = { 0xff, 0x40, 0x80, 0xc0 };
+ gpointer data[GST_VIDEO_MAX_PLANES] = { NULL, };
+ gint stride[GST_VIDEO_MAX_PLANES] = { 0, };
+
+ data[0] = GST_VIDEO_FRAME_PLANE_DATA (&src_frame, 0);
+ stride[0] = GST_VIDEO_FRAME_PLANE_STRIDE (&src_frame, 0);
+
+ src_info.finfo->pack_func (src_info.finfo, GST_VIDEO_PACK_FLAG_NONE,
+ (gpointer) argb, sizeof (argb), data, stride,
+ GST_VIDEO_CHROMA_SITE_UNKNOWN, 0, 1);
+ }
+
+ for (i = 0; i < G_N_ELEMENTS (formats); i++) {
+ GstVideoInfo ref_info, out_info;
+ GstVideoFrame ref_frame, out_frame;
+ GstBuffer *ref_buf, *out_buf;
+ GstVideoConverter *convert;
+ guint8 ref[4], border[4];
+ guint c;
+
+ /* 1st path, src -> test format to get the computed border color value */
+ fail_unless (gst_video_info_set_format (&ref_info, formats[i], 1, 1));
+
+ ref_buf = gst_buffer_new_and_alloc (ref_info.size);
+ fail_unless (gst_video_frame_map (&ref_frame, &ref_info,
+ ref_buf, GST_MAP_READWRITE));
+
+ convert = gst_video_converter_new (&src_info, &ref_info, NULL);
+ fail_unless (convert);
+
+ gst_video_converter_frame (convert, &src_frame, &ref_frame);
+ gst_video_converter_free (convert);
+
+ /* 2nd path, do actual conversion with border enabled */
+ fail_unless (gst_video_info_set_format (&out_info, formats[i], 3, 3));
+
+ out_buf = gst_buffer_new_and_alloc (out_info.size);
+ gst_buffer_memset (out_buf, 0, 0, out_info.size);
+
+ fail_unless (gst_video_frame_map (&out_frame, &out_info,
+ out_buf, GST_MAP_READWRITE));
+
+ convert = gst_video_converter_new (&src_info, &out_info,
+ gst_structure_new ("options",
+ GST_VIDEO_CONVERTER_OPT_DEST_X, G_TYPE_INT, 1,
+ GST_VIDEO_CONVERTER_OPT_DEST_Y, G_TYPE_INT, 1,
+ GST_VIDEO_CONVERTER_OPT_DEST_WIDTH, G_TYPE_INT, 1,
+ GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT, G_TYPE_INT, 1,
+ GST_VIDEO_CONVERTER_OPT_BORDER_ARGB, G_TYPE_UINT,
+ border_argb, NULL));
+ fail_unless (convert);
+
+ gst_video_converter_frame (convert, &src_frame, &out_frame);
+ gst_video_converter_free (convert);
+
+ /* compare color values between reference (converted via normal conversion
+ * path) and produced borders */
+ unpack_u8_pixel (&ref_frame, 0, 0, ref);
+ unpack_u8_pixel (&out_frame, 0, 1, border);
+ for (c = 0; c < 4; c++) {
+ fail_unless (ref[c] == border[c], "%s comp %u, ref %u, border %u",
+ gst_video_format_to_string (formats[i]), c, ref[c], border[c]);
+ }
+
+ gst_video_frame_unmap (&out_frame);
+ gst_video_frame_unmap (&ref_frame);
+ gst_buffer_unref (out_buf);
+ gst_buffer_unref (ref_buf);
+ }
+
+ gst_video_frame_unmap (&src_frame);
+ gst_buffer_unref (src_buf);
+}
+
+GST_END_TEST;
+
static Suite *
video_suite (void)
{
@@ -4920,6 +5026,7 @@
tcase_add_test (tc_chain, test_video_meta_transform_matrix_flip_horizontal);
tcase_add_test (tc_chain, test_video_meta_transform_matrix_flip_vertical);
tcase_add_test (tc_chain, test_video_meta_transform_matrix_rotation_45);
+ tcase_add_test (tc_chain, test_video_convert_border_color);
return s;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/audiotestsrc/reverse.validatetest
new/gst-plugins-base-1.28.7/tests/validate/audiotestsrc/reverse.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/audiotestsrc/reverse.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/audiotestsrc/reverse.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,9 +1,9 @@
meta,
- args = {
+ args={
"audiotestsrc name=src samplesperbuffer=1024 !
audio/x-raw,format=S16LE,rate=44100 ! fakesink name=asink sync=true",
},
- configs = {
- "$(validateflow), pad=asink:sink, record-buffers=true",
+ configs={
+ [validateflow, pad=asink:sink, record-buffers=true],
},
handles-states=true,
ignore-eos=true
@@ -19,6 +19,6 @@
set-property, target-element-name="src", property-name="samplesperbuffer",
property-value=4410, on-message=eos
seek, start=0.0, stop=1.0, rate=-1.0, flags=accurate+flush
crank-clock, expected-elapsed-time=0.0
-crank-clock, repeat=10, expected-elapsed-time=0.1
+crank-clock, repeat=10, expected-elapsed-time=0.1
-stop, on-message=eos;
\ No newline at end of file
+stop, on-message=eos;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/compositor/renogotiate_failing_unsupported_src_format.validatetest
new/gst-plugins-base-1.28.7/tests/validate/compositor/renogotiate_failing_unsupported_src_format.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/compositor/renogotiate_failing_unsupported_src_format.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/compositor/renogotiate_failing_unsupported_src_format.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,5 +1,5 @@
meta,
- args = {
+ args={
"videotestsrc num-buffers=20 ! capsfilter
caps=\"video/x-raw,format=I420\" ! capssetter name=cs ! compositor name=c !
fakesink sync=true\
videotestsrc num-buffers=20 ! capsfilter
caps=\"video/x-raw,format=I420\" ! c.",
},
@@ -7,6 +7,7 @@
play;
crank-clock, repeat=10;
-set-properties, cs::caps="video/x-raw,format=ARGB64"
+set-properties,
+ cs::caps="video/x-raw,format=ARGB64"
crank-clock, repeat=11;
play
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/encodebin/set-encoder-properties.validatetest
new/gst-plugins-base-1.28.7/tests/validate/encodebin/set-encoder-properties.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/encodebin/set-encoder-properties.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/encodebin/set-encoder-properties.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,20 +1,22 @@
meta,
seek=false,
handles-states=true,
- args = {
+ args={
"audiotestsrc num-buffers=4 ! encodebin name=ebin
profile=\"vorbisenc|element-properties,managed=true,name=audioencoder\" !
fakesink",
}
pause
-check-properties, audioencoder::managed=true
+check-properties,
+ audioencoder::managed=true
-set-properties, ebin::profile::element-properties=[
- element-properties-map, map = {
- [vorbisenc, managed=false],
- [somethingelse, whatever=false],
- },
-]
+set-properties,
+ ebin::profile::element-properties=[element-properties-map,
+ map={
+ [vorbisenc, managed=false],
+ [somethingelse, whatever=false],
+ }]
-check-properties, audioencoder::managed=false
+check-properties,
+ audioencoder::managed=false
-stop
\ No newline at end of file
+stop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/fakevideodec/encoded.validatetest
new/gst-plugins-base-1.28.7/tests/validate/fakevideodec/encoded.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/fakevideodec/encoded.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/fakevideodec/encoded.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,20 +1,35 @@
# Check that `fakevideodec` works in "encoded video" mode
meta,
handles-states=true,
- args = {
- "appsrc name=src format=time ! fakevideodec name=dec ! videoconvert
! $(videosink)",
+ args={
+ "appsrc name=src format=time ! fakevideodec name=dec ! videoconvert !
$(videosink)",
},
- configs = {
- "$(validateflow), pad=dec:sink, buffers-checksum=as-id,
ignored-event-types={ tag, stream-start }",
- "$(validateflow), pad=dec:src, buffers-checksum=as-id,
ignored-event-types={ tag, stream-start }",
+ configs={
+ [validateflow,
+ pad=dec:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag, stream-start,
+ }],
+ [validateflow,
+ pad=dec:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag, stream-start,
+ }],
}
foreach,
- i=[0, 20],
- actions={
- [appsrc-push, target-element-name=src, fill-mode=counter, pts="$(i)/20",
duration=1.0, size=8,
-
caps=(GstCaps)[video/x-h264,framerate=20/1,width=640,height=480,parsed=true]],
- }
+ i=[0, 20],
+ actions={
+ [appsrc-push,
+ target-element-name=src,
+ fill-mode=counter,
+ pts="$(i)/20",
+ duration=1.0,
+ size=8,
+ caps=(GstCaps)[video/x-h264, framerate=20/1, width=640,
height=480, parsed=true]],
+ }
appsrc-eos, target-element-name=src
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/fakevideodec/simple.validatetest
new/gst-plugins-base-1.28.7/tests/validate/fakevideodec/simple.validatetest
--- old/gst-plugins-base-1.28.6/tests/validate/fakevideodec/simple.validatetest
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/tests/validate/fakevideodec/simple.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,9 +1,19 @@
# Check that `fakevideodec` works in "raw video" mode
meta,
- args = {
- "videotestsrc num-buffers=5 ! video/x-raw,format=RGBA ! fakevideodec
name=dec ! videoconvert ! $(videosink)",
+ args={
+ "videotestsrc num-buffers=5 ! video/x-raw,format=RGBA ! fakevideodec
name=dec ! videoconvert ! $(videosink)",
},
- configs = {
- "$(validateflow), pad=dec:sink, buffers-checksum=as-id,
ignored-event-types={ tag, stream-start }",
- "$(validateflow), pad=dec:src, buffers-checksum=as-id,
ignored-event-types={ tag, stream-start }",
+ configs={
+ [validateflow,
+ pad=dec:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag, stream-start,
+ }],
+ [validateflow,
+ pad=dec:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag, stream-start,
+ }],
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/giosrc/read-growing-file.validatetest
new/gst-plugins-base-1.28.7/tests/validate/giosrc/read-growing-file.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/giosrc/read-growing-file.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/giosrc/read-growing-file.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -9,13 +9,21 @@
meta,
seek=false,
handles-states=false,
- args = {
+ args={
"fakesrc num-buffers=30 datarate=30 filltype=pattern-span
sizetype=fixed filltype=random format=time ! filesink sync=true
location=$(growing_file_location) name=filesink buffer-mode=unbuffered \
- giosrc name=giosrc is-growing=true
location=file://$(growing_file_location) ! fakesink name=growing-file-sink
async=false" \
+ giosrc name=giosrc is-growing=true
location=file://$(growing_file_location) ! fakesink name=growing-file-sink
async=false",
},
- configs = {
- "$(validateflow), pad=filesink:sink, record-buffers=true,
ignored-fields=\"stream-start={stream-id,group-id,stream}\",
buffers-checksum=as-id",
- "$(validateflow), pad=growing-file-sink:sink, record-buffers=true,
ignored-fields=\"stream-start={stream-id,group-id,stream}\",
buffers-checksum=as-id",
+ configs={
+ [validateflow,
+ pad=filesink:sink,
+ record-buffers=true,
+ ignored-fields="stream-start={stream-id,group-id,stream}",
+ buffers-checksum=as-id],
+ [validateflow,
+ pad=growing-file-sink:sink,
+ record-buffers=true,
+ ignored-fields="stream-start={stream-id,group-id,stream}",
+ buffers-checksum=as-id],
}
@@ -39,4 +47,5 @@
checkpoint
# Make sure EOS is outputted now, the scenario will automatically quit on EOS
-set-properties, giosrc::is_growing=false
+set-properties,
+ giosrc::is_growing=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/uridecodebin/expose_raw_pad_caps.validatetest
new/gst-plugins-base-1.28.7/tests/validate/uridecodebin/expose_raw_pad_caps.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/uridecodebin/expose_raw_pad_caps.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/uridecodebin/expose_raw_pad_caps.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,14 +1,15 @@
meta,
- args = {
+ args={
"uridecodebin uri=testbin://video,num-buffers=1 ! fakesink",
},
handles-states=true,
ignore-eos=true
-wait, signal-name="pad-added", target-element-factory-name="uridecodebin",
non-blocking=true,
- check=[
- check-current-pad-caps, expected-caps=[video/x-raw],
target-element-factory-name="uridecodebin", pad="src_0",
comparison-mode="intersect",
- ]
+wait,
+ signal-name="pad-added",
+ target-element-factory-name="uridecodebin",
+ non-blocking=true,
+ check=[check-current-pad-caps, expected-caps=[video/x-raw],
target-element-factory-name="uridecodebin", pad="src_0",
comparison-mode="intersect"]
pause
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/10_to_1fps.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/10_to_1fps.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/10_to_1fps.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/10_to_1fps.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -7,4 +7,4 @@
crank-clock, expected-elapsed-time=0.0
crank-clock, repeat=4, expected-elapsed-time=1.0
crank-clock, expected-elapsed-time=1.0
-stop, on-message=eos
\ No newline at end of file
+stop, on-message=eos
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/change_rate_reverse_playback.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/change_rate_reverse_playback.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/change_rate_reverse_playback.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/change_rate_reverse_playback.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,14 +1,23 @@
meta,
- # Handle EOS ourself
ignore-eos=true,
- args = {
+ args={
# We just want each frame to be different, and we just check their
content by 'id'
"videotestsrc !
video/x-raw,format=I420,framerate=10/1,width=320,height=240 ! videorate
name=videorate ! fakesink sync=true qos=true",
},
- configs = {
+ configs={
# Check dataflow on both videorate pads
- "$(validateflow), pad=videorate:sink, buffers-checksum=as-id,
ignored-event-types={ tag }",
- "$(validateflow), pad=videorate:src, buffers-checksum=as-id,
ignored-event-types={ tag }",
+ [validateflow,
+ pad=videorate:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
+ [validateflow,
+ pad=videorate:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
}
seek, start=0.0, stop=5.0, flags=accurate+flush, rate=-1.0
@@ -23,18 +32,21 @@
# Set videorate.rate = 0.5 and add that info to the expecation files for
better readability
checkpoint, text="Setting videorate.rate=0.5"
-set-property, playback-time=99.0, target-element-name=videorate,
property-name=rate, property-value=0.5 # playback-time=99.0 so that the action
is executed asap but no on element addition
+set-property, playback-time=99.0, target-element-name=videorate,
property-name=rate, property-value=0.5
+# playback-time=99.0 so that the action is executed asap but no on element
addition
# Cranking 5 times, and let following buffer through
crank-clock, repeat=5, expected-elapsed-time=0.1
wait, on-clock=true
-check-position, expected-position=4.0 # seek.stop - (10*(1/10fps)) = 4.0s
+check-position, expected-position=4.0
+# seek.stop - (10*(1/10fps)) = 4.0s
checkpoint, text="Setting videorate.rate=0.1"
set-property, playback-time=99.0, target-element-name=videorate,
property-name=rate, property-value=0.1
crank-clock, repeat=20
wait, on-clock=true
-check-position, expected-position=2.0 # seek.stop - (20*(1/10fps)) = 2.0s
+check-position, expected-position=2.0
+# seek.stop - (20*(1/10fps)) = 2.0s
# Now setting rate=2.0
checkpoint, text="Setting videorate.rate=2.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/change_rate_while_playing.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/change_rate_while_playing.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/change_rate_while_playing.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/change_rate_while_playing.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,13 +1,23 @@
meta,
handles-states=true,
ignore-eos=true,
- args = {
+ args={
# We just want each frame to be different, and we just check their
content by 'id'
"videotestsrc !
video/x-raw,format=I420,framerate=10/1,width=320,height=240 ! videorate
name=videorate drop-out-of-segment=true ! fakesink sync=true qos=true",
},
- configs = {
- "$(validateflow), pad=videorate:src, buffers-checksum=as-id,
ignored-event-types={ tag }",
- "$(validateflow), pad=videorate:sink, buffers-checksum=as-id,
ignored-event-types={ tag }",
+ configs={
+ [validateflow,
+ pad=videorate:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
+ [validateflow,
+ pad=videorate:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
}
play
@@ -40,4 +50,4 @@
crank-clock, repeat=10
check-position, expected-position=4.0
-stop, on-message=eos
\ No newline at end of file
+stop, on-message=eos
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/drop_out_of_segment.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/drop_out_of_segment.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/drop_out_of_segment.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/drop_out_of_segment.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,23 +1,36 @@
meta,
- args = {
- "appsrc name=src format=time handle-segment-change=true
automatic-eos=false ! \
+ args={
+ "appsrc name=src format=time handle-segment-change=true
automatic-eos=false ! \
videorate drop-out-of-segment=true name=videorate !
video/x-raw,framerate=1/1 ! $(videosink) name=sink",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=as-id,
ignored-event-types={ tag }",
- "$(validateflow), pad=videorate:src, buffers-checksum=as-id,
ignored-event-types={ tag }",
+ configs={
+ [validateflow,
+ pad=videorate:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
+ [validateflow,
+ pad=videorate:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
},
handles-states=true
foreach,
- i=<1.0, 2.0, 3.0, 4.0, 5.0>,
- actions = {
- [
- appsrc-push, target-element-name=src, fill-mode=counter, size=115200,
pts="$(i)", duration=1.0,
-
caps=(GstCaps)[video/x-raw,format=I420,framerate=1/1,width=320,height=240],
- segment=[segment, stop=1.0, format=(GstFormat)time],
- ],
- }
+ i=<1.0, 2.0, 3.0, 4.0, 5.0>,
+ actions={
+ [appsrc-push,
+ target-element-name=src,
+ fill-mode=counter,
+ size=115200,
+ pts="$(i)",
+ duration=1.0,
+ caps=(GstCaps)[video/x-raw, format=I420, framerate=1/1, width=320,
height=240],
+ segment=[segment, stop=1.0, format=(GstFormat)time]],
+ }
play
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/duplicate_on_eos.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/duplicate_on_eos.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/duplicate_on_eos.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/duplicate_on_eos.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,10 +1,20 @@
meta,
- args = {
+ args={
"videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=1/1,width=320,height=240 ! videorate
name=videorate ! video/x-raw,framerate=30/1 ! fakesink sync=true qos=true",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=as-id,
ignored-event-types={ tag }",
- "$(validateflow), pad=videorate:src, buffers-checksum=as-id,
ignored-event-types={ tag }",
+ configs={
+ [validateflow,
+ pad=videorate:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
+ [validateflow,
+ pad=videorate:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
},
handles-states=true,
ignore-eos=true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/duplicate_on_eos_disbaled.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/duplicate_on_eos_disbaled.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/duplicate_on_eos_disbaled.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/duplicate_on_eos_disbaled.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,10 +1,20 @@
meta,
- args = {
+ args={
"videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=1/1,width=320,height=240 ! videorate
max-closing-segment-duplication-duration=0 name=videorate !
video/x-raw,framerate=30/1 ! fakesink sync=true qos=true",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=as-id,
ignored-event-types={ tag }",
- "$(validateflow), pad=videorate:src, buffers-checksum=as-id,
ignored-event-types={ tag }",
+ configs={
+ [validateflow,
+ pad=videorate:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
+ [validateflow,
+ pad=videorate:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
},
handles-states=true,
ignore-eos=true
@@ -16,5 +26,3 @@
crank-clock, repeat=32
wait, message-type=eos
stop
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/duplicate_on_eos_half_sec.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/duplicate_on_eos_half_sec.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/duplicate_on_eos_half_sec.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/duplicate_on_eos_half_sec.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,10 +1,20 @@
meta,
- args = {
+ args={
"videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=1/1,width=320,height=240 ! videorate
max-closing-segment-duplication-duration=500000000 name=videorate !
video/x-raw,framerate=30/1 ! fakesink sync=true qos=true",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=as-id,
ignored-event-types={ tag }",
- "$(validateflow), pad=videorate:src, buffers-checksum=as-id,
ignored-event-types={ tag }",
+ configs={
+ [validateflow,
+ pad=videorate:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
+ [validateflow,
+ pad=videorate:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
},
handles-states=true,
ignore-eos=true
@@ -20,6 +30,3 @@
# buffer (which starts at 1) videorate will duplicate the frame for 0.5 secs
check-position, expected-position=1.5
stop
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/fill_segment_after_caps_changed_before_eos.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,29 +1,50 @@
meta,
- args = {
- "appsrc name=src format=time handle-segment-change=true ! \
+ args={
+ "appsrc name=src format=time handle-segment-change=true ! \
videorate
max-closing-segment-duplication-duration=999999999999999 name=videorate !
video/x-raw,framerate=1/1 ! fakesink sync=true",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=as-id,
ignored-event-types={ tag }",
- "$(validateflow), pad=videorate:src, buffers-checksum=as-id,
ignored-event-types={ tag }",
+ configs={
+ [validateflow,
+ pad=videorate:sink,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
+ [validateflow,
+ pad=videorate:src,
+ buffers-checksum=as-id,
+ ignored-event-types={
+ tag,
+ }],
},
handles-states=true,
ignore-eos=true
-appsrc-push, target-element-name=src, fill-mode=counter, pts=0.0,
duration=1.0, size=115200,
- caps=(GstCaps)[video/x-raw,format=I420,framerate=1/1,width=320,height=240],
+appsrc-push,
+ target-element-name=src,
+ fill-mode=counter,
+ pts=0.0,
+ duration=1.0,
+ size=115200,
+ caps=(GstCaps)[video/x-raw, format=I420, framerate=1/1, width=320,
height=240],
segment=[segment, stop=3.0, format=(GstFormat)time]
-appsrc-push, target-element-name=src, fill-mode=counter, pts=1.0,
duration=1.0, size=115200,
- caps=(GstCaps)[video/x-raw,format=I420,framerate=1/1,width=320,height=240],
+appsrc-push,
+ target-element-name=src,
+ fill-mode=counter,
+ pts=1.0,
+ duration=1.0,
+ size=115200,
+ caps=(GstCaps)[video/x-raw, format=I420, framerate=1/1, width=320,
height=240],
segment=[segment, stop=3.0, format=(GstFormat)time]
play
crank-clock, repeat=1
-set-properties, src::caps="video/x-raw,width=322,height=244,framerate=1/1"
+set-properties,
+ src::caps="video/x-raw,width=322,height=244,framerate=1/1"
appsrc-eos, target-element-name=src
crank-clock, repeat=3
@@ -32,6 +53,3 @@
# check-position, expected-position=2.0
stop
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/rate_2_0.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/rate_2_0.validatetest
--- old/gst-plugins-base-1.28.6/tests/validate/videorate/rate_2_0.validatetest
2026-08-05 13:59:39.000000000 +0200
+++ new/gst-plugins-base-1.28.7/tests/validate/videorate/rate_2_0.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -1,3 +1,3 @@
set-globals, rate=(string)"2.0"
-include, location="check-rate-prop.meta"
\ No newline at end of file
+include, location="check-rate-prop.meta"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse.10_to_30fps.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse.10_to_30fps.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse.10_to_30fps.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse.10_to_30fps.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -12,4 +12,3 @@
# Waiting 1 second on EOS
crank-clock, expected-elapsed-time=(guint64)33333334
stop, on-message=eos
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse.30fps.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse.30fps.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse.30fps.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse.30fps.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -11,4 +11,4 @@
# Waiting on EOS
crank-clock, expected-elapsed-time=(guint64)33333334
-stop, on-message=eos
\ No newline at end of file
+stop, on-message=eos
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse.variable_to_10fps.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse.variable_to_10fps.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse.variable_to_10fps.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse.variable_to_10fps.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -3,12 +3,12 @@
meta,
handles-states=true,
ignore-eos=true,
- args = {
- "videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=30/1 ! capssetter
caps=\"video/x-raw,framerate=$(in_framerate)\" ! videorate name=videorate !
video/x-raw,format=I420,framerate=$(out_framerate) ! fakesink sync=true",
+ args={
+ "videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=30/1 ! capssetter
caps=\"video/x-raw,framerate=$(in_framerate)\" ! videorate name=videorate !
video/x-raw,format=I420,framerate=$(out_framerate) ! fakesink sync=true",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=true",
- "$(validateflow), pad=videorate:src, buffers-checksum=true",
+ configs={
+ [validateflow, pad=videorate:sink, buffers-checksum=true],
+ [validateflow, pad=videorate:src, buffers-checksum=true],
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse_fast.variable_to_10fps.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse_fast.variable_to_10fps.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse_fast.variable_to_10fps.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse_fast.variable_to_10fps.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -3,12 +3,12 @@
meta,
handles-states=true,
ignore-eos=true,
- args = {
- "videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=30/1 ! capssetter
caps=\"video/x-raw,framerate=$(in_framerate)\" ! videorate name=videorate !
video/x-raw,format=I420,framerate=$(out_framerate) ! fakesink sync=true",
+ args={
+ "videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=30/1 ! capssetter
caps=\"video/x-raw,framerate=$(in_framerate)\" ! videorate name=videorate !
video/x-raw,format=I420,framerate=$(out_framerate) ! fakesink sync=true",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=true",
- "$(validateflow), pad=videorate:src, buffers-checksum=true",
+ configs={
+ [validateflow, pad=videorate:sink, buffers-checksum=true],
+ [validateflow, pad=videorate:src, buffers-checksum=true],
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse_slow.variable_to_10fps.validatetest
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse_slow.variable_to_10fps.validatetest
---
old/gst-plugins-base-1.28.6/tests/validate/videorate/reverse_slow.variable_to_10fps.validatetest
2026-08-05 13:59:39.000000000 +0200
+++
new/gst-plugins-base-1.28.7/tests/validate/videorate/reverse_slow.variable_to_10fps.validatetest
2026-09-07 21:11:13.000000000 +0200
@@ -3,12 +3,12 @@
meta,
handles-states=true,
ignore-eos=true,
- args = {
- "videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=30/1 ! capssetter
caps=\"video/x-raw,framerate=$(in_framerate)\" ! videorate name=videorate !
video/x-raw,format=I420,framerate=$(out_framerate) ! fakesink sync=true",
+ args={
+ "videotestsrc pattern=ball animation-mode=frames !
video/x-raw,format=I420,framerate=30/1 ! capssetter
caps=\"video/x-raw,framerate=$(in_framerate)\" ! videorate name=videorate !
video/x-raw,format=I420,framerate=$(out_framerate) ! fakesink sync=true",
},
- configs = {
- "$(validateflow), pad=videorate:sink, buffers-checksum=true",
- "$(validateflow), pad=videorate:src, buffers-checksum=true",
+ configs={
+ [validateflow, pad=videorate:sink, buffers-checksum=true],
+ [validateflow, pad=videorate:src, buffers-checksum=true],
}
++++++ gst-plugins-base.obsinfo ++++++
--- /var/tmp/diff_new_pack.GS6Tt9/_old 2026-09-11 19:01:38.548396380 +0200
+++ /var/tmp/diff_new_pack.GS6Tt9/_new 2026-09-11 19:01:38.555396672 +0200
@@ -1,5 +1,5 @@
name: gst-plugins-base
-version: 1.28.6
-mtime: 1785931179
-commit: 2d3e05cbdad68e47d645f548899b432dc9fb4473
+version: 1.28.7
+mtime: 1788808273
+commit: 070125524a8422e29d3b69a372ed4f62fd343ffa