X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=write.h;h=cb0beff812121b338e3749e80f63ad2cb99999db;hp=833cb69a5cb6373bae819d5b7c323e1d567c6104;hb=refs%2Fheads%2Fpu;hpb=c20e3e67fc2be1d5f8778b9c482271e023bbdcb8 diff --git a/write.h b/write.h index 833cb69a..35a8d29f 100644 --- a/write.h +++ b/write.h @@ -20,21 +20,23 @@ 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. - */ - void (*pre_select)(struct sched *s, void *context); - /** - * Write audio data. - * - * Called from the post_select function of the writer node's task. - */ - int (*post_select)(struct sched *s, void *context); + /** Ask the scheduler to check whether data can be written. */ + void (*pre_monitor)(struct sched *s, void *context); + /** Write audio data. */ + int (*post_monitor)(struct sched *s, void *context); /** * Close one instance of the writer. *