CVS: rdesktop rdpsnd_dsp.c,1.12,1.13

Michael Gernoth <[email protected]> Sun, 01 Oct 2006 08:07:57 -0700
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5931

Modified Files:
	rdpsnd_dsp.c 
Log Message:
fix conversion between arbitrary samplerates


Index: rdpsnd_dsp.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/rdpsnd_dsp.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** rdpsnd_dsp.c	1 Oct 2006 14:31:09 -0000	1.12
--- rdpsnd_dsp.c	1 Oct 2006 15:07:55 -0000	1.13
***************
*** 187,190 ****
--- 187,191 ----
  	float *infloat, *outfloat;
  	int innum, outnum;
+ 	int err;
  #else
  	int offset;
***************
*** 241,245 ****
  
  	innum = size / samplewidth;
! 	outnum = innum * (resample_to_srate / format->nSamplesPerSec);
  
  	infloat = xmalloc(sizeof(float) * innum);
--- 242,246 ----
  
  	innum = size / samplewidth;
! 	outnum = ((float)innum * ((float)resample_to_srate / (float)format->nSamplesPerSec)) + 1;
  
  	infloat = xmalloc(sizeof(float) * innum);
***************
*** 256,265 ****
  	resample_data.end_of_input = 0;
  
! 	src_process(src_converter, &resample_data);
  	xfree(infloat);
  
! 	outsize = outnum * samplewidth;
  	*out = xmalloc(outsize);
! 	src_float_to_short_array(outfloat, (short *) *out, outnum);
  	xfree(outfloat);
  
--- 257,268 ----
  	resample_data.end_of_input = 0;
  
! 	if ((err = src_process(src_converter, &resample_data)) != 0)
! 		error("src_process: %s", src_strerror(err));
! 
  	xfree(infloat);
  
! 	outsize = resample_data.output_frames_gen * resample_to_channels * samplewidth;
  	*out = xmalloc(outsize);
! 	src_float_to_short_array(outfloat, (short *) *out, resample_data.output_frames_gen * resample_to_channels);
  	xfree(outfloat);
  


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV