X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=vss.h;h=ae53f6eccf8327c6035c6f33dceb01b0268e3616;hp=efabdf36915425e913176f57098f501f235c642a;hb=8aa0f575bcca12ab63ab53141c2144448c457478;hpb=625c5cd993d07a63061a0788f174e12fa1c221e0 diff --git a/vss.h b/vss.h index efabdf36..ae53f6ec 100644 --- a/vss.h +++ b/vss.h @@ -1,19 +1,18 @@ /* - * Copyright (C) 2005-2009 Andre Noll + * Copyright (C) 2005-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ /** \file vss.h Exported functions from vss.c (para_server). */ -void init_vss_task(int afs_socket); +void init_vss_task(int afs_socket, struct sched *s); unsigned int vss_playing(void); unsigned int vss_next(void); unsigned int vss_repos(void); unsigned int vss_paused(void); unsigned int vss_stopped(void); struct timeval *vss_chunk_time(void); -const char *supported_audio_formats(void); /** Stop playing after current audio file. */ #define VSS_NOMORE 1 @@ -23,29 +22,8 @@ const char *supported_audio_formats(void); #define VSS_REPOS 4 /** Currently playing. */ #define VSS_PLAYING 8 -/** A client requested to change the audio file selector. */ -#define VSS_CHANGE 16 -/** - * 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; - -struct fec_client_parms { - uint8_t slices_per_group; - uint8_t data_slices_per_group; - uint16_t max_slice_bytes; - int (*send)(char *buf, size_t num_bytes, void *private_data); - 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);