rendered paste bodyFOOIDAPI int fp_calculate(t_fooid *fi, int songlen, unsigned char** buff)
{
/*
we need at least 10 seconds of usable data or so
|| fi->outpos < (8000 * 10)
*/
if (songlen < 1000 || !fi->soundfound) {
return -1;
}
fi->fp.length = songlen;
get_params(fi);
/*
now pack our structure into the minimal space
possible
*/
buff = malloc(sizeof(buff));
memmove(buff, &(fi->fp.version), sizeof(short));
buff += sizeof(short);
memcpy(buff, &(fi->fp.length), sizeof(int));
buff += sizeof(int);
memcpy(buff, &(fi->fp.avg_fit), sizeof(short));
buff += sizeof(short);
memcpy(buff, &(fi->fp.avg_dom), sizeof(short));
buff += sizeof(short);
memcpy(buff, &(fi->fp.r), sizeof(unsigned char) * 348);
buff += sizeof(unsigned char) * 348;
memcpy(buff, &(fi->fp.dom), sizeof(unsigned char) * 66);
buff += sizeof(unsigned char) * 66;
return 0;
}