This is an automated email from the ASF dual-hosted git repository.

nick pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/master by this push:
     new bada130  As per RFC2361, the official mimetype for WAV is audio/vnd.wav
bada130 is described below

commit bada130efe32560a5b3c26472029f3bd536040b8
Author: Nick Burch <n...@gagravarr.org>
AuthorDate: Thu Jun 29 22:36:09 2017 +0100

    As per RFC2361, the official mimetype for WAV is audio/vnd.wav
---
 CHANGES.txt                                                          | 3 +++
 tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml | 5 ++++-
 tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java       | 3 ++-
 .../src/main/java/org/apache/tika/parser/audio/AudioParser.java      | 5 +++--
 tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java   | 2 +-
 .../src/test/java/org/apache/tika/parser/audio/AudioParserTest.java  | 2 +-
 6 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index e8a4a74..0d6b55f 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -22,6 +22,9 @@ Release 1.15.1 - ??/??/????
   * Enable base32 encoding of digests and enable BouncyCastle implementations
     of digest algorithms (TIKA-2386).
 
+  * Canonical Mimetype of WAVE audio changed to match RFC 2361 defined
+    version, audio/vnd.wave, older audio/x-wav remains as an alias
+
 Release 1.15 - 05/23/2017
 
   * Tika now has a module for Deep Learning powered by the 
diff --git 
a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml 
b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
index f278dd6..10905da 100644
--- a/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
+++ b/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml
@@ -4811,7 +4811,10 @@
     <!-- <glob pattern="*.rpm"/> - conflicts with application/x-rpm -->
   </mime-type>
 
-  <mime-type type="audio/x-wav">
+  <mime-type type="audio/vnd.wave">
+    <alias type="audio/x-wav"/>
+    <alias type="audio/wave"/>
+    <alias type="audio/wav"/>
     <acronym>WAV</acronym>
     <magic priority="20">
       <match value="RIFF....WAVE" type="string" offset="0"
diff --git a/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java 
b/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java
index 6e0a3bb..cdf8b2d 100644
--- a/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java
+++ b/tika-core/src/test/java/org/apache/tika/TikaDetectionTest.java
@@ -677,7 +677,8 @@ public class TikaDetectionTest {
         assertEquals("audio/x-pn-realaudio", tika.detect("x.ram"));
         assertEquals("audio/x-pn-realaudio", tika.detect("x.ra"));
         assertEquals("audio/x-pn-realaudio-plugin", tika.detect("x.rmp"));
-        assertEquals("audio/x-wav", tika.detect("x.wav"));
+        // Differ from httpd - wav was properly registered in RFC 2361
+        //assertEquals("audio/x-wav", tika.detect("x.wav"));
         assertEquals("chemical/x-cdx", tika.detect("x.cdx"));
         assertEquals("chemical/x-cif", tika.detect("x.cif"));
         assertEquals("chemical/x-cmdf", tika.detect("x.cmdf"));
diff --git 
a/tika-parsers/src/main/java/org/apache/tika/parser/audio/AudioParser.java 
b/tika-parsers/src/main/java/org/apache/tika/parser/audio/AudioParser.java
index a6c2e9d..50cd8b7 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/audio/AudioParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/audio/AudioParser.java
@@ -50,7 +50,8 @@ public class AudioParser extends AbstractParser {
     private static final Set<MediaType> SUPPORTED_TYPES =
         Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
                 MediaType.audio("basic"),
-                MediaType.audio("x-wav"),
+                MediaType.audio("vnd.wave"), // Official, fixed in Tika 1.16
+                MediaType.audio("x-wav"),    // Older, used until Tika 1.16
                 MediaType.audio("x-aiff"))));
 
     public Set<MediaType> getSupportedTypes(ParseContext context) {
@@ -73,7 +74,7 @@ public class AudioParser extends AbstractParser {
             } else if (type == Type.AU || type == Type.SND) {
                 metadata.set(Metadata.CONTENT_TYPE, "audio/basic");
             } else if (type == Type.WAVE) {
-                metadata.set(Metadata.CONTENT_TYPE, "audio/x-wav");
+                metadata.set(Metadata.CONTENT_TYPE, "audio/vnd.wave");
             }
 
             AudioFormat audioFormat = fileFormat.getFormat();
diff --git a/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java 
b/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
index 828dd6e..97bb908 100644
--- a/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
+++ b/tika-parsers/src/test/java/org/apache/tika/mime/TestMimeTypes.java
@@ -804,7 +804,7 @@ public class TestMimeTypes {
         assertType("application/xml", "testXML.xml");
         assertType("audio/basic", "testAU.au");
         assertType("audio/x-aiff", "testAIFF.aif");
-        assertType("audio/x-wav", "testWAV.wav");
+        assertType("audio/vnd.wave", "testWAV.wav");
         assertType("audio/midi", "testMID.mid");
         assertType("application/x-msaccess", "testACCESS.mdb");
         assertType("application/x-font-ttf", "testTrueType3.ttf");
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/parser/audio/AudioParserTest.java 
b/tika-parsers/src/test/java/org/apache/tika/parser/audio/AudioParserTest.java
index d35de32..9cfbab1 100644
--- 
a/tika-parsers/src/test/java/org/apache/tika/parser/audio/AudioParserTest.java
+++ 
b/tika-parsers/src/test/java/org/apache/tika/parser/audio/AudioParserTest.java
@@ -31,7 +31,7 @@ public class AudioParserTest {
         String content = new Tika().parseToString(
                 AudioParserTest.class.getResourceAsStream(path), metadata);
 
-        assertEquals("audio/x-wav", metadata.get(Metadata.CONTENT_TYPE));
+        assertEquals("audio/vnd.wave", metadata.get(Metadata.CONTENT_TYPE));
         assertEquals("44100.0", metadata.get("samplerate"));
         assertEquals("2", metadata.get("channels"));
         assertEquals("16", metadata.get("bits"));

-- 
To stop receiving notification emails like this one, please contact
['"commits@tika.apache.org" <commits@tika.apache.org>'].

Reply via email to