diff options
Diffstat (limited to 'src/inputstream.h')
-rw-r--r-- | src/inputstream.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/inputstream.h b/src/inputstream.h index 0353799e..a258c3d1 100644 --- a/src/inputstream.h +++ b/src/inputstream.h @@ -15,11 +15,26 @@ struct input_stream { struct sample_spec spec; struct memblockq *memblockq; + + void (*kill)(struct input_stream* i, void *userdata); + void *kill_userdata; }; struct input_stream* input_stream_new(struct sink *s, struct sample_spec *spec, const char *name); void input_stream_free(struct input_stream* i); -void input_stream_notify(struct input_stream *i); +/* This function notifies the attached sink that new data is available + * in the memblockq */ +void input_stream_notify_sink(struct input_stream *i); + + +/* The registrant of the input stream should call this function to set a + * callback function which is called when destruction of the input stream is + * requested */ +void input_stream_set_kill_callback(struct input_stream *c, void (*kill)(struct input_stream*i, void *userdata), void *userdata); + +/* Code that didn't create the input stream should call this function to + * request destruction of it */ +void input_stream_kill(struct input_stream *c); #endif |