diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/seq.c | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -457,6 +457,33 @@ error_malloc_ev: return -1; } +int xas_seq_add_stop(xas_seq *seq, + struct timeval timestamp) { + xas_seq_event *ev; + + if ((ev = malloc(sizeof(*ev))) == NULL) { + goto error_malloc_ev; + } + + ev->type = XAS_SEQ_EVENT_STOP; + ev->objtype = XAS_SEQ_OBJECT_ANY; + ev->object = NULL; + ev->timestamp = timestamp; + ev->flags = 0; + + if (event_add(seq, ev) < 0) { + goto error_event_add; + } + + return 0; + +error_event_add: + free(ev); + +error_malloc_ev: + return -1; +} + static int event_trigger(xas_spatial_scene *scene, xas_seq_event *ev) { switch (ev->type) { case XAS_SEQ_EVENT_OFF: @@ -532,6 +559,9 @@ static int event_trigger(xas_spatial_scene *scene, xas_seq_event *ev) { xas_vox_generate(ev->object->ctx); break; + + case XAS_SEQ_EVENT_STOP: + break; } return 0; |