/[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 1259 by stargo, Sun Sep 17 15:08:48 2006 UTC revision 1260 by stargo, Sun Sep 17 15:25:10 2006 UTC
# Line 35  rdpsnd_dsp_softvol_set(uint16 left, uint Line 35  rdpsnd_dsp_softvol_set(uint16 left, uint
35          DEBUG(("rdpsnd_dsp_softvol_set: left: %u, right: %u\n", left, right));          DEBUG(("rdpsnd_dsp_softvol_set: left: %u, right: %u\n", left, right));
36  }  }
37    
38  inline void  void
39  rdpsnd_dsp_softvol(unsigned char *buffer, unsigned int size, WAVEFORMATEX * format)  rdpsnd_dsp_softvol(unsigned char *buffer, unsigned int size, WAVEFORMATEX * format)
40  {  {
41          unsigned int factor_left, factor_right;          unsigned int factor_left, factor_right;
# Line 96  rdpsnd_dsp_softvol(unsigned char *buffer Line 96  rdpsnd_dsp_softvol(unsigned char *buffer
96                 format->wBitsPerSample, format->nChannels));                 format->wBitsPerSample, format->nChannels));
97  }  }
98    
99    void
100    rdpsnd_dsp_swapbytes(unsigned char *buffer, unsigned int size, WAVEFORMATEX * format)
101    {
102            int i;
103            uint8 swap;
104    
105            if (format->wBitsPerSample == 8)
106                    return;
107    
108            for (i = 0; i < size; i += 2)
109            {
110                    swap = *(buffer + i);
111                    *(buffer + i) = *(buffer + i + 1);
112                    *(buffer + i + 1) = swap;
113            }
114    }
115    
116  unsigned char *  unsigned char *
117  rdpsnd_dsp_process(unsigned char *inbuffer, unsigned int size, struct audio_driver *current_driver,  rdpsnd_dsp_process(unsigned char *inbuffer, unsigned int size, struct audio_driver *current_driver,
118                     WAVEFORMATEX * format)                     WAVEFORMATEX * format)
# Line 108  rdpsnd_dsp_process(unsigned char *inbuff Line 125  rdpsnd_dsp_process(unsigned char *inbuff
125    
126          /* Software volume control */          /* Software volume control */
127          if (current_driver->wave_out_volume == rdpsnd_dsp_softvol_set)          if (current_driver->wave_out_volume == rdpsnd_dsp_softvol_set)
         {  
128                  rdpsnd_dsp_softvol(outbuffer, size, format);                  rdpsnd_dsp_softvol(outbuffer, size, format);
129          }  
130    #ifdef B_ENDIAN
131            if (current_driver->need_byteswap_on_be)
132                    rdpsnd_dsp_swapbytes(outbuffer, size, format);
133    #endif
134    
135          return outbuffer;          return outbuffer;
136  }  }

Legend:
Removed from v.1259  
changed lines
  Added in v.1260

  ViewVC Help
Powered by ViewVC 1.1.26