aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Input/cdaudio/decoder_cdaudio.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
index 88a22a2d6..b7dce8f2a 100644
--- a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
+++ b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
@@ -45,7 +45,7 @@
QList <CDATrack> DecoderCDAudio::m_track_cache;
-static void log_handler (cdio_log_level_t level, const char message[])
+static void log_handler (cdio_log_level_t level, const char *message)
{
QString str = QString::fromLocal8Bit(message).trimmed();
switch (level)
@@ -60,6 +60,21 @@ static void log_handler (cdio_log_level_t level, const char message[])
}
}
+static void cddb_log_handler(cddb_log_level_t level, const char *message)
+{
+ QString str = QString::fromLocal8Bit(message).trimmed();
+ switch (level)
+ {
+ case CDDB_LOG_DEBUG:
+ qDebug("DecoderCDAudio: cddb message: %s (level=debug)", qPrintable(str));
+ case CDDB_LOG_INFO:
+ qDebug("DecoderCDAudio: cddb message: %s (level=info)", qPrintable(str));
+ return;
+ default:
+ qWarning("DecoderCDAudio: cddb message: %s (level=error)", qPrintable(str));
+ }
+}
+
// Decoder class
DecoderCDAudio::DecoderCDAudio(const QString &url) : Decoder()
@@ -75,7 +90,6 @@ DecoderCDAudio::DecoderCDAudio(const QString &url) : Decoder()
m_buffer = new char[CDDA_BUFFER_SIZE];
}
-
DecoderCDAudio::~DecoderCDAudio()
{
m_bitrate = 0;
@@ -209,6 +223,7 @@ QList <CDATrack> DecoderCDAudio::generateTrackList(const QString &device)
if(use_cddb)
{
qDebug("DecoderCDAudio: reading CDDB...");
+ cddb_log_set_handler(cddb_log_handler);
cddb_conn_t *cddb_conn = cddb_new ();
cddb_disc_t *cddb_disc = NULL;
cddb_track_t *cddb_track = NULL;
@@ -253,8 +268,9 @@ QList <CDATrack> DecoderCDAudio::generateTrackList(const QString &device)
}
cddb_disc_calc_discid (cddb_disc);
- qDebug ("DecoderCDAudio: disc id = %x", cddb_disc_get_discid (cddb_disc));
uint id = cddb_disc_get_discid (cddb_disc);
+ qDebug ("DecoderCDAudio: disc id = %x", id);
+
if(readFromCache(&tracks, id))
qDebug("DecoderCDAudio: using local cddb cache");