diff options
author | Dominique Leuenberger <dimstar@opensuse.org> | 2012-08-07 18:10:24 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2012-08-15 18:04:07 +0100 |
commit | fe9e82d6fc5a5651411f7f1e9abab10dad57fd53 (patch) | |
tree | c0623022e09c72b82077beac6ce9dd6722e89e90 | |
parent | 957ad9ed2778591a8edc8d4ac6eebd8f0a0f871b (diff) | |
download | gvfs-fe9e82d6fc5a5651411f7f1e9abab10dad57fd53.tar.gz |
cdda: Support libcdio 0.84 with changed API
following CDIO changeset
http://git.savannah.gnu.org/gitweb/?p=libcdio.git;a=commitdiff;h=abe5b8429573c9ac796c274c7abe7f76ef52dc76
https://bugzilla.gnome.org/show_bug.cgi?id=678257
-rw-r--r-- | daemon/gvfsbackendcdda.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/daemon/gvfsbackendcdda.c b/daemon/gvfsbackendcdda.c index 0244c273..9beefa4c 100644 --- a/daemon/gvfsbackendcdda.c +++ b/daemon/gvfsbackendcdda.c @@ -173,11 +173,22 @@ fetch_metadata (GVfsBackendCdda *cdda_backend) if (!cdio) return; - cdtext = cdio_get_cdtext(cdio, 0); +#if LIBCDIO_VERSION_NUM >= 84 + cdtext = cdio_get_cdtext (cdio); +#else + cdtext = cdio_get_cdtext (cdio, 0); +#endif /* LIBCDIO_VERSION_NUM >= 84 */ + if (cdtext) { +#if LIBCDIO_VERSION_NUM >= 84 + cdda_backend->album_title = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, 0)); + cdda_backend->album_artist = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, 0)); + cdda_backend->genre = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_GENRE, 0)); +#else cdda_backend->album_title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext)); cdda_backend->album_artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext)); cdda_backend->genre = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_GENRE, cdtext)); +#endif /* LIBCDIO_VERSION_NUM >= 84 */ } cdtrack = cdio_get_first_track_num(cdio); @@ -186,10 +197,17 @@ fetch_metadata (GVfsBackendCdda *cdda_backend) for ( ; cdtrack < last_cdtrack; cdtrack++ ) { GVfsBackendCddaTrack *track; track = g_new0 (GVfsBackendCddaTrack, 1); - cdtext = cdio_get_cdtext(cdio, cdtrack); +#if LIBCDIO_VERSION_NUM < 84 + cdtext = cdio_get_cdtext (cdio, cdtrack); +#endif /* LIBCDIO_VERSION_NUM < 84 */ if (cdtext) { +#if LIBCDIO_VERSION_NUM >= 84 + track->title = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, cdtrack)); + track->artist = cdtext_string_to_utf8 (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, cdtrack)); +#else track->title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext)); track->artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext)); +#endif /* LIBCDIO_VERSION_NUM >= 84 */ } track->duration = cdio_get_track_sec_count (cdio, cdtrack) / CDIO_CD_FRAMES_PER_SEC; |