Paraslash Audio Streaming | |
About News Download Documentation Development |
Each paraslash sender may register arbitrary many clients to the virtual streaming system, possibly with varying fec parameters. More...
#include <send.h>
Data Fields | |
uint8_t | slices_per_group |
Number of data slices plus redundant slices. More... | |
uint8_t | data_slices_per_group |
Number of slices minus number of redundant slices. More... | |
bool | need_periodic_header |
Whether the header must be sent periodically. More... | |
int(* | init_fec )(struct sender_client *sc) |
Transport-layer initialisation for FEC support. More... | |
void(* | send_fec )(struct sender_client *sc, char *buf, size_t len) |
Push out FEC-encoded packets. More... | |
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 fec_client_parms structure and pass it to vss_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 vss_del_fec_client(). FEC parameters requested by FEC clients.
uint8_t slices_per_group |
Number of data slices plus redundant slices.
uint8_t data_slices_per_group |
Number of slices minus number of redundant slices.
bool need_periodic_header |
Whether the header must be sent periodically.
int(* init_fec) (struct sender_client *sc) |
Transport-layer initialisation for FEC support.
This optional function serves (a) to make the transport layer ready to send FEC slices and (b) to determine the Maximum Packet Size (MPS) supported by the connection. The MPS value determines the largest payload size. This value is used to send FEC slices that are not larger than the path MTU, to avoid fragmentation and to maximize packet utilization. The user can alternatively specify a slice size of up to this value.
void(* send_fec) (struct sender_client *sc, char *buf, size_t len) |
Push out FEC-encoded packets.