Changeset 2775:4c6ea0731ddf in roaraudio
- Timestamp:
- 09/23/09 13:22:37 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/driver_wmm.c
r2774 r2775 29 29 int driver_wmm_open_vio(struct roar_vio_calls * inst, char * device, struct roar_audio_info * info, int fh, struct roar_stream_server * sstream) { 30 30 struct driver_wmm * self; 31 WAVEFORMATEX wavefmt; 31 32 32 33 if ( (self = malloc(sizeof(struct driver_wmm))) == NULL ) … … 35 36 memset(self, 0, sizeof(struct driver_wmm)); 36 37 38 // VIO Setup: 37 39 memset(inst, 0, sizeof(struct roar_vio_calls)); 38 39 40 inst->inst = self; 40 41 inst->close = driver_wmm_close_vio; 41 42 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; 42 60 43 61 return 0;
Note: See TracChangeset
for help on using the changeset viewer.