git: 703f5a47c30b - main - GSteamer1: Uppdate to 1.28.5
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 25 Jul 2026 06:03:37 UTC
The branch main has been updated by jhale:
URL: https://cgit.FreeBSD.org/ports/commit/?id=703f5a47c30b7de3c5cc5a7baa98b0372d1c7449
commit 703f5a47c30b7de3c5cc5a7baa98b0372d1c7449
Author: Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2026-07-25 05:45:16 +0000
Commit: Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2026-07-25 06:03:28 +0000
GSteamer1: Uppdate to 1.28.5
multimedia/gstreamer1-plugins-rust is now a first-class citizen using gstreamer
tagging.
Refactor custom targets in multimedia/gstreamer1 and fix a few bugs in
generate-vuxml-entry.py.
MFH: 2026Q3
Security: 6eee35e6-fca5-4db2-ab73-f27add3e3ef1
---
Mk/Uses/gstreamer.mk | 4 +-
devel/gstreamer1-devtools/distinfo | 6 +-
multimedia/gstreamer1-editing-services/distinfo | 6 +-
multimedia/gstreamer1-libav/distinfo | 6 +-
.../gstreamer1-plugins-bad/files/patch-git_3833dd7 | 77 --
.../gstreamer1-plugins-bad/files/patch-git_6c14677 | 101 --
.../gstreamer1-plugins-bad/files/patch-git_8c6d4df | 31 -
.../gstreamer1-plugins-bad/files/patch-git_eec42c2 | 37 -
.../gstreamer1-plugins-bad/files/patch-git_f3b6692 | 237 -----
multimedia/gstreamer1-plugins-rust/Makefile | 4 +-
multimedia/gstreamer1-plugins-rust/Makefile.crates | 502 +++++-----
multimedia/gstreamer1-plugins-rust/distinfo | 1010 ++++++++++----------
multimedia/gstreamer1-plugins/distinfo | 18 +-
multimedia/gstreamer1-rtsp-server/distinfo | 6 +-
multimedia/gstreamer1/Makefile | 42 +-
multimedia/gstreamer1/distinfo | 6 +-
.../gstreamer1/files/generate-vuxml-entry.py | 204 ++--
multimedia/py-gstreamer1/distinfo | 6 +-
18 files changed, 938 insertions(+), 1365 deletions(-)
diff --git a/Mk/Uses/gstreamer.mk b/Mk/Uses/gstreamer.mk
index f4b12fb34229..82610f1d2d75 100644
--- a/Mk/Uses/gstreamer.mk
+++ b/Mk/Uses/gstreamer.mk
@@ -42,7 +42,7 @@ _GST_VER= ${_GST_VER_DEFAULT}
# When modifying _GST1_VERSION, run `make -C ${PORTSDIR}/multimedia/gstreamer1 makesum-all`
# to update the distinfo files for the entire suite.
-_GST1_VERSION= 1.28.4
+_GST1_VERSION= 1.28.5
_GST1_LIB_VER= 1.0
_GST1_SOVERSION= 0.${_GST1_VERSION:R:E}${${_GST1_VERSION:E} > 9:?:0}${_GST1_VERSION:E}.0
@@ -353,8 +353,6 @@ gst-rtsp-server_IMPL= #
gst-rust_PORT= multimedia/gstreamer${_GST_VER}-plugins-rust
gst-rust_IMPL= #
-gst-rust_GST1_VERSION= 0.15.2
-gst-rust_VERSION= ${gst-rust_GST${_GST_VER}_VERSION}
gst-smoothstreaming_PORT= multimedia/gstreamer${_GST_VER}-plugins-smoothstreaming
gst-smoothstreaming_IMPL= bad
diff --git a/devel/gstreamer1-devtools/distinfo b/devel/gstreamer1-devtools/distinfo
index a211ca5b0303..f9be6d0e6994 100644
--- a/devel/gstreamer1-devtools/distinfo
+++ b/devel/gstreamer1-devtools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1781903663
-SHA256 (gst-devtools-1.28.4.tar.xz) = 11d4f1188639d3a9762039065bbb7b2c309b7a8ecc6fa4aed12245568bf00db3
-SIZE (gst-devtools-1.28.4.tar.xz) = 1640224
+TIMESTAMP = 1784335603
+SHA256 (gst-devtools-1.28.5.tar.xz) = 7459045db31d6e44600bcbe011dc925750268870e7b90f7e7a0a3af4a21c09e5
+SIZE (gst-devtools-1.28.5.tar.xz) = 1642704
diff --git a/multimedia/gstreamer1-editing-services/distinfo b/multimedia/gstreamer1-editing-services/distinfo
index 57d04d56e064..6484bf27f245 100644
--- a/multimedia/gstreamer1-editing-services/distinfo
+++ b/multimedia/gstreamer1-editing-services/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1781903662
-SHA256 (gst-editing-services-1.28.4.tar.xz) = 6f7eb55e58718dde5b5869f619ed90ebf3b0cfa0376c169c1b83fc773811914a
-SIZE (gst-editing-services-1.28.4.tar.xz) = 864100
+TIMESTAMP = 1784335599
+SHA256 (gst-editing-services-1.28.5.tar.xz) = d02f9df7dd74f2a50243a6fa5e327cfbbd5c12129ce7b6e73d70c08532491a88
+SIZE (gst-editing-services-1.28.5.tar.xz) = 867192
diff --git a/multimedia/gstreamer1-libav/distinfo b/multimedia/gstreamer1-libav/distinfo
index da5e5903397c..9e1fefa3726a 100644
--- a/multimedia/gstreamer1-libav/distinfo
+++ b/multimedia/gstreamer1-libav/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1781903662
-SHA256 (gst-libav-1.28.4.tar.xz) = bd17a5df2874a7a58bcbaf7b940223379ad9613624db8ead783db03e74bb904b
-SIZE (gst-libav-1.28.4.tar.xz) = 213672
+TIMESTAMP = 1784335599
+SHA256 (gst-libav-1.28.5.tar.xz) = 452854656056f0b16511a1d9ad4f2679ff5e5a87c89f90cf7ee5dec005ddb1e4
+SIZE (gst-libav-1.28.5.tar.xz) = 216148
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_3833dd7 b/multimedia/gstreamer1-plugins-bad/files/patch-git_3833dd7
deleted file mode 100644
index 85941d9c1624..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_3833dd7
+++ /dev/null
@@ -1,77 +0,0 @@
-From 3833dd745ef7b1cd5f699c90897ecca3ef09c59b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Tue, 16 Jun 2026 09:30:00 +0300
-Subject: [PATCH] pcapparse: Add missing bounds checks to ensure packets are
- large enough
-
-Patch based on a patch by Junyi Liu, who also reported this.
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5106
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11867>
----
- .../gst/pcapparse/gstpcapparse.c | 18 +++++++++++++++---
- 1 file changed, 15 insertions(+), 3 deletions(-)
-
-diff --git a/subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c b/subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c
-index 4f0c77292a3..6e546c8e3ec 100644
---- gst/pcapparse/gstpcapparse.c.orig
-+++ gst/pcapparse/gstpcapparse.c
-@@ -354,6 +354,7 @@ gst_pcap_parse_read_uint32 (GstPcapParse * self, const guint8 * p)
- #define SLL2_HEADER_LEN 20
- #define IP_HEADER_MIN_LEN 20
- #define UDP_HEADER_LEN 8
-+#define TCP_HEADER_MIN_LEN 20
-
- #define IP_PROTO_UDP 17
- #define IP_PROTO_TCP 6
-@@ -438,7 +439,8 @@ gst_pcap_parse_scan_frame (GstPcapParse * self,
- return FALSE;
-
- ip_header_size = (b & 0x0f) * 4;
-- if (buf_ip + ip_header_size > buf + buf_size)
-+ if (ip_header_size < IP_HEADER_MIN_LEN ||
-+ buf_ip + ip_header_size > buf + buf_size)
- return FALSE;
-
- flags = buf_ip[6] >> 5;
-@@ -460,6 +462,11 @@ gst_pcap_parse_scan_frame (GstPcapParse * self,
- memcpy (&ip_dst_addr, buf_ip + 16, sizeof (ip_dst_addr));
- buf_proto = buf_ip + ip_header_size;
- ip_packet_len = GUINT16_FROM_BE (*(guint16 *) (buf_ip + 2));
-+ if (ip_packet_len < ip_header_size)
-+ return FALSE;
-+
-+ if (buf_proto + 4 > buf + buf_size)
-+ return FALSE;
-
- /* ok for tcp and udp */
- src_port = GUINT16_FROM_BE (*((guint16 *) (buf_proto + 0)));
-@@ -467,6 +474,8 @@ gst_pcap_parse_scan_frame (GstPcapParse * self,
-
- /* extract some params and data according to protocol */
- if (ip_protocol == IP_PROTO_UDP) {
-+ if (buf_proto + 6 > buf + buf_size)
-+ return FALSE;
- len = GUINT16_FROM_BE (*((guint16 *) (buf_proto + 4)));
- if (len < UDP_HEADER_LEN || buf_proto + len > buf + buf_size)
- return FALSE;
-@@ -474,10 +483,13 @@ gst_pcap_parse_scan_frame (GstPcapParse * self,
- *payload = buf_proto + UDP_HEADER_LEN;
- *payload_size = len - UDP_HEADER_LEN;
- } else {
-- if (buf_proto + 12 >= buf + buf_size)
-+ if (buf_proto + 13 > buf + buf_size)
- return FALSE;
- len = (buf_proto[12] >> 4) * 4;
-- if (buf_proto + len > buf + buf_size)
-+ if (len < TCP_HEADER_MIN_LEN || buf_proto + len > buf + buf_size)
-+ return FALSE;
-+ if (ip_packet_len < ip_header_size + len ||
-+ buf_ip + ip_packet_len > buf + buf_size)
- return FALSE;
-
- /* all remaining data following tcp header is payload */
---
-GitLab
-
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_6c14677 b/multimedia/gstreamer1-plugins-bad/files/patch-git_6c14677
deleted file mode 100644
index c95f4f957f88..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_6c14677
+++ /dev/null
@@ -1,101 +0,0 @@
-From 6c146775d784bbe91ff7afc6701ba351306282ce Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Tue, 16 Jun 2026 10:30:54 +0300
-Subject: [PATCH] vnmdec: Avoid integer overflows when rectangle positions and
- sizes
-
-Patch based on a patch by Junyi Liu, who also reported this.
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5107
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11869>
----
- .../gst-plugins-bad/gst/vmnc/vmncdec.c | 39 +++++++++++++++----
- 1 file changed, 31 insertions(+), 8 deletions(-)
-
-diff --git a/subprojects/gst-plugins-bad/gst/vmnc/vmncdec.c b/subprojects/gst-plugins-bad/gst/vmnc/vmncdec.c
-index e6e52af9a11..32dd3978930 100644
---- gst/vmnc/vmncdec.c.orig
-+++ gst/vmnc/vmncdec.c
-@@ -155,6 +155,20 @@ struct RfbRectangle
- typedef int (*rectangle_handler) (GstVMncDec * dec, struct RfbRectangle * rect,
- const guint8 * data, int len, gboolean decode);
-
-+static gboolean
-+vmnc_rect_payload_size (struct RfbRectangle *rect, guint bytes_per_pixel,
-+ gsize * size)
-+{
-+ gsize pixels;
-+
-+ if (!g_size_checked_mul (&pixels, rect->width, rect->height))
-+ return FALSE;
-+ if (!g_size_checked_mul (size, pixels, bytes_per_pixel))
-+ return FALSE;
-+
-+ return TRUE;
-+}
-+
- static int
- vmnc_handle_wmvi_rectangle (GstVMncDec * dec, struct RfbRectangle *rect,
- const guint8 * data, int len, gboolean decode)
-@@ -395,7 +409,8 @@ vmnc_handle_wmvd_rectangle (GstVMncDec * dec, struct RfbRectangle *rect,
- {
- /* Cursor data. */
- int datalen = 2;
-- int type, size;
-+ int type;
-+ gsize size;
-
- if (len < datalen) {
- GST_LOG_OBJECT (dec, "Cursor data too short");
-@@ -405,9 +420,19 @@ vmnc_handle_wmvd_rectangle (GstVMncDec * dec, struct RfbRectangle *rect,
- type = RFB_GET_UINT8 (data);
-
- if (type == CURSOR_COLOUR) {
-- datalen += rect->width * rect->height * dec->format.bytes_per_pixel * 2;
-+ if (!vmnc_rect_payload_size (rect, dec->format.bytes_per_pixel, &size) ||
-+ size > ((gsize) G_MAXINT - datalen) / 2) {
-+ GST_WARNING_OBJECT (dec, "Cursor data size overflow");
-+ return ERROR_INVALID;
-+ }
-+ datalen += size * 2;
- } else if (type == CURSOR_ALPHA) {
-- datalen += rect->width * rect->height * 4;
-+ if (!vmnc_rect_payload_size (rect, 4, &size) ||
-+ size > (gsize) G_MAXINT - datalen) {
-+ GST_WARNING_OBJECT (dec, "Cursor data size overflow");
-+ return ERROR_INVALID;
-+ }
-+ datalen += size;
- } else {
- GST_WARNING_OBJECT (dec, "Unknown cursor type: %d", type);
- return ERROR_INVALID;
-@@ -422,22 +447,20 @@ vmnc_handle_wmvd_rectangle (GstVMncDec * dec, struct RfbRectangle *rect,
- dec->cursor.type = type;
- dec->cursor.width = rect->width;
- dec->cursor.height = rect->height;
-- dec->cursor.type = type;
- dec->cursor.hot_x = rect->x;
- dec->cursor.hot_y = rect->y;
-
- g_free (dec->cursor.cursordata);
- g_free (dec->cursor.cursormask);
-
-- if (type == 0) {
-- size = rect->width * rect->height * dec->format.bytes_per_pixel;
-+ if (type == CURSOR_COLOUR) {
- dec->cursor.cursordata = g_malloc (size);
- dec->cursor.cursormask = g_malloc (size);
- memcpy (dec->cursor.cursordata, data + 2, size);
- memcpy (dec->cursor.cursormask, data + 2 + size, size);
- } else {
-- dec->cursor.cursordata = g_malloc (rect->width * rect->height * 4);
-- memcpy (dec->cursor.cursordata, data + 2, rect->width * rect->height * 4);
-+ dec->cursor.cursordata = g_malloc (size);
-+ memcpy (dec->cursor.cursordata, data + 2, size);
- dec->cursor.cursormask = NULL;
- }
-
---
-GitLab
-
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_8c6d4df b/multimedia/gstreamer1-plugins-bad/files/patch-git_8c6d4df
deleted file mode 100644
index e8c7ce8c2180..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_8c6d4df
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8c6d4df57b531c7b41a5f3bce28d2c7bc98a1d3d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Tue, 16 Jun 2026 15:23:13 +0300
-Subject: [PATCH] h264parse: Check for enough slice header data being available
-
-Patch provided by Ramesh Adhikari, who also reported this.
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5108
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11938>
----
- subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c b/subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c
-index 8bbddb07239..1b97678993f 100644
---- gst/videoparsers/gsth264parse.c.orig
-+++ gst/videoparsers/gsth264parse.c
-@@ -1129,7 +1129,8 @@ gst_h264_parse_process_nal (GstH264Parse * h264parse, GstH264NalUnit * nalu)
- h264parse->picture_start = TRUE;
-
- /* don't need to parse the whole slice (header) here */
-- if (*(nalu->data + nalu->offset + nalu->header_bytes) & 0x80) {
-+ if (nalu->size > nalu->header_bytes &&
-+ *(nalu->data + nalu->offset + nalu->header_bytes) & 0x80) {
- /* means first_mb_in_slice == 0 */
- /* real frame data */
- GST_DEBUG_OBJECT (h264parse, "first_mb_in_slice = 0");
---
-GitLab
-
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_eec42c2 b/multimedia/gstreamer1-plugins-bad/files/patch-git_eec42c2
deleted file mode 100644
index da25597b7fb7..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_eec42c2
+++ /dev/null
@@ -1,37 +0,0 @@
-From eec42c2fedda888085d3356b3a5af1ada86f5746 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Wed, 17 Jun 2026 10:03:36 +0300
-Subject: [PATCH] h266parser: Check aspect ratio index against lookup table
- length
-
-Patch provided by Ramesh Adhikari, who also reported this.
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5109
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11939>
----
- .../gst-libs/gst/codecparsers/gsth266parser.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth266parser.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth266parser.c
-index ba8cc2fcc91..747227c7435 100644
---- gst-libs/gst/codecparsers/gsth266parser.c.orig
-+++ gst-libs/gst/codecparsers/gsth266parser.c
-@@ -558,9 +558,13 @@ gst_h266_parse_vui_parameters (GstH266VUIParams * vui, NalReader * nr)
- READ_UINT16 (nr, vui->sar_height, 16);
- vui->par_n = vui->sar_width;
- vui->par_d = vui->sar_height;
-- } else {
-+ } else if (vui->aspect_ratio_idc <= 16) {
- vui->par_n = aspect_ratios[vui->aspect_ratio_idc].par_n;
- vui->par_d = aspect_ratios[vui->aspect_ratio_idc].par_d;
-+ } else {
-+ GST_WARNING ("Invalid bitstream: aspect_ratio_idc set "
-+ "to value %d (must be 0-16 or %d)",
-+ vui->aspect_ratio_idc, EXTENDED_SAR);
- }
- } else {
- vui->aspect_ratio_constant_flag = 0;
---
-GitLab
-
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_f3b6692 b/multimedia/gstreamer1-plugins-bad/files/patch-git_f3b6692
deleted file mode 100644
index 6da58bb99e74..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_f3b6692
+++ /dev/null
@@ -1,237 +0,0 @@
-From f3b66928a194b32b27fac3c3379d3d20e5966442 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
-Date: Sun, 14 Jun 2026 22:03:25 +0300
-Subject: [PATCH] librfb: Validate framebuffer update rectangles against the
- framebuffer size
-
-Patch provided by Junyi Liu, who also reported this.
-
-Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5105
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11866>
----
- .../gst-plugins-bad/gst/librfb/rfbdecoder.c | 136 +++++++++++++++---
- 1 file changed, 115 insertions(+), 21 deletions(-)
-
-diff --git a/subprojects/gst-plugins-bad/gst/librfb/rfbdecoder.c b/subprojects/gst-plugins-bad/gst/librfb/rfbdecoder.c
-index f0507a36f46..7f94a28d319 100644
---- gst/librfb/rfbdecoder.c.orig
-+++ gst/librfb/rfbdecoder.c
-@@ -45,6 +45,10 @@ static gboolean rfb_decoder_corre_encoding (RfbDecoder * decoder, gint start_x,
- gint start_y, gint rect_w, gint rect_h);
- static gboolean rfb_decoder_hextile_encoding (RfbDecoder * decoder,
- gint start_x, gint start_y, gint rect_w, gint rect_h);
-+static gboolean rfb_decoder_clip_rectangle (RfbDecoder * decoder, gint * x,
-+ gint * y, gint * w, gint * h, gint * skip_x, gint * skip_y);
-+static gboolean rfb_decoder_clip_copyrect (RfbDecoder * decoder, gint * dst_x,
-+ gint * dst_y, gint * src_x, gint * src_y, gint * w, gint * h);
-
- RfbDecoder *
- rfb_decoder_new (void)
-@@ -802,23 +806,20 @@ rfb_decoder_state_framebuffer_update_rectangle (RfbDecoder * decoder)
- if (!rfb_decoder_read (decoder, 12))
- return FALSE;
-
-- x = RFB_GET_UINT16 (decoder->data + 0) - decoder->offset_x;
-- y = RFB_GET_UINT16 (decoder->data + 2) - decoder->offset_y;
-+ x = RFB_GET_UINT16 (decoder->data + 0);
-+ y = RFB_GET_UINT16 (decoder->data + 2);
- w = RFB_GET_UINT16 (decoder->data + 4);
- h = RFB_GET_UINT16 (decoder->data + 6);
- encoding = RFB_GET_UINT32 (decoder->data + 8);
-
-+ x -= (gint) decoder->offset_x;
-+ y -= (gint) decoder->offset_y;
-+
- GST_DEBUG ("update received");
- GST_DEBUG ("x:%d y:%d", x, y);
- GST_DEBUG ("w:%d h:%d", w, h);
- GST_DEBUG ("encoding: %d", encoding);
-
-- if (((w * h) + (x * y)) > (decoder->width * decoder->height)) {
-- GST_ERROR ("Desktop resize is unsupported.");
-- decoder->state = NULL;
-- return TRUE;
-- }
--
- switch (encoding) {
- case ENCODING_TYPE_RAW:
- ret = rfb_decoder_raw_encoding (decoder, x, y, w, h);
-@@ -857,11 +858,20 @@ static gboolean
- rfb_decoder_raw_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
- gint rect_w, gint rect_h)
- {
-- gint size;
-+ gint copy_x, copy_y, copy_w, copy_h;
-+ gint skip_x = 0, skip_y = 0;
-+ guint32 size;
- guint8 *frame, *p;
- guint32 raw_line_size;
-+ guint32 copy_line_size;
-+
-+ if (rect_w <= 0 || rect_h <= 0)
-+ return TRUE;
-
- raw_line_size = rect_w * decoder->bytespp;
-+ if (rect_h > 0 && raw_line_size > G_MAXUINT32 / rect_h)
-+ return FALSE;
-+
- size = rect_h * raw_line_size;
-
- GST_DEBUG ("Reading %d bytes (%dx%d)", size, rect_w, rect_h);
-@@ -869,13 +879,23 @@ rfb_decoder_raw_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
- if (!rfb_decoder_read (decoder, size))
- return FALSE;
-
-+ copy_x = start_x;
-+ copy_y = start_y;
-+ copy_w = rect_w;
-+ copy_h = rect_h;
-+
-+ if (!rfb_decoder_clip_rectangle (decoder, ©_x, ©_y, ©_w, ©_h,
-+ &skip_x, &skip_y))
-+ return TRUE;
-+
- frame =
-- decoder->frame + (((start_y * decoder->rect_width) +
-- start_x) * decoder->bytespp);
-- p = decoder->data;
-+ decoder->frame + (((copy_y * decoder->rect_width) +
-+ copy_x) * decoder->bytespp);
-+ p = decoder->data + (skip_y * raw_line_size) + (skip_x * decoder->bytespp);
-+ copy_line_size = copy_w * decoder->bytespp;
-
-- while (rect_h--) {
-- memcpy (frame, p, raw_line_size);
-+ while (copy_h--) {
-+ memcpy (frame, p, copy_line_size);
- p += raw_line_size;
- frame += decoder->line_size;
- }
-@@ -887,7 +907,8 @@ static gboolean
- rfb_decoder_copyrect_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
- gint rect_w, gint rect_h)
- {
-- guint16 src_x, src_y;
-+ gint src_x, src_y;
-+ gint copy_x, copy_y, copy_w, copy_h;
- gint line_width, copyrect_width;
- guint8 *src, *dst;
-
-@@ -895,20 +916,28 @@ rfb_decoder_copyrect_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
- return FALSE;
-
- /* don't forget the offset */
-- src_x = RFB_GET_UINT16 (decoder->data) - decoder->offset_x;
-- src_y = RFB_GET_UINT16 (decoder->data + 2) - decoder->offset_y;
-+ src_x = RFB_GET_UINT16 (decoder->data) - (gint) decoder->offset_x;
-+ src_y = RFB_GET_UINT16 (decoder->data + 2) - (gint) decoder->offset_y;
- GST_DEBUG ("Copyrect from %d %d", src_x, src_y);
-
-- copyrect_width = rect_w * decoder->bytespp;
-+ copy_x = start_x;
-+ copy_y = start_y;
-+ copy_w = rect_w;
-+ copy_h = rect_h;
-+ if (!rfb_decoder_clip_copyrect (decoder, ©_x, ©_y, &src_x, &src_y,
-+ ©_w, ©_h))
-+ return TRUE;
-+
-+ copyrect_width = copy_w * decoder->bytespp;
- line_width = decoder->line_size;
- src =
- decoder->prev_frame + ((src_y * decoder->rect_width) +
- src_x) * decoder->bytespp;
- dst =
-- decoder->frame + ((start_y * decoder->rect_width) +
-- start_x) * decoder->bytespp;
-+ decoder->frame + ((copy_y * decoder->rect_width) +
-+ copy_x) * decoder->bytespp;
-
-- while (rect_h--) {
-+ while (copy_h--) {
- memcpy (dst, src, copyrect_width);
- src += line_width;
- dst += line_width;
-@@ -926,6 +955,9 @@ rfb_decoder_fill_rectangle (RfbDecoder * decoder, gint x, gint y, gint w,
- guint32 *offset;
- gint i, j;
-
-+ if (!rfb_decoder_clip_rectangle (decoder, &x, &y, &w, &h, NULL, NULL))
-+ return;
-+
- for (i = 0; i < h; i++) {
- offset =
- (guint32 *) (decoder->frame + ((x + (y +
-@@ -1101,6 +1133,68 @@ rfb_decoder_hextile_encoding (RfbDecoder * decoder, gint start_x, gint start_y,
- return TRUE;
- }
-
-+static gboolean
-+rfb_decoder_clip_rectangle (RfbDecoder * decoder, gint * x, gint * y, gint * w,
-+ gint * h, gint * skip_x, gint * skip_y)
-+{
-+ gint x1, y1, x2, y2;
-+ gint orig_x, orig_y;
-+
-+ if (*w <= 0 || *h <= 0)
-+ return FALSE;
-+
-+ orig_x = *x;
-+ orig_y = *y;
-+ x1 = MAX (orig_x, 0);
-+ y1 = MAX (orig_y, 0);
-+ x2 = MIN (orig_x + *w, (gint) decoder->rect_width);
-+ y2 = MIN (orig_y + *h, (gint) decoder->rect_height);
-+
-+ if (x2 <= x1 || y2 <= y1)
-+ return FALSE;
-+
-+ *x = x1;
-+ *y = y1;
-+ *w = x2 - x1;
-+ *h = y2 - y1;
-+
-+ if (skip_x)
-+ *skip_x = x1 - orig_x;
-+ if (skip_y)
-+ *skip_y = y1 - orig_y;
-+
-+ return TRUE;
-+}
-+
-+static gboolean
-+rfb_decoder_clip_copyrect (RfbDecoder * decoder, gint * dst_x, gint * dst_y,
-+ gint * src_x, gint * src_y, gint * w, gint * h)
-+{
-+ gint left, top, right, bottom;
-+
-+ if (*w <= 0 || *h <= 0)
-+ return FALSE;
-+
-+ left = MAX (0, MAX (-*dst_x, -*src_x));
-+ top = MAX (0, MAX (-*dst_y, -*src_y));
-+ right = MIN (*w, MIN ((gint) decoder->rect_width - *dst_x,
-+ (gint) decoder->rect_width - *src_x));
-+ bottom = MIN (*h, MIN ((gint) decoder->rect_height - *dst_y,
-+ (gint) decoder->rect_height - *src_y));
-+
-+ if (right <= left || bottom <= top)
-+ return FALSE;
-+
-+ *dst_x += left;
-+ *dst_y += top;
-+ *src_x += left;
-+ *src_y += top;
-+ *w = right - left;
-+ *h = bottom - top;
-+
-+ return TRUE;
-+}
-+
- static gboolean
- rfb_decoder_state_set_colour_map_entries (RfbDecoder * decoder)
- {
---
-GitLab
-
diff --git a/multimedia/gstreamer1-plugins-rust/Makefile b/multimedia/gstreamer1-plugins-rust/Makefile
index 93b0e697730f..8a09470af610 100644
--- a/multimedia/gstreamer1-plugins-rust/Makefile
+++ b/multimedia/gstreamer1-plugins-rust/Makefile
@@ -1,6 +1,5 @@
PORTNAME= gstreamer1-plugins-rust
-DISTVERSION= ${gst-rust_VERSION}
-PORTREVISION= 3
+DISTVERSION= ${_GST_VERSION}
CATEGORIES= multimedia
MAINTAINER= multimedia@FreeBSD.org
@@ -22,6 +21,7 @@ USE_GITLAB= yes
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= gstreamer
GL_PROJECT= gst-plugins-rs
+GL_TAGNAME= gstreamer-${DISTVERSION}
USE_GNOME= glib20
USE_GSTREAMER= webrtc
diff --git a/multimedia/gstreamer1-plugins-rust/Makefile.crates b/multimedia/gstreamer1-plugins-rust/Makefile.crates
index bbd9f7907dfb..2e407df8f2fc 100644
--- a/multimedia/gstreamer1-plugins-rust/Makefile.crates
+++ b/multimedia/gstreamer1-plugins-rust/Makefile.crates
@@ -1,6 +1,7 @@
CARGO_CRATES= addr2line-0.25.1 \
adler2-2.0.1 \
aes-0.8.4 \
+ aes-0.9.1 \
ahash-0.8.12 \
aho-corasick-1.1.4 \
aligned-0.4.3 \
@@ -12,15 +13,16 @@ CARGO_CRATES= addr2line-0.25.1 \
anstyle-parse-1.0.0 \
anstyle-query-1.1.5 \
anstyle-wincon-3.0.11 \
- anyhow-1.0.102 \
- anymap3-1.0.1 \
+ anyhow-1.0.103 \
+ anymap3-1.1.0 \
arbitrary-1.4.2 \
+ arc-swap-1.9.2 \
arg_enum_proc_macro-0.3.4 \
array-init-2.1.0 \
- arrayvec-0.7.6 \
+ arrayvec-0.7.7 \
as-slice-0.2.1 \
ash-0.38.0+1.3.281 \
- asn1-rs-0.7.1 \
+ asn1-rs-0.7.2 \
asn1-rs-derive-0.6.0 \
asn1-rs-impl-0.2.0 \
async-channel-2.5.0 \
@@ -35,38 +37,39 @@ CARGO_CRATES= addr2line-0.25.1 \
atomic-waker-1.1.2 \
atomic_float-1.1.0 \
atomic_refcell-0.1.14 \
- autocfg-1.5.0 \
+ autocfg-1.5.1 \
av-data-0.4.4 \
av-scenechange-0.14.1 \
av1-grain-0.2.5 \
- aws-config-1.8.16 \
+ avif-serialize-0.8.9 \
+ aws-config-1.8.18 \
aws-credential-types-1.2.14 \
- aws-runtime-1.7.3 \
- aws-sdk-kinesisvideo-1.100.0 \
- aws-sdk-kinesisvideosignaling-1.98.0 \
- aws-sdk-polly-1.106.0 \
- aws-sdk-s3-1.132.0 \
- aws-sdk-sso-1.98.0 \
- aws-sdk-sts-1.103.0 \
- aws-sdk-transcribestreaming-1.103.0 \
- aws-sdk-translate-1.98.0 \
- aws-sigv4-1.4.3 \
+ aws-runtime-1.7.5 \
+ aws-sdk-kinesisvideo-1.105.0 \
+ aws-sdk-kinesisvideosignaling-1.102.0 \
+ aws-sdk-polly-1.110.0 \
+ aws-sdk-s3-1.137.0 \
+ aws-sdk-sso-1.102.0 \
+ aws-sdk-sts-1.107.0 \
+ aws-sdk-transcribestreaming-1.108.0 \
+ aws-sdk-translate-1.102.0 \
+ aws-sigv4-1.4.5 \
aws-smithy-async-1.2.14 \
- aws-smithy-checksums-0.64.7 \
- aws-smithy-eventstream-0.60.20 \
+ aws-smithy-checksums-0.64.8 \
+ aws-smithy-eventstream-0.60.21 \
aws-smithy-http-0.63.6 \
- aws-smithy-http-client-1.1.12 \
- aws-smithy-json-0.62.5 \
+ aws-smithy-http-client-1.1.13 \
+ aws-smithy-json-0.62.7 \
aws-smithy-observability-0.2.6 \
aws-smithy-query-0.60.15 \
- aws-smithy-runtime-1.11.1 \
- aws-smithy-runtime-api-1.12.0 \
+ aws-smithy-runtime-1.11.3 \
+ aws-smithy-runtime-api-1.12.3 \
aws-smithy-runtime-api-macros-1.0.0 \
- aws-smithy-types-1.4.7 \
+ aws-smithy-schema-0.1.0 \
+ aws-smithy-types-1.5.0 \
aws-smithy-xml-0.60.15 \
- aws-types-1.3.15 \
+ aws-types-1.3.16 \
backtrace-0.3.76 \
- base16ct-0.1.1 \
base16ct-0.2.0 \
base32-0.5.1 \
base64-0.21.7 \
@@ -79,48 +82,53 @@ CARGO_CRATES= addr2line-0.25.1 \
bindgen-0.70.1 \
bindgen-0.71.1 \
bindgen-0.72.1 \
- bit-set-0.8.0 \
- bit-vec-0.8.0 \
+ bit-set-0.9.1 \
bit-vec-0.9.1 \
+ bit_field-0.10.3 \
bitflags-1.3.2 \
- bitflags-2.11.1 \
+ bitflags-2.13.0 \
bitreader-0.3.11 \
bitstream-io-4.10.0 \
- block-0.1.6 \
block-buffer-0.10.4 \
- block-buffer-0.12.0 \
+ block-buffer-0.12.1 \
block2-0.6.2 \
+ bon-3.9.3 \
+ bon-macros-3.9.3 \
bs58-0.5.1 \
- bstr-1.12.1 \
- built-0.8.0 \
- bumpalo-3.20.2 \
- burn-0.20.1 \
- burn-backend-0.20.1 \
- burn-core-0.20.1 \
- burn-cpu-0.20.1 \
- burn-cubecl-0.20.1 \
- burn-derive-0.20.1 \
- burn-ir-0.20.1 \
- burn-ndarray-0.20.1 \
- burn-nn-0.20.1 \
- burn-optim-0.20.1 \
- burn-std-0.20.1 \
- burn-store-0.20.1 \
- burn-tensor-0.20.1 \
- burn-wgpu-0.20.1 \
+ bstr-1.12.3 \
+ built-0.8.1 \
+ bumpalo-3.20.3 \
+ burn-0.21.0 \
+ burn-backend-0.21.0 \
+ burn-core-0.21.0 \
+ burn-cpu-0.21.0 \
+ burn-cubecl-0.21.0 \
+ burn-cubecl-fusion-0.21.0 \
+ burn-derive-0.21.0 \
+ burn-dispatch-0.21.0 \
+ burn-fusion-0.21.0 \
+ burn-ir-0.21.0 \
+ burn-ndarray-0.21.0 \
+ burn-nn-0.21.0 \
+ burn-optim-0.21.0 \
+ burn-std-0.21.0 \
+ burn-store-0.21.0 \
+ burn-tensor-0.21.0 \
+ burn-vision-0.21.0 \
+ burn-wgpu-0.21.0 \
byte-slice-cast-1.2.3 \
bytemuck-1.25.0 \
bytemuck_derive-1.10.2 \
byteorder-1.5.0 \
byteorder-lite-0.1.0 \
byteorder_slice-3.0.0 \
- bytes-1.11.1 \
+ bytes-1.12.0 \
bytes-utils-0.1.4 \
bzip2-0.6.1 \
c2rust-bitfields-0.20.0 \
c2rust-bitfields-derive-0.20.0 \
caseless-0.2.2 \
- cc-1.2.62 \
+ cc-1.2.65 \
cdg-0.1.0 \
cdg_renderer-0.8.0 \
cdp-types-0.3.0 \
@@ -128,12 +136,16 @@ CARGO_CRATES= addr2line-0.25.1 \
cea708-types-0.4.1 \
cesu8-1.1.0 \
cexpr-0.6.0 \
- cfg-expr-0.17.2 \
+ cfg-expr-0.20.8 \
cfg-if-1.0.4 \
cfg_aliases-0.2.1 \
- chacha20-0.10.0 \
- chrono-0.4.44 \
+ chacha20-0.10.1 \
+ chrono-0.4.45 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
cipher-0.4.4 \
+ cipher-0.5.2 \
clang-sys-1.8.1 \
clap-4.6.1 \
clap_builder-4.6.0 \
@@ -141,8 +153,8 @@ CARGO_CRATES= addr2line-0.25.1 \
clap_lex-1.1.0 \
claxon-0.4.3 \
cmake-0.1.58 \
- cmov-0.5.3 \
- codespan-reporting-0.12.0 \
+ cmov-0.5.4 \
+ codespan-reporting-0.13.1 \
color-name-1.2.0 \
color-thief-0.2.2 \
color_quant-1.1.0 \
@@ -158,7 +170,7 @@ CARGO_CRATES= addr2line-0.25.1 \
const-oid-0.10.2 \
const-random-0.1.18 \
const-random-macro-0.1.16 \
- constant_time_eq-0.3.1 \
+ constant_time_eq-0.4.2 \
constcat-0.6.1 \
convert_case-0.8.0 \
convert_case-0.10.0 \
@@ -168,50 +180,51 @@ CARGO_CRATES= addr2line-0.25.1 \
core-foundation-0.9.4 \
core-foundation-0.10.1 \
core-foundation-sys-0.8.7 \
- core-graphics-types-0.2.0 \
+ cpubits-0.1.1 \
cpufeatures-0.2.17 \
cpufeatures-0.3.0 \
- crc-3.3.0 \
- crc-catalog-2.5.0 \
- crc-fast-1.9.0 \
+ crc-fast-1.10.0 \
crc32fast-1.5.0 \
critical-section-1.2.0 \
crossbeam-deque-0.8.6 \
crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.21 \
crunchy-0.2.4 \
- crypto-bigint-0.4.9 \
crypto-bigint-0.5.5 \
crypto-common-0.1.7 \
- crypto-common-0.2.1 \
+ crypto-common-0.2.2 \
csound-0.1.8 \
csound-sys-0.1.2 \
ctr-0.9.2 \
ctrlc-3.5.2 \
ctutils-0.4.2 \
- cubecl-0.9.0 \
- cubecl-common-0.9.0 \
- cubecl-core-0.9.0 \
- cubecl-cpp-0.9.0 \
- cubecl-cpu-0.9.0 \
- cubecl-cuda-0.9.0 \
- cubecl-ir-0.9.0 \
- cubecl-macros-0.9.0 \
- cubecl-macros-internal-0.9.0 \
- cubecl-opt-0.9.0 \
- cubecl-runtime-0.9.0 \
- cubecl-spirv-0.9.0 \
- cubecl-std-0.9.0 \
- cubecl-wgpu-0.9.0 \
- cubecl-zspace-0.9.0 \
- cubek-0.1.1 \
- cubek-attention-0.1.1 \
- cubek-convolution-0.1.1 \
- cubek-matmul-0.1.1 \
- cubek-quant-0.1.1 \
- cubek-random-0.1.1 \
- cubek-reduce-0.1.1 \
- cudarc-0.18.2 \
+ cubecl-0.10.0 \
+ cubecl-common-0.10.0 \
+ cubecl-core-0.10.0 \
+ cubecl-cpp-0.10.0 \
+ cubecl-cpu-0.10.0 \
+ cubecl-cuda-0.10.0 \
+ cubecl-hip-0.10.0 \
+ cubecl-hip-sys-7.2.5321100 \
+ cubecl-ir-0.10.0 \
+ cubecl-macros-0.10.0 \
+ cubecl-macros-internal-0.10.0 \
+ cubecl-opt-0.10.0 \
+ cubecl-runtime-0.10.0 \
+ cubecl-spirv-0.10.0 \
+ cubecl-std-0.10.0 \
+ cubecl-wgpu-0.10.0 \
+ cubecl-zspace-0.10.0 \
+ cubek-0.2.0 \
+ cubek-attention-0.2.0 \
+ cubek-convolution-0.2.0 \
+ cubek-fft-0.2.0 \
+ cubek-matmul-0.2.0 \
+ cubek-quant-0.2.0 \
+ cubek-random-0.2.0 \
+ cubek-reduce-0.2.0 \
+ cubek-std-0.2.0 \
+ cudarc-0.19.8 \
curve25519-dalek-4.1.3 \
curve25519-dalek-derive-0.1.1 \
darling-0.20.11 \
@@ -223,7 +236,7 @@ CARGO_CRATES= addr2line-0.25.1 \
darling_macro-0.20.11 \
darling_macro-0.21.3 \
darling_macro-0.23.0 \
- dash-mpd-0.20.2 \
+ dash-mpd-0.20.3 \
dasp-0.11.0 \
dasp_envelope-0.11.0 \
dasp_frame-0.11.0 \
@@ -240,7 +253,9 @@ CARGO_CRATES= addr2line-0.25.1 \
dav1d-sys-0.8.3 \
deepgram-0.7.0 \
deflate64-0.1.12 \
- der-0.6.1 \
+ defmt-1.1.0 \
+ defmt-macros-1.1.0 \
+ defmt-parser-1.0.0 \
der-0.7.10 \
der-parser-10.0.0 \
deranged-0.5.8 \
@@ -259,7 +274,8 @@ CARGO_CRATES= addr2line-0.25.1 \
dirs-6.0.0 \
dirs-sys-0.5.0 \
dispatch2-0.3.1 \
- displaydoc-0.2.5 \
+ displaydoc-0.2.6 \
+ dlib-0.5.3 \
document-features-0.2.12 \
dssim-core-3.4.0 \
dyn-clone-1.0.20 \
@@ -268,17 +284,13 @@ CARGO_CRATES= addr2line-0.25.1 \
ebml-iterable-specification-0.4.0 \
ebml-iterable-specification-derive-0.4.0 \
ebur128-0.1.10 \
- ecdsa-0.14.8 \
ecdsa-0.16.9 \
ed25519-1.5.3 \
- ed25519-2.2.3 \
- ed25519-dalek-2.2.0 \
edit-distance-2.2.2 \
- either-1.15.0 \
- elliptic-curve-0.12.3 \
+ either-1.16.0 \
elliptic-curve-0.13.8 \
embassy-futures-0.1.2 \
- embassy-time-0.4.0 \
+ embassy-time-0.5.1 \
embassy-time-driver-0.2.2 \
embedded-hal-0.2.7 \
embedded-hal-1.0.0 \
@@ -287,39 +299,38 @@ CARGO_CRATES= addr2line-0.25.1 \
encoding_rs-0.8.35 \
entities-1.0.1 \
enumn-0.1.14 \
- enumset-1.1.12 \
+ enumset-1.1.13 \
enumset_derive-0.15.0 \
- env_filter-1.0.1 \
- env_logger-0.11.10 \
+ env_filter-2.0.0 \
+ env_logger-0.11.11 \
equator-0.4.2 \
equator-macro-0.4.2 \
equivalent-1.0.2 \
errno-0.3.14 \
*** 2882 LINES SKIPPED ***