diff --git a/jni/nv_alsa/nv_alsa_jni.c b/jni/nv_alsa/nv_alsa_jni.c index 79abb89..71e7c05 100644 --- a/jni/nv_alsa/nv_alsa_jni.c +++ b/jni/nv_alsa/nv_alsa_jni.c @@ -6,17 +6,16 @@ // This function must be called before // any other decoding functions JNIEXPORT jint JNICALL -Java_com_limelight_binding_audio_AlsaAudio_init(JNIEnv *env, jobject this, jint channelCount, jint sampleRate, jbyteArray device) +Java_com_limelight_binding_audio_AlsaAudio_init(JNIEnv *env, jobject this, jint channelCount, jint sampleRate, jstring device) { jint ret; - jbyte* jni_device; + char* jni_device; - jni_device = (*env)->GetByteArrayElements(env, device, 0); + jni_device = (*env)->GetStringUTFChars(env, device, 0); ret = nv_alsa_init(channelCount, sampleRate, jni_device); - // The input data isn't changed so it can be safely aborted - (*env)->ReleaseByteArrayElements(env, device, jni_device, JNI_ABORT); + (*env)->ReleaseStringUTFChars(env, device, jni_device); return ret; } @@ -43,4 +42,4 @@ Java_com_limelight_binding_audio_AlsaAudio_play( (*env)->ReleaseByteArrayElements(env, indata, jni_input_data, JNI_ABORT); return ret; -} \ No newline at end of file +} diff --git a/src/com/limelight/Limelight.java b/src/com/limelight/Limelight.java index 96f7aea..94b01eb 100644 --- a/src/com/limelight/Limelight.java +++ b/src/com/limelight/Limelight.java @@ -151,7 +151,7 @@ public class Limelight implements NvConnectionListener { int refresh = 60; boolean parse = true; String mapping = null; - String audio = "hw:0"; + String audio = "hw:0,0"; for (int i = 0; i < args.length - 1; i++) { if (args[i].equals("-input")) { diff --git a/src/com/limelight/binding/audio/AlsaAudio.java b/src/com/limelight/binding/audio/AlsaAudio.java index c33bc87..91b8451 100644 --- a/src/com/limelight/binding/audio/AlsaAudio.java +++ b/src/com/limelight/binding/audio/AlsaAudio.java @@ -9,7 +9,7 @@ public class AlsaAudio { System.loadLibrary("nv_alsa"); } - public static native int init(int channelCount, int sampleRate, byte[] device); + public static native int init(int channelCount, int sampleRate, String device); public static native void close(); diff --git a/src/com/limelight/binding/audio/AlsaAudioRenderer.java b/src/com/limelight/binding/audio/AlsaAudioRenderer.java index 5a590e7..19c0379 100644 --- a/src/com/limelight/binding/audio/AlsaAudioRenderer.java +++ b/src/com/limelight/binding/audio/AlsaAudioRenderer.java @@ -16,7 +16,7 @@ public class AlsaAudioRenderer implements AudioRenderer { @Override public void streamInitialized(int channelCount, int sampleRate) { - int ret = AlsaAudio.init(channelCount, sampleRate, device.getBytes()); + int ret = AlsaAudio.init(channelCount, sampleRate, device); if (ret != 0) throw new IllegalStateException("AVC decoder initialization failure: "+ret); }