From e978942c95bea19968b26130dd6853fb5e9506b9 Mon Sep 17 00:00:00 2001 From: David McPaul Date: Thu, 9 Oct 2008 12:11:43 +0000 Subject: [PATCH] improve detection of quicktime and MPEG4 files git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27942 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/media/plugins/mp3_reader/MP3ReaderPlugin.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/add-ons/media/plugins/mp3_reader/MP3ReaderPlugin.cpp b/src/add-ons/media/plugins/mp3_reader/MP3ReaderPlugin.cpp index fba4320fd4..c03fc346ce 100644 --- a/src/add-ons/media/plugins/mp3_reader/MP3ReaderPlugin.cpp +++ b/src/add-ons/media/plugins/mp3_reader/MP3ReaderPlugin.cpp @@ -861,9 +861,12 @@ mp3Reader::IsMp3File() // Real Media if (buf[0] == '.' && buf[1] == 'R' && buf[2] == 'M' && buf[3] == 'F') return false; - // Quicktime + // Quicktime or MPEG4 (Not really a good way, moov could be anywhere) if (buf[4] == 'm' && buf[5] == 'o' && buf[6] == 'o' && buf[7] == 'v') return false; + // On newer quicktime and on MPEG4 files ftyp is likely to be first + if (buf[4] == 'f' && buf[5] == 't' && buf[6] == 'y' && buf[7] == 'p') + return false; // ASF 1 (first few bytes of GUID) if (buf[0] == 0x30 && buf[1] == 0x26 && buf[2] == 0xb2 && buf[3] == 0x75 && buf[4] == 0x8e && buf[5] == 0x66 && buf[6] == 0xcf && buf[7] == 0x11)