1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Michael Giacomelli 2010-08-14 01:09:46 +00:00
parent f67dfd9a2b
commit f63570ace5
2 changed files with 4 additions and 2 deletions

View file

@ -61,6 +61,7 @@ static void read_chunk_ftyp(qtmovie_t *qtmovie, size_t chunk_len)
type = stream_read_uint32(qtmovie->stream); type = stream_read_uint32(qtmovie->stream);
size_remaining-=4; size_remaining-=4;
if ((type != MAKEFOURCC('M','4','A',' ')) && if ((type != MAKEFOURCC('M','4','A',' ')) &&
(type != MAKEFOURCC('m','4','a',' ')) &&
(type != MAKEFOURCC('M','4','B',' ')) && (type != MAKEFOURCC('M','4','B',' ')) &&
(type != MAKEFOURCC('m','p','4','2')) && (type != MAKEFOURCC('m','p','4','2')) &&
(type != MAKEFOURCC('3','g','p','6')) && (type != MAKEFOURCC('3','g','p','6')) &&

View file

@ -53,7 +53,8 @@
#define MP4_ilst FOURCC('i', 'l', 's', 't') #define MP4_ilst FOURCC('i', 'l', 's', 't')
#define MP4_isom FOURCC('i', 's', 'o', 'm') #define MP4_isom FOURCC('i', 's', 'o', 'm')
#define MP4_M4A FOURCC('M', '4', 'A', ' ') #define MP4_M4A FOURCC('M', '4', 'A', ' ')
#define MP4_M4B FOURCC('M', '4', 'B', ' ') #define MP4_m4a FOURCC('m', '4', 'a', ' ') /*technically its "M4A "*/
#define MP4_M4B FOURCC('M', '4', 'B', ' ') /*but files exist with lower case*/
#define MP4_mdat FOURCC('m', 'd', 'a', 't') #define MP4_mdat FOURCC('m', 'd', 'a', 't')
#define MP4_mdia FOURCC('m', 'd', 'i', 'a') #define MP4_mdia FOURCC('m', 'd', 'i', 'a')
#define MP4_mdir FOURCC('m', 'd', 'i', 'r') #define MP4_mdir FOURCC('m', 'd', 'i', 'r')
@ -569,7 +570,7 @@ static bool read_mp4_container(int fd, struct mp3entry* id3,
size -= 4; size -= 4;
if ((id != MP4_M4A) && (id != MP4_M4B) && (id != MP4_mp42) if ((id != MP4_M4A) && (id != MP4_M4B) && (id != MP4_mp42)
&& (id != MP4_qt) && (id != MP4_3gp6) && (id != MP4_qt) && (id != MP4_3gp6) && (id != MP4_m4a)
&& (id != MP4_isom)) && (id != MP4_isom))
{ {
DEBUGF("Unknown MP4 file type: '%c%c%c%c'\n", DEBUGF("Unknown MP4 file type: '%c%c%c%c'\n",