Changeset 5249:26fb6a2e20fc in roaraudio for roarclients/roardtmf.c
- Timestamp:
- 11/13/11 15:01:24 (12 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roarclients/roardtmf.c
r4929 r5249 76 76 } 77 77 78 int calc (int16_t * samples, size_t len, int rate, char c) { 78 int calc_break (int16_t * samples, size_t len, int rate, char c) { 79 (void)rate, (void)c; 80 memset(samples, 0, len); 81 return 0; 82 } 83 84 int calc_tone (int16_t * samples, size_t len, int rate, char c) { 79 85 struct tone * ct = NULL; 80 86 int i; … … 128 134 size_t len; 129 135 char c; 136 int err; 130 137 131 138 for (i = 1; i < argc; i++) { … … 162 169 return 4; 163 170 164 if ( (vss = roar_vs_new_playback(server, name, rate, 1, ROAR_CODEC_DEFAULT, 16, NULL)) == NULL ) {165 fprintf(stderr, "Error: can not start playback \n");171 if ( (vss = roar_vs_new_playback(server, name, rate, 1, ROAR_CODEC_DEFAULT, 16, &err)) == NULL ) { 172 fprintf(stderr, "Error: can not start playback: %s\n", roar_vs_strerr(err)); 166 173 roar_mm_free(buf); 167 174 return 1; … … 171 178 tones++; 172 179 173 if ( c == ' ' || c == '+' || c == '.' || c == '_' )180 if ( c == '+' || c == '.' || c == '_' ) 174 181 continue; 175 182 176 if ( calc(buf, len, rate, c) == -1 ) { 183 if ( c == ' ' ) { 184 calc_break(buf, len, rate, c); 185 } else { 186 if ( calc_tone(buf, len, rate, c) == -1 ) { 187 roar_mm_free(buf); 188 return 5; 189 } 190 } 191 if ( roar_vs_write(vss, buf, len, &err) != (ssize_t)len ) { 192 fprintf(stderr, "Error: can not write data: %s\n", roar_vs_strerr(err)); 177 193 roar_mm_free(buf); 178 194 return 5; 179 195 } 180 roar_vs_write(vss, buf, len, NULL);181 196 } 182 197
Note: See TracChangeset
for help on using the changeset viewer.