diff options
author | Andrew Comminos <andrewcomminos@gmail.com> | 2014-03-08 08:20:02 +0400 |
---|---|---|
committer | Andrew Comminos <andrewcomminos@gmail.com> | 2014-03-08 08:20:02 +0400 |
commit | 7aa81fc5c0c20a5082be66cb4951199c20e0cb25 (patch) | |
tree | 1a18ea652b17e3071f93eeca427329ffd00feccf /src/androidTest | |
parent | ffaf5347f36ed9642aae15d1d0615d2f938e2230 (diff) |
Added new encoder abstraction, fixed CELT 11.
Diffstat (limited to 'src/androidTest')
-rw-r--r-- | src/androidTest/assets/speech_48000.opus | bin | 89023 -> 0 bytes | |||
-rw-r--r-- | src/androidTest/java/com/morlunk/jumble/test/OpusTest.java | 31 |
2 files changed, 12 insertions, 19 deletions
diff --git a/src/androidTest/assets/speech_48000.opus b/src/androidTest/assets/speech_48000.opus Binary files differdeleted file mode 100644 index ca3c312..0000000 --- a/src/androidTest/assets/speech_48000.opus +++ /dev/null diff --git a/src/androidTest/java/com/morlunk/jumble/test/OpusTest.java b/src/androidTest/java/com/morlunk/jumble/test/OpusTest.java index 9902f89..2b0b20c 100644 --- a/src/androidTest/java/com/morlunk/jumble/test/OpusTest.java +++ b/src/androidTest/java/com/morlunk/jumble/test/OpusTest.java @@ -18,6 +18,7 @@ package com.morlunk.jumble.test; import android.test.AndroidTestCase; +import com.googlecode.javacpp.BytePointer; import com.googlecode.javacpp.IntPointer; import com.googlecode.javacpp.Loader; import com.googlecode.javacpp.Pointer; @@ -32,34 +33,26 @@ import java.io.InputStream; */ public class OpusTest extends AndroidTestCase { + private static final int FRAME_SIZE = 480; + static { Loader.load(Opus.class); } - public static final String PCM_48000_FILE = "speech_48000.wav"; - public static final String OPUS_48000_FILE = "speech_48000.opus"; - /** - * Tests the decoding of a 48000khz mono opus file into PCM data. + * Tests the encoding of an empty 16 bit waveform of frame size 480 (mumble typical). + * This does not check the integrity of the encoding, it only tests the success + * of the operation. */ - public void testDecode48000() throws IOException { + public void testEncodeFrame() throws IOException { IntPointer error = new IntPointer(1); error.put(0); - Pointer decoder = Opus.opus_decoder_create(48000, 1, error); + Pointer encoder = Opus.opus_encoder_create(48000, 1, Opus.OPUS_APPLICATION_VOIP, error); assertEquals(error.get(), 0); - InputStream opusInput = getContext().getAssets().open(OPUS_48000_FILE); - ByteArrayOutputStream opusOutput = new ByteArrayOutputStream(1024); - - byte[] buffer = new byte[1024]; - while(opusInput.read(buffer) != -1) - opusOutput.write(buffer); - opusInput.close(); - opusOutput.close(); - - byte[] opusData = opusOutput.toByteArray(); - short[] pcm = new short[2000000]; - - int samplesDecoded = Opus.opus_decode(decoder, opusData, opusData.length, pcm, 120, 0); + short[] pcm = new short[FRAME_SIZE]; + byte[] output = new byte[1024]; + int result = Opus.opus_encode(encoder, pcm, FRAME_SIZE, output, output.length); + assertTrue(result > 0); } } |