diff options
author | Andrew Comminos <andrewcomminos@gmail.com> | 2014-03-05 03:37:56 +0400 |
---|---|---|
committer | Andrew Comminos <andrewcomminos@gmail.com> | 2014-03-05 03:37:56 +0400 |
commit | 577fda492042f060b7f6563b72dbf7e1dc3aaae6 (patch) | |
tree | 4e70bfbccde8b2ae33ede847a8f03deb8ec41d30 | |
parent | 49563d8c392e62591c1e509b7d40130a97942bbe (diff) |
Fixed transmission issue with voice activity. Disabled bitrate scaling
in CELT implementation until robot voice is fixed. Updated JNI build
scripts.
-rw-r--r-- | src/main/java/com/morlunk/jumble/audio/AudioInput.java | 17 | ||||
-rw-r--r-- | src/main/java/com/morlunk/jumble/net/JumbleConnection.java | 2 | ||||
-rw-r--r-- | src/main/jni/celt11.cpp | 160 | ||||
-rw-r--r-- | src/main/jni/celt7.cpp | 172 | ||||
-rw-r--r-- | src/main/jni/opus.cpp | 208 | ||||
-rw-r--r-- | src/main/jni/speex.cpp | 400 | ||||
-rwxr-xr-x | tools/jnigen.sh | 6 |
7 files changed, 481 insertions, 484 deletions
diff --git a/src/main/java/com/morlunk/jumble/audio/AudioInput.java b/src/main/java/com/morlunk/jumble/audio/AudioInput.java index b6b9117..f963f54 100644 --- a/src/main/java/com/morlunk/jumble/audio/AudioInput.java +++ b/src/main/java/com/morlunk/jumble/audio/AudioInput.java @@ -247,7 +247,8 @@ public class AudioInput extends ProtocolHandler implements Runnable { tmp.put(0); CELT11.celt_encoder_ctl(mCELTBetaEncoder, CELT11.CELT_SET_PREDICTION_REQUEST, tmp); - CELT11.celt_encoder_ctl(mCELTBetaEncoder, CELT11.CELT_SET_BITRATE_REQUEST, mQuality); + // FIXME: bitrate causes great distortion on CELT. +// CELT11.celt_encoder_ctl(mCELTBetaEncoder, CELT11.CELT_SET_BITRATE_REQUEST, mQuality); break; case UDPVoiceCELTAlpha: mCELTAlphaMode = CELT7.celt_mode_create(Audio.SAMPLE_RATE, mFrameSize, error); @@ -256,7 +257,7 @@ public class AudioInput extends ProtocolHandler implements Runnable { tmp.put(0); CELT7.celt_encoder_ctl(mCELTAlphaEncoder, CELT11.CELT_SET_PREDICTION_REQUEST, tmp); - CELT7.celt_encoder_ctl(mCELTAlphaEncoder, CELT11.CELT_SET_BITRATE_REQUEST, mQuality); +// CELT7.celt_encoder_ctl(mCELTAlphaEncoder, CELT7.CELT_SET_BITRATE_REQUEST, mQuality); break; case UDPVoiceSpeex: // TODO @@ -347,8 +348,6 @@ public class AudioInput extends ProtocolHandler implements Runnable { if(mTransmitMode == Constants.TRANSMIT_CONTINUOUS || mTransmitMode == Constants.TRANSMIT_PUSH_TO_TALK) mListener.onTalkStateChanged(true); - IntPointer tmp = new IntPointer(1); - // We loop when the 'recording' instance var is true instead of checking audio record state because we want to always cleanly shutdown. while(mRecording || mBufferedFrames > 0) { // Make sure we clear all buffered frames before stopping. FIXME- second 'or' condition is experimental, untested. int shortsRead = mAudioRecord.read(mResampler != null ? resampleBuffer : audioData, 0, mResampler != null ? mMicFrameSize : mFrameSize); @@ -396,9 +395,9 @@ public class AudioInput extends ProtocolHandler implements Runnable { mVADLastDetected = talking; } - // If talking has terminated before we have filled the buffer, send anyway. - if(!talking && mBufferedFrames > 0) { - sendFrame(true); + if(!talking) { + // If talking has terminated before we have filled the buffer, send anyway. + if(mBufferedFrames > 0) sendFrame(true); continue; } @@ -520,8 +519,8 @@ public class AudioInput extends ProtocolHandler implements Runnable { // FIXME: CELT 0.11.0 (beta) does not work. if(msg.hasOpus() && msg.getOpus()) switchCodec(JumbleUDPMessageType.UDPVoiceOpus); -// else if(msg.hasBeta() && msg.getBeta() == Constants.CELT_11_VERSION && !(msg.hasPreferAlpha() && msg.getPreferAlpha())) -// switchCodec(JumbleUDPMessageType.UDPVoiceCELTBeta); + else if(msg.hasBeta() && msg.getBeta() == Constants.CELT_11_VERSION && !(msg.hasPreferAlpha() && msg.getPreferAlpha())) + switchCodec(JumbleUDPMessageType.UDPVoiceCELTBeta); else if(msg.hasAlpha() && msg.getAlpha() == Constants.CELT_7_VERSION) switchCodec(JumbleUDPMessageType.UDPVoiceCELTAlpha); diff --git a/src/main/java/com/morlunk/jumble/net/JumbleConnection.java b/src/main/java/com/morlunk/jumble/net/JumbleConnection.java index 1bfe735..e845e41 100644 --- a/src/main/java/com/morlunk/jumble/net/JumbleConnection.java +++ b/src/main/java/com/morlunk/jumble/net/JumbleConnection.java @@ -837,7 +837,7 @@ public class JumbleConnection { auth.setUsername(mServer.getUsername()); auth.setPassword(mServer.getPassword()); auth.addCeltVersions(Constants.CELT_7_VERSION); - auth.addCeltVersions(Constants.CELT_11_VERSION); +// auth.addCeltVersions(Constants.CELT_11_VERSION); FIXME: get CELT11 working, right now encoding segfaults auth.setOpus(mUseOpus); sendTCPMessage(version.build(), JumbleTCPMessageType.Version); diff --git a/src/main/jni/celt11.cpp b/src/main/jni/celt11.cpp index fde2ae8..e834c73 100644 --- a/src/main/jni/celt11.cpp +++ b/src/main/jni/celt11.cpp @@ -1012,62 +1012,77 @@ JNIEXPORT jobject JNICALL Java_com_googlecode_javacpp_SizeTPointer_put(JNIEnv* e return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { - int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jobject rarg = NULL; - void* rptr; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decode_1float(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jfloatArray arg3, jint arg4) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; + signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); + float* ptr3 = arg3 == NULL ? NULL : env->GetFloatArrayElements(arg3, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - rptr = celt_decoder_create(arg0, arg1, ptr2); - if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = celt_decode_float((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); + if (arg3 != NULL) env->ReleaseFloatArrayElements(arg3, (jfloat*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decode(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jshortArray arg3, jint arg4) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); - short* ptr3 = arg3 == NULL ? NULL : env->GetShortArrayElements(arg3, NULL); + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_decode((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4); + int rvalue = celt_decoder_ctl((CELTDecoder*)ptr0, arg1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); - if (arg3 != NULL) env->ReleaseShortArrayElements(arg3, (jshort*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mode_1info(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + jthrowable exc = NULL; + try { + celt_decoder_destroy((CELTDecoder*)ptr0); + } catch (...) { + exc = JavaCPP_handleException(env, 14); + } + + if (exc != NULL) { + env->Throw(exc); + } +} +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); ptr2 += position2; - jint rarg = 0; + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - int rvalue = celt_mode_info((const CELTMode*)ptr0, arg1, ptr2); - rarg = (jint)rvalue; + rptr = celt_encoder_create(arg0, arg1, ptr2); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1077,29 +1092,25 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mode_1 } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decode_1float(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jfloatArray arg3, jint arg4) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2II(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); - float* ptr3 = arg3 == NULL ? NULL : env->GetFloatArrayElements(arg3, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_decode_float((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4); + int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, arg2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); - if (arg3 != NULL) env->ReleaseFloatArrayElements(arg3, (jfloat*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2ILcom_googlecode_javacpp_Pointer_2(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; @@ -1109,7 +1120,7 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decode jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_decoder_ctl((CELTDecoder*)ptr0, arg1, ptr2); + int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1120,55 +1131,35 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decode } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encode(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jint arg2, jbyteArray arg3, jint arg4) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); + signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - celt_decoder_destroy((CELTDecoder*)ptr0); - } catch (...) { - exc = JavaCPP_handleException(env, 14); - } - - if (exc != NULL) { - env->Throw(exc); - } -} -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { - int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jobject rarg = NULL; - void* rptr; - jthrowable exc = NULL; - try { - rptr = celt_encoder_create(arg0, arg1, ptr2); - if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = celt_encode((CELTEncoder*)ptr0, (const short*)ptr1, arg2, (unsigned char*)ptr3, arg4); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); + if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2ILcom_googlecode_javacpp_Pointer_2(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, ptr2); - rarg = (jint)rvalue; + celt_encoder_destroy((CELTEncoder*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1176,16 +1167,18 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encode if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2II(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mode_1info(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, arg2); + int rvalue = celt_mode_info((const CELTMode*)ptr0, arg1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1196,29 +1189,22 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encode } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encode(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jint arg2, jbyteArray arg3, jint arg4) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mode_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); - signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_encode((CELTEncoder*)ptr0, (const short*)ptr1, arg2, (unsigned char*)ptr3, arg4); - rarg = (jint)rvalue; + celt_mode_destroy((CELTMode*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); - if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mode_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); ptr2 += position2; @@ -1226,7 +1212,7 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mod void* rptr; jthrowable exc = NULL; try { - rptr = celt_mode_create(arg0, arg1, ptr2); + rptr = celt_decoder_create(arg0, arg1, ptr2); if (rptr != NULL) { rarg = env->AllocObject(JavaCPP_getClass(env, 1)); env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); @@ -1240,28 +1226,41 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mod } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mode_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1decode(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jshortArray arg3, jint arg4) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); + short* ptr3 = arg3 == NULL ? NULL : env->GetShortArrayElements(arg3, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - celt_mode_destroy((CELTMode*)ptr0); + int rvalue = celt_decode((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); + if (arg3 != NULL) env->ReleaseShortArrayElements(arg3, (jshort*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } + return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1mode_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { + int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - celt_encoder_destroy((CELTEncoder*)ptr0); + rptr = celt_mode_create(arg0, arg1, ptr2); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1269,6 +1268,7 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT11_celt_1encode if (exc != NULL) { env->Throw(exc); } + return rarg; } } diff --git a/src/main/jni/celt7.cpp b/src/main/jni/celt7.cpp index 89b0b33..75074bb 100644 --- a/src/main/jni/celt7.cpp +++ b/src/main/jni/celt7.cpp @@ -1012,67 +1012,56 @@ JNIEXPORT jobject JNICALL Java_com_googlecode_javacpp_SizeTPointer_put(JNIEnv* e return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder_1create(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decode_1float(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jfloatArray arg3) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jobject rarg = NULL; - void* rptr; + signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); + float* ptr3 = arg3 == NULL ? NULL : env->GetFloatArrayElements(arg3, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - rptr = celt_decoder_create((CELTMode*)ptr0, arg1, ptr2); - if (rptr == (CELTMode*)ptr0) { - rarg = arg0; - } else if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = celt_decode_float((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); + if (arg3 != NULL) env->ReleaseFloatArrayElements(arg3, (jfloat*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decode(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jshortArray arg3) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); - short* ptr3 = arg3 == NULL ? NULL : env->GetShortArrayElements(arg3, NULL); + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_decode((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3); + int rvalue = celt_decoder_ctl((CELTDecoder*)ptr0, arg1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); - if (arg3 != NULL) env->ReleaseShortArrayElements(arg3, (jshort*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode_1info(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_mode_info((const CELTMode*)ptr0, arg1, ptr2); - rarg = (jint)rvalue; + celt_decoder_destroy((CELTDecoder*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1080,41 +1069,42 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode_1i if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decode_1float(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jfloatArray arg3) { +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1create(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); - float* ptr3 = arg3 == NULL ? NULL : env->GetFloatArrayElements(arg3, NULL); - jint rarg = 0; + int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - int rvalue = celt_decode_float((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3); - rarg = (jint)rvalue; + rptr = celt_encoder_create((const CELTMode *)ptr0, arg1, ptr2); + if (rptr == (const CELTMode *)ptr0) { + rarg = arg0; + } else if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); - if (arg3 != NULL) env->ReleaseFloatArrayElements(arg3, (jfloat*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2II(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_decoder_ctl((CELTDecoder*)ptr0, arg1, ptr2); + int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, arg2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1125,13 +1115,18 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2ILcom_googlecode_javacpp_Pointer_2(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; + jint rarg = 0; jthrowable exc = NULL; try { - celt_decoder_destroy((CELTDecoder*)ptr0); + int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, ptr2); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1139,46 +1134,39 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder if (exc != NULL) { env->Throw(exc); } + return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1create(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encode(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jshortArray arg2, jbyteArray arg3, jint arg4) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jobject rarg = NULL; - void* rptr; + short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); + short* ptr2 = arg2 == NULL ? NULL : env->GetShortArrayElements(arg2, NULL); + signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - rptr = celt_encoder_create((const CELTMode *)ptr0, arg1, ptr2); - if (rptr == (const CELTMode *)ptr0) { - rarg = arg0; - } else if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = celt_encode((CELTEncoder *)ptr0, (const short *)ptr1, (short *)ptr2, (unsigned char *)ptr3, arg4); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); + if (arg2 != NULL) env->ReleaseShortArrayElements(arg2, (jshort*)ptr2, 0); + if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2ILcom_googlecode_javacpp_Pointer_2(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, ptr2); - rarg = (jint)rvalue; + celt_encoder_destroy((CELTEncoder *)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1186,16 +1174,18 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2II(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode_1info(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_encoder_ctl((CELTEncoder*)ptr0, arg1, arg2); + int rvalue = celt_mode_info((const CELTMode*)ptr0, arg1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1206,31 +1196,25 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encode(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jshortArray arg2, jbyteArray arg3, jint arg4) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); - short* ptr2 = arg2 == NULL ? NULL : env->GetShortArrayElements(arg2, NULL); - signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = celt_encode((CELTEncoder *)ptr0, (const short *)ptr1, (short *)ptr2, (unsigned char *)ptr3, arg4); - rarg = (jint)rvalue; + celt_mode_destroy((CELTMode*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); - if (arg2 != NULL) env->ReleaseShortArrayElements(arg2, (jshort*)ptr2, 0); - if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decoder_1create(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); ptr2 += position2; @@ -1238,8 +1222,10 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode void* rptr; jthrowable exc = NULL; try { - rptr = celt_mode_create(arg0, arg1, ptr2); - if (rptr != NULL) { + rptr = celt_decoder_create((CELTMode*)ptr0, arg1, ptr2); + if (rptr == (CELTMode*)ptr0) { + rarg = arg0; + } else if (rptr != NULL) { rarg = env->AllocObject(JavaCPP_getClass(env, 1)); env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); } @@ -1252,28 +1238,41 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1decode(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jshortArray arg3) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); + short* ptr3 = arg3 == NULL ? NULL : env->GetShortArrayElements(arg3, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - celt_mode_destroy((CELTMode*)ptr0); + int rvalue = celt_decode((CELTDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); + if (arg3 != NULL) env->ReleaseShortArrayElements(arg3, (jshort*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } + return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1mode_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { + int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - celt_encoder_destroy((CELTEncoder *)ptr0); + rptr = celt_mode_create(arg0, arg1, ptr2); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1281,6 +1280,7 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_CELT7_celt_1encoder if (exc != NULL) { env->Throw(exc); } + return rarg; } } diff --git a/src/main/jni/opus.cpp b/src/main/jni/opus.cpp index ca298d3..02fcd5f 100644 --- a/src/main/jni/opus.cpp +++ b/src/main/jni/opus.cpp @@ -1012,11 +1012,14 @@ JNIEXPORT jobject JNICALL Java_com_googlecode_javacpp_SizeTPointer_put(JNIEnv* e return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1get_1size(JNIEnv* env, jclass cls, jint arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1init(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2, jint arg3) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_decoder_get_size(arg0); + int rvalue = opus_encoder_init((OpusEncoder*)ptr0, arg1, arg2, arg3); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1027,97 +1030,95 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_ } return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { - int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jobject rarg = NULL; - void* rptr; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encode(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jint arg2, jbyteArray arg3, jint arg4) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; + short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); + signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - rptr = opus_decoder_create(arg0, arg1, ptr2); - if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = opus_encode((OpusEncoder*)ptr0, (const short*)ptr1, arg2, (unsigned char*)ptr3, arg4); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); + if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1init(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encode_1float(JNIEnv* env, jclass cls, jobject arg0, jfloatArray arg1, jint arg2, jbyteArray arg3, jint arg4) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + float* ptr1 = arg1 == NULL ? NULL : env->GetFloatArrayElements(arg1, NULL); + signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_decoder_init((OpusDecoder*)ptr0, arg1, arg2); + int rvalue = opus_encode_float((OpusEncoder*)ptr0, (const float*)ptr1, arg2, (unsigned char*)ptr3, arg4); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseFloatArrayElements(arg1, (jfloat*)ptr1, 0); + if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decode(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jshortArray arg3, jint arg4, jint arg5) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); - short* ptr3 = arg3 == NULL ? NULL : env->GetShortArrayElements(arg3, NULL); - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_decode((OpusDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4, arg5); - rarg = (jint)rvalue; + opus_encoder_destroy((OpusEncoder*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); - if (arg3 != NULL) env->ReleaseShortArrayElements(arg3, (jshort*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decode_1float(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jfloatArray arg3, jint arg4, jint arg5) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2ILcom_googlecode_javacpp_Pointer_2(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); - float* ptr3 = arg3 == NULL ? NULL : env->GetFloatArrayElements(arg3, NULL); + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_decode_float((OpusDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4, arg5); + int rvalue = opus_encoder_ctl((OpusEncoder*)ptr0, arg1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); - if (arg3 != NULL) env->ReleaseFloatArrayElements(arg3, (jfloat*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2II(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + jint rarg = 0; jthrowable exc = NULL; try { - opus_decoder_destroy((OpusDecoder*)ptr0); + int rvalue = opus_encoder_ctl((OpusEncoder*)ptr0, arg1, (opus_int32)arg2); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1125,15 +1126,13 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_ if (exc != NULL) { env->Throw(exc); } + return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1bandwidth(JNIEnv* env, jclass cls, jobject arg0) { - signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1get_1size(JNIEnv* env, jclass cls, jint arg0) { jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_packet_get_bandwidth((const unsigned char*)ptr0); + int rvalue = opus_decoder_get_size(arg0); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1144,15 +1143,19 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1 } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1samples_1per_1frame(JNIEnv* env, jclass cls, jobject arg0, jint arg1) { - signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; - jint rarg = 0; +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jobject arg2) { + int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - int rvalue = opus_packet_get_samples_per_frame((const unsigned char*)ptr0, arg1); - rarg = (jint)rvalue; + rptr = opus_decoder_create(arg0, arg1, ptr2); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1162,14 +1165,14 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1 } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1nb_1channels(JNIEnv* env, jclass cls, jobject arg0) { - signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1init(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_packet_get_nb_channels((const unsigned char*)ptr0); + int rvalue = opus_decoder_init((OpusDecoder*)ptr0, arg1, arg2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1180,48 +1183,57 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1 } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1nb_1frames(JNIEnv* env, jclass cls, jobject arg0, jint arg1) { - signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decode(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jshortArray arg3, jint arg4, jint arg5) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); + short* ptr3 = arg3 == NULL ? NULL : env->GetShortArrayElements(arg3, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_packet_get_nb_frames((const unsigned char*)ptr0, arg1); + int rvalue = opus_decode((OpusDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4, arg5); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); + if (arg3 != NULL) env->ReleaseShortArrayElements(arg3, (jshort*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1nb_1samples(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { - signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decode_1float(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2, jfloatArray arg3, jint arg4, jint arg5) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); + float* ptr3 = arg3 == NULL ? NULL : env->GetFloatArrayElements(arg3, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_packet_get_nb_samples((const unsigned char*)ptr0, arg1, arg2); + int rvalue = opus_decode_float((OpusDecoder*)ptr0, (const unsigned char*)ptr1, arg2, ptr3, arg4, arg5); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } + if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); + if (arg3 != NULL) env->ReleaseFloatArrayElements(arg3, (jfloat*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1get_1size(JNIEnv* env, jclass cls, jint arg0) { - jint rarg = 0; +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; jthrowable exc = NULL; try { - int rvalue = opus_encoder_get_size(arg0); - rarg = (jint)rvalue; + opus_decoder_destroy((OpusDecoder*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1229,21 +1241,16 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_ if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jint arg2, jobject arg3) { - int* ptr3 = arg3 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg3, JavaCPP_addressFID)); - jint position3 = arg3 == NULL ? 0 : env->GetIntField(arg3, JavaCPP_positionFID); - ptr3 += position3; - jobject rarg = NULL; - void* rptr; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1bandwidth(JNIEnv* env, jclass cls, jobject arg0) { + signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; + jint rarg = 0; jthrowable exc = NULL; try { - rptr = opus_encoder_create(arg0, arg1, arg2, ptr3); - if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = opus_packet_get_bandwidth((const unsigned char*)ptr0); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1253,14 +1260,14 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encod } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1init(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2, jint arg3) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1samples_1per_1frame(JNIEnv* env, jclass cls, jobject arg0, jint arg1) { + signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_encoder_init((OpusEncoder*)ptr0, arg1, arg2, arg3); + int rvalue = opus_packet_get_samples_per_frame((const unsigned char*)ptr0, arg1); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1271,57 +1278,51 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_ } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encode(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jint arg2, jbyteArray arg3, jint arg4) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1nb_1channels(JNIEnv* env, jclass cls, jobject arg0) { + signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); - signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_encode((OpusEncoder*)ptr0, (const short*)ptr1, arg2, (unsigned char*)ptr3, arg4); + int rvalue = opus_packet_get_nb_channels((const unsigned char*)ptr0); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); - if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encode_1float(JNIEnv* env, jclass cls, jobject arg0, jfloatArray arg1, jint arg2, jbyteArray arg3, jint arg4) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1nb_1frames(JNIEnv* env, jclass cls, jobject arg0, jint arg1) { + signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - float* ptr1 = arg1 == NULL ? NULL : env->GetFloatArrayElements(arg1, NULL); - signed char* ptr3 = arg3 == NULL ? NULL : env->GetByteArrayElements(arg3, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_encode_float((OpusEncoder*)ptr0, (const float*)ptr1, arg2, (unsigned char*)ptr3, arg4); + int rvalue = opus_packet_get_nb_frames((const unsigned char*)ptr0, arg1); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } - if (arg1 != NULL) env->ReleaseFloatArrayElements(arg1, (jfloat*)ptr1, 0); - if (arg3 != NULL) env->ReleaseByteArrayElements(arg3, (jbyte*)ptr3, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1packet_1get_1nb_1samples(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { + signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + jint rarg = 0; jthrowable exc = NULL; try { - opus_encoder_destroy((OpusEncoder*)ptr0); + int rvalue = opus_packet_get_nb_samples((const unsigned char*)ptr0, arg1, arg2); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); } @@ -1329,18 +1330,13 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_ if (exc != NULL) { env->Throw(exc); } + return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2ILcom_googlecode_javacpp_Pointer_2(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1get_1size(JNIEnv* env, jclass cls, jint arg0) { jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = opus_encoder_ctl((OpusEncoder*)ptr0, arg1, ptr2); + int rvalue = opus_encoder_get_size(arg0); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 14); @@ -1351,15 +1347,19 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_ } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1ctl__Lcom_googlecode_javacpp_Pointer_2II(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jint arg2) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; - jint rarg = 0; +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Opus_opus_1encoder_1create(JNIEnv* env, jclass cls, jint arg0, jint arg1, jint arg2, jobject arg3) { + int* ptr3 = arg3 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg3, JavaCPP_addressFID)); + jint position3 = arg3 == NULL ? 0 : env->GetIntField(arg3, JavaCPP_positionFID); + ptr3 += position3; + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - int rvalue = opus_encoder_ctl((OpusEncoder*)ptr0, arg1, (opus_int32)arg2); - rarg = (jint)rvalue; + rptr = opus_encoder_create(arg0, arg1, arg2, ptr3); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 14); } diff --git a/src/main/jni/speex.cpp b/src/main/jni/speex.cpp index ab8f138..3eef453 100644 --- a/src/main/jni/speex.cpp +++ b/src/main/jni/speex.cpp @@ -203,7 +203,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) { { "sizeof" }, { "sizeof" }, { }, - { "sizeof", "timestamp", "data", "span", "sequence", "len" } }; + { "sizeof", "timestamp", "data", "sequence", "span", "len" } }; int offsets[17][6] = { { }, { sizeof(void*) }, @@ -221,7 +221,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) { { sizeof(size_t) }, { sizeof(::SpeexBits) }, { }, - { sizeof(::_JitterBufferPacket), offsetof(::_JitterBufferPacket,timestamp), offsetof(::_JitterBufferPacket,data), offsetof(::_JitterBufferPacket,span), offsetof(::_JitterBufferPacket,sequence), offsetof(::_JitterBufferPacket,len) } }; + { sizeof(::_JitterBufferPacket), offsetof(::_JitterBufferPacket,timestamp), offsetof(::_JitterBufferPacket,data), offsetof(::_JitterBufferPacket,sequence), offsetof(::_JitterBufferPacket,span), offsetof(::_JitterBufferPacket,len) } }; int memberOffsetSizes[17] = { 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6 }; jmethodID putMemberOffsetMID = env->GetStaticMethodID(JavaCPP_getClass(env, 0), "putMemberOffset", "(Ljava/lang/String;Ljava/lang/String;I)V"); if (putMemberOffsetMID == NULL || env->ExceptionCheck()) { @@ -1076,7 +1076,7 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024Jitte } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_getSpan(JNIEnv* env, jobject obj) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_sequence(JNIEnv* env, jobject obj) { ::_JitterBufferPacket* ptr = (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(obj, JavaCPP_addressFID)); if (ptr == NULL) { env->ThrowNew(JavaCPP_getClass(env, 2), "This pointer address is NULL."); @@ -1085,11 +1085,11 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBu jint position = env->GetIntField(obj, JavaCPP_positionFID); ptr += position; jint rarg = 0; - int rvalue = ptr->span; + int rvalue = ptr->sequence; rarg = (jint)rvalue; return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_setSpan(JNIEnv* env, jobject obj, jint arg0) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_setData(JNIEnv* env, jobject obj, jobject arg0) { ::_JitterBufferPacket* ptr = (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(obj, JavaCPP_addressFID)); if (ptr == NULL) { env->ThrowNew(JavaCPP_getClass(env, 2), "This pointer address is NULL."); @@ -1097,32 +1097,35 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBu } jint position = env->GetIntField(obj, JavaCPP_positionFID); ptr += position; - ptr->span = arg0; + signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; + ptr->data = (char *)ptr0; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_setSequence(JNIEnv* env, jobject obj, jint arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_getSpan(JNIEnv* env, jobject obj) { ::_JitterBufferPacket* ptr = (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(obj, JavaCPP_addressFID)); if (ptr == NULL) { env->ThrowNew(JavaCPP_getClass(env, 2), "This pointer address is NULL."); - return; + return 0; } jint position = env->GetIntField(obj, JavaCPP_positionFID); ptr += position; - ptr->sequence = arg0; + jint rarg = 0; + int rvalue = ptr->span; + rarg = (jint)rvalue; + return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_sequence(JNIEnv* env, jobject obj) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_setSpan(JNIEnv* env, jobject obj, jint arg0) { ::_JitterBufferPacket* ptr = (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(obj, JavaCPP_addressFID)); if (ptr == NULL) { env->ThrowNew(JavaCPP_getClass(env, 2), "This pointer address is NULL."); - return 0; + return; } jint position = env->GetIntField(obj, JavaCPP_positionFID); ptr += position; - jint rarg = 0; - int rvalue = ptr->sequence; - rarg = (jint)rvalue; - return rarg; + ptr->span = arg0; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_setData(JNIEnv* env, jobject obj, jobject arg0) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_setSequence(JNIEnv* env, jobject obj, jint arg0) { ::_JitterBufferPacket* ptr = (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(obj, JavaCPP_addressFID)); if (ptr == NULL) { env->ThrowNew(JavaCPP_getClass(env, 2), "This pointer address is NULL."); @@ -1130,10 +1133,7 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBu } jint position = env->GetIntField(obj, JavaCPP_positionFID); ptr += position; - signed char* ptr0 = arg0 == NULL ? NULL : (signed char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; - ptr->data = (char *)ptr0; + ptr->sequence = arg0; } JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBufferPacket_getLength(JNIEnv* env, jobject obj) { ::_JitterBufferPacket* ptr = (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(obj, JavaCPP_addressFID)); @@ -1190,79 +1190,77 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_00024JitterBu ptr->timestamp = arg0; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1resampler_1init(JNIEnv* env, jclass cls, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4) { - int* ptr4 = arg4 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg4, JavaCPP_addressFID)); - jint position4 = arg4 == NULL ? 0 : env->GetIntField(arg4, JavaCPP_positionFID); - ptr4 += position4; - jobject rarg = NULL; - void* rptr; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1run(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; + short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); + jint rarg = 0; jthrowable exc = NULL; try { - rptr = speex_resampler_init(arg0, arg1, arg2, arg3, ptr4); - if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = speex_preprocess_run((SpeexPreprocessState*)ptr0, ptr1); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } + if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1resampler_1process_1int(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jshortArray arg2, jintArray arg3, jshortArray arg4, jintArray arg5) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jintArray arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - short* ptr2 = arg2 == NULL ? NULL : env->GetShortArrayElements(arg2, NULL); - int* ptr3 = arg3 == NULL ? NULL : env->GetIntArrayElements(arg3, NULL); - short* ptr4 = arg4 == NULL ? NULL : env->GetShortArrayElements(arg4, NULL); - int* ptr5 = arg5 == NULL ? NULL : env->GetIntArrayElements(arg5, NULL); + short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); + int* ptr2 = arg2 == NULL ? NULL : env->GetIntArrayElements(arg2, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = speex_resampler_process_int((SpeexResamplerState*)ptr0, arg1, (short*)ptr2, (unsigned int*)ptr3, (short*)ptr4, (unsigned int*)ptr5); + int rvalue = speex_preprocess((SpeexPreprocessState*)ptr0, ptr1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } - if (arg2 != NULL) env->ReleaseShortArrayElements(arg2, (jshort*)ptr2, 0); - if (arg3 != NULL) env->ReleaseIntArrayElements(arg3, (jint*)ptr3, 0); - if (arg4 != NULL) env->ReleaseShortArrayElements(arg4, (jshort*)ptr4, 0); - if (arg5 != NULL) env->ReleaseIntArrayElements(arg5, (jint*)ptr5, 0); + if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); + if (arg2 != NULL) env->ReleaseIntArrayElements(arg2, (jint*)ptr2, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1resampler_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1estimate_1update(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); jthrowable exc = NULL; try { - speex_resampler_destroy((SpeexResamplerState*)ptr0); + speex_preprocess_estimate_update((SpeexPreprocessState*)ptr0, ptr1); } catch (...) { exc = JavaCPP_handleException(env, 15); } + if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); if (exc != NULL) { env->Throw(exc); } } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1init(JNIEnv* env, jclass cls, jint arg0) { - jobject rarg = NULL; - void* rptr; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; + jint rarg = 0; jthrowable exc = NULL; try { - rptr = jitter_buffer_init(arg0); - if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = speex_preprocess_ctl((SpeexPreprocessState*)ptr0, arg1, ptr2); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1272,13 +1270,13 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1bu } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1reset(JNIEnv* env, jclass cls, jobject arg0) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1init(JNIEnv* env, jclass cls, jobject arg0) { + ::SpeexBits* ptr0 = arg0 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; jthrowable exc = NULL; try { - jitter_buffer_reset((JitterBuffer*)ptr0); + speex_bits_init((SpeexBits*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1287,31 +1285,30 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffe env->Throw(exc); } } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1destroy(JNIEnv* env, jclass cls, jobject arg0) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1read_1from(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2) { + ::SpeexBits* ptr0 = arg0 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); jthrowable exc = NULL; try { - jitter_buffer_destroy((JitterBuffer*)ptr0); + speex_bits_read_from((SpeexBits*)ptr0, (const char*)ptr1, arg2); } catch (...) { exc = JavaCPP_handleException(env, 15); } + if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); if (exc != NULL) { env->Throw(exc); } } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1put(JNIEnv* env, jclass cls, jobject arg0, jobject arg1) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1destroy(JNIEnv* env, jclass cls, jobject arg0) { + ::SpeexBits* ptr0 = arg0 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - ::_JitterBufferPacket* ptr1 = arg1 == NULL ? NULL : (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); - jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); - ptr1 += position1; jthrowable exc = NULL; try { - jitter_buffer_put((JitterBuffer*)ptr0, ptr1); + speex_bits_destroy((SpeexBits*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1320,21 +1317,16 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffe env->Throw(exc); } } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1get(JNIEnv* env, jclass cls, jobject arg0, jobject arg1, jint arg2, jobject arg3) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; - ::_JitterBufferPacket* ptr1 = arg1 == NULL ? NULL : (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); - jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); - ptr1 += position1; - int* ptr3 = arg3 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg3, JavaCPP_addressFID)); - jint position3 = arg3 == NULL ? 0 : env->GetIntField(arg3, JavaCPP_positionFID); - ptr3 += position3; - jint rarg = 0; +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1lib_1get_1mode(JNIEnv* env, jclass cls, jint arg0) { + jobject rarg = NULL; + const void* rptr; jthrowable exc = NULL; try { - int rvalue = jitter_buffer_get((JitterBuffer*)ptr0, ptr1, arg2, ptr3); - rarg = (jint)rvalue; + rptr = (const void*)speex_lib_get_mode(arg0); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1344,15 +1336,21 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffe } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1get_1pointer_1timestamp(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decoder_1init(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - jint rarg = 0; + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - int rvalue = jitter_buffer_get_pointer_timestamp((JitterBuffer*)ptr0); - rarg = (jint)rvalue; + rptr = speex_decoder_init((const SpeexMode*)ptr0); + if (rptr == (const SpeexMode*)ptr0) { + rarg = arg0; + } else if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1362,13 +1360,16 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffe } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1tick(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jthrowable exc = NULL; try { - jitter_buffer_tick((JitterBuffer*)ptr0); + speex_decoder_ctl(ptr0, arg1, ptr2); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1377,42 +1378,36 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffe env->Throw(exc); } } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decode(JNIEnv* env, jclass cls, jobject arg0, jobject arg1, jfloatArray arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; + ::SpeexBits* ptr1 = arg1 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); + jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); + ptr1 += position1; + float* ptr2 = arg2 == NULL ? NULL : env->GetFloatArrayElements(arg2, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = jitter_buffer_ctl((JitterBuffer*)ptr0, arg1, (void *)ptr2); + int rvalue = speex_decode(ptr0, (SpeexBits*)ptr1, ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } + if (arg2 != NULL) env->ReleaseFloatArrayElements(arg2, (jfloat*)ptr2, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1update_1delay(JNIEnv* env, jclass cls, jobject arg0, jobject arg1, jobject arg2) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - ::_JitterBufferPacket* ptr1 = arg1 == NULL ? NULL : (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); - jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); - ptr1 += position1; - int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = jitter_buffer_update_delay((JitterBuffer*)ptr0, ptr1, ptr2); - rarg = (jint)rvalue; + speex_decoder_destroy(ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1420,15 +1415,19 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffe if (exc != NULL) { env->Throw(exc); } - return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1state_1init(JNIEnv* env, jclass cls, jint arg0, jint arg1) { +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1encoder_1init(JNIEnv* env, jclass cls, jobject arg0) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; jobject rarg = NULL; void* rptr; jthrowable exc = NULL; try { - rptr = speex_preprocess_state_init(arg0, arg1); - if (rptr != NULL) { + rptr = speex_encoder_init((const SpeexMode*)ptr0); + if (rptr == (const SpeexMode*)ptr0) { + rarg = arg0; + } else if (rptr != NULL) { rarg = env->AllocObject(JavaCPP_getClass(env, 1)); env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); } @@ -1441,13 +1440,16 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1pre } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1state_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1encoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jthrowable exc = NULL; try { - speex_preprocess_state_destroy((SpeexPreprocessState*)ptr0); + speex_encoder_ctl(ptr0, arg1, ptr2); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1456,77 +1458,94 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1prepro env->Throw(exc); } } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1run(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); - jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = speex_preprocess_run((SpeexPreprocessState*)ptr0, ptr1); - rarg = (jint)rvalue; + speex_encoder_destroy(ptr0); + } catch (...) { + exc = JavaCPP_handleException(env, 15); + } + + if (exc != NULL) { + env->Throw(exc); + } +} +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1resampler_1init(JNIEnv* env, jclass cls, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4) { + int* ptr4 = arg4 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg4, JavaCPP_addressFID)); + jint position4 = arg4 == NULL ? 0 : env->GetIntField(arg4, JavaCPP_positionFID); + ptr4 += position4; + jobject rarg = NULL; + void* rptr; + jthrowable exc = NULL; + try { + rptr = speex_resampler_init(arg0, arg1, arg2, arg3, ptr4); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 15); } - if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1, jintArray arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1resampler_1process_1int(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jshortArray arg2, jintArray arg3, jshortArray arg4, jintArray arg5) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); - int* ptr2 = arg2 == NULL ? NULL : env->GetIntArrayElements(arg2, NULL); + short* ptr2 = arg2 == NULL ? NULL : env->GetShortArrayElements(arg2, NULL); + int* ptr3 = arg3 == NULL ? NULL : env->GetIntArrayElements(arg3, NULL); + short* ptr4 = arg4 == NULL ? NULL : env->GetShortArrayElements(arg4, NULL); + int* ptr5 = arg5 == NULL ? NULL : env->GetIntArrayElements(arg5, NULL); jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = speex_preprocess((SpeexPreprocessState*)ptr0, ptr1, ptr2); + int rvalue = speex_resampler_process_int((SpeexResamplerState*)ptr0, arg1, (short*)ptr2, (unsigned int*)ptr3, (short*)ptr4, (unsigned int*)ptr5); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } - if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); - if (arg2 != NULL) env->ReleaseIntArrayElements(arg2, (jint*)ptr2, 0); + if (arg2 != NULL) env->ReleaseShortArrayElements(arg2, (jshort*)ptr2, 0); + if (arg3 != NULL) env->ReleaseIntArrayElements(arg3, (jint*)ptr3, 0); + if (arg4 != NULL) env->ReleaseShortArrayElements(arg4, (jshort*)ptr4, 0); + if (arg5 != NULL) env->ReleaseIntArrayElements(arg5, (jint*)ptr5, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1estimate_1update(JNIEnv* env, jclass cls, jobject arg0, jshortArray arg1) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1resampler_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - short* ptr1 = arg1 == NULL ? NULL : env->GetShortArrayElements(arg1, NULL); jthrowable exc = NULL; try { - speex_preprocess_estimate_update((SpeexPreprocessState*)ptr0, ptr1); + speex_resampler_destroy((SpeexResamplerState*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } - if (arg1 != NULL) env->ReleaseShortArrayElements(arg1, (jshort*)ptr1, 0); if (exc != NULL) { env->Throw(exc); } } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jint rarg = 0; +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1init(JNIEnv* env, jclass cls, jint arg0) { + jobject rarg = NULL; + void* rptr; jthrowable exc = NULL; try { - int rvalue = speex_preprocess_ctl((SpeexPreprocessState*)ptr0, arg1, ptr2); - rarg = (jint)rvalue; + rptr = jitter_buffer_init(arg0); + if (rptr != NULL) { + rarg = env->AllocObject(JavaCPP_getClass(env, 1)); + env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); + } } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1536,13 +1555,13 @@ JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1prepro } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1init(JNIEnv* env, jclass cls, jobject arg0) { - ::SpeexBits* ptr0 = arg0 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1reset(JNIEnv* env, jclass cls, jobject arg0) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; jthrowable exc = NULL; try { - speex_bits_init((SpeexBits*)ptr0); + jitter_buffer_reset((JitterBuffer*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1551,30 +1570,31 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1 env->Throw(exc); } } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1read_1from(JNIEnv* env, jclass cls, jobject arg0, jbyteArray arg1, jint arg2) { - ::SpeexBits* ptr0 = arg0 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1destroy(JNIEnv* env, jclass cls, jobject arg0) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - signed char* ptr1 = arg1 == NULL ? NULL : env->GetByteArrayElements(arg1, NULL); jthrowable exc = NULL; try { - speex_bits_read_from((SpeexBits*)ptr0, (const char*)ptr1, arg2); + jitter_buffer_destroy((JitterBuffer*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } - if (arg1 != NULL) env->ReleaseByteArrayElements(arg1, (jbyte*)ptr1, 0); if (exc != NULL) { env->Throw(exc); } } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1destroy(JNIEnv* env, jclass cls, jobject arg0) { - ::SpeexBits* ptr0 = arg0 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1put(JNIEnv* env, jclass cls, jobject arg0, jobject arg1) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + ::_JitterBufferPacket* ptr1 = arg1 == NULL ? NULL : (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); + jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); + ptr1 += position1; jthrowable exc = NULL; try { - speex_bits_destroy((SpeexBits*)ptr0); + jitter_buffer_put((JitterBuffer*)ptr0, ptr1); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1583,16 +1603,21 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1bits_1 env->Throw(exc); } } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1lib_1get_1mode(JNIEnv* env, jclass cls, jint arg0) { - jobject rarg = NULL; - const void* rptr; +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1get(JNIEnv* env, jclass cls, jobject arg0, jobject arg1, jint arg2, jobject arg3) { + char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); + jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); + ptr0 += position0; + ::_JitterBufferPacket* ptr1 = arg1 == NULL ? NULL : (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); + jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); + ptr1 += position1; + int* ptr3 = arg3 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg3, JavaCPP_addressFID)); + jint position3 = arg3 == NULL ? 0 : env->GetIntField(arg3, JavaCPP_positionFID); + ptr3 += position3; + jint rarg = 0; jthrowable exc = NULL; try { - rptr = (const void*)speex_lib_get_mode(arg0); - if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = jitter_buffer_get((JitterBuffer*)ptr0, ptr1, arg2, ptr3); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1602,21 +1627,15 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1lib } return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decoder_1init(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1get_1pointer_1timestamp(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - jobject rarg = NULL; - void* rptr; + jint rarg = 0; jthrowable exc = NULL; try { - rptr = speex_decoder_init((const SpeexMode*)ptr0); - if (rptr == (const SpeexMode*)ptr0) { - rarg = arg0; - } else if (rptr != NULL) { - rarg = env->AllocObject(JavaCPP_getClass(env, 1)); - env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); - } + int rvalue = jitter_buffer_get_pointer_timestamp((JitterBuffer*)ptr0); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1626,16 +1645,13 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1dec } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1tick(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; jthrowable exc = NULL; try { - speex_decoder_ctl(ptr0, arg1, ptr2); + jitter_buffer_tick((JitterBuffer*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1644,36 +1660,42 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decode env->Throw(exc); } } -JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decode(JNIEnv* env, jclass cls, jobject arg0, jobject arg1, jfloatArray arg2) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; - ::SpeexBits* ptr1 = arg1 == NULL ? NULL : (::SpeexBits*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); - jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); - ptr1 += position1; - float* ptr2 = arg2 == NULL ? NULL : env->GetFloatArrayElements(arg2, NULL); + char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; jint rarg = 0; jthrowable exc = NULL; try { - int rvalue = speex_decode(ptr0, (SpeexBits*)ptr1, ptr2); + int rvalue = jitter_buffer_ctl((JitterBuffer*)ptr0, arg1, (void *)ptr2); rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } - if (arg2 != NULL) env->ReleaseFloatArrayElements(arg2, (jfloat*)ptr2, 0); if (exc != NULL) { env->Throw(exc); } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT jint JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_jitter_1buffer_1update_1delay(JNIEnv* env, jclass cls, jobject arg0, jobject arg1, jobject arg2) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; + ::_JitterBufferPacket* ptr1 = arg1 == NULL ? NULL : (::_JitterBufferPacket*)jlong_to_ptr(env->GetLongField(arg1, JavaCPP_addressFID)); + jint position1 = arg1 == NULL ? 0 : env->GetIntField(arg1, JavaCPP_positionFID); + ptr1 += position1; + int* ptr2 = arg2 == NULL ? NULL : (int*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); + jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); + ptr2 += position2; + jint rarg = 0; jthrowable exc = NULL; try { - speex_decoder_destroy(ptr0); + int rvalue = jitter_buffer_update_delay((JitterBuffer*)ptr0, ptr1, ptr2); + rarg = (jint)rvalue; } catch (...) { exc = JavaCPP_handleException(env, 15); } @@ -1681,19 +1703,15 @@ JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1decode if (exc != NULL) { env->Throw(exc); } + return rarg; } -JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1encoder_1init(JNIEnv* env, jclass cls, jobject arg0) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; +JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1state_1init(JNIEnv* env, jclass cls, jint arg0, jint arg1) { jobject rarg = NULL; void* rptr; jthrowable exc = NULL; try { - rptr = speex_encoder_init((const SpeexMode*)ptr0); - if (rptr == (const SpeexMode*)ptr0) { - rarg = arg0; - } else if (rptr != NULL) { + rptr = speex_preprocess_state_init(arg0, arg1); + if (rptr != NULL) { rarg = env->AllocObject(JavaCPP_getClass(env, 1)); env->SetLongField(rarg, JavaCPP_addressFID, ptr_to_jlong(rptr)); } @@ -1706,31 +1724,13 @@ JNIEXPORT jobject JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1enc } return rarg; } -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1encoder_1ctl(JNIEnv* env, jclass cls, jobject arg0, jint arg1, jobject arg2) { - char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); - jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); - ptr0 += position0; - char* ptr2 = arg2 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg2, JavaCPP_addressFID)); - jint position2 = arg2 == NULL ? 0 : env->GetIntField(arg2, JavaCPP_positionFID); - ptr2 += position2; - jthrowable exc = NULL; - try { - speex_encoder_ctl(ptr0, arg1, ptr2); - } catch (...) { - exc = JavaCPP_handleException(env, 15); - } - - if (exc != NULL) { - env->Throw(exc); - } -} -JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1encoder_1destroy(JNIEnv* env, jclass cls, jobject arg0) { +JNIEXPORT void JNICALL Java_com_morlunk_jumble_audio_javacpp_Speex_speex_1preprocess_1state_1destroy(JNIEnv* env, jclass cls, jobject arg0) { char* ptr0 = arg0 == NULL ? NULL : (char*)jlong_to_ptr(env->GetLongField(arg0, JavaCPP_addressFID)); jint position0 = arg0 == NULL ? 0 : env->GetIntField(arg0, JavaCPP_positionFID); ptr0 += position0; jthrowable exc = NULL; try { - speex_encoder_destroy(ptr0); + speex_preprocess_state_destroy((SpeexPreprocessState*)ptr0); } catch (...) { exc = JavaCPP_handleException(env, 15); } diff --git a/tools/jnigen.sh b/tools/jnigen.sh index d5d7d58..b97f153 100755 --- a/tools/jnigen.sh +++ b/tools/jnigen.sh @@ -5,11 +5,9 @@ if [ "$1" == "--build" ]; then ./gradlew assembleDebug fi -java -jar tools/javacpp-0.7.jar -cp build/classes/debug/ -d jni/ -nocompile com.morlunk.jumble.audio.javacpp.* +java -jar tools/javacpp-0.7.jar -cp build/classes/debug/ -d src/main/jni/ -nocompile com.morlunk.jumble.audio.javacpp.* if [ "$1" == "--build" ]; then # Build native libs - pushd jni - ndk-build - popd + ndk-build -C src/main/jni fi |