X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=write.h;h=1f316fc0ece5d029e21ef5d49d9853ae9d2c8900;hp=9723977ae4357506ac1c6b64284695577d1e5683;hb=ddd7cd853044105f329a2c70cce2d8f1470f559e;hpb=3062b9da4f71ea236f46efda9a51add1b15cda1a;ds=sidebyside diff --git a/write.h b/write.h index 9723977a..1f316fc0 100644 --- a/write.h +++ b/write.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2008 Andre Noll + * Copyright (C) 2006-2009 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -13,12 +13,10 @@ enum writer_enum {WRITER_ENUM}; * Describes one running instance of a writer. */ struct writer_node { - /** Points to the writer structure associated with this node. */ - struct writer *writer; /* FIXME: Should better be only the number. */ + /** The number of this writer. */ + int writer_num; /** Writer-specific data. */ void *private_data; - /** Send that many bytes in one go. */ - int chunk_bytes; /** Pointer to the group this node belongs to. */ struct writer_node_group *wng; /** The writer-specific configuration of this node. */ @@ -49,7 +47,7 @@ struct writer { * Open one instance of this writer. * * This function should perform any work necessary to write the incoming - * stream. If To this aim, it may allocate its private data structure and store + * stream. To this aim, it may allocate its private data structure and store * a pointer to that structure via the given writer_node parameter. */ int (*open)(struct writer_node *); @@ -84,6 +82,7 @@ struct writer { * This is a optional function pointer used for cleaning up. */ void (*shutdown)(struct writer_node *); + struct ggo_help help; }; /** @@ -94,12 +93,10 @@ struct writer_node_group { unsigned num_writers; /** Array of pointers to the corresponding writer nodes. */ struct writer_node *writer_nodes; - /** The maximum of the chunk_bytes values of the writer nodes in this group. */ - int max_chunk_bytes; /** Non-zero if an error or end of file was encountered by the feeding task. */ int *input_error; /** Current output buffer. */ - char *buf; + char **bufp; /** Number of bytes loaded in the output buffer. */ size_t *loaded; /** Number of audio channels of the current stream. */