Skip to content
Snippets Groups Projects
Commit c0e04400 authored by Lyubomir Marinov's avatar Lyubomir Marinov
Browse files

Allows getting the complexity set on the Opus encoder (for debugging/informational purposes).

parent 19a20ebd
No related branches found
No related tags found
No related merge requests found
......@@ -208,60 +208,73 @@ Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1bitrate
}
JNIEXPORT jint JNICALL
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1dtx
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1complexity
(JNIEnv *env, jclass clazz, jlong encoder)
{
opus_int32 x;
int ret
= opus_encoder_ctl(
(OpusEncoder *) (intptr_t) encoder,
OPUS_GET_DTX(&x));
OPUS_GET_COMPLEXITY(&x));
return (OPUS_OK == ret) ? x : ret;
}
JNIEXPORT jint JNICALL
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1size
(JNIEnv *enc, jclass clazz, jint channels)
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1dtx
(JNIEnv *env, jclass clazz, jlong encoder)
{
return opus_encoder_get_size(channels);
opus_int32 x;
int ret
= opus_encoder_ctl(
(OpusEncoder *) (intptr_t) encoder,
OPUS_GET_DTX(&x));
return (OPUS_OK == ret) ? x : ret;
}
JNIEXPORT jint JNICALL
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1vbr
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1inband_1fec
(JNIEnv *env, jclass clazz, jlong encoder)
{
opus_int32 x;
int ret
= opus_encoder_ctl(
(OpusEncoder *) (intptr_t) encoder,
OPUS_GET_VBR(&x));
OPUS_GET_INBAND_FEC(&x));
return (OPUS_OK == ret) ? x : ret;
}
JNIEXPORT jint JNICALL
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1vbr_1constraint
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1size
(JNIEnv *enc, jclass clazz, jint channels)
{
return opus_encoder_get_size(channels);
}
JNIEXPORT jint JNICALL
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1vbr
(JNIEnv *env, jclass clazz, jlong encoder)
{
opus_int32 x;
int ret
= opus_encoder_ctl(
(OpusEncoder *) (intptr_t) encoder,
OPUS_GET_VBR_CONSTRAINT(&x));
OPUS_GET_VBR(&x));
return (OPUS_OK == ret) ? x : ret;
}
JNIEXPORT jint JNICALL
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1inband_1fec
Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1vbr_1constraint
(JNIEnv *env, jclass clazz, jlong encoder)
{
opus_int32 x;
int ret
= opus_encoder_ctl(
(OpusEncoder *) (intptr_t) encoder,
OPUS_GET_INBAND_FEC(&x));
OPUS_GET_VBR_CONSTRAINT(&x));
return (OPUS_OK == ret) ? x : ret;
}
......
......@@ -51,9 +51,9 @@ JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_decode
* Class: org_jitsi_impl_neomedia_codec_audio_opus_Opus
* Method: encode
* Signature: (J[BII[BII)I
*/
JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encode
(JNIEnv *, jclass, jlong, jbyteArray, jint, jint, jbyteArray, jint, jint);
*/
JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encode
(JNIEnv *, jclass, jlong, jbyteArray, jint, jint, jbyteArray, jint, jint);
/*
* Class: org_jitsi_impl_neomedia_codec_audio_opus_Opus
......@@ -87,6 +87,14 @@ JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encode
JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1bitrate
(JNIEnv *, jclass, jlong);
/*
* Class: org_jitsi_impl_neomedia_codec_audio_opus_Opus
* Method: encoder_get_complexity
* Signature: (J)I
*/
JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1complexity
(JNIEnv *, jclass, jlong);
/*
* Class: org_jitsi_impl_neomedia_codec_audio_opus_Opus
* Method: encoder_get_dtx
......@@ -95,6 +103,14 @@ JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encode
JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1dtx
(JNIEnv *, jclass, jlong);
/*
* Class: org_jitsi_impl_neomedia_codec_audio_opus_Opus
* Method: encoder_get_inband_fec
* Signature: (J)I
*/
JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_codec_audio_opus_Opus_encoder_1get_1inband_1fec
(JNIEnv *, jclass, jlong);
/*
* Class: org_jitsi_impl_neomedia_codec_audio_opus_Opus
* Method: encoder_get_size
......
......@@ -211,6 +211,8 @@ public static native int encode(
*/
public static native int encoder_get_bitrate(long encoder);
public static native int encoder_get_complexity(long encoder);
/**
* Wrapper around the native <tt>opus_encoder_ctl</tt> function. Returns
* the current DTX setting of the encoder.
......@@ -221,6 +223,16 @@ public static native int encode(
*/
public static native int encoder_get_dtx(long encoder);
/**
* Wrapper around the native <tt>opus_encoder_ctl</tt> function. Returns
* the current inband FEC encoder setting.
*
* @param encoder The encoder to use
*
* @return the current inband FEC encoder setting.
*/
public static native int encoder_get_inband_fec(long encoder);
/**
* Returns the size in bytes required for an OpusEncoder structure.
*
......@@ -250,16 +262,6 @@ public static native int encode(
*/
public static native int encoder_get_vbr_constraint(long encoder);
/**
* Wrapper around the native <tt>opus_encoder_ctl</tt> function. Returns
* the current inband FEC encoder setting.
*
* @param encoder The encoder to use
*
* @return the current inband FEC encoder setting.
*/
public static native int encoder_get_inband_fec(long encoder);
/**
* Wrapper around the native <tt>opus_encoder_ctl</tt> function. Sets the
* encoder audio bandwidth.
......@@ -281,7 +283,7 @@ public static native int encode(
* @param encoder The encoder to use
* @param bitrate The bitrate to set
*
* @return OPUS_OK on success
* @return <tt>OPUS_OK</tt> on success
*/
public static native int encoder_set_bitrate(long encoder, int bitrate);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment