Index: src/TagLib/Mpeg/AudioHeader.cs =================================================================== --- src/TagLib/Mpeg/AudioHeader.cs (revision 94327) +++ src/TagLib/Mpeg/AudioHeader.cs (revision 94328) @@ -252,7 +252,13 @@ throw new CorruptFileException ( "First byte did not match MPEG synch."); - if (data [1] < 0xE0) + // Checking bits from high to low: + // + // First 3 bits MUST be set. Bits 4 and 5 can + // be 00, 10, or 11 but not 01. One or more of + // bits 6 and 7 must be set. Bit 8 can be + // anything. + if ((data [1] & 0xE6) <= 0xE0 || (data [1] & 0x18) == 0x08) throw new CorruptFileException ( "Second byte did not match MPEG synch."); Index: src/TagLib/Ape/File.cs =================================================================== --- src/TagLib/Ape/File.cs (revision 117109) +++ src/TagLib/Ape/File.cs (working copy) @@ -40,6 +40,8 @@ /// [SupportedMimeType("taglib/ape", "ape")] [SupportedMimeType("audio/x-ape")] + [SupportedMimeType("audio/ape")] + [SupportedMimeType("application/x-ape")] public class File : TagLib.NonContainer.File { #region Private Fields @@ -275,4 +277,4 @@ #endregion } -} \ No newline at end of file +} Index: src/TagLib/Asf/File.cs =================================================================== --- src/TagLib/Asf/File.cs (revision 117109) +++ src/TagLib/Asf/File.cs (working copy) @@ -33,6 +33,7 @@ [SupportedMimeType("taglib/wmv", "wmv")] [SupportedMimeType("taglib/asf", "asf")] [SupportedMimeType("audio/x-ms-wma")] + [SupportedMimeType("audio/x-ms-asf")] [SupportedMimeType("video/x-ms-asf")] public class File : TagLib.File { Index: src/TagLib/Ogg/File.cs =================================================================== --- src/TagLib/Ogg/File.cs (revision 117109) +++ src/TagLib/Ogg/File.cs (working copy) @@ -35,6 +35,8 @@ /// and properties support for Ogg files. /// [SupportedMimeType("taglib/ogg", "ogg")] + [SupportedMimeType("taglib/oga", "oga")] + [SupportedMimeType("taglib/ogv", "ogv")] [SupportedMimeType("application/ogg")] [SupportedMimeType("application/x-ogg")] [SupportedMimeType("audio/vorbis")] @@ -42,6 +44,10 @@ [SupportedMimeType("audio/x-vorbis+ogg")] [SupportedMimeType("audio/ogg")] [SupportedMimeType("audio/x-ogg")] + [SupportedMimeType("video/ogg")] + [SupportedMimeType("video/x-ogm+ogg")] + [SupportedMimeType("video/x-theora+ogg")] + [SupportedMimeType("video/x-theora")] public class File : TagLib.File { #region Private Fields Index: examples/ReadFromUri.cs =================================================================== --- examples/ReadFromUri.cs (revision 117109) +++ examples/ReadFromUri.cs (working copy) @@ -114,7 +114,11 @@ Console.WriteLine ("Total running time: " + (end - start)); Console.WriteLine ("Total files read: " + songs_read); - Console.WriteLine ("Average time per file: " + new TimeSpan ((end - start).Ticks / songs_read)); + + if (songs_read > 0) + { + Console.WriteLine ("Average time per file: " + new TimeSpan ((end - start).Ticks / songs_read)); + } } }