[tracker: 1/2] Fixed parsing disc number in Vorbis comments.
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker: 1/2] Fixed parsing disc number in Vorbis comments.
- Date: Thu, 5 Feb 2015 22:18:29 +0000 (UTC)
commit 25fb55b6584bf207a2cf1f10782f3935b14be57e
Author: Michael Raitza <spacefrogg spacefrogg net>
Date: Thu Jan 29 15:03:02 2015 +0100
Fixed parsing disc number in Vorbis comments.
De facto standard for storing the disc number is the comment tag
`DISCNUMBER' and not `DISCNO'. Tag `DISCNO' still takes priority to
not break the current behaviour. Fixed for both, Vorbis comments in
vorbis and FLAC files.
Fixing: https://bugzilla.gnome.org/show_bug.cgi?id=681698
src/tracker-extract/tracker-extract-flac.c | 2 ++
src/tracker-extract/tracker-extract-vorbis.c | 2 ++
2 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-flac.c b/src/tracker-extract/tracker-extract-flac.c
index d013816..ba231b8 100644
--- a/src/tracker-extract/tracker-extract-flac.c
+++ b/src/tracker-extract/tracker-extract-flac.c
@@ -96,6 +96,8 @@ parse_vorbis_comments (FLAC__StreamMetadata_VorbisComment *comment,
fd->tracknumber = g_strdup (entry.entry + 12);
} else if (g_ascii_strncasecmp (entry.entry, "discno", 6) == 0) {
fd->discno = g_strdup (entry.entry + 7);
+ } else if (fd->discno == NULL && g_ascii_strncasecmp(entry.entry, "discnumber", 10) == 0) {
+ fd->discno = g_strdup (entry.entry + 11);
} else if (g_ascii_strncasecmp (entry.entry, "performer", 9) == 0) {
/* FIXME: Handle multiple instances of performer */
if (fd->performer == NULL) {
diff --git a/src/tracker-extract/tracker-extract-vorbis.c b/src/tracker-extract/tracker-extract-vorbis.c
index 91c383c..0dfdaec 100644
--- a/src/tracker-extract/tracker-extract-vorbis.c
+++ b/src/tracker-extract/tracker-extract-vorbis.c
@@ -138,6 +138,8 @@ tracker_extract_get_metadata (TrackerExtractInfo *info)
vd.track_count = ogg_get_comment (comment, "trackcount");
vd.track_number = ogg_get_comment (comment, "tracknumber");
vd.disc_number = ogg_get_comment (comment, "DiscNo");
+ if (vd.disc_number == NULL)
+ vd.disc_number = ogg_get_comment (comment, "DiscNumber");
vd.performer = ogg_get_comment (comment, "Performer");
vd.track_gain = ogg_get_comment (comment, "TrackGain");
vd.track_peak_gain = ogg_get_comment (comment, "TrackPeakGain");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]