From e2cb41fed87ce8c45e11a6223ef4746c3e77b1a0 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 13 Dec 2001 23:37:47 +0000 Subject: [PATCH] More Michael fixage Original commit message from CVS: More Michael fixage --- ChangeLog | 37 +++--------- gst/elements/gstdisksink.c | 7 ++- gst/elements/gstdisksrc.c | 19 +++--- gst/elements/gstfakesink.c | 12 ++-- gst/elements/gstfakesrc.c | 12 ++-- gst/elements/gstfdsink.c | 7 ++- gst/elements/gstfdsrc.c | 15 ++--- gst/elements/gstfilesrc.c | 31 +++------- gst/elements/gsthttpsrc.c | 11 ++-- gst/gstelement.c | 134 +++++++++++++++++++++++++++++++++++++++++ gst/gstelement.h | 5 +- plugins/elements/gstdisksink.c | 7 ++- plugins/elements/gstdisksrc.c | 19 +++--- plugins/elements/gstfakesink.c | 12 ++-- plugins/elements/gstfakesrc.c | 12 ++-- plugins/elements/gstfdsink.c | 7 ++- plugins/elements/gstfdsrc.c | 15 ++--- plugins/elements/gstfilesrc.c | 31 +++------- plugins/elements/gsthttpsrc.c | 11 ++-- test/Makefile.am | 2 + 20 files changed, 246 insertions(+), 160 deletions(-) diff --git a/ChangeLog b/ChangeLog index 58295de..f83f66b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2001-12-13 Michael Meeks + * gst/elements/*.c: (..._class_init): clean to use + gst_populate_std_props. + + * gst/gstelement.c + (gst_element_populate_std_props): impl, simply for now, + with a few standard properties. + (gst_element_install_std_props): impl nice helper. + +2001-12-13 Michael Meeks + * gst/gstplugin.c (_gst_plugin_initialize): g_error instead of warning. @@ -55,33 +65,6 @@ * configure.ac: update libxml checks. -2001-12-13 Michael Meeks - - * plugins/xvideosink/Makefile.am: add $(X_LIBS) - - * examples/typefind/typefind.c (type_found): upd. - xml code. - - * plugins/mikmod/gstmikmod.c - (gst_mikmod_set_property): same memory bug here - - unfixed. - - * plugins/oss/gstosssrc.c - (gst_osssrc_set_property): fix memory issue. - (gst_osssrc_init): dup the string - argh; quit here - - such code should be stuck in a common base class not - cut and pasted. - - * plugins/oss/gstosssink.c - (gst_osssink_init): manage the device allocation. - (gst_osssink_finalize): impl. - (gst_osssink_class_init): upd. - (gst_osssink_set_property): upd. - - * acconfig.h: cover HAVE_LIBXML2 - - * configure.ac: update libxml checks. - 2001-12-11 22:10 thomasvs * lots of build fixes for 0.3.0 release diff --git a/gst/elements/gstdisksink.c b/gst/elements/gstdisksink.c index 8a838c6..8fa9ae7 100644 --- a/gst/elements/gstdisksink.c +++ b/gst/elements/gstdisksink.c @@ -98,9 +98,10 @@ gst_disksink_class_init (GstDiskSinkClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","location","location", - NULL,G_PARAM_READWRITE)); // CHECKME! + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_READWRITE, + NULL); gst_disksink_signals[SIGNAL_HANDOFF] = g_signal_new ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, diff --git a/gst/elements/gstdisksrc.c b/gst/elements/gstdisksrc.c index 11e2cba..345d727 100644 --- a/gst/elements/gstdisksrc.c +++ b/gst/elements/gstdisksrc.c @@ -108,18 +108,13 @@ gst_disksrc_class_init (GstDiskSrcClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","location","location", - NULL,G_PARAM_READWRITE)); // CHECKME! - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BYTESPERREAD, - g_param_spec_int("bytesperread","bytesperread","bytesperread", - G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET, - g_param_spec_long("offset","offset","offset", - G_MINLONG,G_MAXLONG,0,G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FILESIZE, - g_param_spec_long("filesize","filesize","filesize", - G_MINLONG,G_MAXLONG,0,G_PARAM_READABLE)); // CHECKME + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_READWRITE, + "bytesperread", ARG_BYTESPERREAD, G_PARAM_READWRITE, + "offset", ARG_OFFSET, G_PARAM_READWRITE, + "filesize", ARG_FILESIZE, G_PARAM_READABLE, + NULL); gobject_class->set_property = gst_disksrc_set_property; gobject_class->get_property = gst_disksrc_get_property; diff --git a/gst/elements/gstfakesink.c b/gst/elements/gstfakesink.c index 69b8740..defca17 100644 --- a/gst/elements/gstfakesink.c +++ b/gst/elements/gstfakesink.c @@ -107,12 +107,12 @@ gst_fakesink_class_init (GstFakeSinkClass *klass) g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NUM_SINKS, g_param_spec_int ("num_sinks", "num_sinks", "num_sinks", 1, G_MAXINT, 1, G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SILENT, - g_param_spec_boolean ("silent", "silent", "silent", - FALSE, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DUMP, - g_param_spec_boolean ("dump", "dump", "dump", - FALSE, G_PARAM_READWRITE)); + + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "silent", ARG_SILENT, G_PARAM_READWRITE, + "dump", ARG_DUMP, G_PARAM_READWRITE, + NULL); gst_fakesink_signals[SIGNAL_HANDOFF] = g_signal_new ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, diff --git a/gst/elements/gstfakesrc.c b/gst/elements/gstfakesrc.c index 8dece3e..912157a 100644 --- a/gst/elements/gstfakesrc.c +++ b/gst/elements/gstfakesrc.c @@ -231,12 +231,12 @@ gst_fakesrc_class_init (GstFakeSrcClass *klass) 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", - FALSE, G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DUMP, - g_param_spec_boolean ("dump","dump","dump", - FALSE, G_PARAM_READWRITE)); + + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "silent", ARG_SILENT, G_PARAM_READWRITE, + "dump", ARG_DUMP, G_PARAM_READWRITE, + NULL); gst_fakesrc_signals[SIGNAL_HANDOFF] = g_signal_new ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, diff --git a/gst/elements/gstfdsink.c b/gst/elements/gstfdsink.c index 371d543..88e7c99 100644 --- a/gst/elements/gstfdsink.c +++ b/gst/elements/gstfdsink.c @@ -89,9 +89,10 @@ gst_fdsink_class_init (GstFdSinkClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - 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 + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "fd", ARG_FD, G_PARAM_READWRITE, + NULL); gobject_class->set_property = gst_fdsink_set_property; gobject_class->get_property = gst_fdsink_get_property; diff --git a/gst/elements/gstfdsrc.c b/gst/elements/gstfdsrc.c index 4fc4d92..2a1c895 100644 --- a/gst/elements/gstfdsrc.c +++ b/gst/elements/gstfdsrc.c @@ -98,15 +98,12 @@ gst_fdsrc_class_init (GstFdSrcClass *klass) parent_class = g_type_class_ref(GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","location","location", - "",G_PARAM_WRITABLE)); // CHECKME! - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BYTESPERREAD, - g_param_spec_int("bytesperread","bytesperread","bytesperread", - G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET, - g_param_spec_int("offset","offset","offset", - G_MININT,G_MAXINT,0,G_PARAM_READABLE)); // CHECKME + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_WRITABLE, + "bytesperread", ARG_BYTESPERREAD, G_PARAM_READWRITE, + "offset", ARG_OFFSET, G_PARAM_READABLE, + NULL); gobject_class->set_property = gst_fdsrc_set_property; gobject_class->get_property = gst_fdsrc_get_property; diff --git a/gst/elements/gstfilesrc.c b/gst/elements/gstfilesrc.c index cfcc250..f6843e1 100644 --- a/gst/elements/gstfilesrc.c +++ b/gst/elements/gstfilesrc.c @@ -146,27 +146,16 @@ gst_filesrc_class_init (GstFileSrcClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","File Location","Location of the file to read", - NULL,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FILESIZE, - g_param_spec_int64("filesize","File Size","Size of the file being read", - 0,G_MAXINT64,0,G_PARAM_READABLE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FD, - g_param_spec_int("fd","File-descriptor","File-descriptor for the file being read", - 0,G_MAXINT,0,G_PARAM_READABLE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BLOCKSIZE, - g_param_spec_ulong("blocksize","Block Size","Block size to read per buffer", - 0,G_MAXULONG,4096,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET, - g_param_spec_int64("offset","File Offset","Byte offset of current read pointer", - 0,G_MAXINT64,0,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MAPSIZE, - g_param_spec_ulong("mmapsize","mmap() Block Size","Size in bytes of mmap()d regions", - 0,G_MAXULONG,4*1048576,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_TOUCH, - g_param_spec_boolean("touch","Touch read data","Touch data to force disk read before push()", - TRUE,G_PARAM_READWRITE)); + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "fd", ARG_FD, G_PARAM_READABLE, + "offset", ARG_OFFSET, G_PARAM_READWRITE, + "filesize", ARG_FILESIZE, G_PARAM_READABLE, + "location", ARG_LOCATION, G_PARAM_READWRITE, + "blocksize", ARG_BLOCKSIZE, G_PARAM_READWRITE, + "mmapsize", ARG_MAPSIZE, G_PARAM_READWRITE, + "touch", ARG_TOUCH, G_PARAM_READWRITE, + NULL); gobject_class->set_property = gst_filesrc_set_property; gobject_class->get_property = gst_filesrc_get_property; diff --git a/gst/elements/gsthttpsrc.c b/gst/elements/gsthttpsrc.c index 201c9f1..5064a03 100644 --- a/gst/elements/gsthttpsrc.c +++ b/gst/elements/gsthttpsrc.c @@ -102,12 +102,11 @@ gst_httpsrc_class_init (GstHttpSrcClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - 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 + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_READWRITE, + "bytesperread", ARG_BYTESPERREAD, G_PARAM_READWRITE, + NULL); gobject_class->set_property = gst_httpsrc_set_property; gobject_class->get_property = gst_httpsrc_get_property; diff --git a/gst/gstelement.c b/gst/gstelement.c index b6b0fd9..616ef5c 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -22,6 +22,7 @@ //#define GST_DEBUG_ENABLED #include +#include #include "gst_private.h" #include "gstelement.h" @@ -1300,3 +1301,136 @@ gst_element_statename (GstElementState state) } return ""; } + +static void +gst_element_populate_std_props (GObjectClass *klass, + const char *prop_name, + guint arg_id, + GParamFlags flags) +{ + GQuark prop_id = g_quark_from_string (prop_name); + GParamSpec *pspec; + + static GQuark fd_id = 0; + static GQuark blocksize_id; + static GQuark bytesperread_id; + static GQuark dump_id; + static GQuark filesize_id; + static GQuark mmapsize_id; + static GQuark location_id; + static GQuark offset_id; + static GQuark silent_id; + static GQuark touch_id; + + if (!fd_id) { + fd_id = g_quark_from_static_string ("fd"); + blocksize_id = g_quark_from_static_string ("blocksize"); + bytesperread_id = g_quark_from_static_string ("bytesperread"); + dump_id = g_quark_from_static_string ("dump"); + filesize_id = g_quark_from_static_string ("filesize"); + mmapsize_id = g_quark_from_static_string ("mmapsize"); + location_id = g_quark_from_static_string ("location"); + offset_id = g_quark_from_static_string ("offset"); + silent_id = g_quark_from_static_string ("silent"); + touch_id = g_quark_from_static_string ("touch"); + } + + if (prop_id == fd_id) { + g_param_spec_int ( + "fd", "File-descriptor", + "File-descriptor for the file being read", + 0, G_MAXINT, 0, flags); + + } else if (prop_id == blocksize_id) { + pspec = g_param_spec_ulong ( + "blocksize", "Block Size", + "Block size to read per buffer", + 0, G_MAXULONG, 4096, flags); + + } else if (prop_id == bytesperread_id) { + pspec = g_param_spec_int ( + "bytesperread", "bytesperread", "bytesperread", + G_MININT, G_MAXINT, 0, flags); + + } else if (prop_id == dump_id) { + pspec = g_param_spec_boolean ( + "dump", "dump", "dump", + FALSE, flags); + + } else if (prop_id == filesize_id) { + pspec = g_param_spec_int64 ( + "filesize", "File Size", + "Size of the file being read", + 0, G_MAXINT64, 0, flags); + + } else if (prop_id == mmapsize_id) { + pspec = g_param_spec_ulong ( + "mmapsize", "mmap() Block Size", + "Size in bytes of mmap()d regions", + 0, G_MAXULONG, 4 * 1048576, flags); + + } else if (prop_id == location_id) { + pspec = g_param_spec_string ( + "location", "File Location", + "Location of the file to read", + NULL, flags); + + } else if (prop_id == offset_id) { + pspec = g_param_spec_int64 ( + "offset", "File Offset", + "Byte offset of current read pointer", + 0, G_MAXINT64, 0, flags); + + } else if (prop_id == silent_id) { + pspec = g_param_spec_boolean ( + "silent", "silent", "silent", + FALSE, flags); + + } else if (prop_id == touch_id) { + pspec = g_param_spec_boolean ( + "touch", "Touch read data", + "Touch data to force disk read before push ()", + TRUE, flags); + } + + g_object_class_install_property (klass, arg_id, pspec); +} + +/** + * gst_element_install_std_props: + * @klass: the class to add the properties to + * @first_name: the first in a NULL terminated + * 'name', 'id', 'flags' triplet list. + * + * Add a list of standardized properties with types to the @klass. + * the id is for the property switch in your get_prop method, and + * the flags determine readability / writeability. + **/ +void +gst_element_install_std_props (GstElementClass *klass, + const char *first_name, + ...) +{ + const char *name; + + va_list args; + + g_return_if_fail (GST_IS_ELEMENT_CLASS (klass)); + + va_start (args, first_name); + + name = first_name; + + while (name) { + int arg_id = va_arg (args, int); + int flags = va_arg (args, int); + + gst_element_populate_std_props ( + (GObjectClass *) klass, name, arg_id, flags); + + name = va_arg (args, char *); + } + + va_end (args); +} + diff --git a/gst/gstelement.h b/gst/gstelement.h index 498f6fe..b45be70 100644 --- a/gst/gstelement.h +++ b/gst/gstelement.h @@ -225,6 +225,10 @@ void gst_element_error (GstElement *element, const gchar *error); GstElementFactory* gst_element_get_factory (GstElement *element); +void gst_element_install_std_props (GstElementClass *klass, + const char *first_name, ...); + + #ifndef GST_DISABLE_LOADSAVE /* XML write and read */ GstElement* gst_element_restore_thyself (xmlNodePtr self, GstObject *parent); @@ -293,7 +297,6 @@ GstElement* gst_elementfactory_create (GstElementFactory *factory, /* FIXME this name is wrong, probably so is the one above it */ GstElement* gst_elementfactory_make (const gchar *factoryname, const gchar *name); - #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/plugins/elements/gstdisksink.c b/plugins/elements/gstdisksink.c index 8a838c6..8fa9ae7 100644 --- a/plugins/elements/gstdisksink.c +++ b/plugins/elements/gstdisksink.c @@ -98,9 +98,10 @@ gst_disksink_class_init (GstDiskSinkClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","location","location", - NULL,G_PARAM_READWRITE)); // CHECKME! + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_READWRITE, + NULL); gst_disksink_signals[SIGNAL_HANDOFF] = g_signal_new ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, diff --git a/plugins/elements/gstdisksrc.c b/plugins/elements/gstdisksrc.c index 11e2cba..345d727 100644 --- a/plugins/elements/gstdisksrc.c +++ b/plugins/elements/gstdisksrc.c @@ -108,18 +108,13 @@ gst_disksrc_class_init (GstDiskSrcClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","location","location", - NULL,G_PARAM_READWRITE)); // CHECKME! - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BYTESPERREAD, - g_param_spec_int("bytesperread","bytesperread","bytesperread", - G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET, - g_param_spec_long("offset","offset","offset", - G_MINLONG,G_MAXLONG,0,G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FILESIZE, - g_param_spec_long("filesize","filesize","filesize", - G_MINLONG,G_MAXLONG,0,G_PARAM_READABLE)); // CHECKME + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_READWRITE, + "bytesperread", ARG_BYTESPERREAD, G_PARAM_READWRITE, + "offset", ARG_OFFSET, G_PARAM_READWRITE, + "filesize", ARG_FILESIZE, G_PARAM_READABLE, + NULL); gobject_class->set_property = gst_disksrc_set_property; gobject_class->get_property = gst_disksrc_get_property; diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c index 69b8740..defca17 100644 --- a/plugins/elements/gstfakesink.c +++ b/plugins/elements/gstfakesink.c @@ -107,12 +107,12 @@ gst_fakesink_class_init (GstFakeSinkClass *klass) g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NUM_SINKS, g_param_spec_int ("num_sinks", "num_sinks", "num_sinks", 1, G_MAXINT, 1, G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SILENT, - g_param_spec_boolean ("silent", "silent", "silent", - FALSE, G_PARAM_READWRITE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DUMP, - g_param_spec_boolean ("dump", "dump", "dump", - FALSE, G_PARAM_READWRITE)); + + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "silent", ARG_SILENT, G_PARAM_READWRITE, + "dump", ARG_DUMP, G_PARAM_READWRITE, + NULL); gst_fakesink_signals[SIGNAL_HANDOFF] = g_signal_new ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, diff --git a/plugins/elements/gstfakesrc.c b/plugins/elements/gstfakesrc.c index 8dece3e..912157a 100644 --- a/plugins/elements/gstfakesrc.c +++ b/plugins/elements/gstfakesrc.c @@ -231,12 +231,12 @@ gst_fakesrc_class_init (GstFakeSrcClass *klass) 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", - FALSE, G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DUMP, - g_param_spec_boolean ("dump","dump","dump", - FALSE, G_PARAM_READWRITE)); + + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "silent", ARG_SILENT, G_PARAM_READWRITE, + "dump", ARG_DUMP, G_PARAM_READWRITE, + NULL); gst_fakesrc_signals[SIGNAL_HANDOFF] = g_signal_new ("handoff", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, diff --git a/plugins/elements/gstfdsink.c b/plugins/elements/gstfdsink.c index 371d543..88e7c99 100644 --- a/plugins/elements/gstfdsink.c +++ b/plugins/elements/gstfdsink.c @@ -89,9 +89,10 @@ gst_fdsink_class_init (GstFdSinkClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - 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 + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "fd", ARG_FD, G_PARAM_READWRITE, + NULL); gobject_class->set_property = gst_fdsink_set_property; gobject_class->get_property = gst_fdsink_get_property; diff --git a/plugins/elements/gstfdsrc.c b/plugins/elements/gstfdsrc.c index 4fc4d92..2a1c895 100644 --- a/plugins/elements/gstfdsrc.c +++ b/plugins/elements/gstfdsrc.c @@ -98,15 +98,12 @@ gst_fdsrc_class_init (GstFdSrcClass *klass) parent_class = g_type_class_ref(GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","location","location", - "",G_PARAM_WRITABLE)); // CHECKME! - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BYTESPERREAD, - g_param_spec_int("bytesperread","bytesperread","bytesperread", - G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET, - g_param_spec_int("offset","offset","offset", - G_MININT,G_MAXINT,0,G_PARAM_READABLE)); // CHECKME + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_WRITABLE, + "bytesperread", ARG_BYTESPERREAD, G_PARAM_READWRITE, + "offset", ARG_OFFSET, G_PARAM_READABLE, + NULL); gobject_class->set_property = gst_fdsrc_set_property; gobject_class->get_property = gst_fdsrc_get_property; diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c index cfcc250..f6843e1 100644 --- a/plugins/elements/gstfilesrc.c +++ b/plugins/elements/gstfilesrc.c @@ -146,27 +146,16 @@ gst_filesrc_class_init (GstFileSrcClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOCATION, - g_param_spec_string("location","File Location","Location of the file to read", - NULL,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FILESIZE, - g_param_spec_int64("filesize","File Size","Size of the file being read", - 0,G_MAXINT64,0,G_PARAM_READABLE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FD, - g_param_spec_int("fd","File-descriptor","File-descriptor for the file being read", - 0,G_MAXINT,0,G_PARAM_READABLE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BLOCKSIZE, - g_param_spec_ulong("blocksize","Block Size","Block size to read per buffer", - 0,G_MAXULONG,4096,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_OFFSET, - g_param_spec_int64("offset","File Offset","Byte offset of current read pointer", - 0,G_MAXINT64,0,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MAPSIZE, - g_param_spec_ulong("mmapsize","mmap() Block Size","Size in bytes of mmap()d regions", - 0,G_MAXULONG,4*1048576,G_PARAM_READWRITE)); - g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_TOUCH, - g_param_spec_boolean("touch","Touch read data","Touch data to force disk read before push()", - TRUE,G_PARAM_READWRITE)); + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "fd", ARG_FD, G_PARAM_READABLE, + "offset", ARG_OFFSET, G_PARAM_READWRITE, + "filesize", ARG_FILESIZE, G_PARAM_READABLE, + "location", ARG_LOCATION, G_PARAM_READWRITE, + "blocksize", ARG_BLOCKSIZE, G_PARAM_READWRITE, + "mmapsize", ARG_MAPSIZE, G_PARAM_READWRITE, + "touch", ARG_TOUCH, G_PARAM_READWRITE, + NULL); gobject_class->set_property = gst_filesrc_set_property; gobject_class->get_property = gst_filesrc_get_property; diff --git a/plugins/elements/gsthttpsrc.c b/plugins/elements/gsthttpsrc.c index 201c9f1..5064a03 100644 --- a/plugins/elements/gsthttpsrc.c +++ b/plugins/elements/gsthttpsrc.c @@ -102,12 +102,11 @@ gst_httpsrc_class_init (GstHttpSrcClass *klass) parent_class = g_type_class_ref (GST_TYPE_ELEMENT); - 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 + gst_element_install_std_props ( + GST_ELEMENT_CLASS (klass), + "location", ARG_LOCATION, G_PARAM_READWRITE, + "bytesperread", ARG_BYTESPERREAD, G_PARAM_READWRITE, + NULL); gobject_class->set_property = gst_httpsrc_set_property; gobject_class->get_property = gst_httpsrc_get_property; diff --git a/test/Makefile.am b/test/Makefile.am index 5f062b4..12c162a 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,5 +1,7 @@ # FIXME FIXME +INCLUDES = $(LIBGST_CFLAGS) $(XML_CFLAGS) $(GLIB_CFLAGS) -I.. + if HAVE_GNOME GNOME_PROGS = spectrum wave mp1parse videotest aviparse \ videotest2 video2mp1 dvshow dv2mp1 \ -- 2.7.4