+2005-05-19 David Schleef <ds@schleef.org>
+
+ * gst/gstminiobject.c: (gst_value_set_mini_object),
+ (gst_value_take_mini_object), (gst_value_get_mini_object):
+ * gst/gstminiobject.h: Add GValue set/get functions.
+
2005-05-19 Wim Taymans <wim@fluendo.com>
* gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
return NULL;
}
+void
+gst_value_set_mini_object (GValue * value, GstMiniObject * mini_object)
+{
+ g_return_if_fail (GST_VALUE_HOLDS_MINI_OBJECT (value));
+ g_return_if_fail (mini_object == NULL || GST_IS_MINI_OBJECT (mini_object));
+
+ gst_mini_object_replace ((GstMiniObject **) & value->data[0].v_pointer,
+ mini_object);
+}
+
+void
+gst_value_take_mini_object (GValue * value, GstMiniObject * mini_object)
+{
+ g_return_if_fail (GST_VALUE_HOLDS_MINI_OBJECT (value));
+ g_return_if_fail (mini_object == NULL || GST_IS_MINI_OBJECT (mini_object));
+
+ gst_mini_object_replace ((GstMiniObject **) & value->data[0].v_pointer,
+ mini_object);
+ gst_mini_object_unref (mini_object);
+}
+
+GstMiniObject *
+gst_value_get_mini_object (const GValue * value)
+{
+ g_return_val_if_fail (GST_VALUE_HOLDS_MINI_OBJECT (value), NULL);
+
+ return value->data[0].v_pointer;
+}
+
/* param spec */
static GType gst_param_spec_mini_object_get_type (void);
#define GST_MINI_OBJECT_FLAG_SET(obj,flag) (GST_MINI_OBJECT_FLAGS (obj) |= (flag))
#define GST_MINI_OBJECT_FLAG_UNSET(obj,flag) (GST_MINI_OBJECT_FLAGS (obj) &= ~(flag))
+#define GST_VALUE_HOLDS_MINI_OBJECT(value) (G_VALUE_HOLDS(value, GST_TYPE_MINI_OBJECT))
+
typedef enum
{
GST_MINI_OBJECT_FLAG_READONLY = (1<<0),
GParamSpec * gst_param_spec_mini_object (const char *name, const char *nick,
const char *blurb, GType object_type, GParamFlags flags);
+void gst_value_set_mini_object (GValue *value, GstMiniObject *mini_object);
+void gst_value_take_mini_object (GValue *value, GstMiniObject *mini_object);
+GstMiniObject * gst_value_get_mini_object (const GValue *value);
+
+
G_END_DECLS
#endif