Changeset 1224:d66ef0e2143d in roaraudio


Ignore:
Timestamp:
02/25/09 00:56:42 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

start of stream ctl implementation

Location:
roard
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • roard/codecfilter.c

    r1223 r1224  
    292292} 
    293293 
     294int codecfilter_ctl  (CODECFILTER_USERDATA_T   inst, int codecfilter, int_least32_t cmd, void * data) { 
     295 if ( codecfilter == -1 ) 
     296  return -1; 
     297 
     298 if ( g_codecfilter[codecfilter].ctl ) 
     299  return g_codecfilter[codecfilter].ctl(inst, cmd, data); 
     300 
     301 return -1; 
     302} 
     303 
     304 
    294305int codecfilter_delay_fulldyn(CODECFILTER_USERDATA_T   inst, uint_least32_t * delay) { 
    295306 *delay = 0; // just to be sure 
  • roard/include/codecfilter.h

    r1223 r1224  
    9393int codecfilter_flush(CODECFILTER_USERDATA_T   inst, int codecfilter); 
    9494int codecfilter_delay(CODECFILTER_USERDATA_T   inst, int codecfilter, uint_least32_t * delay); 
     95int codecfilter_ctl  (CODECFILTER_USERDATA_T   inst, int codecfilter, int_least32_t cmd, void * data); 
    9596 
    9697int codecfilter_delay_fulldyn(CODECFILTER_USERDATA_T   inst, uint_least32_t * delay); 
  • roard/include/streams.h

    r1223 r1224  
    3636//#define ROAR_STREAM(x)        ((struct roar_stream*)(x)) 
    3737#define ROAR_STREAM_SERVER(x) ((struct roar_stream_server*)(x)) 
     38 
     39// stream ctls...: 
     40 
     41#define ROAR_STREAM_CTL_COMPMASK  0xFF000000 
     42#define ROAR_STREAM_CTL_TYPEMASK  0x00FF0000 
     43#define ROAR_STREAM_CTL_CMDMASK   0x0000FFFF 
     44 
     45#define ROAR_STREAM_CTL_COMP_BASE 0x00000000 
     46#define ROAR_STREAM_CTL_COMP_CF   0x01000000 
     47#define ROAR_STREAM_CTL_COMP_DRV  0x02000000 
     48 
    3849 
    3950struct roar_stream_server { 
     
    8697int streams_calc_delay   (int id); 
    8798 
    88 int streams_ctl          (int id, int cmd, void * data); 
     99int streams_ctl          (int id, int_least32_t cmd, void * data); 
    89100 
    90101int stream_add_buffer     (int id, struct roar_buffer *  buf); 
  • roard/streams.c

    r1223 r1224  
    371371} 
    372372 
     373int streams_ctl          (int id, int_least32_t cmd, void * data) { 
     374 struct roar_stream_server * ss; 
     375 int_least32_t comp; 
     376 
     377 if ( (ss = g_streams[id]) == NULL ) 
     378  return -1; 
     379 
     380 comp = cmd & ROAR_STREAM_CTL_COMPMASK; 
     381 
     382 cmd &= ~comp; 
     383 
     384 switch (comp) { 
     385  case ROAR_STREAM_CTL_COMP_BASE: 
     386   break; 
     387  case ROAR_STREAM_CTL_COMP_CF: 
     388    return codecfilter_ctl(ss->codecfilter_inst, ss->codecfilter, cmd, data); 
     389   break; 
     390  case ROAR_STREAM_CTL_COMP_DRV: 
     391   break; 
     392  default: 
     393   return -1; 
     394 } 
     395 
     396 return -1; 
     397} 
     398 
    373399int streams_get_outputbuffer  (int id, void ** buffer, size_t size) { 
    374400 if ( g_streams[id] == NULL ) 
Note: See TracChangeset for help on using the changeset viewer.