Changeset 2339:11e0b3d23f74 in roaraudio
- Timestamp:
- 08/13/09 22:10:26 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/roard.c
r2291 r2339 63 63 " -B --bits BITS - Set server bits\n" 64 64 " -C --chans CHANNELS - Set server channels\n" 65 ); 66 67 printf("\nStream Options:\n\n"); 68 printf( 69 " --stream-flags D=F - Set default flags for stream directions\n" 70 " D is the stream direction and F is a comma seperated\n" 71 " list of flags in form +flag or -flag to set or unset\n" 72 " a flag as default or remove it from the default\n" 65 73 ); 66 74 … … 212 220 } 213 221 222 #define FOP_ADD 1 223 #define FOP_DEL -1 224 225 int update_stream_flags (char * str) { 226 int dir; 227 char * flags; 228 char * k; 229 int op; 230 int flag; 231 232 if ( (flags = strstr(str, "=")) == NULL ) 233 return -1; 234 235 *flags = 0; 236 flags++; 237 238 if ( (dir = roar_str2dir(str)) == -1 ) 239 return -1; 240 241 while (flags != NULL) { 242 k = flags; 243 flags = strstr(flags, ","); 244 245 if ( flags != NULL ) 246 *(flags++) = 0; 247 248 switch (*k) { 249 case '+': k++; op = FOP_ADD; break; 250 case '-': k++; op = FOP_DEL; break; 251 default: 252 op = FOP_ADD; 253 } 254 255 flag = 0; 256 257 if ( !strcmp(k, "sync") ) { 258 flag = ROAR_FLAG_SYNC; 259 } else if ( !strcmp(k, "meta") ) { 260 flag = ROAR_FLAG_META; 261 } else if ( !strcmp(k, "cleanmeta") ) { 262 flag = ROAR_FLAG_CLEANMETA; 263 } else if ( !strcmp(k, "pause") ) { 264 flag = ROAR_FLAG_PAUSE; 265 } else if ( !strcmp(k, "mute") ) { 266 flag = ROAR_FLAG_MUTE; 267 } else if ( !strcmp(k, "antiecho") ) { 268 flag = ROAR_FLAG_ANTIECHO; 269 } else { 270 return -1; 271 } 272 273 g_config->streams[dir].flags |= flag; 274 275 if ( op == FOP_DEL ) 276 g_config->streams[dir].flags -= flag; 277 } 278 279 return 0; 280 } 281 214 282 int add_output (char * drv, char * dev, char * opts, int prim, int count) { 215 283 int stream; … … 755 823 } else if ( strcmp(k, "-C") == 0 || strcmp(k, "--chans") == 0 ) { 756 824 sa.channels = atoi(argv[++i]); 825 826 } else if ( strcmp(k, "--stream-flags") == 0 ) { 827 if ( update_stream_flags(argv[++i]) == -1 ) { 828 ROAR_ERR("Can not set stream flags"); 829 return 1; 830 } 757 831 758 832 } else if ( strcmp(k, "-d") == 0 || strcmp(k, "--driver") == 0 ) {
Note: See TracChangeset
for help on using the changeset viewer.