Remove -Wcast-align fix patch, it's not complete

This commit is contained in:
Bastien Nocera 2018-06-06 17:55:37 +02:00
parent 2660a985bd
commit e7cf1d0e35
2 changed files with 5 additions and 232 deletions

View File

@ -1,226 +0,0 @@
From a0d32a9b1e1446cb51bf355aad19f2b9a46e7213 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 | 26 ++++++++++++++------------
gst/gstevent.h | 13 ++++++++++---
gst/gstmessage.h | 13 ++++++++++---
gst/gstminiobject.h | 16 ++++++++++++++++
5 files changed, 60 insertions(+), 21 deletions(-)
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index 2804b520f..527a64c86 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -426,7 +426,8 @@ gboolean gst_buffer_unset_flags (GstBuffer * buffer, GstBufferFlags f
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;
}
/**
@@ -439,7 +440,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 */
@@ -458,7 +459,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;
}
GST_API
diff --git a/gst/gstcaps.h b/gst/gstcaps.h
index 0d9530099..6914a74dc 100644
--- a/gst/gstcaps.h
+++ b/gst/gstcaps.h
@@ -35,6 +35,16 @@ GST_API 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())
/**
@@ -188,6 +198,7 @@ GST_API GstCaps * _gst_caps_none;
*/
#define GST_CAPS_FLAG_UNSET(caps,flag) GST_MINI_OBJECT_FLAG_UNSET (caps, flag)
+
/* refcounting */
/**
* gst_caps_ref:
@@ -207,7 +218,8 @@ GST_API 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;
}
/**
@@ -220,7 +232,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 */
@@ -300,16 +312,6 @@ gst_caps_take (GstCaps **old_caps, GstCaps *new_caps)
return gst_mini_object_take ((GstMiniObject **) old_caps, (GstMiniObject *) new_caps);
}
-/**
- * GstCaps:
- * @mini_object: the parent type
- *
- * Object describing media types.
- */
-struct _GstCaps {
- GstMiniObject mini_object;
-};
-
/**
* GstStaticCaps:
* @caps: the cached #GstCaps
diff --git a/gst/gstevent.h b/gst/gstevent.h
index b43f5aef7..d2d2fa5ec 100644
--- a/gst/gstevent.h
+++ b/gst/gstevent.h
@@ -435,7 +435,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;
}
/**
@@ -447,7 +448,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 */
@@ -462,7 +463,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;
}
GST_API
diff --git a/gst/gstmessage.h b/gst/gstmessage.h
index 84c16ba77..e398b944d 100644
--- a/gst/gstmessage.h
+++ b/gst/gstmessage.h
@@ -363,7 +363,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;
}
/**
@@ -376,7 +377,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 */
@@ -393,7 +394,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 f7aa87a00..e010d63fd 100644
--- a/gst/gstminiobject.h
+++ b/gst/gstminiobject.h
@@ -293,6 +293,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.17.0

View File

@ -10,7 +10,7 @@
Name: gstreamer1
Version: 1.14.1
Release: 3%{?gitcommit:.git%{shortcommit}}%{?dist}
Release: 4%{?gitcommit:.git%{shortcommit}}%{?dist}
Summary: GStreamer streaming media framework runtime
License: LGPLv2+
@ -27,9 +27,6 @@ Patch0: gstreamer-inspect-rpm-format.patch
Source1: gstreamer1.prov
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: libxml2-devel >= %{_libxml2}
BuildRequires: gobject-introspection-devel >= %{_gobject_introspection}
@ -97,7 +94,6 @@ GStreamer streaming media framework.
%prep
%setup -q -n gstreamer-%{version}
%patch0 -p1 -b .rpm-provides
%patch1 -p1 -b .cast-align
%build
NOCONFIGURE=1 \
@ -208,7 +204,10 @@ install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer
%changelog
* Wed Jun 06 2018 Bastien Nocera <bnocera@redhat.com> - 1.14.1-3}
* Wed Jun 06 2018 Bastien Nocera <bnocera@redhat.com> - 1.14.1-4
- Remove -Wcast-align fix patch, it's not complete
* 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