Changeset 1566:952d80a40019 in roaraudio
- Timestamp:
- 04/13/09 01:37:23 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroarsndio/para.c
r1562 r1566 54 54 55 55 int sio_setpar (struct sio_hdl * hdl, struct sio_par * par) { 56 return 0; 56 if ( hdl == NULL ) 57 return 0; 58 59 if ( par->bits == 0 || par->bits > ROAR_BITS_MAX ) 60 return 0; 61 62 if ( par->bps == 0 ) 63 par->bps = SIO_BPS(par->bits); 64 65 if ( par->bps > ROAR_BITS_MAX/8 ) 66 return 0; 67 68 if ( SIO_BPS(par->bits) > par->bps ) 69 return 0; 70 71 hdl->info.bits = par->bps * 8; 72 73 switch ((par->sig << 4) | par->le) { 74 case 0x00: 75 hdl->info.codec = ROAR_CODEC_PCM_U_BE; 76 break; 77 case 0x01: 78 hdl->info.codec = ROAR_CODEC_PCM_U_LE; 79 break; 80 case 0x10: 81 hdl->info.codec = ROAR_CODEC_PCM_S_BE; 82 break; 83 case 0x11: 84 hdl->info.codec = ROAR_CODEC_PCM_S_LE; 85 break; 86 default: 87 return 0; 88 } 89 90 if ( par->msb == 0 ) 91 return 0; 92 93 if ( par->rchan != 0 ) /* not supported yet */ 94 return 0; 95 96 if ( par->pchan == 0 || par->pchan > ROAR_MAX_CHANNELS ) 97 return 0; 98 99 hdl->info.channels = par->pchan; 100 101 if ( par->rate == 0 ) 102 return 0; 103 104 hdl->info.rate = par->rate; 105 106 if ( par->xrun != SIO_IGNORE ) 107 return 0; 108 109 return 1; 57 110 } 58 111
Note: See TracChangeset
for help on using the changeset viewer.