summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/rbcodec/metadata/id3tags.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/rbcodec/metadata/id3tags.c b/lib/rbcodec/metadata/id3tags.c
index e7fed7c868..fed99d81a0 100644
--- a/lib/rbcodec/metadata/id3tags.c
+++ b/lib/rbcodec/metadata/id3tags.c
@@ -299,7 +299,10 @@ static int parsegenre( struct mp3entry* entry, char* tag, int bufferpos )
/* parse embed albumart */
static int parsealbumart( struct mp3entry* entry, char* tag, int bufferpos )
{
- entry->has_embedded_albumart = false;
+ /* don't parse albumart if already one found. This callback function is
+ * called unconditionally. */
+ if(entry->has_embedded_albumart)
+ return bufferpos;
/* we currently don't support unsynchronizing albumart */
if (entry->albumart.type == AA_TYPE_UNSYNC)
@@ -735,6 +738,10 @@ void setid3v2title(int fd, struct mp3entry *entry)
bool itunes_gapless = false;
#endif
+#ifdef HAVE_ALBUMART
+ entry->has_embedded_albumart = false;
+#endif
+
global_ff_found = false;
/* Bail out if the tag is shorter than 10 bytes */