/*
- * Copyright (C) 2006-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
* 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. */
* 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 *);
* This is a optional function pointer used for cleaning up.
*/
void (*shutdown)(struct writer_node *);
+ struct ggo_help help;
};
/**
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. */