diff options
author | Stéphane Cerveau <scerveau@collabora.com> | 2021-03-29 12:28:04 +0200 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-03-29 19:13:36 +0000 |
commit | 3a42409898bdafdb3ce46a950d2207f31c08b903 (patch) | |
tree | dbfaa5702eda32a6fa1539babd6ba5661e0fea65 | |
parent | 4873c01b4ab97157f60a8fc91fe5ba7e10e1ae10 (diff) | |
download | gstreamer-plugins-ugly-3a42409898bdafdb3ce46a950d2207f31c08b903.tar.gz |
cdio: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/79>
-rw-r--r-- | ext/cdio/gstcdio.c | 19 | ||||
-rw-r--r-- | ext/cdio/gstcdio.h | 4 | ||||
-rw-r--r-- | ext/cdio/gstcdiocddasrc.c | 8 | ||||
-rw-r--r-- | ext/cdio/gstcdiocddasrc.h | 1 |
4 files changed, 16 insertions, 16 deletions
diff --git a/ext/cdio/gstcdio.c b/ext/cdio/gstcdio.c index 6d0e5593..f091f5b7 100644 --- a/ext/cdio/gstcdio.c +++ b/ext/cdio/gstcdio.c @@ -25,6 +25,9 @@ #include <gst/gst.h> #include <gst/tag/tag.h> +GST_DEBUG_CATEGORY_EXTERN (gst_cdio_debug); +#define GST_CAT_DEFAULT gst_cdio_debug + static gboolean plugin_init (GstPlugin * plugin); /* cdio headers redefine VERSION etc., so do this here before including them */ @@ -37,10 +40,6 @@ GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, #include "gstcdio.h" #include "gstcdiocddasrc.h" -#include <cdio/logging.h> - -GST_DEBUG_CATEGORY (gst_cdio_debug); - void gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext, track_t track, cdtext_field_t field, const gchar * gst_tag, GstTagList ** p_tags) @@ -134,7 +133,7 @@ gst_cdio_add_cdtext_album_tags (GstObject * src, CdIo * cdio, GstTagList * tags) GST_DEBUG ("CD-TEXT album tags: %" GST_PTR_FORMAT, tags); } -static void +void gst_cdio_log_handler (cdio_log_level_t level, const char *msg) { const gchar *level_str[] = { "DEBUG", "INFO", "WARN", "ERROR", "ASSERT" }; @@ -147,13 +146,5 @@ gst_cdio_log_handler (cdio_log_level_t level, const char *msg) static gboolean plugin_init (GstPlugin * plugin) { - if (!gst_element_register (plugin, "cdiocddasrc", GST_RANK_SECONDARY - 1, - GST_TYPE_CDIO_CDDA_SRC)) - return FALSE; - - cdio_log_set_handler (gst_cdio_log_handler); - - GST_DEBUG_CATEGORY_INIT (gst_cdio_debug, "cdio", 0, "libcdio elements"); - - return TRUE; + return GST_ELEMENT_REGISTER (cdiocddasrc, plugin); } diff --git a/ext/cdio/gstcdio.h b/ext/cdio/gstcdio.h index 06657816..8571d271 100644 --- a/ext/cdio/gstcdio.h +++ b/ext/cdio/gstcdio.h @@ -24,6 +24,7 @@ #include <gst/gst.h> #include <cdio/cdio.h> #include <cdio/cdtext.h> +#include <cdio/logging.h> #if LIBCDIO_VERSION_NUM <= 83 && LIBCDIO_VERSION_NUM >= 76 #define CDTEXT_FIELD_PERFORMER CDTEXT_PERFORMER @@ -31,8 +32,6 @@ #define CDTEXT_FIELD_TITLE CDTEXT_TITLE #endif -GST_DEBUG_CATEGORY_EXTERN (gst_cdio_debug); -#define GST_CAT_DEFAULT gst_cdio_debug void gst_cdio_add_cdtext_field (GstObject * src, cdtext_t * cdtext, @@ -56,6 +55,7 @@ void gst_cdio_add_cdtext_album_tags (GstObject * src, CdIo * cdio, #endif GstTagList * tags); +void gst_cdio_log_handler (cdio_log_level_t level, const char *msg); #endif /* __GST_CDIO_H__ */ diff --git a/ext/cdio/gstcdiocddasrc.c b/ext/cdio/gstcdiocddasrc.c index c82d0bd6..15b044ca 100644 --- a/ext/cdio/gstcdiocddasrc.c +++ b/ext/cdio/gstcdiocddasrc.c @@ -85,7 +85,15 @@ enum PROP_READ_SPEED }; +GST_DEBUG_CATEGORY (gst_cdio_debug); + + G_DEFINE_TYPE (GstCdioCddaSrc, gst_cdio_cdda_src, GST_TYPE_AUDIO_CD_SRC); +#define _do_init \ + GST_DEBUG_CATEGORY_INIT (gst_cdio_debug, "cdio", 0, "libcdio elements"); \ + cdio_log_set_handler (gst_cdio_log_handler); +GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (cdiocddasrc, "cdiocddasrc", + GST_RANK_SECONDARY - 1, GST_TYPE_CDIO_CDDA_SRC, _do_init); static void gst_cdio_cdda_src_finalize (GObject * obj); static void gst_cdio_cdda_src_set_property (GObject * object, guint prop_id, diff --git a/ext/cdio/gstcdiocddasrc.h b/ext/cdio/gstcdiocddasrc.h index bee5f6d3..478aa5ff 100644 --- a/ext/cdio/gstcdiocddasrc.h +++ b/ext/cdio/gstcdiocddasrc.h @@ -49,6 +49,7 @@ struct _GstCdioCddaSrcClass }; GType gst_cdio_cdda_src_get_type (void); +GST_ELEMENT_REGISTER_DECLARE (cdiocddasrc); #endif /* __GST_CDIO_CDDA_SRC_H__ */ |