#include <gst/gst.h>
-extern GType gst_theora_dec_get_type (void);
-extern GType gst_theora_enc_get_type (void);
-extern GType gst_theora_parse_get_type (void);
+#include "gsttheoradec.h"
+#include "gsttheoraenc.h"
+#include "gsttheoraparse.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
- if (!gst_element_register (plugin, "theoradec", GST_RANK_PRIMARY,
- gst_theora_dec_get_type ()))
- return FALSE;
+ gboolean ret = FALSE;
- if (!gst_element_register (plugin, "theoraenc", GST_RANK_PRIMARY,
- gst_theora_enc_get_type ()))
- return FALSE;
+ ret |= GST_ELEMENT_REGISTER (theoradec, plugin);
+ ret |= GST_ELEMENT_REGISTER (theoraenc, plugin);
+ ret |= GST_ELEMENT_REGISTER (theoraparse, plugin);
- if (!gst_element_register (plugin, "theoraparse", GST_RANK_NONE,
- gst_theora_parse_get_type ()))
- return FALSE;
-
- return TRUE;
+ return ret;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
#define gst_theora_dec_parent_class parent_class
G_DEFINE_TYPE (GstTheoraDec, gst_theora_dec, GST_TYPE_VIDEO_DECODER);
+GST_ELEMENT_REGISTER_DEFINE (theoradec, "theoradec",
+ GST_RANK_PRIMARY, GST_TYPE_THEORA_DEC);
static void theora_dec_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
GType gst_theora_dec_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE (theoradec);
+
G_END_DECLS
#endif /* __GST_THEORADEC_H__ */
#define gst_theora_enc_parent_class parent_class
G_DEFINE_TYPE (GstTheoraEnc, gst_theora_enc, GST_TYPE_VIDEO_ENCODER);
+GST_ELEMENT_REGISTER_DEFINE (theoraenc, "theoraenc",
+ GST_RANK_PRIMARY, GST_TYPE_THEORA_ENC);
static gboolean theora_enc_start (GstVideoEncoder * enc);
static gboolean theora_enc_stop (GstVideoEncoder * enc);
GType gst_theora_enc_get_type (void);
+GST_ELEMENT_REGISTER_DECLARE (theoraenc);
+
G_END_DECLS
#endif /* __GST_THEORAENC_H__ */
#define gst_theora_parse_parent_class parent_class
G_DEFINE_TYPE (GstTheoraParse, gst_theora_parse, GST_TYPE_ELEMENT);
+GST_ELEMENT_REGISTER_DEFINE (theoraparse, "theoraparse",
+ GST_RANK_NONE, GST_TYPE_THEORA_PARSE);
static void theora_parse_dispose (GObject * object);
GType gst_theora_parse_get_type(void);
+GST_ELEMENT_REGISTER_DECLARE (theoraparse);
+
G_END_DECLS
#endif /* __GST_THEORA_PARSE_H__ */