double decodeDouble(BitBuffer* data, enum Encoding encoding) { union FloatConversion conv; assert(data->num_bits == 64); convertEndian(encoding, conv.buffer, data); return conv.doubleValue; }
JNIEXPORT void JNICALL Java_com_ghostear_SoundManagementNative_sendSoundData(JNIEnv * env,jobject thiz, jbyteArray data, jint fileSize){ jbyte* data_array = (jbyte*)(*env)->GetPrimitiveArrayCritical(env, data, NULL); __android_log_print(ANDROID_LOG_DEBUG,"Native","size: %d",data_array[fileSize-1]); // send file size send(sock, &fileSize, sizeof(fileSize), 0); // little endian to big endian convertEndian(data_array, fileSize); // send sound data send(sock, data_array, fileSize, 0); (*env)->ReleasePrimitiveArrayCritical(env, data, data_array, 0); }
int TestBuffer(unsigned char *buffer) { buffer+=4; /* so wie skip BOM, if it exists*/ if (buffer[0]>0 && buffer[1]==0 && buffer[2]>0 && buffer[3]==0) return UTF_16; else if (buffer[0]==0 && buffer[1]>0 && buffer[2]==0 && buffer[3]>0) { //TODO Convert to little endian convertEndian((char*)buffer, strlen((char*)buffer)); return UTF_16; } else { //TODO more checks return ANSI; } }