X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=grab_client.h;h=9bc01864a7a49354a7f3c436ec3487c2de2a0637;hp=04e0a75b15a32f5ccf13ec1c2fe40ddde6336acc;hb=7f08e8b0eb9570f1eb787dbb4e10d56585b36bbf;hpb=f74525557a0f63090de04fcb2ad401db0783f9a3 diff --git a/grab_client.h b/grab_client.h index 04e0a75b..9bc01864 100644 --- a/grab_client.h +++ b/grab_client.h @@ -1,59 +1,6 @@ -/* - * Copyright (C) 2006 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2006 Andre Noll , see file COPYING. */ /** \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); +int grab_client_new(int fd, struct lls_parse_result *lpr, struct sched *s); +void activate_grab_clients(struct sched *s);