-/* Copyright (C) 2009, Martin Johansson <martin@fatbob.nu>
- Copyright (C) 2005-2009, Thorvald Natvig <thorvald@natvig.com>
+/* Copyright (C) 2009-2010, Martin Johansson <martin@fatbob.nu>
+ Copyright (C) 2005-2010, Thorvald Natvig <thorvald@natvig.com>
All rights reserved.
#include "timer.h"
#include "pds.h"
-#define BUFSIZE 2048
+#define BUFSIZE 8192
#define UDP_BUFSIZE 512
#define INACTICITY_TIMEOUT 15 /* Seconds */
+#define MAX_CODECS 10
#define IS_AUTH(_a_) ((_a_)->authenticated)
uint32_t rxcount, msgsize, drainleft, txcount, txsize;
int sessionId;
uint64_t key;
- char playerName[MAX_TEXT];
- int playerId;
+ char *username;
bool_t authenticated, deaf, mute;
+ char *os, *release;
+ uint32_t version;
+ int codec_count;
+ struct dlist codecs;
int availableBandwidth;
etimer_t lastActivity;
struct dlist node;
struct dlist txMsgQueue;
int txQueueCount;
- /* Channel */
- void *channel; /*Ugly... */
+ void *channel; /* Ugly... */
+ char *context;
struct dlist chan_node;
+ struct dlist voicetargets;
} client_t;
+typedef struct {
+ int codec, count;
+ struct dlist node;
+} codec_t;
void Client_init();
int Client_getfds(struct pollfd *pollfds);
int Client_read_udp(void);
void Client_disconnect_all();
int Client_voiceMsg(client_t *client, uint8_t *data, int len);
+void recheckCodecVersions();
+void Client_codec_add(client_t *client, int codec);
+void Client_codec_free(client_t *client);
+codec_t *Client_codec_iterate(client_t *client, codec_t **codec_itr);
#endif