paraslash Paraslash Audio Streaming
About   News   Download   Documentation   Development

Data Fields
fec_client_parms Struct Reference

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...
 

Detailed Description

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.

Field Documentation

◆ slices_per_group

uint8_t slices_per_group

Number of data slices plus redundant slices.

◆ data_slices_per_group

uint8_t data_slices_per_group

Number of slices minus number of redundant slices.

◆ need_periodic_header

bool need_periodic_header

Whether the header must be sent periodically.

◆ init_fec

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.

◆ send_fec

void(* send_fec) (struct sender_client *sc, char *buf, size_t len)

Push out FEC-encoded packets.


The documentation for this struct was generated from the following file: