Changeset 5694:d31d31565f84 in roaraudio
- Timestamp:
- 10/13/12 22:37:37 (11 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/scheduler.h
r5692 r5694 50 50 }; 51 51 52 enum roar_scheduler_strategy { 53 ROAR_SCHEDULER_STRATEGY_DEFAULT = -1, 54 ROAR_SCHEDULER_STRATEGY_SELECT = 1, 55 ROAR_SCHEDULER_STRATEGY_WAIT, 56 ROAR_SCHEDULER_STRATEGY_SELECTORWAIT, 57 ROAR_SCHEDULER_STRATEGY_WAITORSELECT, 58 }; 59 60 #define ROAR_SCHEDULER_FLAG_DEFAULT -1 52 61 #define ROAR_SCHEDULER_FLAG_NONE 0x0000 53 62 #define ROAR_SCHEDULER_FLAG_FREE 0x0001 … … 79 88 struct roar_scheduler; 80 89 81 struct roar_scheduler * roar_scheduler_new( void);90 struct roar_scheduler * roar_scheduler_new(int flags, enum roar_scheduler_strategy strategy); 82 91 int roar_scheduler_ref(struct roar_scheduler * sched); 83 92 int roar_scheduler_unref(struct roar_scheduler * sched); -
libroar/scheduler.c
r5692 r5694 48 48 struct roar_scheduler { 49 49 size_t refc; 50 int flags; 51 enum roar_scheduler_strategy strategy; 50 52 struct roar_scheduler_source ** sources; 51 53 size_t sources_len; … … 56 58 }; 57 59 58 struct roar_scheduler * roar_scheduler_new( void) {60 struct roar_scheduler * roar_scheduler_new(int flags, enum roar_scheduler_strategy strategy) { 59 61 struct roar_scheduler * sched = roar_mm_malloc(sizeof(struct roar_scheduler)); 60 62 … … 62 64 return NULL; 63 65 66 if ( flags == ROAR_SCHEDULER_FLAG_DEFAULT ) 67 flags = ROAR_SCHEDULER_FLAG_NONE; 68 64 69 memset(sched, 0, sizeof(struct roar_scheduler)); 65 70 sched->refc = 1; 71 sched->flags = flags; 72 sched->strategy = strategy; 66 73 67 74 sched->sources = roar_mm_malloc(INIT_SIZE*sizeof(struct roar_scheduler_source *)); … … 543 550 } 544 551 552 if ( source->flags == ROAR_SCHEDULER_FLAG_DEFAULT ) 553 source->flags = ROAR_SCHEDULER_FLAG_NONE; 554 545 555 switch (source->type) { 546 556 case ROAR_SCHEDULER_CPI_LISTEN:
Note: See TracChangeset
for help on using the changeset viewer.