summaryrefslogtreecommitdiffstats
path: root/lib/rbcodec
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2012-09-25 16:49:36 +0200
committerFrank Gevaerts <frank@gevaerts.be>2012-09-29 15:39:55 +0200
commit341e2c46ca841c6dd68cbd6a1a07977bf5557784 (patch)
tree22e580fd8254dbef4f06384d0adc93562bb8b240 /lib/rbcodec
parent270d9eaee80c96d23d249d05b6d11eca8381486e (diff)
downloadrockbox-341e2c46ca841c6dd68cbd6a1a07977bf5557784.tar.gz
rockbox-341e2c46ca841c6dd68cbd6a1a07977bf5557784.zip
Support technically invalid image/jpg mimetype in tags.
Although the mimetype for jpeg is clearly image/jpeg, many tagging applications seem to use image/jpg, so we'll support that too. Change-Id: Icb9063fd5a9d8aea169eaa7f74ac52b72603d148 Reviewed-on: http://gerrit.rockbox.org/318 Reviewed-by: Michael Giacomelli <mgiacomelli@gmail.com> Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Diffstat (limited to 'lib/rbcodec')
-rw-r--r--lib/rbcodec/metadata/asf.c4
-rw-r--r--lib/rbcodec/metadata/id3tags.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/rbcodec/metadata/asf.c b/lib/rbcodec/metadata/asf.c
index b88b8e77fe..469a5739d2 100644
--- a/lib/rbcodec/metadata/asf.c
+++ b/lib/rbcodec/metadata/asf.c
@@ -493,6 +493,10 @@ static int asf_parse_header(int fd, struct mp3entry* id3,
lseek(fd, strlength-32, SEEK_CUR);
if (!strcmp("image/jpeg", utf8buf)) {
id3->albumart.type = AA_TYPE_JPG;
+ } else if (!strcmp("image/jpg", utf8buf)) {
+ /* image/jpg is technically invalid,
+ * but it does occur in the wild */
+ id3->albumart.type = AA_TYPE_JPG;
} else if (!strcmp("image/png", utf8buf)) {
id3->albumart.type = AA_TYPE_PNG;
} else {
diff --git a/lib/rbcodec/metadata/id3tags.c b/lib/rbcodec/metadata/id3tags.c
index 0e27c0305b..3d1d7e4d71 100644
--- a/lib/rbcodec/metadata/id3tags.c
+++ b/lib/rbcodec/metadata/id3tags.c
@@ -320,6 +320,13 @@ static int parsealbumart( struct mp3entry* entry, char* tag, int bufferpos )
entry->albumart.type = AA_TYPE_JPG;
tag += 5;
}
+ else if (strcmp(tag, "jpg") == 0)
+ {
+ /* image/jpg is technically invalid, but it does occur in
+ * the wild */
+ entry->albumart.type = AA_TYPE_JPG;
+ tag += 4;
+ }
else if (strcmp(tag, "png") == 0)
{
entry->albumart.type = AA_TYPE_PNG;