Paraslash Audio Streaming | |
About News Download Documentation Development |
Exported functions from vss.c (para_server). More...
Macros | |
#define | VSS_NOMORE 1 |
Stop playing after current audio file. More... | |
#define | VSS_NEXT 2 |
Skip remaining part of current audio file. More... | |
#define | VSS_REPOS 4 |
A reposition request was sent by a client. More... | |
#define | VSS_PLAYING 8 |
Currently playing. More... | |
Functions | |
void | vss_init (int afs_socket, struct sched *s) |
Initialize the virtual streaming system task. More... | |
unsigned int | vss_playing (void) |
Check if vss status flag P (playing) is set. More... | |
unsigned int | vss_next (void) |
Check if the N (next) status flag is set. More... | |
unsigned int | vss_repos (void) |
Check if a reposition request is pending. More... | |
unsigned int | vss_paused (void) |
Check if the vss is currently paused. More... | |
unsigned int | vss_stopped (void) |
Check if the vss is currently stopped. More... | |
struct timeval * | vss_chunk_time (void) |
Get the chunk time of the current audio file. More... | |
void | vss_shutdown (void) |
Turn off the virtual streaming system. More... | |
struct fec_client * | vss_add_fec_client (struct sender_client *sc, struct fec_client_parms *fcp) |
Add one entry to the list of active fec clients. More... | |
void | vss_del_fec_client (struct fec_client *fc) |
Remove one entry from the list of active fec clients. More... | |
size_t | vss_get_fec_eof_packet (const char **buf) |
Return a buffer that marks the end of the stream. More... | |
Exported functions from vss.c (para_server).
#define VSS_NOMORE 1 |
Stop playing after current audio file.
#define VSS_NEXT 2 |
Skip remaining part of current audio file.
#define VSS_REPOS 4 |
A reposition request was sent by a client.
#define VSS_PLAYING 8 |
Currently playing.
void vss_init | ( | int | afs_socket, |
struct sched * | s | ||
) |
Initialize the virtual streaming system task.
afs_socket | The fd for communication with afs. |
s | The scheduler to register the vss task to. |
This also initializes all supported senders and starts streaming if the –autoplay command line flag was given.
References ms2tv(), OPT_UINT32_VAL, PARA_INFO_LOG, and tv2ms().
unsigned int vss_playing | ( | void | ) |
Check if vss status flag P (playing) is set.
References mmd, misc_meta_data::new_vss_status_flags, and VSS_PLAYING.
unsigned int vss_next | ( | void | ) |
Check if the N (next) status flag is set.
References mmd, misc_meta_data::new_vss_status_flags, and VSS_NEXT.
unsigned int vss_repos | ( | void | ) |
Check if a reposition request is pending.
References mmd, misc_meta_data::new_vss_status_flags, and VSS_REPOS.
unsigned int vss_paused | ( | void | ) |
Check if the vss is currently paused.
References mmd, misc_meta_data::new_vss_status_flags, VSS_NEXT, and VSS_PLAYING.
unsigned int vss_stopped | ( | void | ) |
Check if the vss is currently stopped.
References mmd, misc_meta_data::new_vss_status_flags, VSS_NEXT, and VSS_PLAYING.
struct timeval* vss_chunk_time | ( | void | ) |
Get the chunk time of the current audio file.
References misc_meta_data::afd, audio_file_data::afhi, afh_info::chunk_tv, and mmd.
void vss_shutdown | ( | void | ) |
Turn off the virtual streaming system.
This is only executed on exit. It calls the ->shutdown method of all senders.
References FOR_EACH_SENDER, PARA_NOTICE_LOG, process_is_command_handler(), senders, and sender::shutdown.
struct fec_client* vss_add_fec_client | ( | struct sender_client * | sc, |
struct fec_client_parms * | fcp | ||
) |
Add one entry to the list of active fec clients.
sc | Generic sender_client data of the transport layer. |
fcp | FEC parameters as supplied by the transport layer. |
References zalloc().
void vss_del_fec_client | ( | struct fec_client * | fc | ) |
Remove one entry from the list of active fec clients.
fc | The client to be removed. |
size_t vss_get_fec_eof_packet | ( | const char ** | buf | ) |
Return a buffer that marks the end of the stream.
buf | Result pointer. |
This is used for (multicast) udp streaming where closing the socket on the sender might not give rise to an eof condition at the peer.
References FEC_EOF_PACKET, and FEC_HEADER_SIZE.