X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=write.h;h=f654c7e985f26db0e29eb6e4cdef8956f1077c68;hb=742c8b3f79a59278ced71e1855da1846b157b494;hp=833cb69a5cb6373bae819d5b7c323e1d567c6104;hpb=4268d81d093204700d71b833d0d8b7723b09664b;p=paraslash.git diff --git a/write.h b/write.h index 833cb69a..f654c7e9 100644 --- a/write.h +++ b/write.h @@ -20,20 +20,22 @@ struct writer_node { size_t min_iqs; }; -/** Describes one supported writer. */ +/** + * Describes a data sink for audio streams. + * + * A paraslash writer obtains data via the buffer tree mechanism from its + * parent node. It consumes data without producing output on its own. + * + * This structure contains the methods which have to be implemented by each + * writer. + * + * \sa struct \ref writer_node, struct \ref receiver, struct \ref filter, + * struct \ref sched. + */ struct writer { - /** - * Prepare the fd sets for select. - * - * This is called from scheduler. It may use the sched pointer to add - * any file descriptors or to decrease the select timeout. - */ + /** Ask the scheduler to check whether data can be written. */ void (*pre_select)(struct sched *s, void *context); - /** - * Write audio data. - * - * Called from the post_select function of the writer node's task. - */ + /** Write audio data. */ int (*post_select)(struct sched *s, void *context); /** * Close one instance of the writer.