public byte[] Decode(byte[] encodedData)
        {
            IntPtr encodedDataPtr = (encodedData == null ? IntPtr.Zero : JNIEnv.NewArray(encodedData));

            try
            {
                return((byte[])JNIEnv.GetArray(OpusLibrary.Java_aopus_OpusLibrary_decoderDecode(JNIEnv.Handle, IntPtr.Zero, State, encodedDataPtr), (encodedData == null ? JniHandleOwnership.TransferLocalRef : JniHandleOwnership.DoNotTransfer), typeof(byte)));
            }
            finally
            {
                JNIEnv.DeleteLocalRef(encodedDataPtr);
            }
        }