Changeset 5533:42f48072307c in roaraudio for roarclients/roarmon.c
- Timestamp:
- 06/12/12 14:39:40 (12 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roarclients/roarmon.c
r5381 r5533 37 37 " --bits -B BITS - Set bits per sample\n" 38 38 " --chans -C CHANNELS - Set number of channels\n" 39 " --codec CODEC - Set the codec\n" 39 " --codec -E CODEC - Set the codec\n" 40 " --aiprofile PROFILE - Set audio profile\n" 40 41 " --record - Run in record mode (Wave Audio only)\n" 41 42 " --wave - Output Wave Audio (PCM)\n" … … 54 55 55 56 int main (int argc, char * argv[]) { 56 int rate = -1; 57 int bits = -1; 58 int channels = -1; 59 int codec = -1; 57 struct roar_audio_info info = { 58 .rate = ROAR_AUDIO_INFO_INVALID, 59 .bits = ROAR_AUDIO_INFO_INVALID, 60 .channels = ROAR_AUDIO_INFO_INVALID, 61 .codec = ROAR_AUDIO_INFO_INVALID}; 60 62 int dir = ROAR_DIR_MONITOR; 61 63 int rel_id = -1; … … 84 86 server = argv[++i]; 85 87 } else if ( !strcmp(k, "--rate") || !strcmp(k, "-r") || !strcmp(k, "-R") ) { 86 rate = roar_str2rate(argv[++i]);88 info.rate = roar_str2rate(argv[++i]); 87 89 } else if ( !strcmp(k, "--bits") || !strcmp(k, "-B") ) { 88 bits = roar_str2bits(argv[++i]);90 info.bits = roar_str2bits(argv[++i]); 89 91 } else if ( !strcmp(k, "-b") ) { 90 bits = 8;92 info.bits = 8; 91 93 } else if ( !strcmp(k, "--channels") || !strcmp(k, "--chans") || !strcmp(k, "-C") ) { 92 channels = roar_str2channels(argv[++i]);94 info.channels = roar_str2channels(argv[++i]); 93 95 } else if ( !strcmp(k, "-m") ) { 94 channels = 1;95 } else if ( !strcmp(k, "--codec") ) {96 if ( ( codec = roar_str2codec(argv[++i])) == -1) {96 info.channels = 1; 97 } else if ( !strcmp(k, "--codec") || !strcmp(k, "-E") ) { 98 if ( (info.codec = roar_str2codec(argv[++i])) == ROAR_AUDIO_INFO_INVALID ) { 97 99 fprintf(stderr, "Error: Unknown codec: %s\n", argv[i]); 100 return 1; 101 } 102 103 } else if ( !strcmp(k, "--aiprofile") ) { 104 if ( roar_profile2info(&info, argv[++i]) == -1 ) { 105 fprintf(stderr, "Error: Can not load audio profile: %s: %s\n", argv[i], roar_error2str(roar_error)); 98 106 return 1; 99 107 } … … 140 148 case ROAR_DIR_MONITOR: 141 149 case ROAR_DIR_RECORD: 142 if ( rate == -1 )rate = ROAR_RATE_DEFAULT;143 if ( bits == -1 )bits = ROAR_BITS_DEFAULT;144 if ( channels == -1 )channels = ROAR_CHANNELS_DEFAULT;145 if ( codec == -1 )codec = ROAR_CODEC_DEFAULT;150 if ( info.rate == ROAR_AUDIO_INFO_INVALID ) info.rate = ROAR_RATE_DEFAULT; 151 if ( info.bits == ROAR_AUDIO_INFO_INVALID ) info.bits = ROAR_BITS_DEFAULT; 152 if ( info.channels == ROAR_AUDIO_INFO_INVALID ) info.channels = ROAR_CHANNELS_DEFAULT; 153 if ( info.codec == ROAR_AUDIO_INFO_INVALID ) info.codec = ROAR_CODEC_DEFAULT; 146 154 break; 147 155 case ROAR_DIR_MIDI_OUT: 148 if ( rate == -1 )rate = 0;149 if ( bits == -1 )bits = ROAR_MIDI_BITS;150 if ( channels == -1 )channels = ROAR_MIDI_CHANNELS_DEFAULT;151 if ( codec == -1 )codec = ROAR_CODEC_MIDI;156 if ( info.rate == ROAR_AUDIO_INFO_INVALID ) info.rate = 0; 157 if ( info.bits == ROAR_AUDIO_INFO_INVALID ) info.bits = ROAR_MIDI_BITS; 158 if ( info.channels == ROAR_AUDIO_INFO_INVALID ) info.channels = ROAR_MIDI_CHANNELS_DEFAULT; 159 if ( info.codec == ROAR_AUDIO_INFO_INVALID ) info.codec = ROAR_CODEC_MIDI; 152 160 break; 153 161 case ROAR_DIR_LIGHT_OUT: 154 if ( rate == -1 )rate = 0;155 if ( bits == -1 )bits = ROAR_LIGHT_BITS;156 if ( channels == -1 )channels = 0;157 if ( codec == -1 )codec = ROAR_CODEC_DMX512;162 if ( info.rate == ROAR_AUDIO_INFO_INVALID ) info.rate = 0; 163 if ( info.bits == ROAR_AUDIO_INFO_INVALID ) info.bits = ROAR_LIGHT_BITS; 164 if ( info.channels == ROAR_AUDIO_INFO_INVALID ) info.channels = 0; 165 if ( info.codec == ROAR_AUDIO_INFO_INVALID ) info.codec = ROAR_CODEC_DMX512; 158 166 break; 159 167 case ROAR_DIR_COMPLEX_OUT: 160 if ( rate == -1 )rate = ROAR_COMPLEX_RATE;161 if ( bits == -1 )bits = ROAR_COMPLEX_BITS;162 if ( channels == -1 )channels = ROAR_COMPLEX_CHANNELS;163 if ( codec == -1 )codec = ROAR_COMPLEX_CODEC;168 if ( info.rate == ROAR_AUDIO_INFO_INVALID ) info.rate = ROAR_COMPLEX_RATE; 169 if ( info.bits == ROAR_AUDIO_INFO_INVALID ) info.bits = ROAR_COMPLEX_BITS; 170 if ( info.channels == ROAR_AUDIO_INFO_INVALID ) info.channels = ROAR_COMPLEX_CHANNELS; 171 if ( info.codec == ROAR_AUDIO_INFO_INVALID ) info.codec = ROAR_COMPLEX_CODEC; 164 172 break; 165 173 case ROAR_DIR_RDTCS_OUT: 166 if ( rate == -1 )rate = ROAR_RDTCS_RATE;167 if ( bits == -1 )bits = ROAR_RDTCS_BITS;168 if ( channels == -1 )channels = ROAR_RDTCS_CHANNELS;169 if ( codec == -1 )codec = ROAR_RDTCS_CODEC;174 if ( info.rate == ROAR_AUDIO_INFO_INVALID ) info.rate = ROAR_RDTCS_RATE; 175 if ( info.bits == ROAR_AUDIO_INFO_INVALID ) info.bits = ROAR_RDTCS_BITS; 176 if ( info.channels == ROAR_AUDIO_INFO_INVALID ) info.channels = ROAR_RDTCS_CHANNELS; 177 if ( info.codec == ROAR_AUDIO_INFO_INVALID ) info.codec = ROAR_RDTCS_CODEC; 170 178 break; 171 179 case ROAR_DIR_RAW_OUT: 172 180 case ROAR_DIR_THRU: 173 181 default: 174 if ( rate == -1 )rate = 0;175 if ( bits == -1 )bits = 0;176 if ( channels == -1 )channels = 0;177 if ( codec == -1 )codec = ROAR_CODEC_DEFAULT;182 if ( info.rate == ROAR_AUDIO_INFO_INVALID ) info.rate = 0; 183 if ( info.bits == ROAR_AUDIO_INFO_INVALID ) info.bits = 0; 184 if ( info.channels == ROAR_AUDIO_INFO_INVALID ) info.channels = 0; 185 if ( info.codec == ROAR_AUDIO_INFO_INVALID ) info.codec = ROAR_CODEC_DEFAULT; 178 186 break; 179 187 } … … 184 192 } 185 193 186 if ( roar_stream_new(&s, rate, channels, bits,codec) == -1 ) {194 if ( roar_stream_new(&s, info.rate, info.channels, info.bits, info.codec) == -1 ) { 187 195 fprintf(stderr, "Error: can not create stream\n"); 188 196 roar_disconnect(&con);
Note: See TracChangeset
for help on using the changeset viewer.