Did you take out the function soundout_open as i mentioned before?
and also dont use this: psfout += count1;
count1 = sf_readf_float(psfin, buffer1, def_len);
if(count1 <= 0)
sf_writef_float(psfout, buffer1, count1);
/* psfout += count1; */
file pointer should automically be advanced as you read.
usually in a pointer, if you add a number with the pointer, it means your address is increased by that number ( depends on the size of the data to which pointer points) . Forget these and go ahead with the above.