Changeset 4333:d10f93a61265 in roaraudio for roard/req.c


Ignore:
Timestamp:
09/10/10 00:32:17 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

finaly added support to do a filtered stream list

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/req.c

    r4330 r4333  
    633633 int streams[ROAR_STREAMS_MAX]; 
    634634 int i, c = 0; 
     635 int match; 
    635636 
    636637 if ( roar_ctl_m2f(mes, &filter, &cmp, &id) == -1 ) 
    637638  return -1; 
    638639 
    639  // TODO: add code to support filter 
    640  if ( filter != ROAR_CTL_FILTER_ANY ) 
    641   return -1; 
    642  
    643640 for (i = 0; i < ROAR_STREAMS_MAX; i++) { 
    644   if ( g_streams[i] != NULL ) { 
     641  if ( g_streams[i] == NULL ) 
     642   continue; 
     643 
     644  match = 0; 
     645 
     646  switch (filter) { 
     647   case ROAR_CTL_FILTER_ANY: 
     648     match = 1; 
     649    break; 
     650   case ROAR_CTL_FILTER_DIR: 
     651     match = roar_filter_match(cmp, id, ROAR_STREAM(g_streams[i])->dir); 
     652    break; 
     653   default: // unsupported filter... 
     654     return -1; 
     655    break; 
     656  } 
     657 
     658  if ( match ) 
    645659   streams[c++] = i; 
    646   } 
    647660 } 
    648661 
Note: See TracChangeset for help on using the changeset viewer.