X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=grab_client.h;h=75ba4c9183c58ab40ef910650136f2ebc38bad47;hp=04e0a75b15a32f5ccf13ec1c2fe40ddde6336acc;hb=d96c06ff93493c125b9f4d36655e77d7029ca309;hpb=b0d2e5f940e595486443700998d27053e462183a diff --git a/grab_client.h b/grab_client.h index 04e0a75b..75ba4c91 100644 --- a/grab_client.h +++ b/grab_client.h @@ -6,54 +6,5 @@ /** \file grab_client.h exported symbols from grab_client.c */ -#include "config.h" - -/** - * How to handle blocking writes for the grab client fds. - */ -enum grab_mode { - /** Ignore the data and do not write. */ - GM_SLOPPY, - /** Write anyway (default). */ - GM_AGGRESSIVE, - /** Close fd if write would block. */ - GM_PEDANTIC, -}; - -/** Flags specified as arguments to the grab command. */ -enum grab_flags { - /** Grab the filter input instead of its output. */ - GF_INPUT_GRAB = 1, - /** Stop grabbing if audio file changes. */ - GF_ONE_SHOT = 2, -}; - -/** - * Describes one active grab client. - * - * \sa filter_callback, filter_node::callbacks. - */ -struct grab_client { - /** The file descriptor to send the grabbed stream to. */ - int fd; - /** Non-zero if the write() to \a fd failed. */ - int error; - /** See \ref grab_mode. */ - enum grab_mode mode; - /** Point of filter chain to grab. */ - int32_t filter_num; - /** The number of the desired audio format. */ - int audio_format_num; - /** Flags given at the command line. */ - enum grab_flags flags; - /** The callback data which gets attached to a suitable filter_node. */ - struct filter_callback fcb; - /** All grab clients belong either to a filter node or to the inactive list. */ - struct list_head node; -}; - int grab_client_new(int fd, int argc, char **argv); -void activate_inactive_grab_clients(int audio_format_num, - struct filter_chain *fc); -void activate_grab_client(struct grab_client *gc, struct filter_node *fn); -void init_grabbing(void); +void activate_grab_clients(void);