summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Giacomelli <giac2000@hotmail.com>2010-08-14 01:09:46 +0000
committerMichael Giacomelli <giac2000@hotmail.com>2010-08-14 01:09:46 +0000
commitf63570ace5219a4e0543f04a7c0dd9ae1bd885d7 (patch)
tree5ea25b85bf758c741744907fa9263abf1649faab
parentf67dfd9a2bb2bc9a13677264ba20da4efb9b007a (diff)
downloadrockbox-f63570ace5219a4e0543f04a7c0dd9ae1bd885d7.tar.gz
rockbox-f63570ace5219a4e0543f04a7c0dd9ae1bd885d7.zip
Add uppercase M4A file type to the mp4 parser. Technically Apple says to use lowercase, but various programs tolerate this, so we can too. Fixes FS#11536.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27805 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/libm4a/demux.c1
-rw-r--r--apps/metadata/mp4.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/apps/codecs/libm4a/demux.c b/apps/codecs/libm4a/demux.c
index bde2238409..9390f0a2bf 100644
--- a/apps/codecs/libm4a/demux.c
+++ b/apps/codecs/libm4a/demux.c
@@ -61,6 +61,7 @@ static void read_chunk_ftyp(qtmovie_t *qtmovie, size_t chunk_len)
61 type = stream_read_uint32(qtmovie->stream); 61 type = stream_read_uint32(qtmovie->stream);
62 size_remaining-=4; 62 size_remaining-=4;
63 if ((type != MAKEFOURCC('M','4','A',' ')) && 63 if ((type != MAKEFOURCC('M','4','A',' ')) &&
64 (type != MAKEFOURCC('m','4','a',' ')) &&
64 (type != MAKEFOURCC('M','4','B',' ')) && 65 (type != MAKEFOURCC('M','4','B',' ')) &&
65 (type != MAKEFOURCC('m','p','4','2')) && 66 (type != MAKEFOURCC('m','p','4','2')) &&
66 (type != MAKEFOURCC('3','g','p','6')) && 67 (type != MAKEFOURCC('3','g','p','6')) &&
diff --git a/apps/metadata/mp4.c b/apps/metadata/mp4.c
index cd6eda428f..b3ff348fc5 100644
--- a/apps/metadata/mp4.c
+++ b/apps/metadata/mp4.c
@@ -53,7 +53,8 @@
53#define MP4_ilst FOURCC('i', 'l', 's', 't') 53#define MP4_ilst FOURCC('i', 'l', 's', 't')
54#define MP4_isom FOURCC('i', 's', 'o', 'm') 54#define MP4_isom FOURCC('i', 's', 'o', 'm')
55#define MP4_M4A FOURCC('M', '4', 'A', ' ') 55#define MP4_M4A FOURCC('M', '4', 'A', ' ')
56#define MP4_M4B FOURCC('M', '4', 'B', ' ') 56#define MP4_m4a FOURCC('m', '4', 'a', ' ') /*technically its "M4A "*/
57#define MP4_M4B FOURCC('M', '4', 'B', ' ') /*but files exist with lower case*/
57#define MP4_mdat FOURCC('m', 'd', 'a', 't') 58#define MP4_mdat FOURCC('m', 'd', 'a', 't')
58#define MP4_mdia FOURCC('m', 'd', 'i', 'a') 59#define MP4_mdia FOURCC('m', 'd', 'i', 'a')
59#define MP4_mdir FOURCC('m', 'd', 'i', 'r') 60#define MP4_mdir FOURCC('m', 'd', 'i', 'r')
@@ -569,7 +570,7 @@ static bool read_mp4_container(int fd, struct mp3entry* id3,
569 size -= 4; 570 size -= 4;
570 571
571 if ((id != MP4_M4A) && (id != MP4_M4B) && (id != MP4_mp42) 572 if ((id != MP4_M4A) && (id != MP4_M4B) && (id != MP4_mp42)
572 && (id != MP4_qt) && (id != MP4_3gp6) 573 && (id != MP4_qt) && (id != MP4_3gp6) && (id != MP4_m4a)
573 && (id != MP4_isom)) 574 && (id != MP4_isom))
574 { 575 {
575 DEBUGF("Unknown MP4 file type: '%c%c%c%c'\n", 576 DEBUGF("Unknown MP4 file type: '%c%c%c%c'\n",