Skip to content

Commit

Permalink
theora: allow per feature registration
Browse files Browse the repository at this point in the history
  • Loading branch information
Stéphane Cerveau authored and GStreamer Marge Bot committed Mar 16, 2021
1 parent 2a8adec commit d41e8c6
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 14 deletions.
22 changes: 8 additions & 14 deletions ext/theora/gsttheora.c
Expand Up @@ -23,26 +23,20 @@

#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,
Expand Down
2 changes: 2 additions & 0 deletions ext/theora/gsttheoradec.c
Expand Up @@ -91,6 +91,8 @@ GST_STATIC_PAD_TEMPLATE ("sink",

#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);
Expand Down
2 changes: 2 additions & 0 deletions ext/theora/gsttheoradec.h
Expand Up @@ -87,6 +87,8 @@ struct _GstTheoraDecClass

GType gst_theora_dec_get_type (void);

GST_ELEMENT_REGISTER_DECLARE (theoradec);

G_END_DECLS

#endif /* __GST_THEORADEC_H__ */
2 changes: 2 additions & 0 deletions ext/theora/gsttheoraenc.c
Expand Up @@ -176,6 +176,8 @@ GST_STATIC_PAD_TEMPLATE ("src",

#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);
Expand Down
2 changes: 2 additions & 0 deletions ext/theora/gsttheoraenc.h
Expand Up @@ -113,6 +113,8 @@ struct _GstTheoraEncClass

GType gst_theora_enc_get_type (void);

GST_ELEMENT_REGISTER_DECLARE (theoraenc);

G_END_DECLS

#endif /* __GST_THEORAENC_H__ */
Expand Down
2 changes: 2 additions & 0 deletions ext/theora/gsttheoraparse.c
Expand Up @@ -91,6 +91,8 @@ enum

#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);

Expand Down
2 changes: 2 additions & 0 deletions ext/theora/gsttheoraparse.h
Expand Up @@ -82,6 +82,8 @@ struct _GstTheoraParseClass {

GType gst_theora_parse_get_type(void);

GST_ELEMENT_REGISTER_DECLARE (theoraparse);

G_END_DECLS

#endif /* __GST_THEORA_PARSE_H__ */

0 comments on commit d41e8c6

Please sign in to comment.