X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=vss.h;h=9412da81a3841425258c07a52e8a1efeca6f5beb;hp=9bdc449c0a2a8617b70d06bb1df50272b7761a40;hb=8d00849555d99c5434610753ad0e4cc93fb7bb64;hpb=7fdde2a8afba420ac74257619789be7b88c1b74a diff --git a/vss.h b/vss.h index 9bdc449c..9412da81 100644 --- a/vss.h +++ b/vss.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2009 Andre Noll + * Copyright (C) 2005-2010 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -24,32 +24,7 @@ const char *supported_audio_formats(void); /** Currently playing. */ #define VSS_PLAYING 8 -/** - * Each paraslash sender may register arbitrary many clients to the virtual - * streaming system, possibly with varying fec parameters. In order to do so, - * it must allocate a \a fec_client_parms structure and pass it to \ref - * add_fec_client. - * - * Clients are automatically removed from that list by the vss if an error - * occurs, or if the sender requests deletion of a client by calling \ref - * vss_del_fec_client(). - */ -struct fec_client; - -/** FEC parameters requested by FEC clients. */ -struct fec_client_parms { - /** Number of data slices plus redundant slices. */ - uint8_t slices_per_group; - /** Number of slices minus number of redundant slices. */ - uint8_t data_slices_per_group; - /** Maximal number of bytes per slice. */ - uint16_t max_slice_bytes; - /** Called by vss.c when the next slice should be sent. */ - int (*send)(char *buf, size_t num_bytes, void *private_data); - /** Passed verbatim to \a send(). */ - void *private_data; -}; - -int vss_add_fec_client(struct fec_client_parms *fcp, struct fec_client **result); +struct fec_client *vss_add_fec_client(struct sender_client *sc, + struct fec_client_parms *fcp); void vss_del_fec_client(struct fec_client *fc); size_t vss_get_fec_eof_packet(const char **buf);