X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=write.h;h=c7c227eefb146db15160b70d8cb25618adb1f0b3;hp=56a9711a44af6fde00ef23f6f5d203e407daf4d0;hb=5e8d8a8eea6de9459ebdf4498f9f061c84bfa63a;hpb=9de1287d67c9562e9140c6dc7deb0c01c4e10cc0 diff --git a/write.h b/write.h index 56a9711a..c7c227ee 100644 --- a/write.h +++ b/write.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2012 Andre Noll + * Copyright (C) 2006 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -22,7 +22,7 @@ struct writer_node { /** The buffer tree node associated with this writer node. */ struct btr_node *btrn; /** The task of this writer node. */ - struct task task; + struct task *task; /** The minimal input queue size (size of one audio sample). */ size_t min_iqs; }; @@ -39,16 +39,16 @@ struct writer { /** * The command line parser of the writer. * - * It should check whether the command line options given by \a options - * are valid and return a pointer to the writer-specific configuration - * data determined by \a options. This function must either succeed or - * call exit(). Note that parse_config_or_die() might be called more - * than once with different values of \a options. \sa \ref - * free_config(). + * It should check whether the command line options given by \a argv + * and \a argc are valid and return a pointer to the writer-specific + * configuration data determined by these options. This function must + * either succeed or call exit(). Note that parse_config_or_die() might + * be called more than once with different values of \a options. \sa + * \ref free_config(). */ - void *(*parse_config_or_die)(const char *options); + void *(*parse_config_or_die)(int argc, char **argv); /** - * Dellocate all configuration resources. + * Deallocate all configuration resources. * * This should free whatever was allocated by \ref parse_config_or_die(). */ @@ -59,25 +59,19 @@ struct writer { * 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, struct task *t); + void (*pre_select)(struct sched *s, void *context); /** * Write audio data. * * Called from the post_select function of the writer node's task. */ - void (*post_select)(struct sched *s, struct task *t); + int (*post_select)(struct sched *s, void *context); /** * Close one instance of the writer. * * This function is assumed to succeed. */ void (*close)(struct writer_node *); - /** - * Shutdown the writer. - * - * This is a optional function pointer used for cleaning up. - */ - void (*shutdown)(struct writer_node *); /** The short and the log help text of this writer. */ struct ggo_help help; /**