From 5dcec928526928bfe78294cda60478996e4f4246 Mon Sep 17 00:00:00 2001 From: Erik Walthinsen Date: Thu, 14 Jun 2001 03:14:35 +0000 Subject: [PATCH] Bring all the other stuff in gst/ up to match libgst.la's GObject port. Original commit message from CVS: Bring all the other stuff in gst/ up to match libgst.la's GObject port. Fixed some minor problems with the signalling stuff in the core. IT WORKS! --- gst/Makefile.am | 3 +- gst/autoplug/autoplugtest.c | 10 +- gst/autoplug/gstautoplugcache.c | 101 +++++++++---------- gst/autoplug/gstautoplugger.c | 118 ++++++++++++----------- gst/autoplug/gststaticautoplug.c | 34 ++++--- gst/autoplug/gststaticautoplug.h | 10 +- gst/autoplug/gststaticautoplugrender.c | 33 +++---- gst/autoplug/gststaticautoplugrender.h | 10 +- gst/elements/gstdisksink.c | 66 +++++++------ gst/elements/gstdisksink.h | 10 +- gst/elements/gstdisksrc.c | 82 ++++++++-------- gst/elements/gstdisksrc.h | 10 +- gst/elements/gstelements.c | 2 +- gst/elements/gstfakesink.c | 77 ++++++++------- gst/elements/gstfakesink.h | 10 +- gst/elements/gstfakesrc.c | 128 +++++++++++++------------ gst/elements/gstfakesrc.h | 10 +- gst/elements/gstfdsink.c | 53 +++++----- gst/elements/gstfdsink.h | 10 +- gst/elements/gstfdsrc.c | 71 +++++++------- gst/elements/gstfdsrc.h | 10 +- gst/elements/gsthttpsrc.c | 66 ++++++------- gst/elements/gsthttpsrc.h | 10 +- gst/elements/gstidentity.c | 73 +++++++------- gst/elements/gstidentity.h | 10 +- gst/elements/gstmultidisksrc.c | 68 ++++++------- gst/elements/gstmultidisksrc.h | 10 +- gst/elements/gstmultifilesrc.c | 68 ++++++------- gst/elements/gstmultifilesrc.h | 10 +- gst/elements/gstpipefilter.c | 57 +++++------ gst/elements/gstpipefilter.h | 10 +- gst/elements/gstsinesrc.c | 104 ++++++++++---------- gst/elements/gstsinesrc.h | 10 +- gst/elements/gsttee.c | 43 +++++---- gst/elements/gsttee.h | 10 +- gst/gst.c | 9 +- gst/gstautoplug.c | 2 +- gst/gstbin.c | 2 +- gst/gstelement.c | 14 +-- gst/gstobject.c | 20 +--- gst/gstpad.c | 12 +-- gst/gstparse.c | 7 +- gst/gsttypefind.c | 2 +- gst/gstxml.c | 2 +- plugins/elements/gstdisksink.c | 66 +++++++------ plugins/elements/gstdisksink.h | 10 +- plugins/elements/gstdisksrc.c | 82 ++++++++-------- plugins/elements/gstdisksrc.h | 10 +- plugins/elements/gstelements.c | 2 +- plugins/elements/gstfakesink.c | 77 ++++++++------- plugins/elements/gstfakesink.h | 10 +- plugins/elements/gstfakesrc.c | 128 +++++++++++++------------ plugins/elements/gstfakesrc.h | 10 +- plugins/elements/gstfdsink.c | 53 +++++----- plugins/elements/gstfdsink.h | 10 +- plugins/elements/gstfdsrc.c | 71 +++++++------- plugins/elements/gstfdsrc.h | 10 +- plugins/elements/gsthttpsrc.c | 66 ++++++------- plugins/elements/gsthttpsrc.h | 10 +- plugins/elements/gstidentity.c | 73 +++++++------- plugins/elements/gstidentity.h | 10 +- plugins/elements/gstmultidisksrc.c | 68 ++++++------- plugins/elements/gstmultidisksrc.h | 10 +- plugins/elements/gstmultifilesrc.c | 68 ++++++------- plugins/elements/gstmultifilesrc.h | 10 +- plugins/elements/gstpipefilter.c | 57 +++++------ plugins/elements/gstpipefilter.h | 10 +- plugins/elements/gstsinesrc.c | 104 ++++++++++---------- plugins/elements/gstsinesrc.h | 10 +- plugins/elements/gsttee.c | 43 +++++---- plugins/elements/gsttee.h | 10 +- 71 files changed, 1301 insertions(+), 1264 deletions(-) diff --git a/gst/Makefile.am b/gst/Makefile.am index 2e701e09b0..16c305acd0 100644 --- a/gst/Makefile.am +++ b/gst/Makefile.am @@ -15,6 +15,8 @@ EXTRA_libgst_la_SOURCES = \ libgst_la_SOURCES = \ cothreads.c \ gst.c \ + gstobject.c \ + gstmarshal.c \ gstautoplug.c \ gstbin.c \ gstbuffer.c \ @@ -27,7 +29,6 @@ libgst_la_SOURCES = \ gstextratypes.c \ gstinfo.c \ gstmeta.c \ - gstobject.c \ gstpad.c \ gstpipeline.c \ gstplugin.c \ diff --git a/gst/autoplug/autoplugtest.c b/gst/autoplug/autoplugtest.c index a3c60d1e8a..c334ea6b83 100644 --- a/gst/autoplug/autoplugtest.c +++ b/gst/autoplug/autoplugtest.c @@ -41,7 +41,7 @@ void have_type(GstElement *element, GstCaps *caps, GstCaps **private_caps) { gst_bin_add(GST_BIN(autobin),sink); gst_element_connect(decoder,"src",sink,"sink"); - gtk_object_set (GTK_OBJECT(cache), "reset", TRUE, NULL); + g_object_set (G_OBJECT(cache), "reset", TRUE, NULL); gst_element_connect(cache,"src",decoder,"sink"); } @@ -52,7 +52,7 @@ void have_type(GstElement *element, GstCaps *caps, GstCaps **private_caps) { gst_bin_add(GST_BIN(autobin),sink); gst_element_connect(decoder,"src",sink,"sink"); - gtk_object_set (GTK_OBJECT(cache), "reset", TRUE, NULL); + g_object_set (G_OBJECT(cache), "reset", TRUE, NULL); gst_element_connect(cache,"src",decoder,"sink"); } @@ -68,14 +68,14 @@ int main (int argc,char *argv[]) { pipeline = gst_pipeline_new("pipeline"); src = gst_elementfactory_make ("disksrc","src"); - gtk_object_set(GTK_OBJECT(src),"location",argv[1],NULL); + g_object_set(G_OBJECT(src),"location",argv[1],NULL); gst_bin_add (GST_BIN(pipeline),src); autobin = gst_bin_new("autobin"); cache = gst_elementfactory_make ("autoplugcache","cache"); - gtk_signal_connect (GTK_OBJECT(cache),"cache_empty",GTK_SIGNAL_FUNC(cache_empty),NULL); + g_signal_connectc (G_OBJECT(cache),"cache_empty",cache_empty,NULL,FALSE); typefind = gst_elementfactory_make ("typefind", "typefind"); - gtk_signal_connect (GTK_OBJECT(typefind),"have_type",GTK_SIGNAL_FUNC(have_type),&caps); + g_signal_connectc (G_OBJECT(typefind),"have_type",have_type,&caps,FALSE); gst_bin_add (GST_BIN(autobin),cache); gst_bin_add (GST_BIN(autobin),typefind); gst_element_connect(cache,"src",typefind,"sink"); diff --git a/gst/autoplug/gstautoplugcache.c b/gst/autoplug/gstautoplugcache.c index 906eec8e3f..a129330351 100644 --- a/gst/autoplug/gstautoplugcache.c +++ b/gst/autoplug/gstautoplugcache.c @@ -33,13 +33,13 @@ GstElementDetails gst_autoplugcache_details = { #define GST_TYPE_AUTOPLUGCACHE \ (gst_autoplugcache_get_type()) #define GST_AUTOPLUGCACHE(obj) \ - (GTK_CHECK_CAST((obj),GST_TYPE_AUTOPLUGCACHE,GstAutoplugCache)) + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUTOPLUGCACHE,GstAutoplugCache)) #define GST_AUTOPLUGCACHE_CLASS(klass) \ - (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUTOPLUGCACHE,GstAutoplugCacheClass)) + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUTOPLUGCACHE,GstAutoplugCacheClass)) #define GST_IS_AUTOPLUGCACHE(obj) \ - (GTK_CHECK_TYPE((obj),GST_TYPE_AUTOPLUGCACHE)) + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUTOPLUGCACHE)) #define GST_IS_AUTOPLUGCACHE_CLASS(obj) \ - (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUTOPLUGCACHE)) + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUTOPLUGCACHE)) typedef struct _GstAutoplugCache GstAutoplugCache; typedef struct _GstAutoplugCacheClass GstAutoplugCacheClass; @@ -85,8 +85,8 @@ enum { static void gst_autoplugcache_class_init (GstAutoplugCacheClass *klass); static void gst_autoplugcache_init (GstAutoplugCache *cache); -static void gst_autoplugcache_set_arg (GtkObject *object, GtkArg *arg, guint id); -static void gst_autoplugcache_get_arg (GtkObject *object, GtkArg *arg, guint id); +static void gst_autoplugcache_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); +static void gst_autoplugcache_get_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static void gst_autoplugcache_loop (GstElement *element); @@ -98,22 +98,23 @@ static GstElementStateReturn gst_autoplugcache_change_state (GstElement *element static GstElementClass *parent_class = NULL; static guint gst_autoplugcache_signals[LAST_SIGNAL] = { 0 }; -GtkType +GType gst_autoplugcache_get_type(void) { - static GtkType autoplugcache_type = 0; + static GType autoplugcache_type = 0; if (!autoplugcache_type) { - static const GtkTypeInfo autoplugcache_info = { - "GstAutoplugCache", - sizeof(GstAutoplugCache), + static const GTypeInfo autoplugcache_info = { sizeof(GstAutoplugCacheClass), - (GtkClassInitFunc)gst_autoplugcache_class_init, - (GtkObjectInitFunc)gst_autoplugcache_init, - (GtkArgSetFunc)gst_autoplugcache_set_arg, - (GtkArgGetFunc)gst_autoplugcache_get_arg, - (GtkClassInitFunc)NULL, + NULL, + NULL, + (GClassInitFunc)gst_autoplugcache_class_init, + NULL, + NULL, + sizeof(GstAutoplugCache), + 0, + (GInstanceInitFunc)gst_autoplugcache_init, }; - autoplugcache_type = gtk_type_unique (GST_TYPE_ELEMENT, &autoplugcache_info); + autoplugcache_type = g_type_register_static (GST_TYPE_ELEMENT, "GstAutoplugCache", &autoplugcache_info, 0); } return autoplugcache_type; } @@ -121,34 +122,36 @@ gst_autoplugcache_get_type(void) { static void gst_autoplugcache_class_init (GstAutoplugCacheClass *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_autoplugcache_signals[FIRST_BUFFER] = - gtk_signal_new ("first_buffer", GTK_RUN_LAST, gtkobject_class->type, - GTK_SIGNAL_OFFSET (GstAutoplugCacheClass, first_buffer), - gtk_marshal_NONE__POINTER, GTK_TYPE_NONE, 1, - GTK_TYPE_POINTER); + g_signal_newc ("first_buffer", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GstAutoplugCacheClass, first_buffer), NULL, NULL, + g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, + G_TYPE_POINTER); gst_autoplugcache_signals[CACHE_EMPTY] = - gtk_signal_new ("cache_empty", GTK_RUN_LAST, gtkobject_class->type, - GTK_SIGNAL_OFFSET (GstAutoplugCacheClass, cache_empty), - gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); - gtk_object_class_add_signals (gtkobject_class, gst_autoplugcache_signals, LAST_SIGNAL); + g_signal_newc ("cache_empty", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GstAutoplugCacheClass, cache_empty), NULL, NULL, + g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - gtk_object_add_arg_type ("GstAutoplugCache::buffer_count", GTK_TYPE_INT, - GTK_ARG_READABLE, ARG_BUFFER_COUNT); - gtk_object_add_arg_type ("GstAutoplugCache::caps_proxy", GTK_TYPE_BOOL, - GTK_ARG_READWRITE, ARG_CAPS_PROXY); - gtk_object_add_arg_type ("GstAutoplugCache::reset", GTK_TYPE_BOOL, - GTK_ARG_WRITABLE, ARG_RESET); + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFER_COUNT, + g_param_spec_enum("buffer_count","buffer_count","buffer_count", + G_TYPE_INT,0,G_PARAM_READABLE)); // CHECKME! + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_CAPS_PROXY, + g_param_spec_boolean("caps_proxy","caps_proxy","caps_proxy", + FALSE,G_PARAM_READWRITE)); // CHECKME! + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_RESET, + g_param_spec_boolean("reset","reset","reset", + FALSE,G_PARAM_WRITABLE)); // CHECKME! - gtkobject_class->set_arg = gst_autoplugcache_set_arg; - gtkobject_class->get_arg = gst_autoplugcache_get_arg; + gobject_class->set_property = gst_autoplugcache_set_property; + gobject_class->get_property = gst_autoplugcache_get_property; gstelement_class->change_state = gst_autoplugcache_change_state; } @@ -193,7 +196,7 @@ gst_autoplugcache_loop (GstElement *element) * buffer, i.e. the end of the list. * If the playout pointer does not have a prev (towards the most recent) buffer * (== NULL), a buffer must be pulled from the sink pad and added to the cache. - * When the playout pointer gets reset (as in a set_arg), the cache is walked + * When the playout pointer gets reset (as in a set_property), the cache is walked * without problems, because the playout pointer has a non-NULL next. When * the playout pointer hits the end of cache again it has to start pulling. */ @@ -212,7 +215,7 @@ gst_autoplugcache_loop (GstElement *element) // set the current_playout pointer cache->current_playout = cache->cache; - gtk_signal_emit (GTK_OBJECT(cache), gst_autoplugcache_signals[FIRST_BUFFER], buf); + g_signal_emit (G_OBJECT(cache), gst_autoplugcache_signals[FIRST_BUFFER], 0, buf); // send the buffer on its way gst_pad_push (cache->srcpad, buf); @@ -226,7 +229,7 @@ gst_autoplugcache_loop (GstElement *element) int oldstate = GST_STATE(cache); GST_DEBUG(0,"at front of cache, about to pull, but firing signal\n"); gst_object_ref (GST_OBJECT (cache)); - gtk_signal_emit (GTK_OBJECT(cache), gst_autoplugcache_signals[CACHE_EMPTY], NULL); + g_signal_emit (G_OBJECT(cache), gst_autoplugcache_signals[CACHE_EMPTY], 0, NULL); if (GST_STATE(cache) != oldstate) { gst_object_ref (GST_OBJECT (cache)); GST_DEBUG(GST_CAT_AUTOPLUG, "state changed during signal, aborting\n"); @@ -256,7 +259,7 @@ gst_autoplugcache_loop (GstElement *element) cache->current_playout = g_list_previous (cache->current_playout); if (cache->fire_first) { - gtk_signal_emit (GTK_OBJECT(cache), gst_autoplugcache_signals[FIRST_BUFFER], buf); + g_signal_emit (G_OBJECT(cache), gst_autoplugcache_signals[FIRST_BUFFER], 0, buf); cache->fire_first = FALSE; } @@ -294,15 +297,15 @@ gst_autoplugcache_change_state (GstElement *element) } static void -gst_autoplugcache_set_arg (GtkObject *object, GtkArg *arg, guint id) +gst_autoplugcache_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GstAutoplugCache *cache; cache = GST_AUTOPLUGCACHE (object); - switch (id) { + switch (prop_id) { case ARG_CAPS_PROXY: - cache->caps_proxy = GTK_VALUE_BOOL(*arg); + cache->caps_proxy = g_value_get_boolean (value); GST_DEBUG(0,"caps_proxy is %d\n",cache->caps_proxy); if (cache->caps_proxy) { gst_pad_set_negotiate_function (cache->sinkpad, GST_DEBUG_FUNCPTR(gst_autoplugcache_nego_sink)); @@ -314,7 +317,7 @@ GST_DEBUG(0,"caps_proxy is %d\n",cache->caps_proxy); break; case ARG_RESET: // no idea why anyone would set this to FALSE, but just in case ;-) - if (GTK_VALUE_BOOL(*arg)) { + if (g_value_get_boolean (value)) { GST_DEBUG(0,"resetting playout pointer\n"); // reset the playout pointer to the begining again cache->current_playout = cache->cache_start; @@ -330,20 +333,20 @@ GST_DEBUG(0,"caps_proxy is %d\n",cache->caps_proxy); } static void -gst_autoplugcache_get_arg (GtkObject *object, GtkArg *arg, guint id) +gst_autoplugcache_get_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GstAutoplugCache *cache; cache = GST_AUTOPLUGCACHE (object); - switch (id) { + switch (prop_id) { case ARG_BUFFER_COUNT: - GTK_VALUE_INT(*arg) = cache->buffer_count; + g_value_set_int (value, cache->buffer_count); break; case ARG_CAPS_PROXY: - GTK_VALUE_BOOL(*arg) = cache->caps_proxy; + g_value_set_boolean (value, cache->caps_proxy); default: - arg->type = GTK_TYPE_INVALID; + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } diff --git a/gst/autoplug/gstautoplugger.c b/gst/autoplug/gstautoplugger.c index 883d8cdc17..bacf0c5e74 100644 --- a/gst/autoplug/gstautoplugger.c +++ b/gst/autoplug/gstautoplugger.c @@ -33,13 +33,13 @@ GstElementDetails gst_autoplugger_details = { #define GST_TYPE_AUTOPLUGGER \ (gst_autoplugger_get_type()) #define GST_AUTOPLUGGER(obj) \ - (GTK_CHECK_CAST((obj),GST_TYPE_AUTOPLUGGER,GstAutoplugger)) + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUTOPLUGGER,GstAutoplugger)) #define GST_AUTOPLUGGER_CLASS(klass) \ - (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUTOPLUGGER,GstAutopluggerClass)) + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUTOPLUGGER,GstAutopluggerClass)) #define GST_IS_AUTOPLUGGER(obj) \ - (GTK_CHECK_TYPE((obj),GST_TYPE_AUTOPLUGGER)) + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUTOPLUGGER)) #define GST_IS_AUTOPLUGGER_CLASS(obj) \ - (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUTOPLUGGER)) + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUTOPLUGGER)) typedef struct _GstAutoplugger GstAutoplugger; typedef struct _GstAutopluggerClass GstAutopluggerClass; @@ -84,8 +84,8 @@ enum { static void gst_autoplugger_class_init (GstAutopluggerClass *klass); static void gst_autoplugger_init (GstAutoplugger *queue); -static void gst_autoplugger_set_arg (GtkObject *object, GtkArg *arg, guint id); -static void gst_autoplugger_get_arg (GtkObject *object, GtkArg *arg, guint id); +static void gst_autoplugger_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); +static void gst_autoplugger_get_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); //static GstElementStateReturn gst_autoplugger_change_state (GstElement *element); @@ -104,22 +104,23 @@ static void gst_autoplugger_typefind_have_type (GstElement *element, GstCaps *c static GstElementClass *parent_class = NULL; //static guint gst_autoplugger_signals[LAST_SIGNAL] = { 0 }; -GtkType +GType gst_autoplugger_get_type(void) { - static GtkType autoplugger_type = 0; + static GType autoplugger_type = 0; if (!autoplugger_type) { - static const GtkTypeInfo autoplugger_info = { - "GstAutoplugger", - sizeof(GstAutoplugger), + static const GTypeInfo autoplugger_info = { sizeof(GstAutopluggerClass), - (GtkClassInitFunc)gst_autoplugger_class_init, - (GtkObjectInitFunc)gst_autoplugger_init, - (GtkArgSetFunc)gst_autoplugger_set_arg, - (GtkArgGetFunc)gst_autoplugger_get_arg, - (GtkClassInitFunc)NULL, + NULL, + NULL, + (GClassInitFunc)gst_autoplugger_class_init, + NULL, + NULL, + sizeof(GstAutoplugger), + 0, + (GInstanceInitFunc)gst_autoplugger_init, }; - autoplugger_type = gtk_type_unique (GST_TYPE_BIN, &autoplugger_info); + autoplugger_type = g_type_register_static (GST_TYPE_BIN, "GstAutoplugger", &autoplugger_info, 0); } return autoplugger_type; } @@ -127,31 +128,32 @@ gst_autoplugger_get_type(void) { static void gst_autoplugger_class_init (GstAutopluggerClass *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_autoplugger_signals[_EMPTY] = - gtk_signal_new ("_empty", GTK_RUN_LAST, gtkobject_class->type, - GTK_SIGNAL_OFFSET (GstAutopluggerClass, _empty), - gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); - gtk_object_class_add_signals (gtkobject_class, gst_autoplugger_signals, LAST_SIGNAL); + g_signal_newc ("_empty", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GstAutopluggerClass, _empty), NULL, NULL, + g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); */ /* - gtk_object_add_arg_type ("GstAutoplugger::buffer_count", GTK_TYPE_INT, - GTK_ARG_READABLE, ARG_BUFFER_COUNT); - gtk_object_add_arg_type ("GstAutoplugger::reset", GTK_TYPE_BOOL, - GTK_ARG_WRITABLE, ARG_RESET); + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFER_COUNT, + g_param_spec_enum("buffer_count","buffer_count","buffer_count", + G_TYPE_INT,0,G_PARAM_READABLE)); // CHECKME! + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_RESET, + g_param_spec_enum("reset","reset","reset", + G_TYPE_BOOL,0,G_PARAM_WRITABLE)); // CHECKME! */ - gtkobject_class->set_arg = gst_autoplugger_set_arg; - gtkobject_class->get_arg = gst_autoplugger_get_arg; + gobject_class->set_property = gst_autoplugger_set_property; + gobject_class->get_property = gst_autoplugger_get_property; // gstelement_class->change_state = gst_autoplugger_change_state; } @@ -166,11 +168,11 @@ gst_autoplugger_init (GstAutoplugger *autoplugger) g_return_if_fail (autoplugger->cache != NULL); GST_DEBUG(GST_CAT_AUTOPLUG, "turning on caps nego proxying in cache\n"); - gtk_object_set(GTK_OBJECT(autoplugger->cache),"caps_proxy",TRUE,NULL); + gtk_object_set(G_OBJECT(autoplugger->cache),"caps_proxy",TRUE,NULL); // attach signals to the cache - gtk_signal_connect (GTK_OBJECT (autoplugger->cache), "first_buffer", - GTK_SIGNAL_FUNC (gst_autoplugger_cache_first_buffer), autoplugger); + g_signal_connectc (G_OBJECT (autoplugger->cache), "first_buffer", + gst_autoplugger_cache_first_buffer, autoplugger, FALSE); // add the cache to self gst_bin_add (GST_BIN(autoplugger), autoplugger->cache); @@ -180,18 +182,18 @@ gst_autoplugger_init (GstAutoplugger *autoplugger) autoplugger->cache_srcpad = gst_element_get_pad (autoplugger->cache, "src"); // attach handlers to the typefind pads - gtk_signal_connect (GTK_OBJECT (autoplugger->cache_sinkpad), "caps_changed", - GTK_SIGNAL_FUNC (gst_autoplugger_external_sink_caps_changed), autoplugger); - gtk_signal_connect (GTK_OBJECT (autoplugger->cache_srcpad), "caps_changed", - GTK_SIGNAL_FUNC (gst_autoplugger_external_src_caps_changed), autoplugger); - gtk_signal_connect (GTK_OBJECT (autoplugger->cache_sinkpad), "caps_nego_failed", - GTK_SIGNAL_FUNC (gst_autoplugger_external_sink_caps_nego_failed), autoplugger); - gtk_signal_connect (GTK_OBJECT (autoplugger->cache_srcpad), "caps_nego_failed", - GTK_SIGNAL_FUNC (gst_autoplugger_external_src_caps_nego_failed), autoplugger); -// gtk_signal_connect (GTK_OBJECT (autoplugger->cache_sinkpad), "connected", -// GTK_SIGNAL_FUNC (gst_autoplugger_external_sink_connected), autoplugger); -// gtk_signal_connect (GTK_OBJECT (autoplugger->cache_srcpad), "connected", -// GTK_SIGNAL_FUNC (gst_autoplugger_external_src_connected), autoplugger); + g_signal_connectc (G_OBJECT (autoplugger->cache_sinkpad), "caps_changed", + gst_autoplugger_external_sink_caps_changed, autoplugger,FALSE); + g_signal_connectc (G_OBJECT (autoplugger->cache_srcpad), "caps_changed", + gst_autoplugger_external_src_caps_changed, autoplugger,FALSE); + g_signal_connectc (G_OBJECT (autoplugger->cache_sinkpad), "caps_nego_failed", + gst_autoplugger_external_sink_caps_nego_failed, autoplugger,FALSE); + g_signal_connectc (G_OBJECT (autoplugger->cache_srcpad), "caps_nego_failed", + gst_autoplugger_external_src_caps_nego_failed, autoplugger,FALSE); +// g_signal_connectc (G_OBJECT (autoplugger->cache_sinkpad), "connected", +// gst_autoplugger_external_sink_connected, autoplugger,FALSE); +// g_signal_connectc (G_OBJECT (autoplugger->cache_srcpad), "connected", +// gst_autoplugger_external_src_connected, autoplugger,FALSE); // ghost both of these pads to the outside world gst_element_add_ghost_pad (GST_ELEMENT(autoplugger), autoplugger->cache_sinkpad, "sink"); @@ -246,7 +248,7 @@ gst_autoplugger_external_src_connected(GstPad *pad, GstPad *peerpad, GstAutoplug gst_caps_get_mime(peertemplatecaps)); autoplugger->sinktemplatecaps = peertemplatecaps; // GST_DEBUG(GST_CAT_AUTOPLUG, "turning on caps nego proxying in cache\n"); -// gtk_object_set(GTK_OBJECT(autoplugger->cache),"caps_proxy",TRUE,NULL); +// gtk_object_set(G_OBJECT(autoplugger->cache),"caps_proxy",TRUE,NULL); } } } @@ -482,12 +484,12 @@ gst_schedule_show(GST_ELEMENT_SCHED(autoplugger)); // now reset the autoplugcache GST_DEBUG(GST_CAT_AUTOPLUG, "resetting the cache to send first buffer(s) again\n"); - gtk_object_set(GTK_OBJECT(autoplugger->cache),"reset",TRUE,NULL); + gtk_object_set(G_OBJECT(autoplugger->cache),"reset",TRUE,NULL); // attach the cache_empty handler // FIXME this is the wrong place, it shouldn't be done until we get successful caps nego! - gtk_signal_connect(GTK_OBJECT(autoplugger->cache),"cache_empty", - GTK_SIGNAL_FUNC(gst_autoplugger_cache_empty),autoplugger); + g_signal_connectc (G_OBJECT(autoplugger->cache),"cache_empty", + gst_autoplugger_cache_empty,autoplugger,FALSE); autoplugger->paused--; if (autoplugger->paused == 0) @@ -530,8 +532,8 @@ gst_schedule_show(GST_ELEMENT_SCHED(autoplugger)); GST_DEBUG(GST_CAT_AUTOPLUG, "creating typefind and setting signal handler\n"); autoplugger->typefind = gst_elementfactory_make("typefind","unnamed_typefind"); autoplugger->typefind_sinkpad = gst_element_get_pad(autoplugger->typefind,"sink"); - gtk_signal_connect(GTK_OBJECT(autoplugger->typefind),"have_type", - GTK_SIGNAL_FUNC (gst_autoplugger_typefind_have_type), autoplugger); + g_signal_connectc (G_OBJECT(autoplugger->typefind),"have_type", + gst_autoplugger_typefind_have_type, autoplugger, FALSE); } // add it to self and attach it GST_DEBUG(GST_CAT_AUTOPLUG, "adding typefind to self and connecting to cache\n"); @@ -551,34 +553,34 @@ gst_schedule_show(GST_ELEMENT_SCHED(autoplugger)); gst_schedule_show(GST_ELEMENT_SCHED(autoplugger)); } else { // // attach the cache_empty handler, since the cache simply isn't needed -// gtk_signal_connect(GTK_OBJECT(autoplugger->cache),"cache_empty", -// GTK_SIGNAL_FUNC(gst_autoplugger_cache_empty),autoplugger); +// g_signal_connectc (G_OBJECT(autoplugger->cache),"cache_empty", +// gst_autoplugger_cache_empty,autoplugger,FALSE); } } static void -gst_autoplugger_set_arg (GtkObject *object, GtkArg *arg, guint id) +gst_autoplugger_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GstAutoplugger *autoplugger; autoplugger = GST_AUTOPLUGGER (object); - switch (id) { + switch (prop_id) { default: break; } } static void -gst_autoplugger_get_arg (GtkObject *object, GtkArg *arg, guint id) +gst_autoplugger_get_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GstAutoplugger *autoplugger; autoplugger = GST_AUTOPLUGGER (object); - switch (id) { + switch (prop_id) { default: - arg->type = GTK_TYPE_INVALID; + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } diff --git a/gst/autoplug/gststaticautoplug.c b/gst/autoplug/gststaticautoplug.c index 3edf83e78a..51cda33fd8 100644 --- a/gst/autoplug/gststaticautoplug.c +++ b/gst/autoplug/gststaticautoplug.c @@ -45,22 +45,23 @@ static GstElement* gst_static_autoplug_to_caps (GstAutoplug *autoplug, static GstAutoplugClass *parent_class = NULL; -GtkType gst_static_autoplug_get_type(void) +GType gst_static_autoplug_get_type(void) { - static GtkType static_autoplug_type = 0; + static GType static_autoplug_type = 0; if (!static_autoplug_type) { - static const GtkTypeInfo static_autoplug_info = { - "GstStaticAutoplug", - sizeof(GstElement), + static const GTypeInfo static_autoplug_info = { sizeof(GstElementClass), - (GtkClassInitFunc)gst_static_autoplug_class_init, - (GtkObjectInitFunc)gst_static_autoplug_init, - (GtkArgSetFunc)NULL, - (GtkArgGetFunc)NULL, - (GtkClassInitFunc)NULL, + NULL, + NULL, + (GClassInitFunc)gst_static_autoplug_class_init, + NULL, + NULL, + sizeof(GstElement), + 0, + (GInstanceInitFunc)gst_static_autoplug_init, }; - static_autoplug_type = gtk_type_unique (GST_TYPE_AUTOPLUG, &static_autoplug_info); + static_autoplug_type = g_type_register_static (GST_TYPE_AUTOPLUG, "GstStaticAutoplug", &static_autoplug_info, 0); } return static_autoplug_type; } @@ -72,7 +73,7 @@ gst_static_autoplug_class_init(GstStaticAutoplugClass *klass) gstautoplug_class = (GstAutoplugClass*) klass; - parent_class = gtk_type_class(GST_TYPE_AUTOPLUG); + parent_class = g_type_class_ref(GST_TYPE_AUTOPLUG); gstautoplug_class->autoplug_to_caps = gst_static_autoplug_to_caps; } @@ -225,8 +226,7 @@ gst_autoplug_pads_autoplug (GstElement *src, GstElement *sink) if (!connected) { GST_DEBUG (0,"gstpipeline: delaying pad connections for \"%s\" to \"%s\"\n", GST_ELEMENT_NAME(src), GST_ELEMENT_NAME(sink)); - gtk_signal_connect(GTK_OBJECT(src),"new_pad", - GTK_SIGNAL_FUNC(gst_autoplug_pads_autoplug_func), sink); + g_signal_connectc (G_OBJECT(src),"new_pad", gst_autoplug_pads_autoplug_func, sink, FALSE); } } @@ -459,10 +459,8 @@ differ: data->i = i; GST_DEBUG (0,"delaying the creation of a ghostpad for %s\n", GST_ELEMENT_NAME (thesrcelement)); - gtk_signal_connect (GTK_OBJECT (thesrcelement), "new_pad", - autoplug_dynamic_pad, data); - gtk_signal_connect (GTK_OBJECT (thesrcelement), "new_ghost_pad", - autoplug_dynamic_pad, data); + g_signal_connectc (G_OBJECT (thesrcelement), "new_pad", autoplug_dynamic_pad, data, FALSE); + g_signal_connectc (G_OBJECT (thesrcelement), "new_ghost_pad", autoplug_dynamic_pad, data, FALSE); } } } diff --git a/gst/autoplug/gststaticautoplug.h b/gst/autoplug/gststaticautoplug.h index 9a99097975..11511d4005 100644 --- a/gst/autoplug/gststaticautoplug.h +++ b/gst/autoplug/gststaticautoplug.h @@ -33,13 +33,13 @@ extern "C" { #define GST_TYPE_STATIC_AUTOPLUG \ (gst_static_autoplug_get_type()) #define GST_STATIC_AUTOPLUG(obj) \ - (GTK_CHECK_CAST((obj),GST_TYPE_STATIC_AUTOPLUG,GstStaticAutoplug)) + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_STATIC_AUTOPLUG,GstStaticAutoplug)) #define GST_STATIC_AUTOPLUG_CLASS(klass) \ - (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_STATIC_AUTOPLUG,GstStaticAutoplugClass)) + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_STATIC_AUTOPLUG,GstStaticAutoplugClass)) #define GST_IS_STATIC_AUTOPLUG(obj) \ - (GTK_CHECK_TYPE((obj),GST_TYPE_STATIC_AUTOPLUG)) + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_STATIC_AUTOPLUG)) #define GST_IS_STATIC_AUTOPLUG_CLASS(obj) \ - (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_STATIC_AUTOPLUG)) + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_STATIC_AUTOPLUG)) typedef struct _GstStaticAutoplug GstStaticAutoplug; typedef struct _GstStaticAutoplugClass GstStaticAutoplugClass; @@ -53,7 +53,7 @@ struct _GstStaticAutoplugClass { }; -GtkType gst_static_autoplug_get_type (void); +GType gst_static_autoplug_get_type (void); #ifdef __cplusplus } diff --git a/gst/autoplug/gststaticautoplugrender.c b/gst/autoplug/gststaticautoplugrender.c index 05bbea70a4..0c11efeed3 100644 --- a/gst/autoplug/gststaticautoplugrender.c +++ b/gst/autoplug/gststaticautoplugrender.c @@ -45,22 +45,23 @@ static GstElement* gst_static_autoplug_to_render (GstAutoplug *autoplug, static GstAutoplugClass *parent_class = NULL; -GtkType gst_static_autoplug_render_get_type(void) +GType gst_static_autoplug_render_get_type(void) { - static GtkType static_autoplug_type = 0; + static GType static_autoplug_type = 0; if (!static_autoplug_type) { - static const GtkTypeInfo static_autoplug_info = { - "GstStaticAutoplugRender", - sizeof(GstElement), + static const GTypeInfo static_autoplug_info = { sizeof(GstElementClass), - (GtkClassInitFunc)gst_static_autoplug_render_class_init, - (GtkObjectInitFunc)gst_static_autoplug_render_init, - (GtkArgSetFunc)NULL, - (GtkArgGetFunc)NULL, - (GtkClassInitFunc)NULL, + NULL, + NULL, + (GClassInitFunc)gst_static_autoplug_render_class_init, + NULL, + NULL, + sizeof(GstElement), + 0, + (GInstanceInitFunc)gst_static_autoplug_render_init, }; - static_autoplug_type = gtk_type_unique (GST_TYPE_AUTOPLUG, &static_autoplug_info); + static_autoplug_type = g_type_register_static (GST_TYPE_AUTOPLUG, "GstStaticAutoplugRender", &static_autoplug_info, 0); } return static_autoplug_type; } @@ -72,7 +73,7 @@ gst_static_autoplug_render_class_init(GstStaticAutoplugRenderClass *klass) gstautoplug_class = (GstAutoplugClass*) klass; - parent_class = gtk_type_class(GST_TYPE_AUTOPLUG); + parent_class = g_type_class_ref(GST_TYPE_AUTOPLUG); gstautoplug_class->autoplug_to_renderers = gst_static_autoplug_to_render; } @@ -202,10 +203,10 @@ gst_autoplug_pads_autoplug (GstElement *src, GstElement *sink) if (!connected) { GST_DEBUG (0,"gstpipeline: delaying pad connections for \"%s\" to \"%s\"\n", GST_ELEMENT_NAME(src), GST_ELEMENT_NAME(sink)); - gtk_signal_connect(GTK_OBJECT(src),"new_pad", - GTK_SIGNAL_FUNC(gst_autoplug_pads_autoplug_func), sink); - gtk_signal_connect(GTK_OBJECT(src),"new_ghost_pad", - GTK_SIGNAL_FUNC(gst_autoplug_pads_autoplug_func), sink); + g_signal_connectc (G_OBJECT(src),"new_pad", + gst_autoplug_pads_autoplug_func, sink, FALSE); + g_signal_connectc (G_OBJECT(src),"new_ghost_pad", + gst_autoplug_pads_autoplug_func, sink, FALSE); } } diff --git a/gst/autoplug/gststaticautoplugrender.h b/gst/autoplug/gststaticautoplugrender.h index 351d4cdcaf..6af32d401a 100644 --- a/gst/autoplug/gststaticautoplugrender.h +++ b/gst/autoplug/gststaticautoplugrender.h @@ -33,13 +33,13 @@ extern "C" { #define GST_TYPE_STATIC_AUTOPLUG_RENDER \ (gst_static_autoplug_render_get_type()) #define GST_STATIC_AUTOPLUG_RENDER(obj) \ - (GTK_CHECK_CAST((obj),GST_TYPE_STATIC_AUTOPLUG_RENDER,GstStaticAutoplugRender)) + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_STATIC_AUTOPLUG_RENDER,GstStaticAutoplugRender)) #define GST_STATIC_AUTOPLUG_RENDER_CLASS(klass) \ - (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_STATIC_AUTOPLUG_RENDER,GstStaticAutoplugRenderClass)) + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_STATIC_AUTOPLUG_RENDER,GstStaticAutoplugRenderClass)) #define GST_IS_STATIC_AUTOPLUG_RENDER(obj) \ - (GTK_CHECK_TYPE((obj),GST_TYPE_STATIC_AUTOPLUG_RENDER)) + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_STATIC_AUTOPLUG_RENDER)) #define GST_IS_STATIC_AUTOPLUG_RENDER_CLASS(obj) \ - (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_STATIC_AUTOPLUG_RENDER)) + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_STATIC_AUTOPLUG_RENDER)) typedef struct _GstStaticAutoplugRender GstStaticAutoplugRender; typedef struct _GstStaticAutoplugRenderClass GstStaticAutoplugRenderClass; @@ -53,7 +53,7 @@ struct _GstStaticAutoplugRenderClass { }; -GtkType gst_static_autoplug_render_get_type (void); +GType gst_static_autoplug_render_get_type (void); #ifdef __cplusplus } diff --git a/gst/elements/gstdisksink.c b/gst/elements/gstdisksink.c index b47f78337f..564d510fda 100644 --- a/gst/elements/gstdisksink.c +++ b/gst/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_enum("location","location","location", + GST_TYPE_FILENAME,0,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/gst/elements/gstdisksink.h b/gst/elements/gstdisksink.h index 15f3d3213a..1797135691 100644 --- a/gst/elements/gstdisksink.h +++ b/gst/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/gst/elements/gstdisksrc.c b/gst/elements/gstdisksrc.c index 9431e56810..bca6a539c7 100644 --- a/gst/elements/gstdisksrc.c +++ b/gst/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_enum("location","location","location", + GST_TYPE_FILENAME,0,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/gst/elements/gstdisksrc.h b/gst/elements/gstdisksrc.h index e049a10d7b..155a362c2d 100644 --- a/gst/elements/gstdisksrc.h +++ b/gst/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/gst/elements/gstelements.c b/gst/elements/gstelements.c index 6a46c6763b..b1bf952c33 100644 --- a/gst/elements/gstelements.c +++ b/gst/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/gst/elements/gstfakesink.c b/gst/elements/gstfakesink.c index 1d228653a4..913c303fd0 100644 --- a/gst/elements/gstfakesink.c +++ b/gst/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/gst/elements/gstfakesink.h b/gst/elements/gstfakesink.h index 37fa1f2274..483f948fb3 100644 --- a/gst/elements/gstfakesink.h +++ b/gst/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/gst/elements/gstfakesrc.c b/gst/elements/gstfakesrc.c index 97570bbb8f..ff5d362c48 100644 --- a/gst/elements/gstfakesrc.c +++ b/gst/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,22 @@ 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", + static const GTypeInfo fakesrc_info = { + sizeof(GstFakeSrcClass), NULL, NULL, + (GClassInitFunc)gst_fakesrc_class_init, + NULL, + NULL, sizeof(GstFakeSrc), - sizeof(GstFakeSrcClass), - (GtkClassInitFunc)gst_fakesrc_class_init, - (GtkObjectInitFunc)gst_fakesrc_init, - (GtkArgSetFunc)NULL, - (GtkArgGetFunc)NULL, - (GtkClassInitFunc)NULL, + 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 +109,42 @@ gst_fakesrc_get_type (void) static void gst_fakesrc_class_init (GstFakeSrcClass *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 ("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); + 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,0,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 - gtkobject_class->set_arg = gst_fakesrc_set_arg; - gtkobject_class->get_arg = gst_fakesrc_get_arg; + gobject_class->set_property = gst_fakesrc_set_property; + gobject_class->get_property = gst_fakesrc_get_property; 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); - - gtk_object_class_add_signals (gtkobject_class, gst_fakesrc_signals, - LAST_SIGNAL); + 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); } static void @@ -192,7 +195,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 +204,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 +218,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 +226,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 +241,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 +250,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 +318,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 +368,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/gst/elements/gstfakesrc.h b/gst/elements/gstfakesrc.h index ba92f631b6..dc327e2904 100644 --- a/gst/elements/gstfakesrc.h +++ b/gst/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/gst/elements/gstfdsink.c b/gst/elements/gstfdsink.c index 1b6fed7bc9..256e6a85af 100644 --- a/gst/elements/gstfdsink.c +++ b/gst/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/gst/elements/gstfdsink.h b/gst/elements/gstfdsink.h index 3a18efb075..8cf98c2c45 100644 --- a/gst/elements/gstfdsink.h +++ b/gst/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/gst/elements/gstfdsrc.c b/gst/elements/gstfdsrc.c index b256890b49..c937233a0f 100644 --- a/gst/elements/gstfdsrc.c +++ b/gst/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_enum("location","location","location", + GST_TYPE_FILENAME,0,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/gst/elements/gstfdsrc.h b/gst/elements/gstfdsrc.h index 4c4c3cbbaf..0fa21551fb 100644 --- a/gst/elements/gstfdsrc.h +++ b/gst/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/gst/elements/gsthttpsrc.c b/gst/elements/gsthttpsrc.c index 68c51b7bb6..82be7b3f48 100644 --- a/gst/elements/gsthttpsrc.c +++ b/gst/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/gst/elements/gsthttpsrc.h b/gst/elements/gsthttpsrc.h index 8a3935e383..c5056ece61 100644 --- a/gst/elements/gsthttpsrc.h +++ b/gst/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/gst/elements/gstidentity.c b/gst/elements/gstidentity.c index 2787fc0100..d12557573b 100644 --- a/gst/elements/gstidentity.c +++ b/gst/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/gst/elements/gstidentity.h b/gst/elements/gstidentity.h index 129c4922a6..d6dd0bdc0c 100644 --- a/gst/elements/gstidentity.h +++ b/gst/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/gst/elements/gstmultidisksrc.c b/gst/elements/gstmultidisksrc.c index 726aed976f..7b0f683080 100644 --- a/gst/elements/gstmultidisksrc.c +++ b/gst/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/gst/elements/gstmultidisksrc.h b/gst/elements/gstmultidisksrc.h index ed4a94c969..ba235e8069 100644 --- a/gst/elements/gstmultidisksrc.h +++ b/gst/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/gst/elements/gstmultifilesrc.c b/gst/elements/gstmultifilesrc.c index 726aed976f..7b0f683080 100644 --- a/gst/elements/gstmultifilesrc.c +++ b/gst/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/gst/elements/gstmultifilesrc.h b/gst/elements/gstmultifilesrc.h index ed4a94c969..ba235e8069 100644 --- a/gst/elements/gstmultifilesrc.h +++ b/gst/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/gst/elements/gstpipefilter.c b/gst/elements/gstpipefilter.c index 8b20e8b1bb..50d42a144b 100644 --- a/gst/elements/gstpipefilter.c +++ b/gst/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/gst/elements/gstpipefilter.h b/gst/elements/gstpipefilter.h index 6872dec6d7..221a914ed5 100644 --- a/gst/elements/gstpipefilter.h +++ b/gst/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/gst/elements/gstsinesrc.c b/gst/elements/gstsinesrc.c index 6a00e1eef0..487f76c4ff 100644 --- a/gst/elements/gstsinesrc.c +++ b/gst/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); @@ -99,51 +99,57 @@ 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); + parent_class = g_type_class_ref(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); + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VOLUME, + g_param_spec_double("volume","volume","volume", + G_MINDOUBLE,G_MAXDOUBLE,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", + G_MINDOUBLE,G_MAXDOUBLE,0,G_PARAM_READWRITE)); // CHECKME + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFER_SIZE, + g_param_spec_int("buffersize","buffersize","buffersize", + G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME - 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,42 @@ 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) + if (g_value_get_double (value) < 0.0 || g_value_get_double (value) > 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 +296,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; } } diff --git a/gst/elements/gstsinesrc.h b/gst/elements/gstsinesrc.h index ed38eeb960..390d12b068 100644 --- a/gst/elements/gstsinesrc.h +++ b/gst/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/gst/elements/gsttee.c b/gst/elements/gsttee.c index 67ab4b1541..23e904ee77 100644 --- a/gst/elements/gsttee.c +++ b/gst/elements/gsttee.c @@ -63,7 +63,7 @@ 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_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void gst_tee_chain (GstPad *pad, GstBuffer *buf); @@ -71,22 +71,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 +94,19 @@ 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->get_property = gst_tee_get_property; gstelement_class->request_new_pad = gst_tee_request_new_pad; } @@ -149,7 +150,7 @@ gst_tee_request_new_pad (GstElement *element, GstPadTemplate *templ) } static void -gst_tee_get_arg (GtkObject *object, GtkArg *arg, guint id) +gst_tee_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GstTee *tee; @@ -158,9 +159,9 @@ gst_tee_get_arg (GtkObject *object, GtkArg *arg, guint id) tee = GST_TEE (object); - switch(id) { + 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/gst/elements/gsttee.h b/gst/elements/gsttee.h index f7f3979d22..7607629cef 100644 --- a/gst/elements/gsttee.h +++ b/gst/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); diff --git a/gst/gst.c b/gst/gst.c index 95bb856f92..99b4b533b6 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -63,16 +63,19 @@ gst_init (int *argc, char **argv[]) if (!g_thread_supported ()) g_thread_init (NULL); + g_type_init(0); + /* Only initialise gtk fully if we have an X display. * FIXME: this fails if the display is specified differently, eg, by * a command line parameter. This is okay though, since this is only * a quick hack and should be replaced when we move to gobject.*/ +/* display = g_getenv("DISPLAY"); if (display == NULL) { gtk_type_init (); } else { gtk_init (argc,argv); - } + }*/ if (!gst_init_check (argc,argv)) { exit (0); @@ -269,7 +272,7 @@ gst_init_check (int *argc, void gst_main (void) { - gtk_main (); +// gtk_main (); } /** @@ -280,5 +283,5 @@ gst_main (void) void gst_main_quit (void) { - gtk_main_quit (); +// gtk_main_quit (); } diff --git a/gst/gstautoplug.c b/gst/gstautoplug.c index edf21d1569..ca220917d8 100644 --- a/gst/gstautoplug.c +++ b/gst/gstautoplug.c @@ -77,7 +77,7 @@ gst_autoplug_class_init(GstAutoplugClass *klass) parent_class = g_type_class_ref (GST_TYPE_OBJECT); gst_autoplug_signals[NEW_OBJECT] = - g_signal_newc ("new_object", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("new_object", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstAutoplugClass, new_object), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GST_TYPE_OBJECT); diff --git a/gst/gstbin.c b/gst/gstbin.c index cecc2c2dcd..34d2e5228a 100644 --- a/gst/gstbin.c +++ b/gst/gstbin.c @@ -106,7 +106,7 @@ gst_bin_class_init (GstBinClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); gst_bin_signals[OBJECT_ADDED] = - g_signal_newc ("object_added", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_FIRST, + g_signal_newc ("object_added", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstBinClass, object_added), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, GST_TYPE_ELEMENT); diff --git a/gst/gstelement.c b/gst/gstelement.c index 604097e01c..fc915e833e 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -97,37 +97,37 @@ gst_element_class_init (GstElementClass *klass) parent_class = g_type_class_ref(GST_TYPE_OBJECT); gst_element_signals[STATE_CHANGE] = - g_signal_newc ("state_change", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("state_change", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass, state_change), NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT); gst_element_signals[NEW_PAD] = - g_signal_newc ("new_pad", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("new_pad", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass, new_pad), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, GST_TYPE_PAD); gst_element_signals[PAD_REMOVED] = - g_signal_newc ("pad_removed", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("pad_removed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass, pad_removed), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, GST_TYPE_PAD); gst_element_signals[NEW_GHOST_PAD] = - g_signal_newc ("new_ghost_pad", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("new_ghost_pad", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass, new_ghost_pad), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, GST_TYPE_PAD); gst_element_signals[GHOST_PAD_REMOVED] = - g_signal_newc ("ghost_pad_removed", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("ghost_pad_removed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass, ghost_pad_removed), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, GST_TYPE_PAD); gst_element_signals[ERROR] = - g_signal_newc ("error", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("error", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass, error), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE,1, G_TYPE_STRING); gst_element_signals[EOS] = - g_signal_newc ("eos", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("eos", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass,eos), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); diff --git a/gst/gstobject.c b/gst/gstobject.c index 7a6d9ff39e..c2dfb65754 100644 --- a/gst/gstobject.c +++ b/gst/gstobject.c @@ -91,26 +91,13 @@ gst_object_class_init (GstObjectClass *klass) parent_class = g_type_class_ref (G_TYPE_OBJECT); -/* gst_object_signals[PARENT_SET] = - g_signal_newc ("parent_set", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GstObjectClass, parent_set), NULL, NULL, - g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, - GST_TYPE_OBJECT); - gst_object_signals[OBJECT_SAVED] = - g_signal_newc ("object_saved", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GstObjectClass, object_saved), NULL, NULL, - g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, - G_TYPE_POINTER); -*/ - - gst_object_signals[PARENT_SET] = - g_signal_newc("parent_set", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc("parent_set", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstObjectClass, parent_set), NULL, NULL, g_cclosure_marshal_VOID__OBJECT,G_TYPE_NONE,1, G_TYPE_OBJECT); gst_object_signals[OBJECT_SAVED] = - g_signal_newc("object_saved", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc("object_saved", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstObjectClass, object_saved), NULL, NULL, g_cclosure_marshal_VOID__OBJECT,G_TYPE_NONE,1, G_TYPE_OBJECT); @@ -618,9 +605,8 @@ gst_signal_object_class_init (GstSignalObjectClass *klass) parent_class = g_type_class_ref (G_TYPE_OBJECT); gst_signal_object_signals[SO_OBJECT_LOADED] = - g_signal_newc("object_loaded", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc("object_loaded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstObjectClass, parent_set), NULL, NULL, - NULL, NULL, gst_marshal_VOID__OBJECT_POINTER,G_TYPE_NONE,2, G_TYPE_OBJECT,G_TYPE_POINTER); } diff --git a/gst/gstpad.c b/gst/gstpad.c index 3d7baef2c6..3cf6a975a5 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -140,27 +140,27 @@ gst_real_pad_class_init (GstRealPadClass *klass) real_pad_parent_class = g_type_class_ref(GST_TYPE_PAD); gst_real_pad_signals[REAL_SET_ACTIVE] = - g_signal_newc ("set_active", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("set_active", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstRealPadClass, set_active), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); gst_real_pad_signals[REAL_CAPS_CHANGED] = - g_signal_newc ("caps_changed", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("caps_changed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstRealPadClass, caps_changed), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); gst_real_pad_signals[REAL_CAPS_NEGO_FAILED] = - g_signal_newc ("caps_nego_failed", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("caps_nego_failed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstRealPadClass, caps_nego_failed), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); gst_real_pad_signals[REAL_CONNECTED] = - g_signal_newc ("connected", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("connected", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstRealPadClass, connected), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); gst_real_pad_signals[REAL_DISCONNECTED] = - g_signal_newc ("disconnected", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("disconnected", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstRealPadClass, disconnected), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); @@ -1595,7 +1595,7 @@ gst_padtemplate_class_init (GstPadTemplateClass *klass) padtemplate_parent_class = g_type_class_ref(GST_TYPE_OBJECT); gst_padtemplate_signals[TEMPL_PAD_CREATED] = - g_signal_newc ("pad_created", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("pad_created", G_SIGNAL_RUN_LAST, G_TYPE_FROM_CLASS(klass), G_STRUCT_OFFSET (GstPadTemplateClass, pad_created), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, GST_TYPE_PAD); diff --git a/gst/gstparse.c b/gst/gstparse.c index 0ca8bb1e74..f6588c8e0b 100644 --- a/gst/gstparse.c +++ b/gst/gstparse.c @@ -278,8 +278,8 @@ if (GST_IS_GHOST_PAD(srcpad)) GST_DEBUG(0,"it's a ghost pad\n"); GST_DEBUG(0,"SETTING UP dynamic connection %s:%s and %s:%s\n",gst_element_get_name (previous), srcpadname,GST_DEBUG_PAD_NAME(sinkpad)); - gtk_signal_connect (G_OBJECT (previous), "new_pad", dynamic_connect, connect); - gtk_signal_connect (G_OBJECT (previous), "new_ghost_pad", dynamic_connect, connect); + g_signal_connectc (G_OBJECT (previous), "new_pad", dynamic_connect, connect, FALSE); + g_signal_connectc (G_OBJECT (previous), "new_ghost_pad", dynamic_connect, connect, FALSE); } else { GST_DEBUG(0,"CONNECTING %s:%s and %s:%s\n",GST_DEBUG_PAD_NAME(srcpad),GST_DEBUG_PAD_NAME(sinkpad)); @@ -294,8 +294,7 @@ if (GST_IS_GHOST_PAD(srcpad)) GST_DEBUG(0,"it's a ghost pad\n"); // thomas: if we're the first element, connect eos signal if (elementcount == 1) { - gtk_signal_connect (G_OBJECT (element), "eos", - GTK_SIGNAL_FUNC (have_eos), NULL); + g_signal_connectc (G_OBJECT (element), "eos", have_eos, NULL, FALSE); } // if we're the first element, ghost all the sinkpads diff --git a/gst/gsttypefind.c b/gst/gsttypefind.c index 7fa4877189..79c9b402dc 100644 --- a/gst/gsttypefind.c +++ b/gst/gsttypefind.c @@ -98,7 +98,7 @@ gst_typefind_class_init (GstTypeFindClass *klass) g_param_spec_pointer("caps", "Caps", "Found capabilities", G_PARAM_READABLE)); gst_typefind_signals[HAVE_TYPE] = - g_signal_newc ("have_type", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("have_type", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstTypeFindClass, have_type), NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_POINTER); diff --git a/gst/gstxml.c b/gst/gstxml.c index c7c258b74c..2391d3d09f 100644 --- a/gst/gstxml.c +++ b/gst/gstxml.c @@ -70,7 +70,7 @@ gst_xml_class_init (GstXMLClass *klass) parent_class = g_type_class_ref (GST_TYPE_OBJECT); gst_xml_signals[OBJECT_LOADED] = - g_signal_newc ("object_loaded", G_OBJECT_TYPE(gobject_class), G_SIGNAL_RUN_LAST, + g_signal_newc ("object_loaded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstXMLClass, object_loaded), NULL, NULL, gst_marshal_VOID__OBJECT_POINTER, G_TYPE_NONE, 2, GST_TYPE_OBJECT, G_TYPE_POINTER); diff --git a/plugins/elements/gstdisksink.c b/plugins/elements/gstdisksink.c index b47f78337f..564d510fda 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_enum("location","location","location", + GST_TYPE_FILENAME,0,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 9431e56810..bca6a539c7 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_enum("location","location","location", + GST_TYPE_FILENAME,0,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..ff5d362c48 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,22 @@ 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", + static const GTypeInfo fakesrc_info = { + sizeof(GstFakeSrcClass), NULL, NULL, + (GClassInitFunc)gst_fakesrc_class_init, + NULL, + NULL, sizeof(GstFakeSrc), - sizeof(GstFakeSrcClass), - (GtkClassInitFunc)gst_fakesrc_class_init, - (GtkObjectInitFunc)gst_fakesrc_init, - (GtkArgSetFunc)NULL, - (GtkArgGetFunc)NULL, - (GtkClassInitFunc)NULL, + 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 +109,42 @@ gst_fakesrc_get_type (void) static void gst_fakesrc_class_init (GstFakeSrcClass *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 ("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); + 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,0,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 - gtkobject_class->set_arg = gst_fakesrc_set_arg; - gtkobject_class->get_arg = gst_fakesrc_get_arg; + gobject_class->set_property = gst_fakesrc_set_property; + gobject_class->get_property = gst_fakesrc_get_property; 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); - - gtk_object_class_add_signals (gtkobject_class, gst_fakesrc_signals, - LAST_SIGNAL); + 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); } static void @@ -192,7 +195,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 +204,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 +218,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 +226,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 +241,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 +250,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 +318,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 +368,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..c937233a0f 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_enum("location","location","location", + GST_TYPE_FILENAME,0,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/gstsinesrc.c b/plugins/elements/gstsinesrc.c index 6a00e1eef0..487f76c4ff 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); @@ -99,51 +99,57 @@ 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); + parent_class = g_type_class_ref(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); + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VOLUME, + g_param_spec_double("volume","volume","volume", + G_MINDOUBLE,G_MAXDOUBLE,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", + G_MINDOUBLE,G_MAXDOUBLE,0,G_PARAM_READWRITE)); // CHECKME + g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFER_SIZE, + g_param_spec_int("buffersize","buffersize","buffersize", + G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME - 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,42 @@ 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) + if (g_value_get_double (value) < 0.0 || g_value_get_double (value) > 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 +296,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; } } 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..23e904ee77 100644 --- a/plugins/elements/gsttee.c +++ b/plugins/elements/gsttee.c @@ -63,7 +63,7 @@ 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_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void gst_tee_chain (GstPad *pad, GstBuffer *buf); @@ -71,22 +71,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 +94,19 @@ 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->get_property = gst_tee_get_property; gstelement_class->request_new_pad = gst_tee_request_new_pad; } @@ -149,7 +150,7 @@ gst_tee_request_new_pad (GstElement *element, GstPadTemplate *templ) } static void -gst_tee_get_arg (GtkObject *object, GtkArg *arg, guint id) +gst_tee_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GstTee *tee; @@ -158,9 +159,9 @@ gst_tee_get_arg (GtkObject *object, GtkArg *arg, guint id) tee = GST_TEE (object); - switch(id) { + 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);