You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by rg...@apache.org on 2012/12/13 23:38:11 UTC

svn commit: r1421584 - in /tika/trunk/tika-parsers/src: main/java/org/apache/tika/parser/mp3/AudioFrame.java test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java

Author: rgauss
Date: Thu Dec 13 22:38:09 2012
New Revision: 1421584

URL: http://svn.apache.org/viewvc?rev=1421584&view=rev
Log:
TIKA-990: Mp3Parser extracts wrong number of channels
   - Changed AudioFrame to grab the correct bits (7,6)
   - Updated Mp3ParserTest for the correct channels in the files

Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java?rev=1421584&r1=1421583&r2=1421584&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/AudioFrame.java Thu Dec 13 22:38:09 2012
@@ -122,7 +122,7 @@ public class AudioFrame implements MP3Fr
                 sampleRate *= 4;
             }
 
-            int chans = h4 & 0x03;
+            int chans = h4 & 0x192;
             if (chans < 3) {
                 // Stereo, joint stereo, dual channel
                 channels = 2;

Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java?rev=1421584&r1=1421583&r2=1421584&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java Thu Dec 13 22:38:09 2012
@@ -66,7 +66,7 @@ public class Mp3ParserTest extends TestC
         
         assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
         assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
+        assertEquals("1", metadata.get("channels"));
     }
 
     /**
@@ -104,7 +104,7 @@ public class Mp3ParserTest extends TestC
         // Check un-typed audio properties
         assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
         assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
+        assertEquals("1", metadata.get("channels"));
         
         // Check XMPDM-typed audio properties
         assertEquals("Test Album", metadata.get(XMPDM.ALBUM));
@@ -116,7 +116,7 @@ public class Mp3ParserTest extends TestC
         assertEquals("1", metadata.get(XMPDM.TRACK_NUMBER));
         
         assertEquals("44100", metadata.get(XMPDM.AUDIO_SAMPLE_RATE));
-        assertEquals("Stereo", metadata.get(XMPDM.AUDIO_CHANNEL_TYPE));
+        assertEquals("Mono", metadata.get(XMPDM.AUDIO_CHANNEL_TYPE));
         assertEquals("MP3", metadata.get(XMPDM.AUDIO_COMPRESSOR));
     }
 
@@ -152,7 +152,7 @@ public class Mp3ParserTest extends TestC
         
         assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
         assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
+        assertEquals("1", metadata.get("channels"));
     }
 
     /**
@@ -187,7 +187,7 @@ public class Mp3ParserTest extends TestC
         
         assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
         assertEquals("44100", metadata.get("samplerate"));
-        assertEquals("2", metadata.get("channels"));
+        assertEquals("1", metadata.get("channels"));
     }
     
     /**
@@ -221,7 +221,7 @@ public class Mp3ParserTest extends TestC
        
        assertEquals("MPEG 3 Layer III Version 1", metadata.get("version"));
        assertEquals("44100", metadata.get("samplerate"));
-       assertEquals("2", metadata.get("channels"));
+       assertEquals("1", metadata.get("channels"));
    }