Commit de60fbda authored by Benjamin Otte's avatar Benjamin Otte
Browse files

gst/gstutils.h: GST_PARENT_CALL and

Original commit message from CVS:
2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstutils.h:
Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
GST_PARENT_CALL_WITH_DEFAULT
* gst/elements/gstaggregator.c:
* gst/elements/gstbufferstore.c:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmd5sink.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gstpipefilter.c:
* gst/elements/gstshaper.c:
* gst/elements/gststatistics.c:
* gst/elements/gsttee.c:
* gst/elements/gsttypefindelement.c:
use them.
parent 339012e0
2004-01-08 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstutils.h:
Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
GST_PARENT_CALL_WITH_DEFAULT
* gst/elements/gstaggregator.c:
* gst/elements/gstbufferstore.c:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmd5sink.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gstpipefilter.c:
* gst/elements/gstshaper.c:
* gst/elements/gststatistics.c:
* gst/elements/gsttee.c:
* gst/elements/gsttypefindelement.c:
use them.
2004-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
* docs/gst/gstreamer-docs.sgml: remove props
......
......@@ -77,10 +77,6 @@ gst_aggregator_sched_get_type (void)
#define AGGREGATOR_IS_LOOP_BASED(ag) ((ag)->sched != AGGREGATOR_CHAIN)
static void gst_aggregator_base_init (gpointer g_class);
static void gst_aggregator_class_init (GstAggregatorClass *klass);
static void gst_aggregator_init (GstAggregator *aggregator);
static GstPad* gst_aggregator_request_new_pad (GstElement *element, GstPadTemplate *temp, const
gchar *unused);
static void gst_aggregator_update_functions (GstAggregator *aggregator);
......@@ -93,32 +89,10 @@ static void gst_aggregator_get_property (GObject *object, guint prop_id,
static void gst_aggregator_chain (GstPad *pad, GstData *_data);
static void gst_aggregator_loop (GstElement *element);
static GstElementClass *parent_class = NULL;
/*static guint gst_aggregator_signals[LAST_SIGNAL] = { 0 };*/
#define _do_init(bla) \
GST_DEBUG_CATEGORY_INIT (gst_aggregator_debug, "aggregator", 0, "aggregator element");
GType
gst_aggregator_get_type (void)
{
static GType aggregator_type = 0;
if (!aggregator_type) {
static const GTypeInfo aggregator_info = {
sizeof(GstAggregatorClass),
gst_aggregator_base_init,
NULL,
(GClassInitFunc)gst_aggregator_class_init,
NULL,
NULL,
sizeof(GstAggregator),
0,
(GInstanceInitFunc)gst_aggregator_init,
};
aggregator_type = g_type_register_static (GST_TYPE_ELEMENT, "GstAggregator", &aggregator_info, 0);
GST_DEBUG_CATEGORY_INIT (gst_aggregator_debug, "aggregator", 0, "aggregator element");
}
return aggregator_type;
}
GST_BOILERPLATE_FULL (GstAggregator, gst_aggregator, GstElement, GST_TYPE_ELEMENT, _do_init);
static void
gst_aggregator_base_init (gpointer g_class)
......@@ -137,7 +111,6 @@ gst_aggregator_class_init (GstAggregatorClass *klass)
gobject_class = (GObjectClass*) klass;
gstelement_class = (GstElementClass*) klass;
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NUM_PADS,
g_param_spec_int ("num_pads", "Num pads", "The number of source pads",
......
......@@ -23,6 +23,7 @@
# include "config.h"
#endif
#include "gstbufferstore.h"
#include <gst/gstutils.h>
#include <string.h>
GST_DEBUG_CATEGORY_STATIC (gst_buffer_store_debug);
......@@ -38,19 +39,17 @@ enum {
};
static void gst_buffer_store_class_init (gpointer g_class,
gpointer class_data);
static void gst_buffer_store_init (GTypeInstance * instance,
gpointer g_class);
static void gst_buffer_store_dispose (GObject * object);
static gboolean gst_buffer_store_add_buffer_func (GstBufferStore * store,
GstBuffer * buffer);
static void gst_buffer_store_cleared_func (GstBufferStore * store);
static GObjectClass *parent_class = NULL;
static guint gst_buffer_store_signals[LAST_SIGNAL] = { 0 };
GST_BOILERPLATE (GstBufferStore, gst_buffer_store, GObject, G_TYPE_OBJECT);
G_GNUC_UNUSED static void
debug_buffers (GstBufferStore *store)
{
......@@ -63,33 +62,6 @@ debug_buffers (GstBufferStore *store)
}
g_printerr ("\n");
}
GType
gst_buffer_store_get_type (void)
{
static GType store_type = 0;
if (!store_type) {
static const GTypeInfo store_info = {
sizeof (GstBufferStoreClass),
NULL,
NULL,
gst_buffer_store_class_init,
NULL,
NULL,
sizeof (GstBufferStore),
0,
gst_buffer_store_init,
NULL
};
store_type = g_type_register_static (G_TYPE_OBJECT,
"GstBufferStore",
&store_info, 0);
/* FIXME: better description anyone? */
GST_DEBUG_CATEGORY_INIT (gst_buffer_store_debug, "bufferstore", 0, "store all data");
}
return store_type;
}
static gboolean
continue_accu (GSignalInvocationHint *ihint, GValue *return_accu,
const GValue *handler_return, gpointer data)
......@@ -100,24 +72,22 @@ continue_accu (GSignalInvocationHint *ihint, GValue *return_accu,
return do_continue;
}
static void
gst_buffer_store_class_init (gpointer g_class, gpointer class_data)
gst_buffer_store_base_init (gpointer g_class)
{
GObjectClass *gobject_class;
GstBufferStoreClass *store_class;
gobject_class = G_OBJECT_CLASS (g_class);
store_class = GST_BUFFER_STORE_CLASS (g_class);
parent_class = g_type_class_peek_parent (g_class);
}
static void
gst_buffer_store_class_init (GstBufferStoreClass *store_class)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (store_class);
gobject_class->dispose = gst_buffer_store_dispose;
gst_buffer_store_signals[CLEARED] = g_signal_new ("cleared",
G_TYPE_FROM_CLASS (g_class), G_SIGNAL_RUN_LAST,
G_TYPE_FROM_CLASS (store_class), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstBufferStoreClass, cleared), NULL, NULL,
gst_marshal_VOID__VOID, G_TYPE_NONE, 0);
gst_buffer_store_signals[BUFFER_ADDED] = g_signal_new ("buffer-added",
G_TYPE_FROM_CLASS (g_class), G_SIGNAL_RUN_LAST,
G_TYPE_FROM_CLASS (store_class), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstBufferStoreClass, buffer_added), continue_accu, NULL,
gst_marshal_BOOLEAN__POINTER, G_TYPE_BOOLEAN, 1, GST_TYPE_BUFFER);
......@@ -125,10 +95,8 @@ gst_buffer_store_class_init (gpointer g_class, gpointer class_data)
store_class->buffer_added = gst_buffer_store_add_buffer_func;
}
static void
gst_buffer_store_init (GTypeInstance *instance, gpointer g_class)
gst_buffer_store_init (GstBufferStore *store)
{
GstBufferStore *store = GST_BUFFER_STORE (instance);
store->buffers = NULL;
}
static void
......
......@@ -84,9 +84,10 @@ gst_fakesink_state_error_get_type (void)
return fakesink_state_error_type;
}
static void gst_fakesink_base_init (gpointer g_class);
static void gst_fakesink_class_init (GstFakeSinkClass *klass);
static void gst_fakesink_init (GstFakeSink *fakesink);
#define _do_init(bla) \
GST_DEBUG_CATEGORY_INIT (gst_fakesink_debug, "fakesink", 0, "fakesink element");
GST_BOILERPLATE_FULL (GstFakeSink, gst_fakesink, GstElement, GST_TYPE_ELEMENT, _do_init);
static void gst_fakesink_set_clock (GstElement *element, GstClock *clock);
static GstPad* gst_fakesink_request_new_pad (GstElement *element, GstPadTemplate *templ, const
......@@ -102,33 +103,8 @@ static GstElementStateReturn
static void gst_fakesink_chain (GstPad *pad, GstData *_data);
static GstElementClass *parent_class = NULL;
static guint gst_fakesink_signals[LAST_SIGNAL] = { 0 };
GType
gst_fakesink_get_type (void)
{
static GType fakesink_type = 0;
if (!fakesink_type) {
static const GTypeInfo fakesink_info = {
sizeof(GstFakeSinkClass),
gst_fakesink_base_init,
NULL,
(GClassInitFunc)gst_fakesink_class_init,
NULL,
NULL,
sizeof(GstFakeSink),
0,
(GInstanceInitFunc)gst_fakesink_init,
};
fakesink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFakeSink", &fakesink_info, 0);
GST_DEBUG_CATEGORY_INIT (gst_fakesink_debug, "fakesink", 0, "fakesink element");
}
return fakesink_type;
}
static void
gst_fakesink_base_init (gpointer g_class)
{
......@@ -148,7 +124,6 @@ gst_fakesink_class_init (GstFakeSinkClass *klass)
gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NUM_SINKS,
g_param_spec_int ("num_sinks", "Number of sinks", "The number of sinkpads",
......
......@@ -98,8 +98,6 @@ gst_fakesrc_output_get_type (void)
};
if (!fakesrc_output_type) {
fakesrc_output_type = g_enum_register_static ("GstFakeSrcOutput", fakesrc_output);
GST_DEBUG_CATEGORY_INIT (gst_fakesrc_debug, "fakesrc", 0, "fakesrc element");
}
return fakesrc_output_type;
}
......@@ -156,9 +154,10 @@ gst_fakesrc_filltype_get_type (void)
return fakesrc_filltype_type;
}
static void gst_fakesrc_base_init (gpointer g_class);
static void gst_fakesrc_class_init (GstFakeSrcClass *klass);
static void gst_fakesrc_init (GstFakeSrc *fakesrc);
#define _do_init(bla) \
GST_DEBUG_CATEGORY_INIT (gst_fakesrc_debug, "fakesrc", 0, "fakesrc element");
GST_BOILERPLATE_FULL (GstFakeSrc, gst_fakesrc, GstElement, GST_TYPE_ELEMENT, _do_init);
static GstPad* gst_fakesrc_request_new_pad (GstElement *element, GstPadTemplate *templ,const gchar *unused);
static void gst_fakesrc_update_functions (GstFakeSrc *src);
......@@ -172,31 +171,8 @@ static GstElementStateReturn gst_fakesrc_change_state (GstElement *element);
static GstData* gst_fakesrc_get (GstPad *pad);
static void gst_fakesrc_loop (GstElement *element);
static GstElementClass *parent_class = NULL;
static guint gst_fakesrc_signals[LAST_SIGNAL] = { 0 };
GType
gst_fakesrc_get_type (void)
{
static GType fakesrc_type = 0;
if (!fakesrc_type) {
static const GTypeInfo fakesrc_info = {
sizeof(GstFakeSrcClass),
gst_fakesrc_base_init,
NULL,
(GClassInitFunc)gst_fakesrc_class_init,
NULL,
NULL,
sizeof(GstFakeSrc),
0,
(GInstanceInitFunc)gst_fakesrc_init,
};
fakesrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFakeSrc", &fakesrc_info, 0);
}
return fakesrc_type;
}
static void
gst_fakesrc_base_init (gpointer g_class)
{
......@@ -216,7 +192,6 @@ gst_fakesrc_class_init (GstFakeSrcClass *klass)
gobject_class = (GObjectClass*)klass;
gstelement_class = (GstElementClass*)klass;
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NUM_SOURCES,
g_param_spec_int ("num-sources", "num-sources", "Number of sources",
......
......@@ -50,9 +50,10 @@ enum {
};
static void gst_fdsink_base_init (gpointer g_class);
static void gst_fdsink_class_init (GstFdSinkClass *klass);
static void gst_fdsink_init (GstFdSink *fdsink);
#define _do_init(bla) \
GST_DEBUG_CATEGORY_INIT (gst_fdsink_debug, "fdsink", 0, "fdsink element");
GST_BOILERPLATE_FULL (GstFdSink, gst_fdsink, GstElement, GST_TYPE_ELEMENT, _do_init);
static void gst_fdsink_set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec);
......@@ -61,32 +62,6 @@ static void gst_fdsink_get_property (GObject *object, guint prop_id,
static void gst_fdsink_chain (GstPad *pad,GstData *_data);
static GstElementClass *parent_class = NULL;
/*static guint gst_fdsink_signals[LAST_SIGNAL] = { 0 };*/
GType
gst_fdsink_get_type (void)
{
static GType fdsink_type = 0;
if (!fdsink_type) {
static const GTypeInfo fdsink_info = {
sizeof(GstFdSinkClass),
gst_fdsink_base_init,
NULL,
(GClassInitFunc)gst_fdsink_class_init,
NULL,
NULL,
sizeof(GstFdSink),
0,
(GInstanceInitFunc)gst_fdsink_init,
};
fdsink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFdSink", &fdsink_info, 0);
GST_DEBUG_CATEGORY_INIT (gst_fdsink_debug, "fdsink", 0, "fdsink element");
}
return fdsink_type;
}
static void
gst_fdsink_base_init (gpointer g_class)
......@@ -102,7 +77,6 @@ gst_fdsink_class_init (GstFdSinkClass *klass)
gobject_class = G_OBJECT_CLASS (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", "An open file descriptor to write to",
......
......@@ -58,9 +58,10 @@ enum {
ARG_BLOCKSIZE,
};
static void gst_fdsrc_base_init (gpointer g_class);
static void gst_fdsrc_class_init (GstFdSrcClass *klass);
static void gst_fdsrc_init (GstFdSrc *fdsrc);
#define _do_init(bla) \
GST_DEBUG_CATEGORY_INIT (gst_fdsrc_debug, "fdsrc", 0, "fdsrc element");
GST_BOILERPLATE_FULL (GstFdSrc, gst_fdsrc, GstElement, GST_TYPE_ELEMENT, _do_init);
static void gst_fdsrc_set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec);
......@@ -70,33 +71,6 @@ static void gst_fdsrc_get_property (GObject *object, guint prop_id,
static GstData * gst_fdsrc_get (GstPad *pad);
static GstElementClass *parent_class = NULL;
/*static guint gst_fdsrc_signals[LAST_SIGNAL] = { 0 };*/
GType
gst_fdsrc_get_type (void)
{
static GType fdsrc_type = 0;
if (!fdsrc_type) {
static const GTypeInfo fdsrc_info = {
sizeof(GstFdSrcClass),
gst_fdsrc_base_init,
NULL,
(GClassInitFunc)gst_fdsrc_class_init,
NULL,
NULL,
sizeof(GstFdSrc),
0,
(GInstanceInitFunc)gst_fdsrc_init,
};
fdsrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFdSrc", &fdsrc_info, 0);
GST_DEBUG_CATEGORY_INIT (gst_fdsrc_debug, "fdsrc", 0, "fdsrc element");
}
return fdsrc_type;
}
static void
gst_fdsrc_base_init (gpointer g_class)
{
......@@ -111,7 +85,6 @@ gst_fdsrc_class_init (GstFdSrcClass *klass)
gobject_class = G_OBJECT_CLASS (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", "An open file descriptor to read from",
......
......@@ -66,9 +66,6 @@ GST_PAD_FORMATS_FUNCTION (gst_filesink_get_formats,
)
static void gst_filesink_base_init (gpointer g_class);
static void gst_filesink_class_init (GstFileSinkClass *klass);
static void gst_filesink_init (GstFileSink *filesink);
static void gst_filesink_dispose (GObject *object);
static void gst_filesink_set_property (GObject *object, guint prop_id,
......@@ -88,40 +85,23 @@ static void gst_filesink_uri_handler_init (gpointer g_iface, gpointer iface_data
static GstElementStateReturn gst_filesink_change_state (GstElement *element);
static GstElementClass *parent_class = NULL;
static guint gst_filesink_signals[LAST_SIGNAL] = { 0 };
GType
gst_filesink_get_type (void)
static void
_do_init (GType filesink_type)
{
static GType filesink_type = 0;
if (!filesink_type) {
static const GTypeInfo filesink_info = {
sizeof(GstFileSinkClass),
gst_filesink_base_init,
NULL,
(GClassInitFunc)gst_filesink_class_init,
NULL,
NULL,
sizeof(GstFileSink),
0,
(GInstanceInitFunc)gst_filesink_init,
};
static const GInterfaceInfo urihandler_info = {
gst_filesink_uri_handler_init,
NULL,
NULL
};
filesink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFileSink", &filesink_info, 0);
g_type_add_interface_static (filesink_type, GST_TYPE_URI_HANDLER, &urihandler_info);
GST_DEBUG_CATEGORY_INIT (gst_filesink_debug, "filesink", 0, "filesink element");
}
return filesink_type;
static const GInterfaceInfo urihandler_info = {
gst_filesink_uri_handler_init,
NULL,
NULL
};
g_type_add_interface_static (filesink_type, GST_TYPE_URI_HANDLER, &urihandler_info);
GST_DEBUG_CATEGORY_INIT (gst_filesink_debug, "filesink", 0, "filesink element");
}
GST_BOILERPLATE_FULL (GstFileSink, gst_filesink, GstElement, GST_TYPE_ELEMENT, _do_init);
static void
gst_filesink_base_init (gpointer g_class)
{
......@@ -135,7 +115,6 @@ gst_filesink_class_init (GstFileSinkClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
parent_class = g_type_class_peek_parent (klass);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LOCATION,
g_param_spec_string ("location", "File Location", "Location of the file to write",
......
......@@ -118,9 +118,6 @@ GST_PAD_FORMATS_FUNCTION (gst_filesrc_get_formats,
GST_FORMAT_BYTES
)
static void gst_filesrc_base_init (gpointer g_class);
static void gst_filesrc_class_init (GstFileSrcClass *klass);
static void gst_filesrc_init (GstFileSrc *filesrc);
static void gst_filesrc_dispose (GObject *object);
static void gst_filesrc_set_property (GObject *object, guint prop_id,
......@@ -138,41 +135,20 @@ static GstElementStateReturn gst_filesrc_change_state (GstElement *element);
static void gst_filesrc_uri_handler_init (gpointer g_iface, gpointer iface_data);
static GstElementClass *parent_class = NULL;
/*static guint gst_filesrc_signals[LAST_SIGNAL] = { 0 };*/
GType
gst_filesrc_get_type(void)
static void
_do_init (GType filesrc_type)
{
static GType filesrc_type = 0;
if (!filesrc_type) {
static const GTypeInfo filesrc_info = {
sizeof(GstFileSrcClass),
gst_filesrc_base_init,
NULL,
(GClassInitFunc)gst_filesrc_class_init,
NULL,
NULL,
sizeof(GstFileSrc),
0,
(GInstanceInitFunc)gst_filesrc_init,
};
static const GInterfaceInfo urihandler_info = {
gst_filesrc_uri_handler_init,
NULL,
NULL
};
filesrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstFileSrc", &filesrc_info, 0);
g_type_add_interface_static (filesrc_type, GST_TYPE_URI_HANDLER, &urihandler_info);
GST_DEBUG_CATEGORY_INIT (gst_filesrc_debug, "filesrc", 0, "filesrc element");
}
return filesrc_type;
static const GInterfaceInfo urihandler_info = {
gst_filesrc_uri_handler_init,
NULL,
NULL
};
g_type_add_interface_static (filesrc_type, GST_TYPE_URI_HANDLER, &urihandler_info);
GST_DEBUG_CATEGORY_INIT (gst_filesrc_debug, "filesrc", 0, "filesrc element");
}
GST_BOILERPLATE_FULL (GstFileSrc, gst_filesrc, GstElement, GST_TYPE_ELEMENT, _do_init);
static void
gst_filesrc_base_init (gpointer g_class)
{
......@@ -188,7 +164,6 @@ gst_filesrc_class_init (GstFileSrcClass *klass)
gobject_class = (GObjectClass*)klass;
parent_class = g_type_class_peek_parent (klass);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FD,
g_param_spec_int ("fd", "File-descriptor", "File-descriptor for the file being mmap()d",
......
......@@ -60,42 +60,18 @@ enum {
};
static void gst_identity_base_init (gpointer g_class);
static void gst_identity_class_init (GstIdentityClass *klass);
static void gst_identity_init (GstIdentity *identity);
#define _do_init(bla) \
GST_DEBUG_CATEGORY_INIT (gst_identity_debug, "identity", 0, "identity element");
GST_BOILERPLATE_FULL (GstIdentity, gst_identity, GstElement, GST_TYPE_ELEMENT, _do_init);
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, GstData *_data);
static GstElementClass *parent_class = NULL;
static guint gst_identity_signals[LAST_SIGNAL] = { 0 };
GType
gst_identity_get_type (void)
{
static GType identity_type = 0;
if (!identity_type) {
static const GTypeInfo identity_info = {
sizeof(GstIdentityClass),
gst_identity_base_init,
NULL,
(GClassInitFunc)gst_identity_class_init,
NULL,
NULL,
sizeof(GstIdentity),
0,
(GInstanceInitFunc)gst_identity_init,
};
identity_type = g_type_register_static (GST_TYPE_ELEMENT, "GstIdentity", &identity_info, 0);
GST_DEBUG_CATEGORY_INIT (gst_identity_debug, "identity", 0, "identity element");
}
return identity_type;
}
static void
gst_identity_base_init (gpointer g_class)
{
......@@ -110,7 +86,6 @@ gst_identity_class_init (GstIdentityClass *klass)
gobject_class = G_OBJECT_CLASS (klass);
parent_class = g_type_class_peek_parent (klass);
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LOOP_BASED,
g_param_spec_boolean ("loop-based", "Loop-based",
......
......@@ -61,11 +61,12 @@ GstStaticPadTemplate md5_sink_template = GST_STATIC_PAD_TEMPLATE (
GST_STATIC_CAPS_ANY
);
/* GObject stuff */
static void gst_md5sink_base_init (gpointer g_class);