2006-06-12 Wim Taymans <wim@fluendo.com>
+ * gst/gstbuffer.h:
+ Avoid unneeded type checking.
+ API: GST_BUFFER_IS_DISCONT
+
+ * gst/gstminiobject.h:
+ Avoid type check in flag accessor.
+
+ * gst/gstelementfactory.h:
+ * gst/gstplugin.h:
+ * gst/gstpluginfeature.h:
+ Add _CAST macros.
+ API: GST_ELEMENT_FACTORY_CAST
+ API: GST_PLUGIN_CAST
+ API: GST_PLUGIN_FEATURE_CAST
+
+2006-06-12 Wim Taymans <wim@fluendo.com>
+
* gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
(gst_object_unref):
Add G_UNLIKELY in type registration.
* Tests if the end offset is known.
*/
#define GST_BUFFER_OFFSET_END_IS_VALID(buffer) (GST_BUFFER_OFFSET_END (buffer) != GST_BUFFER_OFFSET_NONE)
+/**
+ * GST_BUFFER_IS_DISCONT:
+ * @buffer: a #GstBuffer
+ *
+ * Tests if the buffer marks a discontinuity in the stream.
+ *
+ * Since: 0.10.9
+ */
+#define GST_BUFFER_IS_DISCONT(buffer) (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))
/**
* GstBufferFlag:
{
/* not using a macro here because gcc-4.1 will complain
* if the return value isn't used (because of the cast) */
- return (GstBuffer *) gst_mini_object_ref (GST_MINI_OBJECT (buf));
+ return (GstBuffer *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (buf));
}
/**
* will be freed. If GST_BUFFER_MALLOCDATA() is non-NULL, this pointer will
* also be freed at this time.
*/
-#define gst_buffer_unref(buf) gst_mini_object_unref (GST_MINI_OBJECT (buf))
+#define gst_buffer_unref(buf) gst_mini_object_unref (GST_MINI_OBJECT_CAST (buf))
/* copy buffer */
/**
* Create a copy of the given buffer. This will also make a newly allocated
* copy of the data the source buffer contains.
*/
-#define gst_buffer_copy(buf) GST_BUFFER_CAST (gst_mini_object_copy (GST_MINI_OBJECT (buf)))
+#define gst_buffer_copy(buf) GST_BUFFER_CAST (gst_mini_object_copy (GST_MINI_OBJECT_CAST (buf)))
/**
* gst_buffer_is_writable:
* @buf: a #GstBuffer
* writable, but it is only safe to change it when there is only one owner
* of the buffer - ie, the refcount is 1.
*/
-#define gst_buffer_is_writable(buf) gst_mini_object_is_writable (GST_MINI_OBJECT (buf))
+#define gst_buffer_is_writable(buf) gst_mini_object_is_writable (GST_MINI_OBJECT_CAST (buf))
/**
* gst_buffer_make_writable:
* @buf: a #GstBuffer
* already writable, this will simply return the same buffer. A copy will
* otherwise be made using gst_buffer_copy().
*/
-#define gst_buffer_make_writable(buf) GST_BUFFER_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT (buf)))
+#define gst_buffer_make_writable(buf) GST_BUFFER_CAST (gst_mini_object_make_writable (GST_MINI_OBJECT_CAST (buf)))
/* Ensure that the metadata of the buffer is writable, even if the buffer data
* isn't */
*
* Either @nbuf or the #GstBuffer pointed to by @obuf may be NULL.
*/
-#define gst_buffer_replace(obuf,nbuf) gst_mini_object_replace ((GstMiniObject **)(obuf), GST_MINI_OBJECT (nbuf))
+#define gst_buffer_replace(obuf,nbuf) gst_mini_object_replace ((GstMiniObject **)(obuf), GST_MINI_OBJECT_CAST (nbuf))
GstCaps* gst_buffer_get_caps (GstBuffer *buffer);
void gst_buffer_set_caps (GstBuffer *buffer, GstCaps *caps);
* Sets @b as the value of @v, correclty incrementing the refcount of
* the buffer.
*/
-#define gst_value_set_buffer(v,b) gst_value_set_mini_object(v, GST_MINI_OBJECT(b))
+#define gst_value_set_buffer(v,b) gst_value_set_mini_object(v, GST_MINI_OBJECT_CAST(b))
/**
* gst_value_take_buffer:
* @v: a #GstValue to receive the data
* Sets @b as the value of @v, this function lets the GstValue
* take ownership of the buffer.
*/
-#define gst_value_take_buffer(v,b) gst_value_take_mini_object(v, GST_MINI_OBJECT(b))
+#define gst_value_take_buffer(v,b) gst_value_take_mini_object(v, GST_MINI_OBJECT_CAST(b))
/**
* gst_value_get_buffer:
* @v: a #GstValue to qeury
* increase the refcount of the returned buffer so the buffer remains
* valid as long as you own a refcount to the GstValue.
*/
-#define gst_value_get_buffer(v) GST_BUFFER (gst_value_get_mini_object(v))
+#define gst_value_get_buffer(v) GST_BUFFER_CAST (gst_value_get_mini_object(v))
/* --- protected --- */
void _gst_buffer_initialize (void);