summaryrefslogtreecommitdiff
path: root/user/gst-plugins-bad/fix-arm-test-alignment.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/gst-plugins-bad/fix-arm-test-alignment.patch')
-rw-r--r--user/gst-plugins-bad/fix-arm-test-alignment.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/user/gst-plugins-bad/fix-arm-test-alignment.patch b/user/gst-plugins-bad/fix-arm-test-alignment.patch
new file mode 100644
index 000000000..1a03eafa7
--- /dev/null
+++ b/user/gst-plugins-bad/fix-arm-test-alignment.patch
@@ -0,0 +1,35 @@
+From 57a1296d5913b222be87ccee1ae981b84931a7da Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
+Date: Tue, 13 Jun 2023 01:29:14 +0100
+Subject: [PATCH 2/2] asfmux: fix potentially unaligned write on 32-bit ARM
+
+Fixes #2665
+---
+ .../gst-plugins-bad/gst/asfmux/gstasfobjects.c | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c b/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c
+index d9739826384..fa0f2849d17 100644
+--- a/gst/asfmux/gstasfobjects.c
++++ b/gst/asfmux/gstasfobjects.c
+@@ -311,14 +311,10 @@ gst_asf_put_time (guint8 * buf, guint64 time)
+ void
+ gst_asf_put_guid (guint8 * buf, Guid guid)
+ {
+- guint32 *aux32 = (guint32 *) buf;
+- guint16 *aux16 = (guint16 *) & (buf[4]);
+- guint64 *aux64 = (guint64 *) & (buf[8]);
+- *aux32 = GUINT32_TO_LE (guid.v1);
+- *aux16 = GUINT16_TO_LE (guid.v2);
+- aux16 = (guint16 *) & (buf[6]);
+- *aux16 = GUINT16_TO_LE (guid.v3);
+- *aux64 = GUINT64_TO_BE (guid.v4);
++ GST_WRITE_UINT32_LE (buf + 0, guid.v1);
++ GST_WRITE_UINT16_LE (buf + 4, guid.v2);
++ GST_WRITE_UINT16_LE (buf + 6, guid.v3);
++ GST_WRITE_UINT64_BE (buf + 8, guid.v4);
+ }
+
+ /**
+--
+GitLab