From 27366b14fc24a8a95589b87dede5b03b6dbeace3 Mon Sep 17 00:00:00 2001 From: Iwan Timmer Date: Tue, 7 Jan 2014 20:43:14 +0100 Subject: [PATCH] Use byte buffer for audio to minimize buffer copy's --- jni/nv_opus_dec/nv_opus_dec.c | 13 ++-- jni/nv_opus_dec/nv_opus_dec.h | 4 +- jni/nv_opus_dec/nv_opus_dec_jni.c | 12 ++-- libs/limelight-common.jar | Bin 60162 -> 61251 bytes .../binding/audio/JavaxAudioRenderer.java | 38 +++++++---- .../limelight/binding/audio/SoundBuffer.java | 61 ------------------ 6 files changed, 43 insertions(+), 85 deletions(-) delete mode 100644 src/com/limelight/binding/audio/SoundBuffer.java diff --git a/jni/nv_opus_dec/nv_opus_dec.c b/jni/nv_opus_dec/nv_opus_dec.c index 6848c29..f52a07e 100644 --- a/jni/nv_opus_dec/nv_opus_dec.c +++ b/jni/nv_opus_dec/nv_opus_dec.c @@ -37,8 +37,8 @@ int nv_opus_get_channel_count(void) { } // This number assumes 2 channels at 48 KHz -int nv_opus_get_max_out_shorts(void) { - return 512*nv_opus_get_channel_count(); +int nv_opus_get_max_out_bytes(void) { + return 1024*nv_opus_get_channel_count(); } // The Opus stream is 48 KHz @@ -46,17 +46,20 @@ int nv_opus_get_sample_rate(void) { return 48000; } -// outpcmdata must be 5760*2 shorts in length +// outpcmdata must be 11520*2 bytes in length // packets must be decoded in order // a packet loss must call this function with NULL indata and 0 inlen // returns the number of decoded samples -int nv_opus_decode(unsigned char* indata, int inlen, short* outpcmdata) { +int nv_opus_decode(unsigned char* indata, int inlen, unsigned char* outpcmdata) { int err; // Decoding to 16-bit PCM with FEC off // Maximum length assuming 48KHz sample rate err = opus_decode(decoder, indata, inlen, - outpcmdata, 512, 0); + (opus_int16*) outpcmdata, 512, 0); + if (err>0) + err = err * 2; + return err; } diff --git a/jni/nv_opus_dec/nv_opus_dec.h b/jni/nv_opus_dec/nv_opus_dec.h index c5eb7f5..d96f826 100644 --- a/jni/nv_opus_dec/nv_opus_dec.h +++ b/jni/nv_opus_dec/nv_opus_dec.h @@ -1,6 +1,6 @@ int nv_opus_init(void); void nv_opus_destroy(void); int nv_opus_get_channel_count(void); -int nv_opus_get_max_out_shorts(void); +int nv_opus_get_max_out_bytes(void); int nv_opus_get_sample_rate(void); -int nv_opus_decode(unsigned char* indata, int inlen, short* outpcmdata); +int nv_opus_decode(unsigned char* indata, int inlen, unsigned char* outpcmdata); diff --git a/jni/nv_opus_dec/nv_opus_dec_jni.c b/jni/nv_opus_dec/nv_opus_dec_jni.c index 1df6988..5678a56 100644 --- a/jni/nv_opus_dec/nv_opus_dec_jni.c +++ b/jni/nv_opus_dec/nv_opus_dec_jni.c @@ -25,8 +25,8 @@ Java_com_limelight_nvstream_av_audio_OpusDecoder_getChannelCount(JNIEnv *env, jo // This number assumes 2 channels at 48 KHz JNIEXPORT jint JNICALL -Java_com_limelight_nvstream_av_audio_OpusDecoder_getMaxOutputShorts(JNIEnv *env, jobject this) { - return nv_opus_get_max_out_shorts(); +Java_com_limelight_nvstream_av_audio_OpusDecoder_getMaxOutputBytes(JNIEnv *env, jobject this) { + return nv_opus_get_max_out_bytes(); } // The Opus stream is 48 KHz @@ -43,13 +43,13 @@ JNIEXPORT jint JNICALL Java_com_limelight_nvstream_av_audio_OpusDecoder_decode( JNIEnv *env, jobject this, // JNI parameters jbyteArray indata, jint inoff, jint inlen, // Input parameters - jshortArray outpcmdata) // Output parameter + jbyteArray outpcmdata) // Output parameter { jint ret; jbyte* jni_input_data; - jshort* jni_pcm_data; + jbyte* jni_pcm_data; - jni_pcm_data = (*env)->GetShortArrayElements(env, outpcmdata, 0); + jni_pcm_data = (*env)->GetByteArrayElements(env, outpcmdata, 0); if (indata != NULL) { jni_input_data = (*env)->GetByteArrayElements(env, indata, 0); @@ -62,7 +62,7 @@ Java_com_limelight_nvstream_av_audio_OpusDecoder_decode( ret = nv_opus_decode(NULL, 0, jni_pcm_data); } - (*env)->ReleaseShortArrayElements(env, outpcmdata, jni_pcm_data, 0); + (*env)->ReleaseByteArrayElements(env, outpcmdata, jni_pcm_data, 0); return ret; } diff --git a/libs/limelight-common.jar b/libs/limelight-common.jar index 5b8f846df08f2dd1743d9900198ee25dba193d0a..5c6322e589c40d679fa14e80dec9037a7d01230b 100644 GIT binary patch literal 61251 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

ZX}NYb5uw73aCUw(-qQ>oE;>0nU0Ns*03Omje1 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

hU6t{ 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 z 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 z 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℘!ela5n^A>Sc6F8*K&6pvrnVI=kZC~N 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 Lj6ei*LVx`i?e!6$ diff --git a/src/com/limelight/binding/audio/JavaxAudioRenderer.java b/src/com/limelight/binding/audio/JavaxAudioRenderer.java index 4978fd0..7027767 100644 --- a/src/com/limelight/binding/audio/JavaxAudioRenderer.java +++ b/src/com/limelight/binding/audio/JavaxAudioRenderer.java @@ -6,8 +6,10 @@ import javax.sound.sampled.DataLine; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; -import com.limelight.nvstream.av.ShortBufferDescriptor; +import com.limelight.nvstream.av.ByteBufferDescriptor; import com.limelight.nvstream.av.audio.AudioRenderer; +import java.nio.ByteOrder; +import java.util.LinkedList; /** * Audio renderer implementation @@ -16,7 +18,7 @@ import com.limelight.nvstream.av.audio.AudioRenderer; public class JavaxAudioRenderer implements AudioRenderer { private SourceDataLine soundLine; - private SoundBuffer soundBuffer; + private LinkedList soundBuffer; private byte[] lineBuffer; private int channelCount; private int sampleRate; @@ -33,16 +35,25 @@ public class JavaxAudioRenderer implements AudioRenderer { * @param length the length of data to be rendered */ @Override - public void playDecodedAudio(short[] pcmData, int offset, int length) { + public void playDecodedAudio(byte[] pcmData, int offset, int length) { if (soundLine != null) { // Queue the decoded samples into the staging sound buffer - soundBuffer.queue(new ShortBufferDescriptor(pcmData, offset, length)); + if (soundBuffer.size() > STAGING_BUFFERS) { + soundBuffer.removeFirst(); + } + + soundBuffer.addLast(new ByteBufferDescriptor(pcmData, offset, length)); int available = soundLine.available(); if (reallocateLines) { // Kinda jank. If the queued is larger than available, we are going to have a delay // so we increase the buffer size - if (available < soundBuffer.size()) { + int size = 0; + for (ByteBufferDescriptor desc : soundBuffer) { + size += desc.length; + } + + if (available < size) { System.out.println("buffer too full, buffer size: " + soundLine.getBufferSize()); int currentBuffer = soundLine.getBufferSize(); soundLine.close(); @@ -60,11 +71,16 @@ public class JavaxAudioRenderer implements AudioRenderer { // If there's space available in the sound line, pull some data out // of the staging buffer and write it to the sound line - if (available > 0) { - int written = soundBuffer.fill(lineBuffer, 0, available); - if (written > 0) { - soundLine.write(lineBuffer, 0, written); + + while (available > 0 && !soundBuffer.isEmpty()) { + ByteBufferDescriptor buff = soundBuffer.peek(); + if (buff.length > available) { + break; } + + available -= soundLine.write(buff.data, buff.offset, buff.length); + + soundBuffer.remove(); } } } @@ -80,7 +96,7 @@ public class JavaxAudioRenderer implements AudioRenderer { } private void createSoundLine(int bufferSize) { - AudioFormat audioFormat = new AudioFormat(sampleRate, 16, channelCount, true, true); + AudioFormat audioFormat = new AudioFormat(sampleRate, 16, channelCount, true, ByteOrder.nativeOrder()==ByteOrder.BIG_ENDIAN); DataLine.Info info; @@ -103,7 +119,7 @@ public class JavaxAudioRenderer implements AudioRenderer { soundLine.start(); lineBuffer = new byte[soundLine.getBufferSize()]; - soundBuffer = new SoundBuffer(STAGING_BUFFERS); + soundBuffer = new LinkedList(); } catch (LineUnavailableException e) { soundLine = null; } diff --git a/src/com/limelight/binding/audio/SoundBuffer.java b/src/com/limelight/binding/audio/SoundBuffer.java deleted file mode 100644 index 8859bad..0000000 --- a/src/com/limelight/binding/audio/SoundBuffer.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.limelight.binding.audio; - -import java.nio.ByteBuffer; -import java.nio.ShortBuffer; -import java.util.LinkedList; - -import com.limelight.nvstream.av.ShortBufferDescriptor; - -public class SoundBuffer { - - private LinkedList bufferList; - private int maxBuffers; - - public SoundBuffer(int maxBuffers) { - this.bufferList = new LinkedList(); - this.maxBuffers = maxBuffers; - } - - public void queue(ShortBufferDescriptor buff) { - if (bufferList.size() > maxBuffers) { - bufferList.removeFirst(); - } - - bufferList.addLast(buff); - } - - public int size() { - int size = 0; - for (ShortBufferDescriptor desc : bufferList) { - size += desc.length; - } - return size; - } - - public int fill(byte[] data, int offset, int length) { - int filled = 0; - - // Convert offset and length to be relative to shorts - offset /= 2; - length /= 2; - - ShortBuffer sb = ByteBuffer.wrap(data).asShortBuffer(); - sb.position(offset); - while (length > 0 && !bufferList.isEmpty()) { - ShortBufferDescriptor buff = bufferList.getFirst(); - - if (buff.length > length) { - break; - } - - sb.put(buff.data, buff.offset, buff.length); - length -= buff.length; - filled += buff.length; - - bufferList.removeFirst(); - } - - // Return bytes instead of shorts - return filled * 2; - } -}