/[rdesktop]/sourceforge.net/trunk/rdesktop/rdpsnd_dsp.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/rdpsnd_dsp.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1393 by jsorg71, Mon Jan 8 04:47:06 2007 UTC revision 1394 by jsorg71, Sat Feb 10 07:12:36 2007 UTC
# Line 119  rdpsnd_dsp_swapbytes(unsigned char *buff Line 119  rdpsnd_dsp_swapbytes(unsigned char *buff
119          if (format->wBitsPerSample == 8)          if (format->wBitsPerSample == 8)
120                  return;                  return;
121    
122          for (i = 0; i < size; i += 2)          for (i = 0; i < (int) size; i += 2)
123          {          {
124                  swap = *(buffer + i);                  swap = *(buffer + i);
125                  *(buffer + i) = *(buffer + i + 1);                  *(buffer + i) = *(buffer + i + 1);
# Line 201  rdpsnd_dsp_resample(unsigned char **out, Line 201  rdpsnd_dsp_resample(unsigned char **out,
201          if (resample_to_channels != format->nChannels)          if (resample_to_channels != format->nChannels)
202          {          {
203                  int newsize = (size / format->nChannels) * resample_to_channels;                  int newsize = (size / format->nChannels) * resample_to_channels;
204                  tmpdata = xmalloc(newsize);                  tmpdata = (unsigned char *) xmalloc(newsize);
205    
206                  for (i = 0; i < newsize / samplewidth; i++)                  for (i = 0; i < newsize / samplewidth; i++)
207                  {                  {
# Line 232  rdpsnd_dsp_resample(unsigned char **out, Line 232  rdpsnd_dsp_resample(unsigned char **out,
232                  if (format->wBitsPerSample == 8)                  if (format->wBitsPerSample == 8)
233                  {                  {
234                          tmp = tmpdata;                          tmp = tmpdata;
235                          tmpdata = xmalloc(size * 2);                          tmpdata = (unsigned char *) xmalloc(size * 2);
236                          for (i = 0; i < size; i++)                          for (i = 0; i < (int) size; i++)
237                          {                          {
238                                  tmpdata[i * 2] = in[i];                                  tmpdata[i * 2] = in[i];
239                                  tmpdata[(i * 2) + 1] = 0x00;                                  tmpdata[(i * 2) + 1] = 0x00;
# Line 259  rdpsnd_dsp_resample(unsigned char **out, Line 259  rdpsnd_dsp_resample(unsigned char **out,
259    
260          outnum = ((float) innum * ((float) resample_to_srate / (float) format->nSamplesPerSec)) + 1;          outnum = ((float) innum * ((float) resample_to_srate / (float) format->nSamplesPerSec)) + 1;
261    
262          infloat = xmalloc(sizeof(float) * innum);          infloat = (float *) xmalloc(sizeof(float) * innum);
263          outfloat = xmalloc(sizeof(float) * outnum);          outfloat = (float *) xmalloc(sizeof(float) * outnum);
264    
265          src_short_to_float_array((short *) in, infloat, innum);          src_short_to_float_array((short *) in, infloat, innum);
266    
# Line 278  rdpsnd_dsp_resample(unsigned char **out, Line 278  rdpsnd_dsp_resample(unsigned char **out,
278          xfree(infloat);          xfree(infloat);
279    
280          outsize = resample_data.output_frames_gen * resample_to_channels * samplewidth;          outsize = resample_data.output_frames_gen * resample_to_channels * samplewidth;
281          *out = xmalloc(outsize);          *out = (unsigned char *) xmalloc(outsize);
282          src_float_to_short_array(outfloat, (short *) *out,          src_float_to_short_array(outfloat, (short *) *out,
283                                   resample_data.output_frames_gen * resample_to_channels);                                   resample_data.output_frames_gen * resample_to_channels);
284          xfree(outfloat);          xfree(outfloat);
# Line 294  rdpsnd_dsp_resample(unsigned char **out, Line 294  rdpsnd_dsp_resample(unsigned char **out,
294          outnum = (innum * ratio1k) / 1000;          outnum = (innum * ratio1k) / 1000;
295    
296          outsize = outnum * samplewidth;          outsize = outnum * samplewidth;
297          *out = xmalloc(outsize);          *out = (unsigned char *) xmalloc(outsize);
298          bzero(*out, outsize);          bzero(*out, outsize);
299    
300          for (i = 0; i < outsize / (resample_to_channels * samplewidth); i++)          for (i = 0; i < outsize / (resample_to_channels * samplewidth); i++)
# Line 305  rdpsnd_dsp_resample(unsigned char **out, Line 305  rdpsnd_dsp_resample(unsigned char **out,
305  #endif  #endif
306                  int j;                  int j;
307    
308                  if (source * resample_to_channels + samplewidth > size)                  if (source * resample_to_channels + samplewidth > (int) size)
309                          break;                          break;
310    
311  #if 0                           /* Linear resampling, TODO: soundquality fixes (LP filter) */  #if 0                           /* Linear resampling, TODO: soundquality fixes (LP filter) */
# Line 410  rdpsnd_dsp_process(unsigned char *data, Line 410  rdpsnd_dsp_process(unsigned char *data,
410    
411          if (out.data == NULL)          if (out.data == NULL)
412          {          {
413                  out.data = xmalloc(size);                  out.data = (unsigned char *) xmalloc(size);
414                  memcpy(out.data, data, size);                  memcpy(out.data, data, size);
415                  out.size = size;                  out.size = size;
416          }          }

Legend:
Removed from v.1393  
changed lines
  Added in v.1394

  ViewVC Help
Powered by ViewVC 1.1.26