#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 */
#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)
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" };
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);
}
#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
#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,
CdIo * cdio,
#endif
GstTagList * tags);
+void gst_cdio_log_handler (cdio_log_level_t level, const char *msg);
#endif /* __GST_CDIO_H__ */
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,