/[rdesktop]/sourceforge.net/trunk/rdesktop/rdpsnd_libao.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_libao.c

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

revision 835 by stargo, Tue Mar 8 04:25:12 2005 UTC revision 836 by stargo, Tue Mar 8 12:09:20 2005 UTC
# Line 27  Line 27 
27  #include <ao/ao.h>  #include <ao/ao.h>
28    
29  #define MAX_QUEUE       10  #define MAX_QUEUE       10
30    #define WAVEOUTBUF      32
31    
32  int g_dsp_fd;  int g_dsp_fd;
33  ao_device *o_device = NULL;  ao_device *o_device = NULL;
# Line 164  wave_out_play(void) Line 165  wave_out_play(void)
165  {  {
166          struct audio_packet *packet;          struct audio_packet *packet;
167          STREAM out;          STREAM out;
168          unsigned char expanded[16];          unsigned char expanded[WAVEOUTBUF];
169          int offset,len,i;          int offset,len,i;
170    
171          if (queue_lo == queue_hi)          if (queue_lo == queue_hi)
# Line 181  wave_out_play(void) Line 182  wave_out_play(void)
182          if (g_samplerate == 22050 )          if (g_samplerate == 22050 )
183          {          {
184                  /* Resample to 44100 */                  /* Resample to 44100 */
185                  for(i=0; (i<(2*(3-g_samplewidth))) && (out->p < out->end); i++)                  for(i=0; (i<((WAVEOUTBUF/8)*(3-g_samplewidth))) && (out->p < out->end); i++)
186                  {                  {
187                          offset=i*4*g_samplewidth;                          offset=i*4*g_samplewidth;
188                          memcpy(&expanded[0*g_samplewidth+offset],out->p,g_samplewidth);                          memcpy(&expanded[0*g_samplewidth+offset],out->p,g_samplewidth);
# Line 196  wave_out_play(void) Line 197  wave_out_play(void)
197          }          }
198          else          else
199          {          {
200                  len = (16 > (out->end - out->p)) ? (out->end - out->p) : 16;                  len = (WAVEOUTBUF > (out->end - out->p)) ? (out->end - out->p) : WAVEOUTBUF;
201                  memcpy(expanded,out->p,len);                  memcpy(expanded,out->p,len);
202                  out->p += len;                  out->p += len;
203          }          }

Legend:
Removed from v.835  
changed lines
  Added in v.836

  ViewVC Help
Powered by ViewVC 1.1.26