gst/gstbuffer.h: Avoid unneeded type checking.

Original commit message from CVS:
* 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
This commit is contained in:
Wim Taymans 2006-06-12 09:11:44 +00:00
parent 8b87693a69
commit bc1bdfabab
6 changed files with 39 additions and 10 deletions

View file

@ -1,3 +1,20 @@
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> 2006-06-12 Wim Taymans <wim@fluendo.com>
* gst/gstobject.c: (gst_object_get_type), (gst_object_ref), * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),

View file

@ -177,6 +177,15 @@ typedef struct _GstBufferClass GstBufferClass;
* Tests if the end offset is known. * Tests if the end offset is known.
*/ */
#define GST_BUFFER_OFFSET_END_IS_VALID(buffer) (GST_BUFFER_OFFSET_END (buffer) != GST_BUFFER_OFFSET_NONE) #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: * GstBufferFlag:
@ -307,7 +316,7 @@ gst_buffer_ref (GstBuffer * buf)
{ {
/* not using a macro here because gcc-4.1 will complain /* not using a macro here because gcc-4.1 will complain
* if the return value isn't used (because of the cast) */ * 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));
} }
/** /**
@ -318,7 +327,7 @@ gst_buffer_ref (GstBuffer * buf)
* will be freed. If GST_BUFFER_MALLOCDATA() is non-NULL, this pointer will * will be freed. If GST_BUFFER_MALLOCDATA() is non-NULL, this pointer will
* also be freed at this time. * 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 */ /* copy buffer */
/** /**
@ -328,7 +337,7 @@ gst_buffer_ref (GstBuffer * buf)
* Create a copy of the given buffer. This will also make a newly allocated * Create a copy of the given buffer. This will also make a newly allocated
* copy of the data the source buffer contains. * 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: * gst_buffer_is_writable:
* @buf: a #GstBuffer * @buf: a #GstBuffer
@ -338,7 +347,7 @@ gst_buffer_ref (GstBuffer * buf)
* writable, but it is only safe to change it when there is only one owner * writable, but it is only safe to change it when there is only one owner
* of the buffer - ie, the refcount is 1. * 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: * gst_buffer_make_writable:
* @buf: a #GstBuffer * @buf: a #GstBuffer
@ -347,7 +356,7 @@ gst_buffer_ref (GstBuffer * buf)
* already writable, this will simply return the same buffer. A copy will * already writable, this will simply return the same buffer. A copy will
* otherwise be made using gst_buffer_copy(). * 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 /* Ensure that the metadata of the buffer is writable, even if the buffer data
* isn't */ * isn't */
@ -367,7 +376,7 @@ GstBuffer* gst_buffer_make_metadata_writable (GstBuffer *buf);
* *
* Either @nbuf or the #GstBuffer pointed to by @obuf may be NULL. * 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); GstCaps* gst_buffer_get_caps (GstBuffer *buffer);
void gst_buffer_set_caps (GstBuffer *buffer, GstCaps *caps); void gst_buffer_set_caps (GstBuffer *buffer, GstCaps *caps);
@ -387,7 +396,7 @@ GstBuffer* gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2,
* Sets @b as the value of @v, correclty incrementing the refcount of * Sets @b as the value of @v, correclty incrementing the refcount of
* the buffer. * 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: * gst_value_take_buffer:
* @v: a #GstValue to receive the data * @v: a #GstValue to receive the data
@ -396,7 +405,7 @@ GstBuffer* gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2,
* Sets @b as the value of @v, this function lets the GstValue * Sets @b as the value of @v, this function lets the GstValue
* take ownership of the buffer. * 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: * gst_value_get_buffer:
* @v: a #GstValue to qeury * @v: a #GstValue to qeury
@ -405,7 +414,7 @@ GstBuffer* gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2,
* increase the refcount of the returned buffer so the buffer remains * increase the refcount of the returned buffer so the buffer remains
* valid as long as you own a refcount to the GstValue. * 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 --- */ /* --- protected --- */
void _gst_buffer_initialize (void); void _gst_buffer_initialize (void);

View file

@ -94,6 +94,7 @@ struct _GstElementDetails
GstElementFactoryClass)) GstElementFactoryClass))
#define GST_IS_ELEMENT_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ELEMENT_FACTORY)) #define GST_IS_ELEMENT_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ELEMENT_FACTORY))
#define GST_IS_ELEMENT_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT_FACTORY)) #define GST_IS_ELEMENT_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT_FACTORY))
#define GST_ELEMENT_FACTORY_CAST(obj) ((GstElementFactory *)(obj))
/** /**
* GstElementFactory: * GstElementFactory:

View file

@ -67,7 +67,7 @@ typedef void (*GstMiniObjectFinalizeFunction) (GstMiniObject *obj);
* *
* This macro returns the entire set of flags for the mini-object. * This macro returns the entire set of flags for the mini-object.
*/ */
#define GST_MINI_OBJECT_FLAGS(obj) (GST_MINI_OBJECT(obj)->flags) #define GST_MINI_OBJECT_FLAGS(obj) (GST_MINI_OBJECT_CAST(obj)->flags)
/** /**
* GST_MINI_OBJECT_FLAG_IS_SET: * GST_MINI_OBJECT_FLAG_IS_SET:
* @obj: MiniObject to check for flags. * @obj: MiniObject to check for flags.

View file

@ -127,6 +127,7 @@ struct _GstPluginDesc {
#define GST_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PLUGIN, GstPluginClass)) #define GST_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PLUGIN, GstPluginClass))
#define GST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PLUGIN, GstPlugin)) #define GST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PLUGIN, GstPlugin))
#define GST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLUGIN, GstPluginClass)) #define GST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLUGIN, GstPluginClass))
#define GST_PLUGIN_CAST(obj) ((GstPlugin*)(obj))
/** /**
* GstPlugin: * GstPlugin:

View file

@ -35,6 +35,7 @@ G_BEGIN_DECLS
#define GST_PLUGIN_FEATURE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLUGIN_FEATURE, GstPluginFeatureClass)) #define GST_PLUGIN_FEATURE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLUGIN_FEATURE, GstPluginFeatureClass))
#define GST_IS_PLUGIN_FEATURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PLUGIN_FEATURE)) #define GST_IS_PLUGIN_FEATURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PLUGIN_FEATURE))
#define GST_PLUGIN_FEATURE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PLUGIN_FEATURE, GstPluginFeatureClass)) #define GST_PLUGIN_FEATURE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PLUGIN_FEATURE, GstPluginFeatureClass))
#define GST_PLUGIN_FEATURE_CAST(obj) ((GstPluginFeature*)(obj))
/** /**
* GST_PLUGIN_FEATURE_NAME: * GST_PLUGIN_FEATURE_NAME: