Changeset 2775:4c6ea0731ddf in roaraudio


Ignore:
Timestamp:
09/23/09 13:22:37 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

set up a lot internal parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/driver_wmm.c

    r2774 r2775  
    2929int     driver_wmm_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh, struct roar_stream_server * sstream) { 
    3030 struct driver_wmm * self; 
     31 WAVEFORMATEX wavefmt; 
    3132 
    3233 if ( (self = malloc(sizeof(struct driver_wmm))) == NULL ) 
     
    3536 memset(self, 0, sizeof(struct driver_wmm)); 
    3637 
     38 // VIO Setup: 
    3739 memset(inst, 0, sizeof(struct roar_vio_calls)); 
    38  
    3940 inst->inst  = self; 
    4041 inst->close = driver_wmm_close_vio; 
    4142 inst->write = driver_wmm_write; 
     43 
     44 // WMM Setup: 
     45 memset(&wavefmt, 0, sizeof(wavefmt)); 
     46 
     47 wavefmt.wFormatTag      = WAVE_FORMAT_PCM; 
     48 wavefmt.nChannels       = info->channels; 
     49 wavefmt.wBitsPerSample  = info->bits; 
     50 wavefmt.nSamplesPerSec  = info->rate; 
     51 wavefmt.nBlockAlign     = (wavefmt.wBitsPerSample>>3)*wavefmt.nChannels; 
     52 wavefmt.nAvgBytesPerSec = wavefmt.nSamplesPerSec*wavefmt.nBlockAlign; 
     53 wavefmt.cbSize          = 0; 
     54 
     55 /* $$$ later this should be optionnal parms */ 
     56  self->blocks      = 64; 
     57  self->splPerBlock = 512; 
     58  self->msPerBlock  = 
     59    (self->splPerBlock * 1000 + info->rate - 1) / info->rate; 
    4260 
    4361 return 0; 
Note: See TracChangeset for help on using the changeset viewer.