summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/elements/Makefile.am1
-rw-r--r--plugins/elements/gstdisksink.c66
-rw-r--r--plugins/elements/gstdisksink.h10
-rw-r--r--plugins/elements/gstdisksrc.c82
-rw-r--r--plugins/elements/gstdisksrc.h10
-rw-r--r--plugins/elements/gstelements.c2
-rw-r--r--plugins/elements/gstfakesink.c77
-rw-r--r--plugins/elements/gstfakesink.h10
-rw-r--r--plugins/elements/gstfakesrc.c136
-rw-r--r--plugins/elements/gstfakesrc.h10
-rw-r--r--plugins/elements/gstfdsink.c53
-rw-r--r--plugins/elements/gstfdsink.h10
-rw-r--r--plugins/elements/gstfdsrc.c71
-rw-r--r--plugins/elements/gstfdsrc.h10
-rw-r--r--plugins/elements/gsthttpsrc.c66
-rw-r--r--plugins/elements/gsthttpsrc.h10
-rw-r--r--plugins/elements/gstidentity.c73
-rw-r--r--plugins/elements/gstidentity.h10
-rw-r--r--plugins/elements/gstmultidisksrc.c68
-rw-r--r--plugins/elements/gstmultidisksrc.h10
-rw-r--r--plugins/elements/gstmultifilesrc.c68
-rw-r--r--plugins/elements/gstmultifilesrc.h10
-rw-r--r--plugins/elements/gstpipefilter.c57
-rw-r--r--plugins/elements/gstpipefilter.h10
-rw-r--r--plugins/elements/gstqueue.c131
-rw-r--r--plugins/elements/gstqueue.h10
-rw-r--r--plugins/elements/gstsinesrc.c110
-rw-r--r--plugins/elements/gstsinesrc.h10
-rw-r--r--plugins/elements/gsttee.c64
-rw-r--r--plugins/elements/gsttee.h10
30 files changed, 657 insertions, 608 deletions
diff --git a/plugins/elements/Makefile.am b/plugins/elements/Makefile.am
index e29530e069..156116a7df 100644
--- a/plugins/elements/Makefile.am
+++ b/plugins/elements/Makefile.am
@@ -39,6 +39,7 @@ noinst_HEADERS = \
gstsinesrc.h
CFLAGS += -O2 -Wall
+LDFLAGS += -lm
libgstelements_la_LIBADD = $(GHTTP_LIBS)
libgstelements_la_LDFLAGS = -version-info $(GST_LIBVERSION)
diff --git a/plugins/elements/gstdisksink.c b/plugins/elements/gstdisksink.c
index efd626d2ff..2922ccca17 100644
--- a/plugins/elements/gstdisksink.c
+++ b/plugins/elements/gstdisksink.c
@@ -51,8 +51,8 @@ enum {
static void gst_disksink_class_init (GstDiskSinkClass *klass);
static void gst_disksink_init (GstDiskSink *disksink);
-static void gst_disksink_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_disksink_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_disksink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_disksink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static gboolean gst_disksink_open_file (GstDiskSink *sink);
static void gst_disksink_close_file (GstDiskSink *sink);
@@ -64,23 +64,23 @@ static GstElementStateReturn gst_disksink_change_state (GstElement *element);
static GstElementClass *parent_class = NULL;
static guint gst_disksink_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_disksink_get_type (void)
{
- static GtkType disksink_type = 0;
+ static GType disksink_type = 0;
if (!disksink_type) {
- static const GtkTypeInfo disksink_info = {
- "GstDiskSink",
+ static const GTypeInfo disksink_info = {
+ sizeof(GstDiskSinkClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_disksink_class_init,
+ NULL,
+ NULL,
sizeof(GstDiskSink),
- sizeof(GstDiskSinkClass),
- (GtkClassInitFunc)gst_disksink_class_init,
- (GtkObjectInitFunc)gst_disksink_init,
- (GtkArgSetFunc)gst_disksink_set_arg,
- (GtkArgGetFunc)gst_disksink_get_arg,
- (GtkClassInitFunc)NULL, /* deprecated, do not use ! */
+ 0,
+ (GInstanceInitFunc)gst_disksink_init,
};
- disksink_type = gtk_type_unique (GST_TYPE_ELEMENT, &disksink_info);
+ disksink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstDiskSink", &disksink_info, 0);
}
return disksink_type;
}
@@ -88,27 +88,25 @@ gst_disksink_get_type (void)
static void
gst_disksink_class_init (GstDiskSinkClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstDiskSink::location", GST_TYPE_FILENAME,
- GTK_ARG_READWRITE, ARG_LOCATION);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION,
+ g_param_spec_string("location","location","location",
+ NULL,G_PARAM_READWRITE)); // CHECKME!
gst_disksink_signals[SIGNAL_HANDOFF] =
- gtk_signal_new ("handoff", GTK_RUN_LAST, gtkobject_class->type,
- GTK_SIGNAL_OFFSET (GstDiskSinkClass, handoff),
- gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0);
+ g_signal_newc ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GstDiskSinkClass, handoff), NULL, NULL,
+ g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
- gtk_object_class_add_signals (gtkobject_class, gst_disksink_signals,
- LAST_SIGNAL);
-
- gtkobject_class->set_arg = gst_disksink_set_arg;
- gtkobject_class->get_arg = gst_disksink_get_arg;
+ gobject_class->set_property = gst_disksink_set_property;
+ gobject_class->get_property = gst_disksink_get_property;
gstelement_class->change_state = gst_disksink_change_state;
}
@@ -126,21 +124,21 @@ gst_disksink_init (GstDiskSink *disksink)
}
static void
-gst_disksink_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_disksink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstDiskSink *sink;
/* it's not null if we got it, but it might not be ours */
sink = GST_DISKSINK (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LOCATION:
/* the element must be stopped or paused in order to do this */
g_return_if_fail ((GST_STATE (sink) < GST_STATE_PLAYING)
|| (GST_STATE (sink) == GST_STATE_PAUSED));
if (sink->filename)
g_free (sink->filename);
- sink->filename = g_strdup (GTK_VALUE_STRING (*arg));
+ sink->filename = g_strdup (g_value_get_string (value));
if ( (GST_STATE (sink) == GST_STATE_PAUSED)
&& (sink->filename != NULL))
{
@@ -155,7 +153,7 @@ gst_disksink_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_disksink_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_disksink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstDiskSink *sink;
@@ -164,12 +162,12 @@ gst_disksink_get_arg (GtkObject *object, GtkArg *arg, guint id)
sink = GST_DISKSINK (object);
- switch (id) {
+ switch (prop_id) {
case ARG_LOCATION:
- GTK_VALUE_STRING (*arg) = sink->filename;
+ g_value_set_string (value, sink->filename);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
@@ -237,7 +235,7 @@ gst_disksink_chain (GstPad *pad, GstBuffer *buf)
}
gst_buffer_unref (buf);
- gtk_signal_emit (GTK_OBJECT (disksink), gst_disksink_signals[SIGNAL_HANDOFF],
+ g_signal_emit (G_OBJECT (disksink), gst_disksink_signals[SIGNAL_HANDOFF], 0,
disksink);
}
diff --git a/plugins/elements/gstdisksink.h b/plugins/elements/gstdisksink.h
index 15f3d3213a..1797135691 100644
--- a/plugins/elements/gstdisksink.h
+++ b/plugins/elements/gstdisksink.h
@@ -40,13 +40,13 @@ GstElementDetails gst_disksink_details;
#define GST_TYPE_DISKSINK \
(gst_disksink_get_type())
#define GST_DISKSINK(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_DISKSINK,GstDiskSink))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISKSINK,GstDiskSink))
#define GST_DISKSINK_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSINK,GstDiskSinkClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSINK,GstDiskSinkClass))
#define GST_IS_DISKSINK(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_DISKSINK))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISKSINK))
#define GST_IS_DISKSINK_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSINK))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSINK))
typedef struct _GstDiskSink GstDiskSink;
typedef struct _GstDiskSinkClass GstDiskSinkClass;
@@ -71,7 +71,7 @@ struct _GstDiskSinkClass {
void (*handoff) (GstElement *element,GstPad *pad);
};
-GtkType gst_disksink_get_type(void);
+GType gst_disksink_get_type(void);
#ifdef __cplusplus
diff --git a/plugins/elements/gstdisksrc.c b/plugins/elements/gstdisksrc.c
index 694d3e39f0..259473e750 100644
--- a/plugins/elements/gstdisksrc.c
+++ b/plugins/elements/gstdisksrc.c
@@ -59,8 +59,8 @@ enum {
static void gst_disksrc_class_init (GstDiskSrcClass *klass);
static void gst_disksrc_init (GstDiskSrc *disksrc);
-static void gst_disksrc_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_disksrc_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_disksrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_disksrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static GstBuffer * gst_disksrc_get (GstPad *pad);
static GstBuffer * gst_disksrc_get_region (GstPad *pad,GstRegionType type,guint64 offset,guint64 len);
@@ -73,23 +73,23 @@ static void gst_disksrc_close_file (GstDiskSrc *src);
static GstElementClass *parent_class = NULL;
//static guint gst_disksrc_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_disksrc_get_type(void)
{
- static GtkType disksrc_type = 0;
+ static GType disksrc_type = 0;
if (!disksrc_type) {
- static const GtkTypeInfo disksrc_info = {
- "GstDiskSrc",
+ static const GTypeInfo disksrc_info = {
+ sizeof(GstDiskSrcClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_disksrc_class_init,
+ NULL,
+ NULL,
sizeof(GstDiskSrc),
- sizeof(GstDiskSrcClass),
- (GtkClassInitFunc)gst_disksrc_class_init,
- (GtkObjectInitFunc)gst_disksrc_init,
- (GtkArgSetFunc)gst_disksrc_set_arg,
- (GtkArgGetFunc)gst_disksrc_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_disksrc_init,
};
- disksrc_type = gtk_type_unique (GST_TYPE_ELEMENT, &disksrc_info);
+ disksrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstDiskSrc", &disksrc_info, 0);
}
return disksrc_type;
}
@@ -97,25 +97,29 @@ gst_disksrc_get_type(void)
static void
gst_disksrc_class_init (GstDiskSrcClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstDiskSrc::location", GST_TYPE_FILENAME,
- GTK_ARG_READWRITE, ARG_LOCATION);
- gtk_object_add_arg_type ("GstDiskSrc::bytesperread", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_BYTESPERREAD);
- gtk_object_add_arg_type ("GstDiskSrc::offset", GTK_TYPE_LONG,
- GTK_ARG_READWRITE, ARG_OFFSET);
- gtk_object_add_arg_type ("GstDiskSrc::size", GTK_TYPE_LONG,
- GTK_ARG_READABLE, ARG_SIZE);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION,
+ g_param_spec_string("location","location","location",
+ NULL,G_PARAM_READWRITE)); // CHECKME!
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BYTESPERREAD,
+ g_param_spec_int("bytesperread","bytesperread","bytesperread",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET,
+ g_param_spec_long("offset","offset","offset",
+ G_MINLONG,G_MAXLONG,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SIZE,
+ g_param_spec_long("size","size","size",
+ G_MINLONG,G_MAXLONG,0,G_PARAM_READABLE)); // CHECKME
- gtkobject_class->set_arg = gst_disksrc_set_arg;
- gtkobject_class->get_arg = gst_disksrc_get_arg;
+ gobject_class->set_property = gst_disksrc_set_property;
+ gobject_class->get_property = gst_disksrc_get_property;
gstelement_class->change_state = gst_disksrc_change_state;
}
@@ -142,7 +146,7 @@ gst_disksrc_init (GstDiskSrc *disksrc)
static void
-gst_disksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_disksrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstDiskSrc *src;
@@ -151,7 +155,7 @@ gst_disksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_DISKSRC (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LOCATION:
/* the element must be stopped or paused in order to do this */
g_return_if_fail ((GST_STATE (src) < GST_STATE_PLAYING)
@@ -159,12 +163,12 @@ gst_disksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
if (src->filename) g_free (src->filename);
/* clear the filename if we get a NULL (is that possible?) */
- if (GTK_VALUE_STRING (*arg) == NULL) {
+ if (g_value_get_string (value) == NULL) {
gst_element_set_state (GST_ELEMENT (object), GST_STATE_NULL);
src->filename = NULL;
/* otherwise set the new filename */
} else {
- src->filename = g_strdup (GTK_VALUE_STRING (*arg));
+ src->filename = g_strdup (g_value_get_string (value));
}
if ((GST_STATE (src) == GST_STATE_PAUSED) && (src->filename != NULL))
{
@@ -173,10 +177,10 @@ gst_disksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
break;
case ARG_BYTESPERREAD:
- src->bytes_per_read = GTK_VALUE_INT (*arg);
+ src->bytes_per_read = g_value_get_int (value);
break;
case ARG_OFFSET:
- src->curoffset = GTK_VALUE_LONG (*arg);
+ src->curoffset = g_value_get_long (value);
src->new_seek = TRUE;
break;
default:
@@ -185,7 +189,7 @@ gst_disksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_disksrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_disksrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstDiskSrc *src;
@@ -194,21 +198,21 @@ gst_disksrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_DISKSRC (object);
- switch (id) {
+ switch (prop_id) {
case ARG_LOCATION:
- GTK_VALUE_STRING (*arg) = src->filename;
+ g_value_set_string (value, src->filename);
break;
case ARG_BYTESPERREAD:
- GTK_VALUE_INT (*arg) = src->bytes_per_read;
+ g_value_set_int (value, src->bytes_per_read);
break;
case ARG_OFFSET:
- GTK_VALUE_LONG (*arg) = src->curoffset;
+ g_value_set_long (value, src->curoffset);
break;
case ARG_SIZE:
- GTK_VALUE_LONG (*arg) = src->size;
+ g_value_set_long (value, src->size);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
diff --git a/plugins/elements/gstdisksrc.h b/plugins/elements/gstdisksrc.h
index e049a10d7b..155a362c2d 100644
--- a/plugins/elements/gstdisksrc.h
+++ b/plugins/elements/gstdisksrc.h
@@ -38,13 +38,13 @@ GstElementDetails gst_disksrc_details;
#define GST_TYPE_DISKSRC \
(gst_disksrc_get_type())
#define GST_DISKSRC(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_DISKSRC,GstDiskSrc))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DISKSRC,GstDiskSrc))
#define GST_DISKSRC_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSRC,GstDiskSrcClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSRC,GstDiskSrcClass))
#define GST_IS_DISKSRC(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_DISKSRC))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DISKSRC))
#define GST_IS_DISKSRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC))
typedef enum {
GST_DISKSRC_OPEN = GST_ELEMENT_FLAG_LAST,
@@ -81,7 +81,7 @@ struct _GstDiskSrcClass {
GstElementClass parent_class;
};
-GtkType gst_disksrc_get_type(void);
+GType gst_disksrc_get_type(void);
#ifdef __cplusplus
}
diff --git a/plugins/elements/gstelements.c b/plugins/elements/gstelements.c
index 6a46c6763b..b1bf952c33 100644
--- a/plugins/elements/gstelements.c
+++ b/plugins/elements/gstelements.c
@@ -42,7 +42,7 @@
struct _elements_entry {
gchar *name;
- GtkType (*type) (void);
+ GType (*type) (void);
GstElementDetails *details;
gboolean (*factoryinit) (GstElementFactory *factory);
};
diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c
index 1d228653a4..913c303fd0 100644
--- a/plugins/elements/gstfakesink.c
+++ b/plugins/elements/gstfakesink.c
@@ -51,31 +51,31 @@ enum {
static void gst_fakesink_class_init (GstFakeSinkClass *klass);
static void gst_fakesink_init (GstFakeSink *fakesink);
-static void gst_fakesink_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_fakesink_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_fakesink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_fakesink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static void gst_fakesink_chain (GstPad *pad,GstBuffer *buf);
static GstElementClass *parent_class = NULL;
static guint gst_fakesink_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_fakesink_get_type (void)
{
- static GtkType fakesink_type = 0;
+ static GType fakesink_type = 0;
if (!fakesink_type) {
- static const GtkTypeInfo fakesink_info = {
- "GstFakeSink",
+ static const GTypeInfo fakesink_info = {
+ sizeof(GstFakeSinkClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_fakesink_class_init,
+ NULL,
+ NULL,
sizeof(GstFakeSink),
- sizeof(GstFakeSinkClass),
- (GtkClassInitFunc)gst_fakesink_class_init,
- (GtkObjectInitFunc)gst_fakesink_init,
- (GtkArgSetFunc)NULL,
- (GtkArgGetFunc)NULL,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_fakesink_init,
};
- fakesink_type = gtk_type_unique (GST_TYPE_ELEMENT, &fakesink_info);
+ fakesink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFakeSink", &fakesink_info, 0);
}
return fakesink_type;
}
@@ -83,28 +83,27 @@ gst_fakesink_get_type (void)
static void
gst_fakesink_class_init (GstFakeSinkClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstFakeSink::num_sources", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_NUM_SOURCES);
- gtk_object_add_arg_type ("GstFakeSink::silent", GTK_TYPE_BOOL,
- GTK_ARG_READWRITE, ARG_SILENT);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NUM_SOURCES,
+ g_param_spec_int("num_sources","num_sources","num_sources",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SILENT,
+ g_param_spec_boolean("silent","silent","silent",
+ TRUE,G_PARAM_READWRITE)); // CHECKME
gst_fakesink_signals[SIGNAL_HANDOFF] =
- gtk_signal_new ("handoff", GTK_RUN_LAST, gtkobject_class->type,
- GTK_SIGNAL_OFFSET (GstFakeSinkClass, handoff),
- gtk_marshal_NONE__POINTER, GTK_TYPE_NONE, 1,
- GTK_TYPE_POINTER);
+ g_signal_newc ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GstFakeSinkClass, handoff), NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
- gtk_object_class_add_signals (gtkobject_class, gst_fakesink_signals,
- LAST_SIGNAL);
-
- gtkobject_class->set_arg = gst_fakesink_set_arg;
- gtkobject_class->get_arg = gst_fakesink_get_arg;
+ gobject_class->set_property = gst_fakesink_set_property;
+ gobject_class->get_property = gst_fakesink_get_property;
}
static void
@@ -123,7 +122,7 @@ gst_fakesink_init (GstFakeSink *fakesink)
}
static void
-gst_fakesink_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fakesink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstFakeSink *sink;
gint new_numsinks;
@@ -132,9 +131,9 @@ gst_fakesink_set_arg (GtkObject *object, GtkArg *arg, guint id)
/* it's not null if we got it, but it might not be ours */
sink = GST_FAKESINK (object);
- switch(id) {
+ switch (prop_id) {
case ARG_NUM_SOURCES:
- new_numsinks = GTK_VALUE_INT (*arg);
+ new_numsinks = g_value_get_int (value);
while (sink->numsinkpads < new_numsinks) {
pad = gst_pad_new (g_strdup_printf ("sink%d", sink->numsinkpads), GST_PAD_SINK);
gst_pad_set_chain_function (pad, gst_fakesink_chain);
@@ -144,7 +143,7 @@ gst_fakesink_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
break;
case ARG_SILENT:
- sink->silent = GTK_VALUE_BOOL (*arg);
+ sink->silent = g_value_get_boolean (value);
break;
default:
break;
@@ -152,7 +151,7 @@ gst_fakesink_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_fakesink_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fakesink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstFakeSink *sink;
@@ -161,15 +160,15 @@ gst_fakesink_get_arg (GtkObject *object, GtkArg *arg, guint id)
sink = GST_FAKESINK (object);
- switch (id) {
+ switch (prop_id) {
case ARG_NUM_SOURCES:
- GTK_VALUE_INT (*arg) = sink->numsinkpads;
+ g_value_set_int (value, sink->numsinkpads);
break;
case ARG_SILENT:
- GTK_VALUE_BOOL (*arg) = sink->silent;
+ g_value_set_boolean (value, sink->silent);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
@@ -195,7 +194,7 @@ gst_fakesink_chain (GstPad *pad, GstBuffer *buf)
if (!fakesink->silent)
g_print("fakesink: ******* (%s:%s)< (%d bytes) \n",GST_DEBUG_PAD_NAME(pad),GST_BUFFER_SIZE(buf));
- gtk_signal_emit (GTK_OBJECT (fakesink), gst_fakesink_signals[SIGNAL_HANDOFF],
+ g_signal_emit (G_OBJECT (fakesink), gst_fakesink_signals[SIGNAL_HANDOFF], 0,
buf);
gst_buffer_unref (buf);
diff --git a/plugins/elements/gstfakesink.h b/plugins/elements/gstfakesink.h
index 37fa1f2274..483f948fb3 100644
--- a/plugins/elements/gstfakesink.h
+++ b/plugins/elements/gstfakesink.h
@@ -40,13 +40,13 @@ GstElementDetails gst_fakesink_details;
#define GST_TYPE_FAKESINK \
(gst_fakesink_get_type())
#define GST_FAKESINK(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_FAKESINK,GstFakeSink))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FAKESINK,GstFakeSink))
#define GST_FAKESINK_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESINK,GstFakeSinkClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESINK,GstFakeSinkClass))
#define GST_IS_FAKESINK(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESINK))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FAKESINK))
#define GST_IS_FAKESINK_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESINK))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESINK))
typedef struct _GstFakeSink GstFakeSink;
typedef struct _GstFakeSinkClass GstFakeSinkClass;
@@ -66,7 +66,7 @@ struct _GstFakeSinkClass {
void (*handoff) (GstElement *element, GstBuffer *buf, GstPad *pad);
};
-GtkType gst_fakesink_get_type(void);
+GType gst_fakesink_get_type(void);
#ifdef __cplusplus
diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c
index 97570bbb8f..a8496a5cb8 100644
--- a/plugins/elements/gstfakesrc.c
+++ b/plugins/elements/gstfakesrc.c
@@ -54,10 +54,10 @@ enum {
};
#define GST_TYPE_FAKESRC_OUTPUT (gst_fakesrc_output_get_type())
-static GtkType
+static GType
gst_fakesrc_output_get_type(void) {
- static GtkType fakesrc_output_type = 0;
- static GtkEnumValue fakesrc_output[] = {
+ static GType fakesrc_output_type = 0;
+ static GEnumValue fakesrc_output[] = {
{ FAKESRC_FIRST_LAST_LOOP, "1", "First-Last loop"},
{ FAKESRC_LAST_FIRST_LOOP, "2", "Last-First loop"},
{ FAKESRC_PING_PONG, "3", "Ping-Pong"},
@@ -69,7 +69,7 @@ gst_fakesrc_output_get_type(void) {
{0, NULL, NULL},
};
if (!fakesrc_output_type) {
- fakesrc_output_type = gtk_type_register_enum("GstFakeSrcOutput", fakesrc_output);
+ fakesrc_output_type = g_enum_register_static("GstFakeSrcOutput", fakesrc_output);
}
return fakesrc_output_type;
}
@@ -77,8 +77,8 @@ gst_fakesrc_output_get_type(void) {
static void gst_fakesrc_class_init (GstFakeSrcClass *klass);
static void gst_fakesrc_init (GstFakeSrc *fakesrc);
-static void gst_fakesrc_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_fakesrc_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_fakesrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_fakesrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static GstBuffer* gst_fakesrc_get (GstPad *pad);
static void gst_fakesrc_loop (GstElement *element);
@@ -86,23 +86,24 @@ static void gst_fakesrc_loop (GstElement *element);
static GstElementClass *parent_class = NULL;
static guint gst_fakesrc_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_fakesrc_get_type (void)
{
- static GtkType fakesrc_type = 0;
+ static GType fakesrc_type = 0;
if (!fakesrc_type) {
- static const GtkTypeInfo fakesrc_info = {
- "GstFakeSrc",
- sizeof(GstFakeSrc),
+ static const GTypeInfo fakesrc_info = {
sizeof(GstFakeSrcClass),
- (GtkClassInitFunc)gst_fakesrc_class_init,
- (GtkObjectInitFunc)gst_fakesrc_init,
- (GtkArgSetFunc)NULL,
- (GtkArgGetFunc)NULL,
- (GtkClassInitFunc)NULL,
+ NULL,
+ NULL,
+ (GClassInitFunc)gst_fakesrc_class_init,
+ NULL,
+ NULL,
+ sizeof(GstFakeSrc),
+ 0,
+ (GInstanceInitFunc)gst_fakesrc_init,
};
- fakesrc_type = gtk_type_unique (GST_TYPE_ELEMENT, &fakesrc_info);
+ fakesrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFakeSrc", &fakesrc_info, 0);
}
return fakesrc_type;
}
@@ -110,38 +111,42 @@ gst_fakesrc_get_type (void)
static void
gst_fakesrc_class_init (GstFakeSrcClass *klass)
{
- GtkObjectClass *gtkobject_class;
-
- gtkobject_class = (GtkObjectClass*)klass;
-
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
-
- gtk_object_add_arg_type ("GstFakeSrc::num_sources", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_NUM_SOURCES);
- gtk_object_add_arg_type ("GstFakeSrc::loop_based", GTK_TYPE_BOOL,
- GTK_ARG_READWRITE, ARG_LOOP_BASED);
- gtk_object_add_arg_type ("GstFakeSrc::output", GST_TYPE_FAKESRC_OUTPUT,
- GTK_ARG_READWRITE, ARG_OUTPUT);
- gtk_object_add_arg_type ("GstFakeSrc::pattern", GTK_TYPE_STRING,
- GTK_ARG_READWRITE, ARG_PATTERN);
- gtk_object_add_arg_type ("GstFakeSrc::num_buffers", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_NUM_BUFFERS);
- gtk_object_add_arg_type ("GstFakeSrc::eos", GTK_TYPE_BOOL,
- GTK_ARG_READWRITE, ARG_EOS);
- gtk_object_add_arg_type ("GstFakeSrc::silent", GTK_TYPE_BOOL,
- GTK_ARG_READWRITE, ARG_SILENT);
-
- gtkobject_class->set_arg = gst_fakesrc_set_arg;
- gtkobject_class->get_arg = gst_fakesrc_get_arg;
+ GObjectClass *gobject_class;
+
+ gobject_class = (GObjectClass*)klass;
+
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
+
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NUM_SOURCES,
+ g_param_spec_int("num_sources","num_sources","num_sources",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOOP_BASED,
+ g_param_spec_boolean("loop_based","loop_based","loop_based",
+ TRUE,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OUTPUT,
+ g_param_spec_enum("output","output","output",
+ GST_TYPE_FAKESRC_OUTPUT,FAKESRC_FIRST_LAST_LOOP,G_PARAM_READWRITE)); // CHECKME!
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PATTERN,
+ g_param_spec_string("pattern","pattern","pattern",
+ NULL, G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NUM_BUFFERS,
+ g_param_spec_int("num_buffers","num_buffers","num_buffers",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_EOS,
+ g_param_spec_boolean("eos","eos","eos",
+ TRUE,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SILENT,
+ g_param_spec_boolean("silent","silent","silent",
+ TRUE,G_PARAM_READWRITE)); // CHECKME
gst_fakesrc_signals[SIGNAL_HANDOFF] =
- gtk_signal_new ("handoff", GTK_RUN_LAST, gtkobject_class->type,
- GTK_SIGNAL_OFFSET (GstFakeSrcClass, handoff),
- gtk_marshal_NONE__POINTER, GTK_TYPE_NONE, 1,
- GTK_TYPE_POINTER);
+ g_signal_newc ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GstFakeSrcClass, handoff), NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
- gtk_object_class_add_signals (gtkobject_class, gst_fakesrc_signals,
- LAST_SIGNAL);
+ gobject_class->set_property = gst_fakesrc_set_property;
+ gobject_class->get_property = gst_fakesrc_get_property;
}
static void
@@ -192,7 +197,7 @@ gst_fakesrc_update_functions (GstFakeSrc *src)
}
static void
-gst_fakesrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fakesrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstFakeSrc *src;
gint new_numsrcs;
@@ -201,9 +206,9 @@ gst_fakesrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
/* it's not null if we got it, but it might not be ours */
src = GST_FAKESRC (object);
- switch(id) {
+ switch (prop_id) {
case ARG_NUM_SOURCES:
- new_numsrcs = GTK_VALUE_INT (*arg);
+ new_numsrcs = g_value_get_int (value);
if (new_numsrcs > src->numsrcpads) {
while (src->numsrcpads != new_numsrcs) {
pad = gst_pad_new(g_strdup_printf("src%d",src->numsrcpads),GST_PAD_SRC);
@@ -215,7 +220,7 @@ gst_fakesrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
break;
case ARG_LOOP_BASED:
- src->loop_based = GTK_VALUE_BOOL (*arg);
+ src->loop_based = g_value_get_boolean (value);
gst_fakesrc_update_functions (src);
break;
case ARG_OUTPUT:
@@ -223,14 +228,14 @@ gst_fakesrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
case ARG_PATTERN:
break;
case ARG_NUM_BUFFERS:
- src->num_buffers = GTK_VALUE_INT (*arg);
+ src->num_buffers = g_value_get_int (value);
break;
case ARG_EOS:
- src->eos = GTK_VALUE_BOOL (*arg);
+ src->eos = g_value_get_boolean (value);
GST_INFO (0, "will EOS on next buffer");
break;
case ARG_SILENT:
- src->silent = GTK_VALUE_BOOL (*arg);
+ src->silent = g_value_get_boolean (value);
break;
default:
break;
@@ -238,7 +243,7 @@ GST_INFO (0, "will EOS on next buffer");
}
static void
-gst_fakesrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fakesrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstFakeSrc *src;
@@ -247,29 +252,30 @@ gst_fakesrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_FAKESRC (object);
- switch (id) {
+ switch (prop_id) {
case ARG_NUM_SOURCES:
- GTK_VALUE_INT (*arg) = src->numsrcpads;
+ g_value_set_int (value, src->numsrcpads);
break;
case ARG_LOOP_BASED:
- GTK_VALUE_BOOL (*arg) = src->loop_based;
+ g_value_set_boolean (value, src->loop_based);
break;
case ARG_OUTPUT:
- GTK_VALUE_INT (*arg) = src->output;
+ g_value_set_int (value, src->output);
break;
case ARG_PATTERN:
- GTK_VALUE_STRING (*arg) = src->pattern;
+ g_value_set_string (value, src->pattern);
break;
case ARG_NUM_BUFFERS:
- GTK_VALUE_INT (*arg) = src->num_buffers;
+ g_value_set_int (value, src->num_buffers);
break;
case ARG_EOS:
- GTK_VALUE_BOOL (*arg) = src->eos;
+ g_value_set_boolean (value, src->eos);
+ break;
case ARG_SILENT:
- GTK_VALUE_BOOL (*arg) = src->silent;
+ g_value_set_boolean (value, src->silent);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
@@ -314,7 +320,7 @@ gst_fakesrc_get(GstPad *pad)
g_print("fakesrc: ******* (%s:%s)> \n",GST_DEBUG_PAD_NAME(pad));
buf = gst_buffer_new();
- gtk_signal_emit (GTK_OBJECT (src), gst_fakesrc_signals[SIGNAL_HANDOFF],
+ g_signal_emit (G_OBJECT (src), gst_fakesrc_signals[SIGNAL_HANDOFF], 0,
buf);
return buf;
@@ -364,7 +370,7 @@ gst_fakesrc_loop(GstElement *element)
if (!src->silent)
g_print("fakesrc: ******* (%s:%s)> \n",GST_DEBUG_PAD_NAME(pad));
- gtk_signal_emit (GTK_OBJECT (src), gst_fakesrc_signals[SIGNAL_HANDOFF],
+ g_signal_emit (G_OBJECT (src), gst_fakesrc_signals[SIGNAL_HANDOFF], 0,
buf);
gst_pad_push (pad, buf);
diff --git a/plugins/elements/gstfakesrc.h b/plugins/elements/gstfakesrc.h
index ba92f631b6..dc327e2904 100644
--- a/plugins/elements/gstfakesrc.h
+++ b/plugins/elements/gstfakesrc.h
@@ -50,13 +50,13 @@ typedef enum {
#define GST_TYPE_FAKESRC \
(gst_fakesrc_get_type())
#define GST_FAKESRC(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_FAKESRC,GstFakeSrc))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FAKESRC,GstFakeSrc))
#define GST_FAKESRC_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESRC,GstFakeSrcClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESRC,GstFakeSrcClass))
#define GST_IS_FAKESRC(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESRC))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FAKESRC))
#define GST_IS_FAKESRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESRC))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESRC))
typedef struct _GstFakeSrc GstFakeSrc;
typedef struct _GstFakeSrcClass GstFakeSrcClass;
@@ -82,7 +82,7 @@ struct _GstFakeSrcClass {
void (*handoff) (GstElement *element, GstBuffer *buf, GstPad *pad);
};
-GtkType gst_fakesrc_get_type(void);
+GType gst_fakesrc_get_type(void);
#ifdef __cplusplus
}
diff --git a/plugins/elements/gstfdsink.c b/plugins/elements/gstfdsink.c
index 1b6fed7bc9..256e6a85af 100644
--- a/plugins/elements/gstfdsink.c
+++ b/plugins/elements/gstfdsink.c
@@ -49,31 +49,31 @@ enum {
static void gst_fdsink_class_init (GstFdSinkClass *klass);
static void gst_fdsink_init (GstFdSink *fdsink);
-static void gst_fdsink_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_fdsink_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_fdsink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_fdsink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static void gst_fdsink_chain (GstPad *pad,GstBuffer *buf);
static GstElementClass *parent_class = NULL;
//static guint gst_fdsink_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_fdsink_get_type (void)
{
- static GtkType fdsink_type = 0;
+ static GType fdsink_type = 0;
if (!fdsink_type) {
- static const GtkTypeInfo fdsink_info = {
- "GstFdSink",
+ static const GTypeInfo fdsink_info = {
+ sizeof(GstFdSinkClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_fdsink_class_init,
+ NULL,
+ NULL,
sizeof(GstFdSink),
- sizeof(GstFdSinkClass),
- (GtkClassInitFunc)gst_fdsink_class_init,
- (GtkObjectInitFunc)gst_fdsink_init,
- (GtkArgSetFunc)gst_fdsink_set_arg,
- (GtkArgGetFunc)gst_fdsink_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_fdsink_init,
};
- fdsink_type = gtk_type_unique (GST_TYPE_ELEMENT, &fdsink_info);
+ fdsink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFdSink", &fdsink_info, 0);
}
return fdsink_type;
}
@@ -81,17 +81,18 @@ gst_fdsink_get_type (void)
static void
gst_fdsink_class_init (GstFdSinkClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstFdSink::fd", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_FD);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FD,
+ g_param_spec_int("fd","fd","fd",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
- gtkobject_class->set_arg = gst_fdsink_set_arg;
- gtkobject_class->get_arg = gst_fdsink_get_arg;
+ gobject_class->set_property = gst_fdsink_set_property;
+ gobject_class->get_property = gst_fdsink_get_property;
}
static void
@@ -126,7 +127,7 @@ gst_fdsink_chain (GstPad *pad, GstBuffer *buf)
}
static void
-gst_fdsink_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fdsink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstFdSink *fdsink;
@@ -135,9 +136,9 @@ gst_fdsink_set_arg (GtkObject *object, GtkArg *arg, guint id)
fdsink = GST_FDSINK (object);
- switch(id) {
+ switch (prop_id) {
case ARG_FD:
- fdsink->fd = GTK_VALUE_INT (*arg);
+ fdsink->fd = g_value_get_int (value);
break;
default:
break;
@@ -145,7 +146,7 @@ gst_fdsink_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_fdsink_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fdsink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstFdSink *fdsink;
@@ -154,9 +155,9 @@ gst_fdsink_get_arg (GtkObject *object, GtkArg *arg, guint id)
fdsink = GST_FDSINK (object);
- switch(id) {
+ switch (prop_id) {
case ARG_FD:
- GTK_VALUE_INT (*arg) = fdsink->fd;
+ g_value_set_int (value, fdsink->fd);
break;
default:
break;
diff --git a/plugins/elements/gstfdsink.h b/plugins/elements/gstfdsink.h
index 3a18efb075..8cf98c2c45 100644
--- a/plugins/elements/gstfdsink.h
+++ b/plugins/elements/gstfdsink.h
@@ -40,13 +40,13 @@ GstElementDetails gst_fdsink_details;
#define GST_TYPE_FDSINK \
(gst_fdsink_get_type())
#define GST_FDSINK(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_FDSINK,GstFdSink))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FDSINK,GstFdSink))
#define GST_FDSINK_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSINK,GstFdSinkClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FDSINK,GstFdSinkClass))
#define GST_IS_FDSINK(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_FDSINK))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FDSINK))
#define GST_IS_FDSINK_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSINK))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSINK))
typedef struct _GstFdSink GstFdSink;
typedef struct _GstFdSinkClass GstFdSinkClass;
@@ -63,7 +63,7 @@ struct _GstFdSinkClass {
GstElementClass parent_class;
};
-GtkType gst_fdsink_get_type(void);
+GType gst_fdsink_get_type(void);
#ifdef __cplusplus
diff --git a/plugins/elements/gstfdsrc.c b/plugins/elements/gstfdsrc.c
index b256890b49..658a89485a 100644
--- a/plugins/elements/gstfdsrc.c
+++ b/plugins/elements/gstfdsrc.c
@@ -57,8 +57,8 @@ enum {
static void gst_fdsrc_class_init (GstFdSrcClass *klass);
static void gst_fdsrc_init (GstFdSrc *fdsrc);
-static void gst_fdsrc_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_fdsrc_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_fdsrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_fdsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static GstBuffer * gst_fdsrc_get (GstPad *pad);
@@ -66,23 +66,23 @@ static GstBuffer * gst_fdsrc_get (GstPad *pad);
static GstElementClass *parent_class = NULL;
//static guint gst_fdsrc_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_fdsrc_get_type (void)
{
- static GtkType fdsrc_type = 0;
+ static GType fdsrc_type = 0;
if (!fdsrc_type) {
- static const GtkTypeInfo fdsrc_info = {
- "GstFdSrc",
+ static const GTypeInfo fdsrc_info = {
+ sizeof(GstFdSrcClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_fdsrc_class_init,
+ NULL,
+ NULL,
sizeof(GstFdSrc),
- sizeof(GstFdSrcClass),
- (GtkClassInitFunc)gst_fdsrc_class_init,
- (GtkObjectInitFunc)gst_fdsrc_init,
- (GtkArgSetFunc)gst_fdsrc_set_arg,
- (GtkArgGetFunc)gst_fdsrc_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_fdsrc_init,
};
- fdsrc_type = gtk_type_unique (GST_TYPE_ELEMENT, &fdsrc_info);
+ fdsrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFdSrc", &fdsrc_info, 0);
}
return fdsrc_type;
}
@@ -90,21 +90,24 @@ gst_fdsrc_get_type (void)
static void
gst_fdsrc_class_init (GstFdSrcClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
- parent_class = gtk_type_class(GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstFdSrc::location", GST_TYPE_FILENAME,
- GTK_ARG_WRITABLE, ARG_LOCATION);
- gtk_object_add_arg_type ("GstFdSrc::bytesperread", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_BYTESPERREAD);
- gtk_object_add_arg_type ("GstFdSrc::offset", GTK_TYPE_INT,
- GTK_ARG_READABLE, ARG_OFFSET);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION,
+ g_param_spec_string("location","location","location",
+ "",G_PARAM_WRITABLE)); // CHECKME!
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BYTESPERREAD,
+ g_param_spec_int("bytesperread","bytesperread","bytesperread",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET,
+ g_param_spec_int("offset","offset","offset",
+ G_MININT,G_MAXINT,0,G_PARAM_READABLE)); // CHECKME
- gtkobject_class->set_arg = gst_fdsrc_set_arg;
- gtkobject_class->get_arg = gst_fdsrc_get_arg;
+ gobject_class->set_property = gst_fdsrc_set_property;
+ gobject_class->get_property = gst_fdsrc_get_property;
}
static void gst_fdsrc_init(GstFdSrc *fdsrc) {
@@ -120,7 +123,7 @@ static void gst_fdsrc_init(GstFdSrc *fdsrc) {
static void
-gst_fdsrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fdsrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstFdSrc *src;
int fd;
@@ -130,23 +133,23 @@ gst_fdsrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_FDSRC (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LOCATION:
/* the element must not be playing in order to do this */
g_return_if_fail (GST_STATE (src) < GST_STATE_PLAYING);
/* if we get a NULL, consider it to be a fd of 0 */
- if (GTK_VALUE_STRING (*arg) == NULL) {
+ if (g_value_get_string (value) == NULL) {
gst_element_set_state (GST_ELEMENT (object), GST_STATE_NULL);
src->fd = 0;
/* otherwise set the new filename */
} else {
- if (sscanf (GTK_VALUE_STRING (*arg), "%d", &fd))
+ if (sscanf (g_value_get_string (value), "%d", &fd))
src->fd = fd;
}
break;
case ARG_BYTESPERREAD:
- src->bytes_per_read = GTK_VALUE_INT (*arg);
+ src->bytes_per_read = g_value_get_int (value);
break;
default:
break;
@@ -154,7 +157,7 @@ gst_fdsrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_fdsrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_fdsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstFdSrc *src;
@@ -163,15 +166,15 @@ gst_fdsrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_FDSRC (object);
- switch (id) {
+ switch (prop_id) {
case ARG_BYTESPERREAD:
- GTK_VALUE_INT (*arg) = src->bytes_per_read;
+ g_value_set_int (value, src->bytes_per_read);
break;
case ARG_OFFSET:
- GTK_VALUE_INT (*arg) = src->curoffset;
+ g_value_set_int (value, src->curoffset);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
diff --git a/plugins/elements/gstfdsrc.h b/plugins/elements/gstfdsrc.h
index 4c4c3cbbaf..0fa21551fb 100644
--- a/plugins/elements/gstfdsrc.h
+++ b/plugins/elements/gstfdsrc.h
@@ -40,13 +40,13 @@ GstElementDetails gst_fdsrc_details;
#define GST_TYPE_FDSRC \
(gst_fdsrc_get_type())
#define GST_FDSRC(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_FDSRC,GstFdSrc))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FDSRC,GstFdSrc))
#define GST_FDSRC_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSRC,GstFdSrcClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FDSRC,GstFdSrcClass))
#define GST_IS_FDSRC(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_FDSRC))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FDSRC))
#define GST_IS_FDSRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSRC))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSRC))
typedef struct _GstFdSrc GstFdSrc;
@@ -70,7 +70,7 @@ struct _GstFdSrcClass {
GstElementClass parent_class;
};
-GtkType gst_fdsrc_get_type(void);
+GType gst_fdsrc_get_type(void);
#ifdef __cplusplus
}
diff --git a/plugins/elements/gsthttpsrc.c b/plugins/elements/gsthttpsrc.c
index 68c51b7bb6..82be7b3f48 100644
--- a/plugins/elements/gsthttpsrc.c
+++ b/plugins/elements/gsthttpsrc.c
@@ -54,8 +54,8 @@ enum {
static void gst_httpsrc_class_init (GstHttpSrcClass *klass);
static void gst_httpsrc_init (GstHttpSrc *httpsrc);
-static void gst_httpsrc_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_httpsrc_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_httpsrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_httpsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static GstElementStateReturn gst_httpsrc_change_state (GstElement *element);
static GstBuffer * gst_httpsrc_get (GstPad *pad);
@@ -67,23 +67,23 @@ static void gst_httpsrc_close_url (GstHttpSrc *src);
static GstElementClass *parent_class = NULL;
//static guint gst_httpsrc_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_httpsrc_get_type (void)
{
- static GtkType httpsrc_type = 0;
+ static GType httpsrc_type = 0;
if (!httpsrc_type) {
- static const GtkTypeInfo httpsrc_info = {
- "GstHttpSrc",
+ static const GTypeInfo httpsrc_info = {
+ sizeof(GstHttpSrcClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_httpsrc_class_init,
+ NULL,
+ NULL,
sizeof(GstHttpSrc),
- sizeof(GstHttpSrcClass),
- (GtkClassInitFunc)gst_httpsrc_class_init,
- (GtkObjectInitFunc)gst_httpsrc_init,
- (GtkArgSetFunc)gst_httpsrc_set_arg,
- (GtkArgGetFunc)gst_httpsrc_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_httpsrc_init,
};
- httpsrc_type = gtk_type_unique (GST_TYPE_ELEMENT, &httpsrc_info);
+ httpsrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstHttpSrc", &httpsrc_info, 0);
}
return httpsrc_type;
}
@@ -91,22 +91,24 @@ gst_httpsrc_get_type (void)
static void
gst_httpsrc_class_init (GstHttpSrcClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstHttpSrc::location", GTK_TYPE_STRING,
- GTK_ARG_READWRITE, ARG_LOCATION);
- gtk_object_add_arg_type ("GstHttpSrc::bytesperread", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_BYTESPERREAD);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION,
+ g_param_spec_string("location","location","location",
+ NULL, G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BYTESPERREAD,
+ g_param_spec_int("bytesperread","bytesperread","bytesperread",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
- gtkobject_class->set_arg = gst_httpsrc_set_arg;
- gtkobject_class->get_arg = gst_httpsrc_get_arg;
+ gobject_class->set_property = gst_httpsrc_set_property;
+ gobject_class->get_property = gst_httpsrc_get_property;
gstelement_class->change_state = gst_httpsrc_change_state;
}
@@ -197,7 +199,7 @@ gst_httpsrc_close_url (GstHttpSrc *src)
}
static void
-gst_httpsrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_httpsrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstHttpSrc *src;
@@ -206,23 +208,23 @@ gst_httpsrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_HTTPSRC (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LOCATION:
/* the element must not be playing in order to do this */
g_return_if_fail (GST_STATE (src) < GST_STATE_PLAYING);
if (src->url) g_free (src->url);
/* clear the url if we get a NULL (is that possible?) */
- if (GTK_VALUE_STRING (*arg) == NULL) {
+ if (g_value_get_string (value) == NULL) {
gst_element_set_state (GST_ELEMENT (object),GST_STATE_NULL);
src->url = NULL;
/* otherwise set the new url */
} else {
- src->url = g_strdup (GTK_VALUE_STRING (*arg));
+ src->url = g_strdup (g_value_get_string (value));
}
break;
case ARG_BYTESPERREAD:
- src->bytes_per_read = GTK_VALUE_INT (*arg);
+ src->bytes_per_read = g_value_get_int (value);
break;
default:
break;
@@ -230,7 +232,7 @@ gst_httpsrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_httpsrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_httpsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstHttpSrc *httpsrc;
@@ -239,15 +241,15 @@ gst_httpsrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
httpsrc = GST_HTTPSRC (object);
- switch (id) {
+ switch (prop_id) {
case ARG_LOCATION:
- GTK_VALUE_STRING (*arg) = httpsrc->url;
+ g_value_set_string (value, httpsrc->url);
break;
case ARG_BYTESPERREAD:
- GTK_VALUE_INT (*arg) = httpsrc->bytes_per_read;
+ g_value_set_int (value, httpsrc->bytes_per_read);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
diff --git a/plugins/elements/gsthttpsrc.h b/plugins/elements/gsthttpsrc.h
index 8a3935e383..c5056ece61 100644
--- a/plugins/elements/gsthttpsrc.h
+++ b/plugins/elements/gsthttpsrc.h
@@ -42,13 +42,13 @@ GstElementDetails gst_httpsrc_details;
#define GST_TYPE_HTTPSRC \
(gst_httpsrc_get_type())
#define GST_HTTPSRC(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_HTTPSRC,GstHttpSrc))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_HTTPSRC,GstHttpSrc))
#define GST_HTTPSRC_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_HTTPSRC,GstHttpSrcClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_HTTPSRC,GstHttpSrcClass))
#define GST_IS_HTTPSRC(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_HTTPSRC))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_HTTPSRC))
#define GST_IS_HTTPSRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_HTTPSRC))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_HTTPSRC))
typedef enum {
GST_HTTPSRC_OPEN = GST_ELEMENT_FLAG_LAST,
@@ -76,7 +76,7 @@ struct _GstHttpSrcClass {
GstElementClass parent_class;
};
-GtkType gst_httpsrc_get_type(void);
+GType gst_httpsrc_get_type(void);
#ifdef __cplusplus
}
diff --git a/plugins/elements/gstidentity.c b/plugins/elements/gstidentity.c
index 2787fc0100..d12557573b 100644
--- a/plugins/elements/gstidentity.c
+++ b/plugins/elements/gstidentity.c
@@ -51,31 +51,31 @@ enum {
static void gst_identity_class_init (GstIdentityClass *klass);
static void gst_identity_init (GstIdentity *identity);
-static void gst_identity_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_identity_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_identity_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_identity_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static void gst_identity_chain (GstPad *pad, GstBuffer *buf);
static GstElementClass *parent_class = NULL;
//static guint gst_identity_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_identity_get_type (void)
{
- static GtkType identity_type = 0;
+ static GType identity_type = 0;
if (!identity_type) {
- static const GtkTypeInfo identity_info = {
- "GstIdentity",
+ static const GTypeInfo identity_info = {
+ sizeof(GstIdentityClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_identity_class_init,
+ NULL,
+ NULL,
sizeof(GstIdentity),
- sizeof(GstIdentityClass),
- (GtkClassInitFunc)gst_identity_class_init,
- (GtkObjectInitFunc)gst_identity_init,
- (GtkArgSetFunc)gst_identity_set_arg,
- (GtkArgGetFunc)gst_identity_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_identity_init,
};
- identity_type = gtk_type_unique (GST_TYPE_ELEMENT, &identity_info);
+ identity_type = g_type_register_static (GST_TYPE_ELEMENT, "GstIdentity", &identity_info, 0);
}
return identity_type;
}
@@ -83,21 +83,24 @@ gst_identity_get_type (void)
static void
gst_identity_class_init (GstIdentityClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstIdentity::loop_based", GTK_TYPE_BOOL,
- GTK_ARG_READWRITE, ARG_LOOP_BASED);
- gtk_object_add_arg_type ("GstIdentity::sleep_time", GTK_TYPE_UINT,
- GTK_ARG_READWRITE, ARG_SLEEP_TIME);
- gtk_object_add_arg_type ("GstIdentity::silent", GTK_TYPE_BOOL,
- GTK_ARG_READWRITE, ARG_SILENT);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOOP_BASED,
+ g_param_spec_boolean("loop_based","loop_based","loop_based",
+ TRUE,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SLEEP_TIME,
+ g_param_spec_uint("sleep_time","sleep_time","sleep_time",
+ 0,G_MAXUINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SILENT,
+ g_param_spec_boolean("silent","silent","silent",
+ TRUE,G_PARAM_READWRITE)); // CHECKME
- gtkobject_class->set_arg = gst_identity_set_arg;
- gtkobject_class->get_arg = gst_identity_get_arg;
+ gobject_class->set_property = gst_identity_set_property;
+ gobject_class->get_property = gst_identity_get_property;
}
static GstBufferPool*
@@ -193,7 +196,7 @@ gst_identity_loop (GstElement *element)
}
static void
-gst_identity_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_identity_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstIdentity *identity;
@@ -202,9 +205,9 @@ gst_identity_set_arg (GtkObject *object, GtkArg *arg, guint id)
identity = GST_IDENTITY (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LOOP_BASED:
- identity->loop_based = GTK_VALUE_BOOL (*arg);
+ identity->loop_based = g_value_get_boolean (value);
if (identity->loop_based) {
gst_element_set_loop_function (GST_ELEMENT (identity), gst_identity_loop);
gst_pad_set_chain_function (identity->sinkpad, NULL);
@@ -215,17 +218,17 @@ gst_identity_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
break;
case ARG_SLEEP_TIME:
- identity->sleep_time = GTK_VALUE_UINT (*arg);
+ identity->sleep_time = g_value_get_uint (value);
break;
case ARG_SILENT:
- identity->silent = GTK_VALUE_BOOL (*arg);
+ identity->silent = g_value_get_boolean (value);
break;
default:
break;
}
}
-static void gst_identity_get_arg(GtkObject *object,GtkArg *arg,guint id) {
+static void gst_identity_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) {
GstIdentity *identity;
/* it's not null if we got it, but it might not be ours */
@@ -233,18 +236,18 @@ static void gst_identity_get_arg(GtkObject *object,GtkArg *arg,guint id) {
identity = GST_IDENTITY (object);
- switch (id) {
+ switch (prop_id) {
case ARG_LOOP_BASED:
- GTK_VALUE_BOOL (*arg) = identity->loop_based;
+ g_value_set_boolean (value, identity->loop_based);
break;
case ARG_SLEEP_TIME:
- GTK_VALUE_UINT (*arg) = identity->sleep_time;
+ g_value_set_uint (value, identity->sleep_time);
break;
case ARG_SILENT:
- GTK_VALUE_BOOL (*arg) = identity->silent;
+ g_value_set_boolean (value, identity->silent);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
diff --git a/plugins/elements/gstidentity.h b/plugins/elements/gstidentity.h
index 129c4922a6..d6dd0bdc0c 100644
--- a/plugins/elements/gstidentity.h
+++ b/plugins/elements/gstidentity.h
@@ -40,13 +40,13 @@ GstElementDetails gst_identity_details;
#define GST_TYPE_IDENTITY \
(gst_identity_get_type())
#define GST_IDENTITY(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_IDENTITY,GstIdentity))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_IDENTITY,GstIdentity))
#define GST_IDENTITY_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_IDENTITY,GstIdentityClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_IDENTITY,GstIdentityClass))
#define GST_IS_IDENTITY(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_IDENTITY))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_IDENTITY))
#define GST_IS_IDENTITY_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_IDENTITY))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_IDENTITY))
typedef struct _GstIdentity GstIdentity;
typedef struct _GstIdentityClass GstIdentityClass;
@@ -67,7 +67,7 @@ struct _GstIdentityClass {
GstElementClass parent_class;
};
-GtkType gst_identity_get_type(void);
+GType gst_identity_get_type(void);
#ifdef __cplusplus
diff --git a/plugins/elements/gstmultidisksrc.c b/plugins/elements/gstmultidisksrc.c
index 726aed976f..7b0f683080 100644
--- a/plugins/elements/gstmultidisksrc.c
+++ b/plugins/elements/gstmultidisksrc.c
@@ -54,8 +54,8 @@ enum {
static void gst_multidisksrc_class_init (GstMultiDiskSrcClass *klass);
static void gst_multidisksrc_init (GstMultiDiskSrc *disksrc);
-static void gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_multidisksrc_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_multidisksrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_multidisksrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static GstBuffer * gst_multidisksrc_get (GstPad *pad);
//static GstBuffer * gst_multidisksrc_get_region (GstPad *pad,GstRegionType type,guint64 offset,guint64 len);
@@ -68,23 +68,23 @@ static void gst_multidisksrc_close_file (GstMultiDiskSrc *src);
static GstElementClass *parent_class = NULL;
static guint gst_multidisksrc_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_multidisksrc_get_type(void)
{
- static GtkType multidisksrc_type = 0;
+ static GType multidisksrc_type = 0;
if (!multidisksrc_type) {
- static const GtkTypeInfo multidisksrc_info = {
- "GstMultiDiskSrc",
+ static const GTypeInfo multidisksrc_info = {
+ sizeof(GstMultiDiskSrcClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_multidisksrc_class_init,
+ NULL,
+ NULL,
sizeof(GstMultiDiskSrc),
- sizeof(GstMultiDiskSrcClass),
- (GtkClassInitFunc)gst_multidisksrc_class_init,
- (GtkObjectInitFunc)gst_multidisksrc_init,
- (GtkArgSetFunc)gst_multidisksrc_set_arg,
- (GtkArgGetFunc)gst_multidisksrc_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_multidisksrc_init,
};
- multidisksrc_type = gtk_type_unique (GST_TYPE_ELEMENT, &multidisksrc_info);
+ multidisksrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstMultiDiskSrc", &multidisksrc_info, 0);
}
return multidisksrc_type;
}
@@ -92,26 +92,26 @@ gst_multidisksrc_get_type(void)
static void
gst_multidisksrc_class_init (GstMultiDiskSrcClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
gst_multidisksrc_signals[NEW_FILE] =
- gtk_signal_new ("new_file", GTK_RUN_LAST, gtkobject_class->type,
- GTK_SIGNAL_OFFSET (GstMultiDiskSrcClass, new_file),
- gtk_marshal_NONE__POINTER, GTK_TYPE_NONE, 1,
- GTK_TYPE_POINTER);
- gtk_object_class_add_signals (gtkobject_class, gst_multidisksrc_signals, LAST_SIGNAL);
+ g_signal_newc ("new_file", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GstMultiDiskSrcClass, new_file), NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
- gtk_object_add_arg_type ("GstMultiDiskSrc::locations", GTK_TYPE_POINTER,
- GTK_ARG_READWRITE, ARG_LOCATIONS);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATIONS,
+ g_param_spec_string("locations","locations","locations",
+ NULL, G_PARAM_READWRITE)); // CHECKME
- gtkobject_class->set_arg = gst_multidisksrc_set_arg;
- gtkobject_class->get_arg = gst_multidisksrc_get_arg;
+ gobject_class->set_property = gst_multidisksrc_set_property;
+ gobject_class->get_property = gst_multidisksrc_get_property;
gstelement_class->change_state = gst_multidisksrc_change_state;
}
@@ -135,7 +135,7 @@ gst_multidisksrc_init (GstMultiDiskSrc *multidisksrc)
}
static void
-gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_multidisksrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstMultiDiskSrc *src;
@@ -144,18 +144,18 @@ gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_MULTIDISKSRC (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LOCATIONS:
/* the element must be stopped in order to do this */
g_return_if_fail (GST_STATE (src) < GST_STATE_PLAYING);
/* clear the filename if we get a NULL */
- if (GTK_VALUE_POINTER (*arg) == NULL) {
+ if (g_value_get_pointer (value) == NULL) {
gst_element_set_state (GST_ELEMENT (object), GST_STATE_NULL);
src->listptr = NULL;
/* otherwise set the new filenames */
} else {
- src->listptr = GTK_VALUE_POINTER(*arg);
+ src->listptr = g_value_get_pointer (value);
}
break;
default:
@@ -164,7 +164,7 @@ gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_multidisksrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_multidisksrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstMultiDiskSrc *src;
@@ -173,12 +173,12 @@ gst_multidisksrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_MULTIDISKSRC (object);
- switch (id) {
+ switch (prop_id) {
case ARG_LOCATIONS:
- GTK_VALUE_POINTER (*arg) = src->listptr;
+ g_value_set_pointer (value, src->listptr);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
@@ -215,7 +215,7 @@ gst_multidisksrc_get (GstPad *pad)
return NULL;
// emitted after the open, as the user may free the list and string from here
- gtk_signal_emit(GTK_OBJECT(src), gst_multidisksrc_signals[NEW_FILE], list);
+ g_signal_emit(G_OBJECT(src), gst_multidisksrc_signals[NEW_FILE], 0, list);
/* create the buffer */
// FIXME: should eventually use a bufferpool for this
diff --git a/plugins/elements/gstmultidisksrc.h b/plugins/elements/gstmultidisksrc.h
index ed4a94c969..ba235e8069 100644
--- a/plugins/elements/gstmultidisksrc.h
+++ b/plugins/elements/gstmultidisksrc.h
@@ -35,13 +35,13 @@ GstElementDetails gst_multidisksrc_details;
#define GST_TYPE_MULTIDISKSRC \
(gst_multidisksrc_get_type())
#define GST_MULTIDISKSRC(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrc))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrc))
#define GST_MULTIDISKSRC_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrcClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrcClass))
#define GST_IS_MULTIDISKSRC(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_MULTIDISKSRC))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MULTIDISKSRC))
#define GST_IS_MULTIDISKSRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTIDISKSRC))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTIDISKSRC))
typedef enum {
GST_MULTIDISKSRC_OPEN = GST_ELEMENT_FLAG_LAST,
@@ -75,7 +75,7 @@ struct _GstMultiDiskSrcClass {
void (*new_file) (GstMultiDiskSrc *multidisksrc, gchar *newfilename);
};
-GtkType gst_multidisksrc_get_type(void);
+GType gst_multidisksrc_get_type(void);
#ifdef __cplusplus
}
diff --git a/plugins/elements/gstmultifilesrc.c b/plugins/elements/gstmultifilesrc.c
index 726aed976f..7b0f683080 100644
--- a/plugins/elements/gstmultifilesrc.c
+++ b/plugins/elements/gstmultifilesrc.c
@@ -54,8 +54,8 @@ enum {
static void gst_multidisksrc_class_init (GstMultiDiskSrcClass *klass);
static void gst_multidisksrc_init (GstMultiDiskSrc *disksrc);
-static void gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_multidisksrc_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_multidisksrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_multidisksrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static GstBuffer * gst_multidisksrc_get (GstPad *pad);
//static GstBuffer * gst_multidisksrc_get_region (GstPad *pad,GstRegionType type,guint64 offset,guint64 len);
@@ -68,23 +68,23 @@ static void gst_multidisksrc_close_file (GstMultiDiskSrc *src);
static GstElementClass *parent_class = NULL;
static guint gst_multidisksrc_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_multidisksrc_get_type(void)
{
- static GtkType multidisksrc_type = 0;
+ static GType multidisksrc_type = 0;
if (!multidisksrc_type) {
- static const GtkTypeInfo multidisksrc_info = {
- "GstMultiDiskSrc",
+ static const GTypeInfo multidisksrc_info = {
+ sizeof(GstMultiDiskSrcClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_multidisksrc_class_init,
+ NULL,
+ NULL,
sizeof(GstMultiDiskSrc),
- sizeof(GstMultiDiskSrcClass),
- (GtkClassInitFunc)gst_multidisksrc_class_init,
- (GtkObjectInitFunc)gst_multidisksrc_init,
- (GtkArgSetFunc)gst_multidisksrc_set_arg,
- (GtkArgGetFunc)gst_multidisksrc_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_multidisksrc_init,
};
- multidisksrc_type = gtk_type_unique (GST_TYPE_ELEMENT, &multidisksrc_info);
+ multidisksrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstMultiDiskSrc", &multidisksrc_info, 0);
}
return multidisksrc_type;
}
@@ -92,26 +92,26 @@ gst_multidisksrc_get_type(void)
static void
gst_multidisksrc_class_init (GstMultiDiskSrcClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
gst_multidisksrc_signals[NEW_FILE] =
- gtk_signal_new ("new_file", GTK_RUN_LAST, gtkobject_class->type,
- GTK_SIGNAL_OFFSET (GstMultiDiskSrcClass, new_file),
- gtk_marshal_NONE__POINTER, GTK_TYPE_NONE, 1,
- GTK_TYPE_POINTER);
- gtk_object_class_add_signals (gtkobject_class, gst_multidisksrc_signals, LAST_SIGNAL);
+ g_signal_newc ("new_file", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GstMultiDiskSrcClass, new_file), NULL, NULL,
+ g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1,
+ G_TYPE_POINTER);
- gtk_object_add_arg_type ("GstMultiDiskSrc::locations", GTK_TYPE_POINTER,
- GTK_ARG_READWRITE, ARG_LOCATIONS);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATIONS,
+ g_param_spec_string("locations","locations","locations",
+ NULL, G_PARAM_READWRITE)); // CHECKME
- gtkobject_class->set_arg = gst_multidisksrc_set_arg;
- gtkobject_class->get_arg = gst_multidisksrc_get_arg;
+ gobject_class->set_property = gst_multidisksrc_set_property;
+ gobject_class->get_property = gst_multidisksrc_get_property;
gstelement_class->change_state = gst_multidisksrc_change_state;
}
@@ -135,7 +135,7 @@ gst_multidisksrc_init (GstMultiDiskSrc *multidisksrc)
}
static void
-gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_multidisksrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstMultiDiskSrc *src;
@@ -144,18 +144,18 @@ gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_MULTIDISKSRC (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LOCATIONS:
/* the element must be stopped in order to do this */
g_return_if_fail (GST_STATE (src) < GST_STATE_PLAYING);
/* clear the filename if we get a NULL */
- if (GTK_VALUE_POINTER (*arg) == NULL) {
+ if (g_value_get_pointer (value) == NULL) {
gst_element_set_state (GST_ELEMENT (object), GST_STATE_NULL);
src->listptr = NULL;
/* otherwise set the new filenames */
} else {
- src->listptr = GTK_VALUE_POINTER(*arg);
+ src->listptr = g_value_get_pointer (value);
}
break;
default:
@@ -164,7 +164,7 @@ gst_multidisksrc_set_arg (GtkObject *object, GtkArg *arg, guint id)
}
static void
-gst_multidisksrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_multidisksrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstMultiDiskSrc *src;
@@ -173,12 +173,12 @@ gst_multidisksrc_get_arg (GtkObject *object, GtkArg *arg, guint id)
src = GST_MULTIDISKSRC (object);
- switch (id) {
+ switch (prop_id) {
case ARG_LOCATIONS:
- GTK_VALUE_POINTER (*arg) = src->listptr;
+ g_value_set_pointer (value, src->listptr);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
@@ -215,7 +215,7 @@ gst_multidisksrc_get (GstPad *pad)
return NULL;
// emitted after the open, as the user may free the list and string from here
- gtk_signal_emit(GTK_OBJECT(src), gst_multidisksrc_signals[NEW_FILE], list);
+ g_signal_emit(G_OBJECT(src), gst_multidisksrc_signals[NEW_FILE], 0, list);
/* create the buffer */
// FIXME: should eventually use a bufferpool for this
diff --git a/plugins/elements/gstmultifilesrc.h b/plugins/elements/gstmultifilesrc.h
index ed4a94c969..ba235e8069 100644
--- a/plugins/elements/gstmultifilesrc.h
+++ b/plugins/elements/gstmultifilesrc.h
@@ -35,13 +35,13 @@ GstElementDetails gst_multidisksrc_details;
#define GST_TYPE_MULTIDISKSRC \
(gst_multidisksrc_get_type())
#define GST_MULTIDISKSRC(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrc))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrc))
#define GST_MULTIDISKSRC_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrcClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MULTIDISKSRC,GstMultiDiskSrcClass))
#define GST_IS_MULTIDISKSRC(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_MULTIDISKSRC))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MULTIDISKSRC))
#define GST_IS_MULTIDISKSRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTIDISKSRC))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTIDISKSRC))
typedef enum {
GST_MULTIDISKSRC_OPEN = GST_ELEMENT_FLAG_LAST,
@@ -75,7 +75,7 @@ struct _GstMultiDiskSrcClass {
void (*new_file) (GstMultiDiskSrc *multidisksrc, gchar *newfilename);
};
-GtkType gst_multidisksrc_get_type(void);
+GType gst_multidisksrc_get_type(void);
#ifdef __cplusplus
}
diff --git a/plugins/elements/gstpipefilter.c b/plugins/elements/gstpipefilter.c
index 8b20e8b1bb..50d42a144b 100644
--- a/plugins/elements/gstpipefilter.c
+++ b/plugins/elements/gstpipefilter.c
@@ -59,8 +59,8 @@ enum {
static void gst_pipefilter_class_init (GstPipefilterClass *klass);
static void gst_pipefilter_init (GstPipefilter *pipefilter);
-static void gst_pipefilter_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_pipefilter_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_pipefilter_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_pipefilter_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static GstBuffer* gst_pipefilter_get (GstPad *pad);
static void gst_pipefilter_chain (GstPad *pad, GstBuffer *buf);
@@ -71,23 +71,23 @@ static GstElementStateReturn gst_pipefilter_change_state (GstElement *element);
static GstElementClass *parent_class = NULL;
//static guint gst_pipefilter_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_pipefilter_get_type (void)
{
- static GtkType pipefilter_type = 0;
+ static GType pipefilter_type = 0;
if (!pipefilter_type) {
- static const GtkTypeInfo pipefilter_info = {
- "GstPipefilter",
+ static const GTypeInfo pipefilter_info = {
+ sizeof(GstPipefilterClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_pipefilter_class_init,
+ NULL,
+ NULL,
sizeof(GstPipefilter),
- sizeof(GstPipefilterClass),
- (GtkClassInitFunc)gst_pipefilter_class_init,
- (GtkObjectInitFunc)gst_pipefilter_init,
- (GtkArgSetFunc)gst_pipefilter_set_arg,
- (GtkArgGetFunc)gst_pipefilter_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_pipefilter_init,
};
- pipefilter_type = gtk_type_unique(GST_TYPE_ELEMENT,&pipefilter_info);
+ pipefilter_type = g_type_register_static(GST_TYPE_ELEMENT, "GstPipefilter", &pipefilter_info, 0);
}
return pipefilter_type;
}
@@ -95,21 +95,22 @@ gst_pipefilter_get_type (void)
static void
gst_pipefilter_class_init (GstPipefilterClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class(GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
gstelement_class->change_state = gst_pipefilter_change_state;
- gtk_object_add_arg_type("GstPipefilter::command", GTK_TYPE_STRING,
- GTK_ARG_READWRITE, ARG_COMMAND);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_COMMAND,
+ g_param_spec_string("command","command","command",
+ NULL, G_PARAM_READWRITE)); // CHECKME
- gtkobject_class->set_arg = gst_pipefilter_set_arg;
- gtkobject_class->get_arg = gst_pipefilter_get_arg;
+ gobject_class->set_property = gst_pipefilter_set_property;
+ gobject_class->get_property = gst_pipefilter_get_property;
}
static void
@@ -219,7 +220,7 @@ gst_pipefilter_chain (GstPad *pad,GstBuffer *buf)
}
static void
-gst_pipefilter_set_arg (GtkObject *object,GtkArg *arg,guint id)
+gst_pipefilter_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstPipefilter *pipefilter;
@@ -227,10 +228,10 @@ gst_pipefilter_set_arg (GtkObject *object,GtkArg *arg,guint id)
g_return_if_fail(GST_IS_PIPEFILTER(object));
pipefilter = GST_PIPEFILTER(object);
- switch(id) {
+ switch (prop_id) {
case ARG_COMMAND:
- pipefilter->orig_command = g_strdup(GTK_VALUE_STRING(*arg));
- pipefilter->command = g_strsplit(GTK_VALUE_STRING(*arg), " ", 0);
+ pipefilter->orig_command = g_strdup(g_value_get_string (value));
+ pipefilter->command = g_strsplit(g_value_get_string (value), " ", 0);
break;
default:
break;
@@ -238,7 +239,7 @@ gst_pipefilter_set_arg (GtkObject *object,GtkArg *arg,guint id)
}
static void
-gst_pipefilter_get_arg (GtkObject *object,GtkArg *arg,guint id)
+gst_pipefilter_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstPipefilter *pipefilter;
@@ -246,12 +247,12 @@ gst_pipefilter_get_arg (GtkObject *object,GtkArg *arg,guint id)
g_return_if_fail(GST_IS_PIPEFILTER(object));
pipefilter = GST_PIPEFILTER(object);
- switch (id) {
+ switch (prop_id) {
case ARG_COMMAND:
- GTK_VALUE_STRING(*arg) = pipefilter->orig_command;
+ g_value_set_string (value, pipefilter->orig_command);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
diff --git a/plugins/elements/gstpipefilter.h b/plugins/elements/gstpipefilter.h
index 6872dec6d7..221a914ed5 100644
--- a/plugins/elements/gstpipefilter.h
+++ b/plugins/elements/gstpipefilter.h
@@ -39,13 +39,13 @@ GstElementDetails gst_pipefilter_details;
#define GST_TYPE_PIPEFILTER \
(gst_pipefilter_get_type())
#define GST_PIPEFILTER(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_PIPEFILTER,GstPipefilter))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PIPEFILTER,GstPipefilter))
#define GST_PIPEFILTER_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PIPEFILTER,GstPipefilterClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PIPEFILTER,GstPipefilterClass))
#define GST_IS_PIPEFILTER(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_PIPEFILTER))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PIPEFILTER))
#define GST_IS_PIPEFILTER_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPEFILTER))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPEFILTER))
typedef enum {
GST_PIPEFILTER_OPEN = GST_ELEMENT_FLAG_LAST,
@@ -80,7 +80,7 @@ struct _GstPipefilterClass {
GstElementClass parent_class;
};
-GtkType gst_pipefilter_get_type(void);
+GType gst_pipefilter_get_type(void);
#ifdef __cplusplus
diff --git a/plugins/elements/gstqueue.c b/plugins/elements/gstqueue.c
index 944b9debed..22e6ce1e07 100644
--- a/plugins/elements/gstqueue.c
+++ b/plugins/elements/gstqueue.c
@@ -70,8 +70,8 @@ enum {
static void gst_queue_class_init (GstQueueClass *klass);
static void gst_queue_init (GstQueue *queue);
-static void gst_queue_set_arg (GtkObject *object, GtkArg *arg, guint id);
-static void gst_queue_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_queue_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_queue_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static gboolean gst_queue_handle_eos (GstPad *pad);
static GstPadNegotiateReturn gst_queue_handle_negotiate_src (GstPad *pad, GstCaps **caps, gpointer *data);
@@ -85,17 +85,17 @@ static void gst_queue_flush (GstQueue *queue);
static GstElementStateReturn gst_queue_change_state (GstElement *element);
-static GtkType
+static GType
queue_leaky_get_type(void) {
- static GtkType queue_leaky_type = 0;
- static GtkEnumValue queue_leaky[] = {
+ static GType queue_leaky_type = 0;
+ static GEnumValue queue_leaky[] = {
{ GST_QUEUE_NO_LEAK, "0", "Not Leaky" },
{ GST_QUEUE_LEAK_UPSTREAM, "1", "Leaky on Upstream" },
{ GST_QUEUE_LEAK_DOWNSTREAM, "2", "Leaky on Downstream" },
{ 0, NULL, NULL },
};
if (!queue_leaky_type) {
- queue_leaky_type = gtk_type_register_enum("GstQueueLeaky", queue_leaky);
+ queue_leaky_type = g_enum_register_static("GstQueueLeaky", queue_leaky);
}
return queue_leaky_type;
}
@@ -105,22 +105,23 @@ queue_leaky_get_type(void) {
static GstElementClass *parent_class = NULL;
//static guint gst_queue_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_queue_get_type(void) {
- static GtkType queue_type = 0;
+ static GType queue_type = 0;
if (!queue_type) {
- static const GtkTypeInfo queue_info = {
- "GstQueue",
- sizeof(GstQueue),
+ static const GTypeInfo queue_info = {
sizeof(GstQueueClass),
- (GtkClassInitFunc)gst_queue_class_init,
- (GtkObjectInitFunc)gst_queue_init,
- (GtkArgSetFunc)gst_queue_set_arg,
- (GtkArgGetFunc)gst_queue_get_arg,
- (GtkClassInitFunc)NULL,
+ NULL,
+ NULL,
+ (GClassInitFunc)gst_queue_class_init,
+ NULL,
+ NULL,
+ sizeof(GstQueue),
+ 4,
+ (GInstanceInitFunc)gst_queue_init,
};
- queue_type = gtk_type_unique (GST_TYPE_ELEMENT, &queue_info);
+ queue_type = g_type_register_static (GST_TYPE_ELEMENT, "GstQueue", &queue_info, 0);
}
return queue_type;
}
@@ -128,25 +129,28 @@ gst_queue_get_type(void) {
static void
gst_queue_class_init (GstQueueClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class (GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstQueue::leaky", GST_TYPE_QUEUE_LEAKY,
- GTK_ARG_READWRITE, ARG_LEAKY);
- gtk_object_add_arg_type ("GstQueue::level", GTK_TYPE_INT,
- GTK_ARG_READABLE, ARG_LEVEL);
- gtk_object_add_arg_type ("GstQueue::max_level", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_MAX_LEVEL);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LEAKY,
+ g_param_spec_enum("leaky","Leaky","Where the queue leaks, if at all.",
+ GST_TYPE_QUEUE_LEAKY,GST_QUEUE_NO_LEAK,G_PARAM_READWRITE));
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LEVEL,
+ g_param_spec_int("level","Level","How many buffers are in the queue.",
+ 0,G_MAXINT,0,G_PARAM_READABLE));
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MAX_LEVEL,
+ g_param_spec_int("max_level","Maximum Level","How many buffers the queue holds.",
+ 0,G_MAXINT,100,G_PARAM_READWRITE));
- gtkobject_class->set_arg = gst_queue_set_arg;
- gtkobject_class->get_arg = gst_queue_get_arg;
+ gobject_class->set_property = GST_DEBUG_FUNCPTR(gst_queue_set_property);
+ gobject_class->get_property = GST_DEBUG_FUNCPTR(gst_queue_get_property);
- gstelement_class->change_state = gst_queue_change_state;
+ gstelement_class->change_state = GST_DEBUG_FUNCPTR(gst_queue_change_state);
}
static void
@@ -158,14 +162,14 @@ gst_queue_init (GstQueue *queue)
queue->sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
gst_pad_set_chain_function (queue->sinkpad, GST_DEBUG_FUNCPTR(gst_queue_chain));
gst_element_add_pad (GST_ELEMENT (queue), queue->sinkpad);
- gst_pad_set_eos_function (queue->sinkpad, gst_queue_handle_eos);
- gst_pad_set_negotiate_function (queue->sinkpad, gst_queue_handle_negotiate_sink);
- gst_pad_set_bufferpool_function (queue->sinkpad, gst_queue_get_bufferpool);
+ gst_pad_set_eos_function (queue->sinkpad, GST_DEBUG_FUNCPTR(gst_queue_handle_eos));
+ gst_pad_set_negotiate_function (queue->sinkpad, GST_DEBUG_FUNCPTR(gst_queue_handle_negotiate_sink));
+ gst_pad_set_bufferpool_function (queue->sinkpad, GST_DEBUG_FUNCPTR(gst_queue_get_bufferpool));
queue->srcpad = gst_pad_new ("src", GST_PAD_SRC);
gst_pad_set_get_function (queue->srcpad, GST_DEBUG_FUNCPTR(gst_queue_get));
gst_element_add_pad (GST_ELEMENT (queue), queue->srcpad);
- gst_pad_set_negotiate_function (queue->srcpad, gst_queue_handle_negotiate_src);
+ gst_pad_set_negotiate_function (queue->srcpad, GST_DEBUG_FUNCPTR(gst_queue_handle_negotiate_src));
queue->queue = NULL;
queue->level_buffers = 0;
@@ -306,16 +310,16 @@ gst_queue_chain (GstPad *pad, GstBuffer *buf)
while (queue->level_buffers >= queue->size_buffers) {
// if there's a pending state change for this queue or its manager, switch
// back to iterator so bottom half of state change executes
- if (GST_STATE_PENDING(queue) != GST_STATE_NONE_PENDING ||
-// GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_NONE_PENDING)
+ if (GST_STATE_PENDING(queue) != GST_STATE_VOID_PENDING ||
+// GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_VOID_PENDING)
GST_STATE_PENDING(GST_SCHED_PARENT(GST_ELEMENT_SCHED(GST_PAD_PARENT(GST_PAD_PEER(queue->sinkpad))))) !=
-GST_STATE_NONE_PENDING)
+GST_STATE_VOID_PENDING)
{
GST_DEBUG(GST_CAT_DATAFLOW,"interrupted!!\n");
- if (GST_STATE_PENDING(queue) != GST_STATE_NONE_PENDING)
- GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(queue) != GST_STATE_NONE_PENDING)\n");
- if (GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_NONE_PENDING)
- GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_NONE_PENDING\n");
+ if (GST_STATE_PENDING(queue) != GST_STATE_VOID_PENDING)
+ GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(queue) != GST_STATE_VOID_PENDING)\n");
+ if (GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_VOID_PENDING)
+ GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_VOID_PENDING\n");
GST_UNLOCK(queue);
cothread_switch(cothread_current_main());
}
@@ -376,16 +380,16 @@ gst_queue_get (GstPad *pad)
// if there's a pending state change for this queue or its manager, switch
// back to iterator so bottom half of state change executes
- if (GST_STATE_PENDING(queue) != GST_STATE_NONE_PENDING ||
-// GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_NONE_PENDING)
+ if (GST_STATE_PENDING(queue) != GST_STATE_VOID_PENDING ||
+// GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_VOID_PENDING)
GST_STATE_PENDING(GST_SCHED_PARENT(GST_ELEMENT_SCHED(GST_PAD_PARENT(GST_PAD_PEER(queue->srcpad))))) !=
-GST_STATE_NONE_PENDING)
+GST_STATE_VOID_PENDING)
{
GST_DEBUG(GST_CAT_DATAFLOW,"interrupted!!\n");
- if (GST_STATE_PENDING(queue) != GST_STATE_NONE_PENDING)
- GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(queue) != GST_STATE_NONE_PENDING)\n");
- if (GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_NONE_PENDING)
- GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_NONE_PENDING\n");
+ if (GST_STATE_PENDING(queue) != GST_STATE_VOID_PENDING)
+ GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(queue) != GST_STATE_VOID_PENDING)\n");
+ if (GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_VOID_PENDING)
+ GST_DEBUG(GST_CAT_DATAFLOW,"GST_STATE_PENDING(GST_SCHEDULE(GST_ELEMENT(queue)->sched)->parent) != GST_STATE_VOID_PENDING\n");
GST_UNLOCK(queue);
cothread_switch(cothread_current_main());
}
@@ -435,11 +439,11 @@ gst_queue_change_state (GstElement *element)
gst_queue_flush (queue);
}
- /* if we haven't failed already, give the parent class a chance to ;-) */
+ // if we haven't failed already, give the parent class a chance to ;-)
if (GST_ELEMENT_CLASS (parent_class)->change_state)
{
gboolean valid_handler = FALSE;
- guint state_change_id = gtk_signal_lookup("state_change", GTK_OBJECT_TYPE(element));
+ guint state_change_id = g_signal_lookup("state_change", G_OBJECT_TYPE(element));
// determine whether we need to block the parent (element) class'
// STATE_CHANGE signal so we can UNLOCK before returning. we block
@@ -450,20 +454,20 @@ gst_queue_change_state (GstElement *element)
// if element change_state() emits other signals, they need to be blocked
// as well.
if (state_change_id &&
- gtk_signal_handler_pending(GTK_OBJECT(element), state_change_id, FALSE))
+ g_signal_has_handler_pending(G_OBJECT(element), state_change_id, 0, FALSE))
valid_handler = TRUE;
if (valid_handler)
- gtk_signal_handler_block(GTK_OBJECT(element), state_change_id);
+ g_signal_handler_block(G_OBJECT(element), state_change_id);
ret = GST_ELEMENT_CLASS (parent_class)->change_state (element);
if (valid_handler)
- gtk_signal_handler_unblock(GTK_OBJECT(element), state_change_id);
+ g_signal_handler_unblock(G_OBJECT(element), state_change_id);
// UNLOCK, *then* emit signal (if there's one there)
GST_UNLOCK(queue);
if (valid_handler)
- gtk_signal_emit(GTK_OBJECT (element), state_change_id, GST_STATE(element));
+ g_signal_emit(G_OBJECT (element), state_change_id, 0, GST_STATE(element));
}
else
{
@@ -476,7 +480,7 @@ gst_queue_change_state (GstElement *element)
static void
-gst_queue_set_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_queue_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstQueue *queue;
@@ -485,20 +489,21 @@ gst_queue_set_arg (GtkObject *object, GtkArg *arg, guint id)
queue = GST_QUEUE (object);
- switch(id) {
+ switch (prop_id) {
case ARG_LEAKY:
- queue->leaky = GTK_VALUE_INT (*arg);
+ queue->leaky = g_value_get_int(value);
break;
case ARG_MAX_LEVEL:
- queue->size_buffers = GTK_VALUE_INT (*arg);
+ queue->size_buffers = g_value_get_int(value);
break;
default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
-gst_queue_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_queue_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GstQueue *queue;
@@ -507,18 +512,18 @@ gst_queue_get_arg (GtkObject *object, GtkArg *arg, guint id)
queue = GST_QUEUE (object);
- switch (id) {
+ switch (prop_id) {
case ARG_LEAKY:
- GTK_VALUE_INT (*arg) = queue->leaky;
+ g_value_set_int(value, queue->leaky);
break;
case ARG_LEVEL:
- GTK_VALUE_INT (*arg) = queue->level_buffers;
+ g_value_set_int(value, queue->level_buffers);
break;
case ARG_MAX_LEVEL:
- GTK_VALUE_INT (*arg) = queue->size_buffers;
+ g_value_set_int(value, queue->size_buffers);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
diff --git a/plugins/elements/gstqueue.h b/plugins/elements/gstqueue.h
index 085d5ac122..02b73f2d0a 100644
--- a/plugins/elements/gstqueue.h
+++ b/plugins/elements/gstqueue.h
@@ -39,13 +39,13 @@ GstElementDetails gst_queue_details;
#define GST_TYPE_QUEUE \
(gst_queue_get_type())
#define GST_QUEUE(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_QUEUE,GstQueue))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_QUEUE,GstQueue))
#define GST_QUEUE_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_QUEUE,GstQueueClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_QUEUE,GstQueueClass))
#define GST_IS_QUEUE(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_QUEUE))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_QUEUE))
#define GST_IS_QUEUE_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE))
enum {
GST_QUEUE_NO_LEAK = 0,
@@ -90,7 +90,7 @@ struct _GstQueueClass {
void (*high_watermark) (GstQueue *queue, gint level);
};
-GtkType gst_queue_get_type (void);
+GType gst_queue_get_type (void);
#ifdef __cplusplus
}
diff --git a/plugins/elements/gstsinesrc.c b/plugins/elements/gstsinesrc.c
index 6a00e1eef0..ea66bd27fa 100644
--- a/plugins/elements/gstsinesrc.c
+++ b/plugins/elements/gstsinesrc.c
@@ -83,8 +83,8 @@ static GstPadTemplate *src_temp;
static void gst_sinesrc_class_init(GstSineSrcClass *klass);
static void gst_sinesrc_init(GstSineSrc *src);
static GstPadNegotiateReturn gst_sinesrc_negotiate (GstPad *pad, GstCaps **caps, gpointer *data);
-static void gst_sinesrc_set_arg(GtkObject *object,GtkArg *arg,guint id);
-static void gst_sinesrc_get_arg(GtkObject *object,GtkArg *arg,guint id);
+static void gst_sinesrc_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_sinesrc_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
//static gboolean gst_sinesrc_change_state(GstElement *element,
// GstElementState state);
//static void gst_sinesrc_close_audio(GstSineSrc *src);
@@ -92,58 +92,64 @@ static void gst_sinesrc_get_arg(GtkObject *object,GtkArg *arg,guint id);
static void gst_sinesrc_populate_sinetable(GstSineSrc *src);
static inline void gst_sinesrc_update_table_inc(GstSineSrc *src);
static inline void gst_sinesrc_update_vol_scale(GstSineSrc *src);
-void gst_sinesrc_force_caps(GstSineSrc *src);
+static void gst_sinesrc_force_caps(GstSineSrc *src);
static GstBuffer * gst_sinesrc_get(GstPad *pad);
static GstElementClass *parent_class = NULL;
//static guint gst_sinesrc_signals[LAST_SIGNAL] = { 0 };
-GtkType
+GType
gst_sinesrc_get_type(void) {
- static GtkType sinesrc_type = 0;
+ static GType sinesrc_type = 0;
if (!sinesrc_type) {
- static const GtkTypeInfo sinesrc_info = {
- "GstSineSrc",
+ static const GTypeInfo sinesrc_info = {
+ sizeof(GstSineSrcClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_sinesrc_class_init,
+ NULL,
+ NULL,
sizeof(GstSineSrc),
- sizeof(GstSineSrcClass),
- (GtkClassInitFunc)gst_sinesrc_class_init,
- (GtkObjectInitFunc)gst_sinesrc_init,
- (GtkArgSetFunc)gst_sinesrc_set_arg,
- (GtkArgGetFunc)gst_sinesrc_get_arg,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_sinesrc_init,
};
- sinesrc_type = gtk_type_unique(GST_TYPE_ELEMENT,&sinesrc_info);
+ sinesrc_type = g_type_register_static(GST_TYPE_ELEMENT, "GstSineSrc", &sinesrc_info, 0);
}
return sinesrc_type;
}
static void
gst_sinesrc_class_init(GstSineSrcClass *klass) {
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class(GST_TYPE_ELEMENT);
-
- gtk_object_add_arg_type("GstSineSrc::volume", GTK_TYPE_DOUBLE,
- GTK_ARG_READWRITE, ARG_VOLUME);
- gtk_object_add_arg_type("GstSineSrc::format", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_FORMAT);
- gtk_object_add_arg_type("GstSineSrc::samplerate", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_SAMPLERATE);
- gtk_object_add_arg_type("GstSineSrc::tablesize", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_TABLESIZE);
- gtk_object_add_arg_type("GstSineSrc::freq", GTK_TYPE_DOUBLE,
- GTK_ARG_READWRITE, ARG_FREQ);
- gtk_object_add_arg_type("GstSineSrc::buffersize", GTK_TYPE_INT,
- GTK_ARG_READWRITE, ARG_BUFFER_SIZE);
+ parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VOLUME,
+ g_param_spec_double("volume","volume","volume",
+ 0.0, 1.0, 0.0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FORMAT,
+ g_param_spec_int("format","format","format",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SAMPLERATE,
+ g_param_spec_int("samplerate","samplerate","samplerate",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_TABLESIZE,
+ g_param_spec_int("tablesize","tablesize","tablesize",
+ G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FREQ,
+ g_param_spec_double("freq","freq","freq",
+ 0.0,G_MAXDOUBLE, 440.0,G_PARAM_READWRITE)); // CHECKME
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFER_SIZE,
+ g_param_spec_int("buffersize","buffersize","buffersize",
+ 0, G_MAXINT, 1024, G_PARAM_READWRITE));
- gtkobject_class->set_arg = gst_sinesrc_set_arg;
- gtkobject_class->get_arg = gst_sinesrc_get_arg;
+ gobject_class->set_property = gst_sinesrc_set_property;
+ gobject_class->get_property = gst_sinesrc_get_property;
// gstelement_class->change_state = gst_sinesrc_change_state;
}
@@ -246,42 +252,40 @@ gst_sinesrc_get(GstPad *pad)
}
static void
-gst_sinesrc_set_arg(GtkObject *object,GtkArg *arg,guint id) {
+gst_sinesrc_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) {
GstSineSrc *src;
/* it's not null if we got it, but it might not be ours */
g_return_if_fail(GST_IS_SINESRC(object));
src = GST_SINESRC(object);
- switch (id) {
+ switch (prop_id) {
case ARG_VOLUME:
- if (GTK_VALUE_DOUBLE(*arg) < 0.0 || GTK_VALUE_DOUBLE(*arg) > 1.0)
- break;
- src->volume = GTK_VALUE_DOUBLE(*arg);
+ src->volume = g_value_get_double (value);
gst_sinesrc_update_vol_scale(src);
break;
case ARG_FORMAT:
- src->format = GTK_VALUE_INT(*arg);
+ src->format = g_value_get_int (value);
src->newcaps=TRUE;
break;
case ARG_SAMPLERATE:
- src->samplerate = GTK_VALUE_INT(*arg);
+ src->samplerate = g_value_get_int (value);
src->newcaps=TRUE;
gst_sinesrc_update_table_inc(src);
break;
case ARG_FREQ: {
- if (GTK_VALUE_DOUBLE(*arg) <= 0.0 || GTK_VALUE_DOUBLE(*arg) > src->samplerate/2)
+ if (g_value_get_double (value) <= 0.0 || g_value_get_double (value) > src->samplerate/2)
break;
- src->freq = GTK_VALUE_DOUBLE(*arg);
+ src->freq = g_value_get_double (value);
gst_sinesrc_update_table_inc(src);
break;
case ARG_TABLESIZE:
- src->table_size = GTK_VALUE_INT(*arg);
+ src->table_size = g_value_get_int (value);
gst_sinesrc_populate_sinetable(src);
gst_sinesrc_update_table_inc(src);
break;
case ARG_BUFFER_SIZE:
- src->buffer_size = GTK_VALUE_INT(*arg);
+ src->buffer_size = g_value_get_int (value);
break;
}
default:
@@ -290,34 +294,34 @@ gst_sinesrc_set_arg(GtkObject *object,GtkArg *arg,guint id) {
}
static void
-gst_sinesrc_get_arg(GtkObject *object,GtkArg *arg,guint id) {
+gst_sinesrc_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) {
GstSineSrc *src;
/* it's not null if we got it, but it might not be ours */
g_return_if_fail(GST_IS_SINESRC(object));
src = GST_SINESRC(object);
- switch (id) {
+ switch (prop_id) {
case ARG_VOLUME:
- GTK_VALUE_DOUBLE(*arg) = src->volume;
+ g_value_set_double (value, src->volume);
break;
case ARG_FORMAT:
- GTK_VALUE_INT(*arg) = src->format;
+ g_value_set_int (value, src->format);
break;
case ARG_SAMPLERATE:
- GTK_VALUE_INT(*arg) = src->samplerate;
+ g_value_set_int (value, src->samplerate);
break;
case ARG_FREQ:
- GTK_VALUE_DOUBLE(*arg) = src->freq;
+ g_value_set_double (value, src->freq);
break;
case ARG_TABLESIZE:
- GTK_VALUE_INT(*arg) = src->table_size;
+ g_value_set_int (value, src->table_size);
break;
case ARG_BUFFER_SIZE:
- GTK_VALUE_INT(*arg) = src->buffer_size;
+ g_value_set_int (value, src->buffer_size);
break;
default:
- arg->type = GTK_TYPE_INVALID;
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
@@ -372,7 +376,7 @@ gst_sinesrc_update_vol_scale(GstSineSrc *src)
src->vol_scale = 32767 * src->volume;
}
-void
+static void
gst_sinesrc_force_caps(GstSineSrc *src) {
GstCaps *caps;
diff --git a/plugins/elements/gstsinesrc.h b/plugins/elements/gstsinesrc.h
index ed38eeb960..390d12b068 100644
--- a/plugins/elements/gstsinesrc.h
+++ b/plugins/elements/gstsinesrc.h
@@ -39,13 +39,13 @@ GstElementDetails gst_sinesrc_details;
#define GST_TYPE_SINESRC \
(gst_sinesrc_get_type())
#define GST_SINESRC(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_SINESRC,GstSineSrc))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SINESRC,GstSineSrc))
#define GST_SINESRC_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINESRC,GstSineSrcClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SINESRC,GstSineSrcClass))
#define GST_IS_SINESRC(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_SINESRC))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SINESRC))
#define GST_IS_SINESRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINESRC))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SINESRC))
typedef struct _GstSineSrc GstSineSrc;
typedef struct _GstSineSrcClass GstSineSrcClass;
@@ -85,7 +85,7 @@ struct _GstSineSrcClass {
GstElementClass parent_class;
};
-GtkType gst_sinesrc_get_type(void);
+GType gst_sinesrc_get_type(void);
gboolean gst_sinesrc_factory_init (GstElementFactory *factory);
#ifdef __cplusplus
diff --git a/plugins/elements/gsttee.c b/plugins/elements/gsttee.c
index 67ab4b1541..0e1b418f61 100644
--- a/plugins/elements/gsttee.c
+++ b/plugins/elements/gsttee.c
@@ -63,7 +63,8 @@ static void gst_tee_init (GstTee *tee);
static GstPad* gst_tee_request_new_pad (GstElement *element, GstPadTemplate *temp);
-static void gst_tee_get_arg (GtkObject *object, GtkArg *arg, guint id);
+static void gst_tee_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_tee_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
static void gst_tee_chain (GstPad *pad, GstBuffer *buf);
@@ -71,22 +72,22 @@ static GstElementClass *parent_class = NULL;
//static guint gst_tee_signals[LAST_SIGNAL] = { 0 };
static GstPadTemplate *gst_tee_src_template;
-GtkType
+GType
gst_tee_get_type(void) {
- static GtkType tee_type = 0;
+ static GType tee_type = 0;
if (!tee_type) {
- static const GtkTypeInfo tee_info = {
- "GstTee",
+ static const GTypeInfo tee_info = {
+ sizeof(GstTeeClass), NULL,
+ NULL,
+ (GClassInitFunc)gst_tee_class_init,
+ NULL,
+ NULL,
sizeof(GstTee),
- sizeof(GstTeeClass),
- (GtkClassInitFunc)gst_tee_class_init,
- (GtkObjectInitFunc)gst_tee_init,
- (GtkArgSetFunc)NULL,
- (GtkArgGetFunc)NULL,
- (GtkClassInitFunc)NULL,
+ 0,
+ (GInstanceInitFunc)gst_tee_init,
};
- tee_type = gtk_type_unique (GST_TYPE_ELEMENT, &tee_info);
+ tee_type = g_type_register_static (GST_TYPE_ELEMENT, "GstTee", &tee_info, 0);
}
return tee_type;
}
@@ -94,18 +95,20 @@ gst_tee_get_type(void) {
static void
gst_tee_class_init (GstTeeClass *klass)
{
- GtkObjectClass *gtkobject_class;
+ GObjectClass *gobject_class;
GstElementClass *gstelement_class;
- gtkobject_class = (GtkObjectClass*)klass;
+ gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
- parent_class = gtk_type_class(GST_TYPE_ELEMENT);
+ parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
- gtk_object_add_arg_type ("GstTee::num_pads", GTK_TYPE_INT,
- GTK_ARG_READABLE, ARG_NUM_PADS);
+ g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NUM_PADS,
+ g_param_spec_int("num_pads","num_pads","num_pads",
+ G_MININT,G_MAXINT,0,G_PARAM_READABLE)); // CHECKME
- gtkobject_class->get_arg = gst_tee_get_arg;
+ gobject_class->set_property = gst_tee_set_property;
+ gobject_class->get_property = gst_tee_get_property;
gstelement_class->request_new_pad = gst_tee_request_new_pad;
}
@@ -149,7 +152,7 @@ gst_tee_request_new_pad (GstElement *element, GstPadTemplate *templ)
}
static void
-gst_tee_get_arg (GtkObject *object, GtkArg *arg, guint id)
+gst_tee_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
GstTee *tee;
@@ -158,9 +161,28 @@ gst_tee_get_arg (GtkObject *object, GtkArg *arg, guint id)
tee = GST_TEE (object);
- switch(id) {
+ switch (prop_id) {
+// case ARG_NUM_PADS:
+// g_value_set_int (value, tee->numsrcpads);
+// break;
+ default:
+ break;
+ }
+}
+
+static void
+gst_tee_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+ GstTee *tee;
+
+ /* it's not null if we got it, but it might not be ours */
+ g_return_if_fail (GST_IS_TEE (object));
+
+ tee = GST_TEE (object);
+
+ switch (prop_id) {
case ARG_NUM_PADS:
- GTK_VALUE_INT (*arg) = tee->numsrcpads;
+ g_value_set_int (value, tee->numsrcpads);
break;
default:
break;
diff --git a/plugins/elements/gsttee.h b/plugins/elements/gsttee.h
index f7f3979d22..7607629cef 100644
--- a/plugins/elements/gsttee.h
+++ b/plugins/elements/gsttee.h
@@ -36,13 +36,13 @@ extern GstElementDetails gst_tee_details;
#define GST_TYPE_TEE \
(gst_tee_get_type())
#define GST_TEE(obj) \
- (GTK_CHECK_CAST((obj),GST_TYPE_TEE,GstTee))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_TEE,GstTee))
#define GST_TEE_CLASS(klass) \
- (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_TEE,GstTeeClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_TEE,GstTeeClass))
#define GST_IS_TEE(obj) \
- (GTK_CHECK_TYPE((obj),GST_TYPE_TEE))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TEE))
#define GST_IS_TEE_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE))
typedef struct _GstTee GstTee;
typedef struct _GstTeeClass GstTeeClass;
@@ -60,7 +60,7 @@ struct _GstTeeClass {
GstElementClass parent_class;
};
-GtkType gst_tee_get_type (void);
+GType gst_tee_get_type (void);
gboolean gst_tee_factory_init (GstElementFactory *factory);