Changeset 1584:f78a33614107 in roaraudio for libroarsndio
- Timestamp:
- 04/15/09 00:20:31 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroarsndio/para.c
r1576 r1584 34 34 #include "libroarsndio.h" 35 35 36 //#ifndef DEBUG 37 //#define DEBUG 38 //#endif 39 36 40 void sio_initpar(struct sio_par * par) { 37 41 if ( par == NULL ) … … 55 59 56 60 int sio_setpar (struct sio_hdl * hdl, struct sio_par * par) { 57 if ( hdl == NULL || par == NULL ) 61 if ( hdl == NULL || par == NULL ) { 62 ROAR_DBG("sio_setpar(*): Invalid handle or parameter pointer"); 58 63 return 0; 64 } 59 65 60 if ( par->bits == 0 || par->bits > ROAR_BITS_MAX ) 66 if ( par->bits == 0 || par->bits > ROAR_BITS_MAX ) { 67 ROAR_DBG("sio_setpar(*): Invalid number of bits: %i Bit", par->bits); 61 68 return 0; 69 } 62 70 63 71 if ( par->bps == 0 ) 64 72 par->bps = SIO_BPS(par->bits); 65 73 66 if ( par->bps > ROAR_BITS_MAX/8 ) 74 if ( par->bps > ROAR_BITS_MAX/8 ) { 75 ROAR_DBG("sio_setpar(*): Invalid number of bytes: %i Byte", par->bps); 67 76 return 0; 77 } 68 78 69 if ( SIO_BPS(par->bits) > par->bps ) 79 if ( SIO_BPS(par->bits) > par->bps ) { 80 ROAR_DBG("sio_setpar(*): Number of bits/8 > number of bytes: %i/8 > %i", par->bits, par->bps); 70 81 return 0; 82 } 71 83 72 84 hdl->info.bits = par->bps * 8; … … 86 98 break; 87 99 default: 100 ROAR_DBG("sio_setpar(*): Invalid codec: sig=%i, le=%i", par->sig, par->le); 88 101 return 0; 89 102 } 90 103 91 if ( par->msb == 0 ) 104 if ( par->msb == 0 ) { 105 ROAR_DBG("sio_setpar(*): LSM alignment not supported"); 92 106 return 0; 107 } 93 108 94 if ( par->rchan != 0 ) /* not supported yet */ 109 if ( par->rchan != 0 ) { /* not supported yet */ 110 ROAR_DBG("sio_setpar(*): Recording not supported"); 95 111 return 0; 112 } 96 113 97 if ( par->pchan == 0 || par->pchan > ROAR_MAX_CHANNELS ) 114 if ( par->pchan == 0 || par->pchan > ROAR_MAX_CHANNELS ) { 115 ROAR_DBG("sio_setpar(*): Invalid number of playback channels: %i", par->pchan); 98 116 return 0; 117 } 99 118 100 119 hdl->info.channels = par->pchan; 101 120 102 if ( par->rate == 0 ) 121 if ( par->rate == 0 ) { 122 ROAR_DBG("sio_setpar(*): Invalid sample rate: %iHz", par->rate); 103 123 return 0; 124 } 104 125 105 126 hdl->info.rate = par->rate; 106 127 107 if ( par->xrun != SIO_IGNORE ) 128 if ( par->xrun != SIO_IGNORE ) { 129 ROAR_DBG("sio_setpar(*): Unsupported xrun mode: %i", par->xrun); 108 130 return 0; 131 } 109 132 110 133 memcpy(&(hdl->para), par, sizeof(struct sio_par));
Note: See TracChangeset
for help on using the changeset viewer.