Add test patch to shut -Wcast-align warnings
This commit is contained in:
parent
e1cc69513e
commit
f52eed8c63
241
0001-WIP-buffer-caps-event-message-attempt-to-silence-com.patch
Normal file
241
0001-WIP-buffer-caps-event-message-attempt-to-silence-com.patch
Normal file
@ -0,0 +1,241 @@
|
|||||||
|
From b5790114ae5cda0b9e7596179d134bff285a47b7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
|
||||||
|
Date: Mon, 25 Jul 2016 23:48:50 +0100
|
||||||
|
Subject: [PATCH] WIP: buffer, caps, event, message: attempt to silence
|
||||||
|
compiler warnings
|
||||||
|
|
||||||
|
.. with -Wcast-align on aarch64.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=767255
|
||||||
|
---
|
||||||
|
gst/gstbuffer.h | 13 ++++++++++---
|
||||||
|
gst/gstcaps.h | 34 +++++++++++++++++++++-------------
|
||||||
|
gst/gstevent.h | 13 ++++++++++---
|
||||||
|
gst/gstmessage.h | 13 ++++++++++---
|
||||||
|
gst/gstminiobject.h | 16 ++++++++++++++++
|
||||||
|
5 files changed, 67 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
|
||||||
|
index 4d72471..6a1eb59 100644
|
||||||
|
--- a/gst/gstbuffer.h
|
||||||
|
+++ b/gst/gstbuffer.h
|
||||||
|
@@ -350,7 +350,8 @@ void gst_buffer_extract_dup (GstBuffer *buffer, gsize offset,
|
||||||
|
static inline GstBuffer *
|
||||||
|
gst_buffer_ref (GstBuffer * buf)
|
||||||
|
{
|
||||||
|
- return (GstBuffer *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (buf));
|
||||||
|
+ gst_mini_object_ref (&buf->mini_object);
|
||||||
|
+ return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -363,7 +364,7 @@ gst_buffer_ref (GstBuffer * buf)
|
||||||
|
static inline void
|
||||||
|
gst_buffer_unref (GstBuffer * buf)
|
||||||
|
{
|
||||||
|
- gst_mini_object_unref (GST_MINI_OBJECT_CAST (buf));
|
||||||
|
+ gst_mini_object_unref (&buf->mini_object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* copy buffer */
|
||||||
|
@@ -382,7 +383,13 @@ gst_buffer_unref (GstBuffer * buf)
|
||||||
|
static inline GstBuffer *
|
||||||
|
gst_buffer_copy (const GstBuffer * buf)
|
||||||
|
{
|
||||||
|
- return GST_BUFFER (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (buf)));
|
||||||
|
+ union {
|
||||||
|
+ GstMiniObject *mo;
|
||||||
|
+ GstBuffer *buffer;
|
||||||
|
+ } u;
|
||||||
|
+
|
||||||
|
+ u.mo = gst_mini_object_copy (&buf->mini_object);
|
||||||
|
+ return u.buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
GstBuffer * gst_buffer_copy_deep (const GstBuffer * buf);
|
||||||
|
diff --git a/gst/gstcaps.h b/gst/gstcaps.h
|
||||||
|
index b9d00dd..6bc9b87 100644
|
||||||
|
--- a/gst/gstcaps.h
|
||||||
|
+++ b/gst/gstcaps.h
|
||||||
|
@@ -35,6 +35,16 @@ GST_EXPORT GType _gst_caps_type;
|
||||||
|
#define GST_CAPS_CAST(obj) ((GstCaps*)(obj))
|
||||||
|
#define GST_CAPS(obj) (GST_CAPS_CAST(obj))
|
||||||
|
|
||||||
|
+/**
|
||||||
|
+ * GstCaps:
|
||||||
|
+ * @mini_object: the parent type
|
||||||
|
+ *
|
||||||
|
+ * Object describing media types.
|
||||||
|
+ */
|
||||||
|
+struct _GstCaps {
|
||||||
|
+ GstMiniObject mini_object;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
#define GST_TYPE_STATIC_CAPS (gst_static_caps_get_type())
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -187,6 +197,7 @@ GST_EXPORT GstCaps * _gst_caps_none;
|
||||||
|
*/
|
||||||
|
#define GST_CAPS_FLAG_UNSET(caps,flag) GST_MINI_OBJECT_FLAG_UNSET (caps, flag)
|
||||||
|
|
||||||
|
+
|
||||||
|
/* refcounting */
|
||||||
|
/**
|
||||||
|
* gst_caps_ref:
|
||||||
|
@@ -206,7 +217,8 @@ GST_EXPORT GstCaps * _gst_caps_none;
|
||||||
|
static inline GstCaps *
|
||||||
|
gst_caps_ref (GstCaps * caps)
|
||||||
|
{
|
||||||
|
- return (GstCaps *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (caps));
|
||||||
|
+ gst_mini_object_ref (&caps->mini_object);
|
||||||
|
+ return caps;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -219,7 +231,7 @@ gst_caps_ref (GstCaps * caps)
|
||||||
|
static inline void
|
||||||
|
gst_caps_unref (GstCaps * caps)
|
||||||
|
{
|
||||||
|
- gst_mini_object_unref (GST_MINI_OBJECT_CAST (caps));
|
||||||
|
+ gst_mini_object_unref (&caps->mini_object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* copy caps */
|
||||||
|
@@ -241,7 +253,13 @@ gst_caps_unref (GstCaps * caps)
|
||||||
|
static inline GstCaps *
|
||||||
|
gst_caps_copy (const GstCaps * caps)
|
||||||
|
{
|
||||||
|
- return GST_CAPS (gst_mini_object_copy (GST_MINI_OBJECT_CAST (caps)));
|
||||||
|
+ union {
|
||||||
|
+ GstMiniObject *mo;
|
||||||
|
+ GstCaps *caps;
|
||||||
|
+ } u;
|
||||||
|
+
|
||||||
|
+ u.mo = gst_mini_object_copy (&caps->mini_object);
|
||||||
|
+ return u.caps;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -316,16 +334,6 @@ gst_caps_take (GstCaps **old_caps, GstCaps *new_caps)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * GstCaps:
|
||||||
|
- * @mini_object: the parent type
|
||||||
|
- *
|
||||||
|
- * Object describing media types.
|
||||||
|
- */
|
||||||
|
-struct _GstCaps {
|
||||||
|
- GstMiniObject mini_object;
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
-/**
|
||||||
|
* GstStaticCaps:
|
||||||
|
* @caps: the cached #GstCaps
|
||||||
|
* @string: a string describing a caps
|
||||||
|
diff --git a/gst/gstevent.h b/gst/gstevent.h
|
||||||
|
index e7dbb25..65e4272 100644
|
||||||
|
--- a/gst/gstevent.h
|
||||||
|
+++ b/gst/gstevent.h
|
||||||
|
@@ -425,7 +425,8 @@ GstEventTypeFlags
|
||||||
|
static inline GstEvent *
|
||||||
|
gst_event_ref (GstEvent * event)
|
||||||
|
{
|
||||||
|
- return (GstEvent *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (event));
|
||||||
|
+ gst_mini_object_ref (&event->mini_object);
|
||||||
|
+ return event;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -437,7 +438,7 @@ gst_event_ref (GstEvent * event)
|
||||||
|
static inline void
|
||||||
|
gst_event_unref (GstEvent * event)
|
||||||
|
{
|
||||||
|
- gst_mini_object_unref (GST_MINI_OBJECT_CAST (event));
|
||||||
|
+ gst_mini_object_unref (&event->mini_object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* copy event */
|
||||||
|
@@ -452,7 +453,13 @@ gst_event_unref (GstEvent * event)
|
||||||
|
static inline GstEvent *
|
||||||
|
gst_event_copy (const GstEvent * event)
|
||||||
|
{
|
||||||
|
- return GST_EVENT_CAST (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (event)));
|
||||||
|
+ union {
|
||||||
|
+ GstMiniObject *mo;
|
||||||
|
+ GstEvent *event;
|
||||||
|
+ } u;
|
||||||
|
+
|
||||||
|
+ u.mo = gst_mini_object_copy (&event->mini_object);
|
||||||
|
+ return u.event;
|
||||||
|
}
|
||||||
|
|
||||||
|
GType gst_event_get_type (void);
|
||||||
|
diff --git a/gst/gstmessage.h b/gst/gstmessage.h
|
||||||
|
index 68213eb..b585729 100644
|
||||||
|
--- a/gst/gstmessage.h
|
||||||
|
+++ b/gst/gstmessage.h
|
||||||
|
@@ -354,7 +354,8 @@ GQuark gst_message_type_to_quark (GstMessageType type);
|
||||||
|
static inline GstMessage *
|
||||||
|
gst_message_ref (GstMessage * msg)
|
||||||
|
{
|
||||||
|
- return (GstMessage *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (msg));
|
||||||
|
+ gst_mini_object_ref (&msg->mini_object);
|
||||||
|
+ return msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -367,7 +368,7 @@ gst_message_ref (GstMessage * msg)
|
||||||
|
static inline void
|
||||||
|
gst_message_unref (GstMessage * msg)
|
||||||
|
{
|
||||||
|
- gst_mini_object_unref (GST_MINI_OBJECT_CAST (msg));
|
||||||
|
+ gst_mini_object_unref (&msg->mini_object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* copy message */
|
||||||
|
@@ -384,7 +385,13 @@ gst_message_unref (GstMessage * msg)
|
||||||
|
static inline GstMessage *
|
||||||
|
gst_message_copy (const GstMessage * msg)
|
||||||
|
{
|
||||||
|
- return GST_MESSAGE_CAST (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (msg)));
|
||||||
|
+ union {
|
||||||
|
+ GstMiniObject *mo;
|
||||||
|
+ GstMessage *msg;
|
||||||
|
+ } u;
|
||||||
|
+
|
||||||
|
+ u.mo = gst_mini_object_copy (&msg->mini_object);
|
||||||
|
+ return u.msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
diff --git a/gst/gstminiobject.h b/gst/gstminiobject.h
|
||||||
|
index 88eb080..3763e64 100644
|
||||||
|
--- a/gst/gstminiobject.h
|
||||||
|
+++ b/gst/gstminiobject.h
|
||||||
|
@@ -269,6 +269,22 @@ GstMiniObject * gst_mini_object_steal (GstMiniObject **olddata) G_GNUC
|
||||||
|
(GBoxedCopyFunc) gst_mini_object_ref, \
|
||||||
|
(GBoxedFreeFunc) gst_mini_object_unref)
|
||||||
|
|
||||||
|
+/* FIXME */
|
||||||
|
+#if 0
|
||||||
|
+/**
|
||||||
|
+ * GST_DEFINE_MINI_OBJECT_INLINE_FUNCS:
|
||||||
|
+ * @TypeName: name of the new type in CamelCase
|
||||||
|
+ * @type_name: name of the new type
|
||||||
|
+ *
|
||||||
|
+ * Use in header file to declare standard inline ref, unref and copy functions
|
||||||
|
+ * for a mini object type. Assumes first member of the @TypeName structure is
|
||||||
|
+ * called mini_object.
|
||||||
|
+ *
|
||||||
|
+ * Since: 1.10
|
||||||
|
+ */
|
||||||
|
+#define GST_DEFINE_MINI_OBJECT_INLINE_FUNCS(TypeName,type_name) /* FIXME */
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif
|
||||||
|
--
|
||||||
|
2.8.1
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Name: gstreamer1
|
Name: gstreamer1
|
||||||
Version: 1.14.1
|
Version: 1.14.1
|
||||||
Release: 2%{?gitcommit:.git%{shortcommit}}%{?dist}
|
Release: 3%{?gitcommit:.git%{shortcommit}}%{?dist}
|
||||||
Summary: GStreamer streaming media framework runtime
|
Summary: GStreamer streaming media framework runtime
|
||||||
|
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
@ -27,6 +27,9 @@ Patch0: gstreamer-inspect-rpm-format.patch
|
|||||||
Source1: gstreamer1.prov
|
Source1: gstreamer1.prov
|
||||||
Source2: gstreamer1.attr
|
Source2: gstreamer1.attr
|
||||||
|
|
||||||
|
# https://bugzilla.gnome.org/show_bug.cgi?id=767255
|
||||||
|
Patch1: 0001-WIP-buffer-caps-event-message-attempt-to-silence-com.patch
|
||||||
|
|
||||||
BuildRequires: glib2-devel >= %{_glib2}
|
BuildRequires: glib2-devel >= %{_glib2}
|
||||||
BuildRequires: libxml2-devel >= %{_libxml2}
|
BuildRequires: libxml2-devel >= %{_libxml2}
|
||||||
BuildRequires: gobject-introspection-devel >= %{_gobject_introspection}
|
BuildRequires: gobject-introspection-devel >= %{_gobject_introspection}
|
||||||
@ -94,6 +97,7 @@ GStreamer streaming media framework.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n gstreamer-%{version}
|
%setup -q -n gstreamer-%{version}
|
||||||
%patch0 -p1 -b .rpm-provides
|
%patch0 -p1 -b .rpm-provides
|
||||||
|
%patch1 -p1 -b .cast-align
|
||||||
|
|
||||||
%build
|
%build
|
||||||
NOCONFIGURE=1 \
|
NOCONFIGURE=1 \
|
||||||
@ -204,6 +208,9 @@ install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jun 06 2018 Bastien Nocera <bnocera@redhat.com> - 1.14.1-3}
|
||||||
|
- Add test patch to shut -Wcast-align warnings
|
||||||
|
|
||||||
* Fri May 25 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.1-2
|
* Fri May 25 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.1-2
|
||||||
- Update gstreamer1.prov file: Only scan in plugin directories
|
- Update gstreamer1.prov file: Only scan in plugin directories
|
||||||
and relax file name and type. (#1581325)
|
and relax file name and type. (#1581325)
|
||||||
|
Loading…
Reference in New Issue
Block a user