FS2_Open
Open source remastering of the Freespace 2 engine
multi_voice.cpp File Reference

Go to the source code of this file.

Classes

struct  voice_stream
 

Macros

#define MULTI_VOICE_PRE_DECOMPRESS
 
#define MULTI_VOICE_VERBOSE
 
#define MULTI_VOICE_LOCAL_ECHO
 
#define MV_CODE_GIVE_TOKEN   0
 
#define MV_CODE_DENY_TOKEN   1
 
#define MV_CODE_TAKE_TOKEN   2
 
#define MV_CODE_RELEASE_TOKEN   3
 
#define MV_CODE_REQUEST_TOKEN   4
 
#define MV_CODE_PLAYER_PREFS   5
 
#define MV_CODE_DATA   6
 
#define MV_CODE_DATA_DUMMY   7
 
#define MV_DEFAULT_QOS   10
 
#define MULTI_VOICE_PRE_SOUND   SND_CUE_VOICE
 
#define MULTI_VOICE_POST_SOUND   SND_END_VOICE
 
#define MULTI_VOICE_MAX_HEADER_SIZE   22
 
#define MULTI_VOICE_MAX_CHUNK_SIZE   488
 
#define MULTI_VOICE_MAX_BUFFER_SIZE   ((1<<16)+(1<<14))
 
#define MULTI_VOICE_ACCUM_BUFFER_SIZE   (1<<14)
 
#define MULTI_VOICE_ACCUM_BUFFER_COUNT   (MULTI_VOICE_ACCUM_BUFFER_SIZE / MULTI_VOICE_MAX_CHUNK_SIZE)
 
#define MULTI_VOICE_MAX_STREAMS   1
 
#define MV_ALG_TIMEOUT   500
 
#define MULTI_VOICE_TOKEN_TIMEOUT   7000
 
#define MULTI_VOICE_TOKEN_RELEASE_WAIT   (1.0f)
 
#define MULTI_VOICE_TOKEN_INDEX_FREE   -1
 
#define MULTI_VOICE_TOKEN_INDEX_RELEASED   0xBEAD
 
#define MULTI_VOICE_KEY   KEY_LAPOSTRO
 
#define MULTI_VOICE_DENIED_TIME   1000
 
#define MV_TEST_RECORD_TIME   3000
 

Typedefs

typedef struct voice_stream voice_stream
 

Functions

void multi_voice_server_process ()
 
void multi_voice_player_process ()
 
int multi_voice_keydown ()
 
int multi_voice_find_token (int player_index)
 
void multi_voice_give_token (int stream_index, int player_index)
 
void multi_voice_take_token (int stream_index)
 
void multi_voice_deny_token (int player_index)
 
void multi_voice_release_token ()
 
void multi_voice_request_token ()
 
void multi_voice_process_token_request (int player_index)
 
void multi_voice_free_all ()
 
void multi_voice_player_send_stream ()
 
int multi_voice_process_data (ubyte *data, int player_index, int msg_mode, net_player *target)
 
void multi_voice_inc_stream_id ()
 
void multi_voice_flush_old_stream (int stream_index)
 
void multi_voice_route_data (ubyte *data, int packet_size, int player_index, int mode, net_player *target)
 
int multi_voice_get_stream (int stream_id)
 
void multi_voice_alg_init ()
 
void multi_voice_alg_process_data (int stream_index)
 
void multi_voice_alg_process_streams ()
 
void multi_voice_alg_flush_old_stream (int stream_index)
 
int multi_voice_stream_playing (int stream_index)
 
int multi_voice_mix (int post_sound, char *data, int cur_size, int max_size)
 
void multi_voice_send_dummy_packet ()
 
int multi_voice_process_data_dummy (ubyte *data)
 
int multi_voice_max_chunk_size (int msg_mode)
 
int multi_voice_process_player_prefs (ubyte *data, int player_index)
 
void multi_voice_alg_play_window (int stream_index)
 
void multi_voice_client_send_pending ()
 
void multi_voice_init ()
 
void multi_voice_close ()
 
void multi_voice_reset ()
 
void multi_voice_process ()
 
void multi_voice_dcf ()
 
int multi_voice_status ()
 
void multi_voice_maybe_update_vars (int new_qos, int new_duration)
 
void multi_voice_set_prefs (int pref_flags)
 
void multi_voice_set_vars (int qos, int duration)
 
void multi_voice_process_next_chunk ()
 
void multi_voice_process_packet (ubyte *data, header *hinfo)
 
int multi_voice_alg_should_play (int stream_index)
 
void multi_voice_test_process_next_chunk ()
 
void multi_voice_test_record_start ()
 
void multi_voice_test_record_stop ()
 
int multi_voice_test_recording ()
 
void multi_voice_test_process ()
 
int multi_voice_test_get_playback_buffer ()
 
int multi_voice_test_packet_tossed ()
 

Variables

int Multi_voice_inited = 0
 
int Multi_voice_can_record = 0
 
int Multi_voice_can_play = 0
 
int Multi_voice_send_mode = MULTI_MSG_NONE
 
int Multi_voice_qos
 
int Multi_voice_pre_sound_size = 0
 
int Multi_voice_max_time
 
char * Multi_voice_record_buffer = NULL
 
char * Multi_voice_playback_buffer = NULL
 
int Multi_voice_stamps [MULTI_VOICE_MAX_STREAMS]
 
voice_stream Multi_voice_stream [MULTI_VOICE_MAX_STREAMS]
 
int Multi_voice_keydown = 0
 
int Multi_voice_recording = 0
 
int Multi_voice_token = 0
 
int Multi_voice_recording_stamp = -1
 
ubyte Multi_voice_stream_id = 0
 
int Multi_voice_current_stream_index = 0
 
int Multi_voice_current_stream_sent = -1
 
ubyte Multi_voice_next_stream_id = 0
 
int Multi_voice_player_prefs [MAX_PLAYERS]
 
int Multi_voice_denied_stamp = -1
 
int Multi_voice_local_prefs = 0xffffffff
 
int Multi_voice_test_record_stamp = -1
 
int Multi_voice_test_packet_tossed = 0
 

Macro Definition Documentation

#define MULTI_VOICE_ACCUM_BUFFER_COUNT   (MULTI_VOICE_ACCUM_BUFFER_SIZE / MULTI_VOICE_MAX_CHUNK_SIZE)

Definition at line 83 of file multi_voice.cpp.

#define MULTI_VOICE_ACCUM_BUFFER_SIZE   (1<<14)

Definition at line 78 of file multi_voice.cpp.

#define MULTI_VOICE_DENIED_TIME   1000

Definition at line 147 of file multi_voice.cpp.

#define MULTI_VOICE_KEY   KEY_LAPOSTRO

Definition at line 133 of file multi_voice.cpp.

#define MULTI_VOICE_LOCAL_ECHO

Definition at line 37 of file multi_voice.cpp.

#define MULTI_VOICE_MAX_BUFFER_SIZE   ((1<<16)+(1<<14))

Definition at line 75 of file multi_voice.cpp.

#define MULTI_VOICE_MAX_CHUNK_SIZE   488

Definition at line 72 of file multi_voice.cpp.

#define MULTI_VOICE_MAX_HEADER_SIZE   22

Definition at line 70 of file multi_voice.cpp.

#define MULTI_VOICE_MAX_STREAMS   1

Definition at line 95 of file multi_voice.cpp.

#define MULTI_VOICE_POST_SOUND   SND_END_VOICE

Definition at line 61 of file multi_voice.cpp.

#define MULTI_VOICE_PRE_DECOMPRESS

Definition at line 33 of file multi_voice.cpp.

#define MULTI_VOICE_PRE_SOUND   SND_CUE_VOICE

Definition at line 60 of file multi_voice.cpp.

#define MULTI_VOICE_TOKEN_INDEX_FREE   -1

Definition at line 108 of file multi_voice.cpp.

#define MULTI_VOICE_TOKEN_INDEX_RELEASED   0xBEAD

Definition at line 109 of file multi_voice.cpp.

#define MULTI_VOICE_TOKEN_RELEASE_WAIT   (1.0f)

Definition at line 105 of file multi_voice.cpp.

#define MULTI_VOICE_TOKEN_TIMEOUT   7000

Definition at line 103 of file multi_voice.cpp.

#define MULTI_VOICE_VERBOSE

Definition at line 35 of file multi_voice.cpp.

#define MV_ALG_TIMEOUT   500

Definition at line 99 of file multi_voice.cpp.

#define MV_CODE_DATA   6

Definition at line 52 of file multi_voice.cpp.

#define MV_CODE_DATA_DUMMY   7

Definition at line 53 of file multi_voice.cpp.

#define MV_CODE_DENY_TOKEN   1

Definition at line 47 of file multi_voice.cpp.

#define MV_CODE_GIVE_TOKEN   0

Definition at line 46 of file multi_voice.cpp.

#define MV_CODE_PLAYER_PREFS   5

Definition at line 51 of file multi_voice.cpp.

#define MV_CODE_RELEASE_TOKEN   3

Definition at line 49 of file multi_voice.cpp.

#define MV_CODE_REQUEST_TOKEN   4

Definition at line 50 of file multi_voice.cpp.

#define MV_CODE_TAKE_TOKEN   2

Definition at line 48 of file multi_voice.cpp.

#define MV_DEFAULT_QOS   10

Definition at line 56 of file multi_voice.cpp.

#define MV_TEST_RECORD_TIME   3000

Definition at line 2025 of file multi_voice.cpp.

Typedef Documentation

typedef struct voice_stream voice_stream

Function Documentation

void multi_voice_alg_flush_old_stream ( int  stream_index)

Definition at line 2004 of file multi_voice.cpp.

void multi_voice_alg_init ( )

Definition at line 2011 of file multi_voice.cpp.

void multi_voice_alg_play_window ( int  stream_index)

Definition at line 1873 of file multi_voice.cpp.

void multi_voice_alg_process_data ( int  stream_index)

Definition at line 1967 of file multi_voice.cpp.

void multi_voice_alg_process_streams ( )

Definition at line 1974 of file multi_voice.cpp.

int multi_voice_alg_should_play ( int  stream_index)

Definition at line 1953 of file multi_voice.cpp.

void multi_voice_client_send_pending ( )

Definition at line 1761 of file multi_voice.cpp.

void multi_voice_close ( )

Definition at line 379 of file multi_voice.cpp.

void multi_voice_dcf ( )

Definition at line 484 of file multi_voice.cpp.

void multi_voice_deny_token ( int  player_index)

Definition at line 856 of file multi_voice.cpp.

int multi_voice_find_token ( int  player_index)

Definition at line 756 of file multi_voice.cpp.

void multi_voice_flush_old_stream ( int  stream_index)

Definition at line 1254 of file multi_voice.cpp.

void multi_voice_free_all ( )

Definition at line 1042 of file multi_voice.cpp.

int multi_voice_get_stream ( int  stream_id)

Definition at line 1335 of file multi_voice.cpp.

void multi_voice_give_token ( int  stream_index,
int  player_index 
)

Definition at line 772 of file multi_voice.cpp.

void multi_voice_inc_stream_id ( )

Definition at line 1242 of file multi_voice.cpp.

void multi_voice_init ( )

Definition at line 254 of file multi_voice.cpp.

int multi_voice_keydown ( )

Definition at line 734 of file multi_voice.cpp.

int multi_voice_max_chunk_size ( int  msg_mode)

Definition at line 1443 of file multi_voice.cpp.

void multi_voice_maybe_update_vars ( int  new_qos,
int  new_duration 
)

Definition at line 540 of file multi_voice.cpp.

int multi_voice_mix ( int  post_sound,
char *  data,
int  cur_size,
int  max_size 
)

Definition at line 1402 of file multi_voice.cpp.

void multi_voice_player_process ( )

Definition at line 611 of file multi_voice.cpp.

void multi_voice_player_send_stream ( )

Definition at line 1064 of file multi_voice.cpp.

void multi_voice_process ( )

Definition at line 450 of file multi_voice.cpp.

int multi_voice_process_data ( ubyte data,
int  player_index,
int  msg_mode,
net_player target 
)

Definition at line 1160 of file multi_voice.cpp.

int multi_voice_process_data_dummy ( ubyte data)

Definition at line 1574 of file multi_voice.cpp.

void multi_voice_process_next_chunk ( )

Definition at line 1474 of file multi_voice.cpp.

void multi_voice_process_packet ( ubyte data,
header hinfo 
)

Definition at line 1635 of file multi_voice.cpp.

int multi_voice_process_player_prefs ( ubyte data,
int  player_index 
)

Definition at line 1601 of file multi_voice.cpp.

void multi_voice_process_token_request ( int  player_index)

Definition at line 1012 of file multi_voice.cpp.

void multi_voice_release_token ( )

Definition at line 880 of file multi_voice.cpp.

void multi_voice_request_token ( )

Definition at line 909 of file multi_voice.cpp.

void multi_voice_reset ( )

Definition at line 408 of file multi_voice.cpp.

void multi_voice_route_data ( ubyte data,
int  packet_size,
int  player_index,
int  mode,
net_player target 
)

Definition at line 1279 of file multi_voice.cpp.

void multi_voice_send_dummy_packet ( )

Definition at line 1534 of file multi_voice.cpp.

void multi_voice_server_process ( )

Definition at line 554 of file multi_voice.cpp.

void multi_voice_set_prefs ( int  pref_flags)

Definition at line 929 of file multi_voice.cpp.

void multi_voice_set_vars ( int  qos,
int  duration 
)

Definition at line 967 of file multi_voice.cpp.

int multi_voice_status ( )

Definition at line 502 of file multi_voice.cpp.

int multi_voice_stream_playing ( int  stream_index)

Definition at line 1382 of file multi_voice.cpp.

void multi_voice_take_token ( int  stream_index)

Definition at line 817 of file multi_voice.cpp.

int multi_voice_test_get_playback_buffer ( )

Definition at line 2118 of file multi_voice.cpp.

int multi_voice_test_packet_tossed ( )

Definition at line 2128 of file multi_voice.cpp.

void multi_voice_test_process ( )

Definition at line 2103 of file multi_voice.cpp.

void multi_voice_test_process_next_chunk ( )

Definition at line 2030 of file multi_voice.cpp.

void multi_voice_test_record_start ( )

Definition at line 2068 of file multi_voice.cpp.

void multi_voice_test_record_stop ( )

Definition at line 2089 of file multi_voice.cpp.

int multi_voice_test_recording ( )

Definition at line 2097 of file multi_voice.cpp.

Variable Documentation

int Multi_voice_can_play = 0

Definition at line 42 of file multi_voice.cpp.

int Multi_voice_can_record = 0

Definition at line 41 of file multi_voice.cpp.

int Multi_voice_current_stream_index = 0

Definition at line 139 of file multi_voice.cpp.

int Multi_voice_current_stream_sent = -1

Definition at line 140 of file multi_voice.cpp.

int Multi_voice_denied_stamp = -1

Definition at line 148 of file multi_voice.cpp.

int Multi_voice_inited = 0

Definition at line 40 of file multi_voice.cpp.

int Multi_voice_keydown = 0

Definition at line 134 of file multi_voice.cpp.

int Multi_voice_local_prefs = 0xffffffff

Definition at line 151 of file multi_voice.cpp.

int Multi_voice_max_time

Definition at line 85 of file multi_voice.cpp.

ubyte Multi_voice_next_stream_id = 0

Definition at line 143 of file multi_voice.cpp.

char* Multi_voice_playback_buffer = NULL

Definition at line 87 of file multi_voice.cpp.

int Multi_voice_player_prefs[MAX_PLAYERS]

Definition at line 144 of file multi_voice.cpp.

int Multi_voice_pre_sound_size = 0

Definition at line 62 of file multi_voice.cpp.

int Multi_voice_qos

Definition at line 57 of file multi_voice.cpp.

char* Multi_voice_record_buffer = NULL

Definition at line 86 of file multi_voice.cpp.

int Multi_voice_recording = 0

Definition at line 135 of file multi_voice.cpp.

int Multi_voice_recording_stamp = -1

Definition at line 137 of file multi_voice.cpp.

int Multi_voice_send_mode = MULTI_MSG_NONE

Definition at line 43 of file multi_voice.cpp.

int Multi_voice_stamps[MULTI_VOICE_MAX_STREAMS]

Definition at line 100 of file multi_voice.cpp.

Definition at line 130 of file multi_voice.cpp.

ubyte Multi_voice_stream_id = 0

Definition at line 138 of file multi_voice.cpp.

int Multi_voice_test_packet_tossed = 0

Definition at line 2027 of file multi_voice.cpp.

int Multi_voice_test_record_stamp = -1

Definition at line 2026 of file multi_voice.cpp.

int Multi_voice_token = 0

Definition at line 136 of file multi_voice.cpp.