summaryrefslogtreecommitdiffstats
path: root/src/inputstream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/inputstream.h')
-rw-r--r--src/inputstream.h17
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