public void Destroy() { try { OpusLibrary.Java_aopus_OpusLibrary_decoderDestroy(JNIEnv.Handle, IntPtr.Zero, State); } catch (Exception ex) { Console.WriteLine(ex); } }
public Decoder(int clockRate, int channels, int packetTime) { try { State = OpusLibrary.Java_aopus_OpusLibrary_decoderCreate(JNIEnv.Handle, IntPtr.Zero, clockRate, channels, packetTime); } catch (Exception ex) { Console.WriteLine(ex); } }
public byte[] Decode(byte[] encodedData, bool fec) { IntPtr encodedDataPtr = (encodedData == null ? IntPtr.Zero : JNIEnv.NewArray(encodedData)); try { return((byte[])JNIEnv.GetArray(OpusLibrary.Java_aopus_OpusLibrary_decoderDecode2(JNIEnv.Handle, IntPtr.Zero, State, encodedDataPtr, fec), (encodedData == null ? JniHandleOwnership.TransferLocalRef : JniHandleOwnership.DoNotTransfer), typeof(byte))); } finally { JNIEnv.DeleteLocalRef(encodedDataPtr); } }
public byte[] Encode(byte[] data, int index, int length) { IntPtr dataPtr = JNIEnv.NewArray(data); try { return((byte[])JNIEnv.GetArray(OpusLibrary.Java_aopus_OpusLibrary_encoderEncode(JNIEnv.Handle, IntPtr.Zero, State, dataPtr, index, length), JniHandleOwnership.TransferLocalRef, typeof(byte))); } finally { JNIEnv.DeleteLocalRef(dataPtr); } }
public void DeactivateFEC() { OpusLibrary.Java_aopus_OpusLibrary_encoderDeactivateFEC(JNIEnv.Handle, IntPtr.Zero, State); }
public void ActivateFEC(int packetLossPercent) { OpusLibrary.Java_aopus_OpusLibrary_encoderActivateFEC(JNIEnv.Handle, IntPtr.Zero, State, packetLossPercent); }