Did you take out the function soundout_open as i mentioned before?

and also dont use this: psfout += count1;
Code:
   do {
		count1 = sf_readf_float(psfin, buffer1, def_len);
                                 
                                if(count1 <= 0)
                                      break;
		sf_writef_float(psfout, buffer1, count1);
                               
                                 /* psfout += count1; */  
                              
		}
	while(1);
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.