TeamTalk 5 C-API DLL: TeamTalk.h Source File

TeamTalk 5 C-API DLL Version 5.8B

TeamTalk.h
Go to the documentation of this file.
1#if !defined(TEAMTALKDLL_H)
2#define TEAMTALKDLL_H
3
4/*
5 * BearWare.dk TeamTalk 5 SDK.
6 *
7 * Copyright 2005-2018, BearWare.dk.
8 *
9 * Read the License.txt file included with the TeamTalk 5 SDK for
10 * terms of use.
11 */
12
19#define TEAMTALK_VERSION "5.8.1.5048"
20
21
22#if defined(WIN32)
23
24#ifdef TEAMTALKDLL_EXPORTS
25#define TEAMTALKDLL_API __declspec(dllexport)
26#else
27#define TEAMTALKDLL_API __declspec(dllimport)
28#endif
29
30#else
31
32#define TEAMTALKDLL_API
33
34#endif
35
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41 /* OS specific types. */
42#if !defined(TEAMTALK_TYPES)
43
44#define TEAMTALK_TYPES 1
45
46#if defined(WIN32)
47 /* If you get a compiler error here you probably forgot to include
48 * <windows.h> before this file. */
49
51 typedef WCHAR TTCHAR;
52 typedef int TTBOOL;
53#else
54 typedef char TTCHAR;
55 typedef int TTBOOL;
56 typedef unsigned short UINT16;
57 typedef int INT32;
58 typedef long long INT64;
59 typedef unsigned int UINT32;
60 typedef void VOID;
61
65#define IN
66#define OUT
67
68#ifndef TRUE
69#define TRUE 1
70#endif
71
72#ifndef FALSE
73#define FALSE 0
74#endif
75
76#endif
77
87#define TT_STRLEN 512
88
91#define TT_USERID_MAX 0xFFF
92
95#define TT_CHANNELID_MAX 0xFFF
96
101#define TT_VIDEOFORMATS_MAX 1024
102
107#define TT_TRANSMITUSERS_MAX 128
108
115#define TT_CLASSROOM_FREEFORALL 0xFFF
116
119#define TT_CLASSROOM_USERID_INDEX 0
120
123#define TT_CLASSROOM_STREAMTYPE_INDEX 1
124
128#define TT_TRANSMITUSERS_FREEFORALL 0xFFF
129
133#define TT_TRANSMITUSERS_USERID_INDEX 0
134
138#define TT_TRANSMITUSERS_STREAMTYPE_INDEX 1
139
145#define TT_CHANNELS_OPERATOR_MAX 16
146
151#define TT_TRANSMITQUEUE_MAX 16
152
155#define TT_SAMPLERATES_MAX 16
156
162#define TT_DESKTOPINPUT_MAX 16
163
171#define TT_DESKTOPINPUT_KEYCODE_IGNORE 0xFFFFFFFF
172
179#define TT_DESKTOPINPUT_MOUSEPOS_IGNORE 0xFFFF
180
187#define TT_DESKTOPINPUT_KEYCODE_LMOUSEBTN 0x1000
188
195#define TT_DESKTOPINPUT_KEYCODE_RMOUSEBTN 0x1001
196
203#define TT_DESKTOPINPUT_KEYCODE_MMOUSEBTN 0x1002
204
212#define TT_MEDIAPLAYBACK_OFFSET_IGNORE 0xFFFFFFFF
213
214#endif /* TEAMTALK_TYPES */
215
221 typedef enum StreamType
222 {
224 STREAMTYPE_NONE = 0x00000000,
227 STREAMTYPE_VOICE = 0x00000001,
230 STREAMTYPE_VIDEOCAPTURE = 0x00000002,
233 STREAMTYPE_MEDIAFILE_AUDIO = 0x00000004,
236 STREAMTYPE_MEDIAFILE_VIDEO = 0x00000008,
239 STREAMTYPE_DESKTOP = 0x00000010,
243 STREAMTYPE_DESKTOPINPUT = 0x00000020,
245 STREAMTYPE_MEDIAFILE = STREAMTYPE_MEDIAFILE_AUDIO |
246 STREAMTYPE_MEDIAFILE_VIDEO,
255 STREAMTYPE_CHANNELMSG = 0x00000040,
261 STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO = 0x00000080,
262
265 STREAMTYPE_CLASSROOM_ALL = STREAMTYPE_VOICE |
266 STREAMTYPE_VIDEOCAPTURE |
267 STREAMTYPE_DESKTOP |
268 STREAMTYPE_MEDIAFILE |
269 STREAMTYPE_CHANNELMSG,
270 } StreamType;
271
273 typedef UINT32 StreamTypes;
274
287 typedef enum SoundSystem
288 {
290 SOUNDSYSTEM_NONE = 0,
292 SOUNDSYSTEM_WINMM = 1,
294 SOUNDSYSTEM_DSOUND = 2,
302 SOUNDSYSTEM_ALSA = 3,
304 SOUNDSYSTEM_COREAUDIO = 4,
315 SOUNDSYSTEM_WASAPI = 5,
322 SOUNDSYSTEM_OPENSLES_ANDROID = 7,
342 SOUNDSYSTEM_AUDIOUNIT = 8,
344 SOUNDSYSTEM_AUDIOUNIT_IOS = SOUNDSYSTEM_AUDIOUNIT,
345 } SoundSystem;
346
351 typedef enum SoundDeviceFeature
352 {
355 SOUNDDEVICEFEATURE_NONE = 0x0000,
361 SOUNDDEVICEFEATURE_AEC = 0x0001,
367 SOUNDDEVICEFEATURE_AGC = 0x0002,
372 SOUNDDEVICEFEATURE_DENOISE = 0x0004,
375 SOUNDDEVICEFEATURE_3DPOSITION = 0x0008,
378 SOUNDDEVICEFEATURE_DUPLEXMODE = 0x0010,
381 SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE = 0x0020,
382 } SoundDeviceFeature;
383
386 typedef UINT32 SoundDeviceFeatures;
387
400 typedef struct SoundDevice
401 {
407 INT32 nDeviceID;
409 SoundSystem nSoundSystem;
411 TTCHAR szDeviceName[TT_STRLEN];
416 TTCHAR szDeviceID[TT_STRLEN];
433 INT32 nWaveDeviceID;
436 TTBOOL bSupports3D;
438 INT32 nMaxInputChannels;
440 INT32 nMaxOutputChannels;
444 INT32 inputSampleRates[TT_SAMPLERATES_MAX];
448 INT32 outputSampleRates[TT_SAMPLERATES_MAX];
450 INT32 nDefaultSampleRate;
456 SoundDeviceFeatures uSoundDeviceFeatures;
457 } SoundDevice;
458
467 typedef struct SoundDeviceEffects
468 {
484 TTBOOL bEnableAGC;
501 TTBOOL bEnableDenoise;
517 TTBOOL bEnableEchoCancellation;
518 } SoundDeviceEffects;
519
534#define TT_SOUNDDEVICE_ID_SHARED_FLAG 0x00000800
535
540#define TT_SOUNDDEVICE_ID_MASK 0x000007FF
541
544#define TT_SOUNDDEVICE_ID_REMOTEIO 0
545
552#define TT_SOUNDDEVICE_ID_VOICEPREPROCESSINGIO (1 | TT_SOUNDDEVICE_ID_SHARED_FLAG)
553
556#define TT_SOUNDDEVICE_ID_OPENSLES_DEFAULT 0
557
562#define TT_SOUNDDEVICE_ID_OPENSLES_VOICECOM 1
563
572#define TT_SOUNDDEVICE_ID_TEAMTALK_VIRTUAL 1978
573
577 typedef enum SoundLevel
578 {
584 SOUND_VU_MAX = 100,
590 SOUND_VU_MIN = 0,
598 SOUND_VOLUME_MAX = 32000,
606 SOUND_VOLUME_DEFAULT = 1000,
612 SOUND_VOLUME_MIN = 0,
621 SOUND_GAIN_MAX = 32000,
631 SOUND_GAIN_DEFAULT = 1000,
640 SOUND_GAIN_MIN = 0
641 } SoundLevel;
642
657 typedef struct AudioBlock
658 {
662 INT32 nStreamID;
664 INT32 nSampleRate;
666 INT32 nChannels;
670 VOID* lpRawAudio;
672 INT32 nSamples;
680 UINT32 uSampleIndex;
693 StreamTypes uStreamTypes;
694 } AudioBlock;
695
709#define TT_LOCAL_USERID 0
710
718#define TT_LOCAL_TX_USERID 0x1002
719
726#define TT_MUXED_USERID 0x1001 /* TT_USERID_MAX + 2 */
727
736 typedef enum MediaFileStatus
737 {
738 MFS_CLOSED = 0,
740 MFS_ERROR = 1,
742 MFS_STARTED = 2,
744 MFS_FINISHED = 3,
746 MFS_ABORTED = 4,
748 MFS_PAUSED = 5,
751 MFS_PLAYING = 6
752 } MediaFileStatus;
753
757 typedef enum AudioFileFormat
758 {
760 AFF_NONE = 0,
771 AFF_CHANNELCODEC_FORMAT = 1,
773 AFF_WAVE_FORMAT = 2,
775 AFF_MP3_16KBIT_FORMAT = 3,
777 AFF_MP3_32KBIT_FORMAT = 4,
779 AFF_MP3_64KBIT_FORMAT = 5,
781 AFF_MP3_128KBIT_FORMAT = 6,
783 AFF_MP3_256KBIT_FORMAT = 7,
784 } AudioFileFormat;
785
793 typedef struct AudioFormat
794 {
796 AudioFileFormat nAudioFmt;
798 INT32 nSampleRate;
800 INT32 nChannels;
801 } AudioFormat;
802
813 typedef enum FourCC
814 {
816 FOURCC_NONE = 0,
819 FOURCC_I420 = 100,
822 FOURCC_YUY2 = 101,
825 FOURCC_RGB32 = 102
826 } FourCC;
827
834 typedef struct VideoFormat
835 {
838 INT32 nWidth;
841 INT32 nHeight;
845 INT32 nFPS_Numerator;
849 INT32 nFPS_Denominator;
851 FourCC picFourCC;
852 } VideoFormat;
853
861 typedef struct VideoFrame
862 {
865 INT32 nWidth;
868 INT32 nHeight;
874 INT32 nStreamID;
879 TTBOOL bKeyFrame;
881 VOID* frameBuffer;
884 INT32 nFrameBufferSize;
885 } VideoFrame;
886
896 typedef struct VideoCaptureDevice
897 {
899 TTCHAR szDeviceID[TT_STRLEN];
901 TTCHAR szDeviceName[TT_STRLEN];
914 TTCHAR szCaptureAPI[TT_STRLEN];
916 VideoFormat videoFormats[TT_VIDEOFORMATS_MAX];
919 INT32 nVideoFormatsCount;
920 } VideoCaptureDevice;
921
929 typedef enum BitmapFormat
930 {
932 BMP_NONE = 0,
938 BMP_RGB8_PALETTE = 1,
941 BMP_RGB16_555 = 2,
945 BMP_RGB24 = 3,
949 BMP_RGB32 = 4
950 } BitmapFormat;
951
956 typedef enum DesktopProtocol
957 {
960 DESKTOPPROTOCOL_ZLIB_1 = 1
961 } DesktopProtocol;
962
969 typedef struct DesktopWindow
970 {
972 INT32 nWidth;
974 INT32 nHeight;
976 BitmapFormat bmpFormat;
979 INT32 nBytesPerLine;
986 INT32 nSessionID;
988 DesktopProtocol nProtocol;
990 VOID* frameBuffer;
993 INT32 nFrameBufferSize;
994 } DesktopWindow;
995
999 typedef enum DesktopKeyState
1000 {
1002 DESKTOPKEYSTATE_NONE = 0x00000000,
1004 DESKTOPKEYSTATE_DOWN = 0x00000001,
1006 DESKTOPKEYSTATE_UP = 0x00000002,
1007 } DesktopKeyState;
1008
1010 typedef UINT32 DesktopKeyStates;
1011
1019 typedef struct DesktopInput
1020 {
1024 UINT16 uMousePosX;
1028 UINT16 uMousePosY;
1034 UINT32 uKeyCode;
1037 DesktopKeyStates uKeyState;
1038 } DesktopInput;
1039
1051 typedef struct SpeexCodec
1052 {
1055 INT32 nBandmode;
1058 INT32 nQuality;
1068 INT32 nTxIntervalMSec;
1074 TTBOOL bStereoPlayback;
1075 } SpeexCodec;
1076
1081 typedef struct SpeexVBRCodec
1082 {
1085 INT32 nBandmode;
1088 INT32 nQuality;
1097 INT32 nBitRate;
1101 INT32 nMaxBitRate;
1105 TTBOOL bDTX;
1114 INT32 nTxIntervalMSec;
1120 TTBOOL bStereoPlayback;
1121 } SpeexVBRCodec;
1122
1125#define SPEEX_NB_MIN_BITRATE 2150
1128#define SPEEX_NB_MAX_BITRATE 24600
1131#define SPEEX_WB_MIN_BITRATE 3950
1134#define SPEEX_WB_MAX_BITRATE 42200
1137#define SPEEX_UWB_MIN_BITRATE 4150
1140#define SPEEX_UWB_MAX_BITRATE 44000
1141
1144 typedef struct OpusCodec
1145 {
1148 INT32 nSampleRate;
1150 INT32 nChannels;
1154 INT32 nApplication;
1157 INT32 nComplexity;
1160 TTBOOL bFEC;
1163 TTBOOL bDTX;
1166 INT32 nBitRate;
1168 TTBOOL bVBR;
1171 TTBOOL bVBRConstraint;
1178 INT32 nTxIntervalMSec;
1182 INT32 nFrameSizeMSec;
1183 } OpusCodec;
1184
1187#define OPUS_APPLICATION_VOIP 2048
1190#define OPUS_APPLICATION_AUDIO 2049
1193#define OPUS_MIN_BITRATE 6000
1196#define OPUS_MAX_BITRATE 510000
1199#define OPUS_MIN_FRAMESIZE 2 /* Actually it's 2.5 */
1202#define OPUS_MAX_FRAMESIZE 60
1206#define OPUS_REALMAX_FRAMESIZE 120
1207
1227 typedef struct SpeexDSP
1228 {
1236 TTBOOL bEnableAGC;
1239 INT32 nGainLevel;
1243 INT32 nMaxIncDBSec;
1248 INT32 nMaxDecDBSec;
1252 INT32 nMaxGainDB;
1255 TTBOOL bEnableDenoise;
1259 INT32 nMaxNoiseSuppressDB;
1274 TTBOOL bEnableEchoCancellation;
1278 INT32 nEchoSuppress;
1282 INT32 nEchoSuppressActive;
1283 } SpeexDSP;
1284
1287 typedef struct TTAudioPreprocessor
1288 {
1292 INT32 nGainLevel;
1294 TTBOOL bMuteLeftSpeaker;
1296 TTBOOL bMuteRightSpeaker;
1297 } TTAudioPreprocessor;
1298
1311 typedef struct WebRTCAudioPreprocessor
1312 {
1314 struct
1315 {
1318 TTBOOL bEnable;
1320 float fFixedGainFactor;
1321 } preamplifier;
1324 struct
1325 {
1331 TTBOOL bEnable;
1332 } echocanceller;
1335 struct
1336 {
1338 TTBOOL bEnable;
1341 INT32 nLevel;
1342 } noisesuppression;
1344 struct
1345 {
1355 TTBOOL bEnable;
1356 } voicedetection;
1359 struct
1360 {
1363 TTBOOL bEnable;
1366 struct
1367 {
1370 float fGainDB;
1371 } fixeddigital;
1373 struct
1374 {
1375 /* @brief Enable saturation protector where saturation
1376 * margin is 2 dB. */
1377 TTBOOL bEnable;
1378 /* Range: 0 <= x <= 100. Default: 20 dB */
1379 float fInitialSaturationMarginDB;
1380 /* Range: 0 <= x <= 100. Default: 2 dB */
1381 float fExtraSaturationMarginDB;
1382 /* Range: 0 < x < infinite. Default: 3 dB/sec */
1383 float fMaxGainChangeDBPerSecond;
1384 /* Range: -infinite < x < 0. Default: -50 */
1385 float fMaxOutputNoiseLevelDBFS;
1386 } adaptivedigital;
1387 } gaincontroller2;
1389 struct
1390 {
1396 TTBOOL bEnable;
1397 } levelestimation;
1398 } WebRTCAudioPreprocessor;
1399
1401#define WEBRTC_GAINCONTROLLER2_FIXEDGAIN_MAX 49.9f
1402
1406 typedef enum AudioPreprocessorType
1407 {
1410 NO_AUDIOPREPROCESSOR = 0,
1412 SPEEXDSP_AUDIOPREPROCESSOR = 1,
1414 TEAMTALK_AUDIOPREPROCESSOR = 2,
1417 WEBRTC_AUDIOPREPROCESSOR = 3,
1418 } AudioPreprocessorType;
1419
1421 typedef struct AudioPreprocessor
1422 {
1424 AudioPreprocessorType nPreprocessor;
1425 union
1426 {
1428 SpeexDSP speexdsp;
1430 TTAudioPreprocessor ttpreprocessor;
1432 WebRTCAudioPreprocessor webrtc;
1433 };
1434 } AudioPreprocessor;
1435
1440 typedef struct WebMVP8Codec
1441 {
1442 union
1443 {
1445 INT32 nRcTargetBitrate;
1451 UINT32 rc_target_bitrate;
1452 };
1460 UINT32 nEncodeDeadline;
1461 } WebMVP8Codec;
1462
1465#define WEBM_VPX_DL_REALTIME 1
1468#define WEBM_VPX_DL_GOOD_QUALITY 1000000
1471#define WEBM_VPX_DL_BEST_QUALITY 0
1472
1476 typedef enum Codec
1477 {
1479 NO_CODEC = 0,
1482 SPEEX_CODEC = 1,
1485 SPEEX_VBR_CODEC = 2,
1487 OPUS_CODEC = 3,
1489 WEBM_VP8_CODEC = 128,
1490 } Codec;
1491
1494 typedef struct AudioCodec
1495 {
1498 Codec nCodec;
1499 union
1500 {
1503 SpeexCodec speex;
1506 SpeexVBRCodec speex_vbr;
1509 OpusCodec opus;
1510 };
1511 } AudioCodec;
1512
1526 typedef struct AudioConfig
1527 {
1529 TTBOOL bEnableAGC;
1531 INT32 nGainLevel;
1532 } AudioConfig;
1533
1535 typedef struct VideoCodec
1536 {
1540 Codec nCodec;
1541 union
1542 {
1543 WebMVP8Codec webm_vp8;
1544 };
1545 } VideoCodec;
1556 typedef struct MediaFileInfo
1557 {
1560 MediaFileStatus nStatus;
1562 TTCHAR szFileName[TT_STRLEN];
1564 AudioFormat audioFmt;
1566 VideoFormat videoFmt;
1568 UINT32 uDurationMSec;
1570 UINT32 uElapsedMSec;
1571 } MediaFileInfo;
1572
1581 typedef struct MediaFilePlayback
1582 {
1588 UINT32 uOffsetMSec;
1590 TTBOOL bPaused;
1592 AudioPreprocessor audioPreprocessor;
1593 } MediaFilePlayback;
1594
1597 typedef struct AudioInputProgress
1598 {
1600 INT32 nStreamID;
1603 UINT32 uQueueMSec;
1606 UINT32 uElapsedMSec;
1607 } AudioInputProgress;
1608
1624 typedef enum UserRight
1625 {
1628 USERRIGHT_NONE = 0x00000000,
1631 USERRIGHT_MULTI_LOGIN = 0x00000001,
1633 USERRIGHT_VIEW_ALL_USERS = 0x00000002,
1637 USERRIGHT_CREATE_TEMPORARY_CHANNEL = 0x00000004,
1641 USERRIGHT_MODIFY_CHANNELS = 0x00000008,
1644 USERRIGHT_TEXTMESSAGE_BROADCAST = 0x00000010,
1646 USERRIGHT_KICK_USERS = 0x00000020,
1649 USERRIGHT_BAN_USERS = 0x00000040,
1652 USERRIGHT_MOVE_USERS = 0x00000080,
1655 USERRIGHT_OPERATOR_ENABLE = 0x00000100,
1657 USERRIGHT_UPLOAD_FILES = 0x00000200,
1660 USERRIGHT_DOWNLOAD_FILES = 0x00000400,
1663 USERRIGHT_UPDATE_SERVERPROPERTIES = 0x00000800,
1666 USERRIGHT_TRANSMIT_VOICE = 0x00001000,
1669 USERRIGHT_TRANSMIT_VIDEOCAPTURE = 0x00002000,
1672 USERRIGHT_TRANSMIT_DESKTOP = 0x00004000,
1675 USERRIGHT_TRANSMIT_DESKTOPINPUT = 0x00008000,
1678 USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO = 0x00010000,
1681 USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO = 0x00020000,
1684 USERRIGHT_TRANSMIT_MEDIAFILE = USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO | USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO,
1691 USERRIGHT_LOCKED_NICKNAME = 0x00040000,
1694 USERRIGHT_LOCKED_STATUS = 0x00080000,
1697 USERRIGHT_RECORD_VOICE = 0x00100000,
1699 USERRIGHT_VIEW_HIDDEN_CHANNELS = 0x00200000
1700 } UserRight;
1701
1706 typedef UINT32 UserRights;
1707
1719 typedef struct ServerProperties
1720 {
1722 TTCHAR szServerName[TT_STRLEN];
1725 TTCHAR szMOTD[TT_STRLEN];
1734 TTCHAR szMOTDRaw[TT_STRLEN];
1737 INT32 nMaxUsers;
1740 INT32 nMaxLoginAttempts;
1743 INT32 nMaxLoginsPerIPAddress;
1747 INT32 nMaxVoiceTxPerSecond;
1752 INT32 nMaxVideoCaptureTxPerSecond;
1756 INT32 nMaxMediaFileTxPerSecond;
1760 INT32 nMaxDesktopTxPerSecond;
1764 INT32 nMaxTotalTxPerSecond;
1766 TTBOOL bAutoSave;
1768 INT32 nTcpPort;
1770 INT32 nUdpPort;
1773 INT32 nUserTimeout;
1775 TTCHAR szServerVersion[TT_STRLEN];
1778 TTCHAR szServerProtocolVersion[TT_STRLEN];
1787 INT32 nLoginDelayMSec;
1795 TTCHAR szAccessToken[TT_STRLEN];
1796 } ServerProperties;
1797
1803 typedef struct ServerStatistics
1804 {
1807 INT64 nTotalBytesTX;
1810 INT64 nTotalBytesRX;
1813 INT64 nVoiceBytesTX;
1816 INT64 nVoiceBytesRX;
1819 INT64 nVideoCaptureBytesTX;
1822 INT64 nVideoCaptureBytesRX;
1825 INT64 nMediaFileBytesTX;
1828 INT64 nMediaFileBytesRX;
1831 INT64 nDesktopBytesTX;
1834 INT64 nDesktopBytesRX;
1836 INT32 nUsersServed;
1838 INT32 nUsersPeak;
1841 INT64 nFilesTx;
1844 INT64 nFilesRx;
1846 INT64 nUptimeMSec;
1847 } ServerStatistics;
1848
1854 typedef enum BanType
1855 {
1857 BANTYPE_NONE = 0x00,
1861 BANTYPE_CHANNEL = 0x01,
1863 BANTYPE_IPADDR = 0x02,
1865 BANTYPE_USERNAME = 0x04
1866 } BanType;
1867
1869 typedef UINT32 BanTypes;
1870
1875 typedef struct BannedUser
1876 {
1878 TTCHAR szIPAddress[TT_STRLEN];
1880 TTCHAR szChannelPath[TT_STRLEN];
1883 TTCHAR szBanTime[TT_STRLEN];
1885 TTCHAR szNickname[TT_STRLEN];
1887 TTCHAR szUsername[TT_STRLEN];
1889 BanTypes uBanTypes;
1890 } BannedUser;
1891
1895 typedef enum UserType
1896 {
1899 USERTYPE_NONE = 0x0,
1901 USERTYPE_DEFAULT = 0x01,
1903 USERTYPE_ADMIN = 0x02
1904 } UserType;
1905
1909 typedef UINT32 UserTypes;
1910
1919 typedef struct AbusePrevention
1920 {
1930 INT32 nCommandsLimit;
1932 INT32 nCommandsIntervalMSec;
1933 } AbusePrevention;
1934
1943 typedef struct UserAccount
1944 {
1946 TTCHAR szUsername[TT_STRLEN];
1948 TTCHAR szPassword[TT_STRLEN];
1950 UserTypes uUserType;
1954 UserRights uUserRights;
1958 INT32 nUserData;
1960 TTCHAR szNote[TT_STRLEN];
1965 TTCHAR szInitChannel[TT_STRLEN];
1969 INT32 autoOperatorChannels[TT_CHANNELS_OPERATOR_MAX];
1973 INT32 nAudioCodecBpsLimit;
1978 AbusePrevention abusePrevent;
1981 TTCHAR szLastModified[TT_STRLEN];
1982 } UserAccount;
2006 typedef enum Subscription
2007 {
2009 SUBSCRIBE_NONE = 0x00000000,
2012 SUBSCRIBE_USER_MSG = 0x00000001,
2015 SUBSCRIBE_CHANNEL_MSG = 0x00000002,
2018 SUBSCRIBE_BROADCAST_MSG = 0x00000004,
2021 SUBSCRIBE_CUSTOM_MSG = 0x00000008,
2023 SUBSCRIBE_VOICE = 0x00000010,
2025 SUBSCRIBE_VIDEOCAPTURE = 0x00000020,
2027 SUBSCRIBE_DESKTOP = 0x00000040,
2031 SUBSCRIBE_DESKTOPINPUT = 0x00000080,
2034 SUBSCRIBE_MEDIAFILE = 0x00000100,
2037 SUBSCRIBE_INTERCEPT_USER_MSG = 0x00010000,
2040 SUBSCRIBE_INTERCEPT_CHANNEL_MSG = 0x00020000,
2041 /* unused SUBSCRIBE_INTERCEPT_BROADCAST_MSG = 0x00040000 */
2044 SUBSCRIBE_INTERCEPT_CUSTOM_MSG = 0x00080000,
2049 SUBSCRIBE_INTERCEPT_VOICE = 0x00100000,
2054 SUBSCRIBE_INTERCEPT_VIDEOCAPTURE = 0x00200000,
2059 SUBSCRIBE_INTERCEPT_DESKTOP = 0x00400000,
2060 /* unused SUBSCRIBE_INTERCEPT_DESKTOPINPUT = 0x00800000, */
2065 SUBSCRIBE_INTERCEPT_MEDIAFILE = 0x01000000,
2066 } Subscription;
2067
2072 typedef UINT32 Subscriptions;
2073
2076 typedef enum UserState
2077 {
2079 USERSTATE_NONE = 0x0000000,
2083 USERSTATE_VOICE = 0x00000001,
2085 USERSTATE_MUTE_VOICE = 0x00000002,
2088 USERSTATE_MUTE_MEDIAFILE = 0x00000004,
2093 USERSTATE_DESKTOP = 0x00000008,
2098 USERSTATE_VIDEOCAPTURE = 0x00000010,
2104 USERSTATE_MEDIAFILE_AUDIO = 0x00000020,
2108 USERSTATE_MEDIAFILE_VIDEO = 0x00000040,
2112 USERSTATE_MEDIAFILE = USERSTATE_MEDIAFILE_AUDIO |
2113 USERSTATE_MEDIAFILE_VIDEO
2114 } UserState;
2115
2118 typedef UINT32 UserStates;
2119
2124 typedef struct User
2125 {
2129 INT32 nUserID;
2134 TTCHAR szUsername[TT_STRLEN];
2139 INT32 nUserData;
2143 UserTypes uUserType;
2145 TTCHAR szIPAddress[TT_STRLEN];
2151 UINT32 uVersion;
2157 INT32 nChannelID;
2163 Subscriptions uLocalSubscriptions;
2169 Subscriptions uPeerSubscriptions;
2174 TTCHAR szNickname[TT_STRLEN];
2179 INT32 nStatusMode;
2184 TTCHAR szStatusMsg[TT_STRLEN];
2187 UserStates uUserState;
2190 TTCHAR szMediaStorageDir[TT_STRLEN];
2196 INT32 nVolumeVoice;
2202 INT32 nVolumeMediaFile;
2206 INT32 nStoppedDelayVoice;
2210 INT32 nStoppedDelayMediaFile;
2215 float soundPositionVoice[3];
2220 float soundPositionMediaFile[3];
2225 TTBOOL stereoPlaybackVoice[2];
2230 TTBOOL stereoPlaybackMediaFile[2];
2234 INT32 nBufferMSecVoice;
2238 INT32 nBufferMSecMediaFile;
2242 INT32 nActiveAdaptiveDelayMSec;
2246 TTCHAR szClientName[TT_STRLEN];
2247 } User;
2248
2253 typedef struct UserStatistics
2254 {
2256 INT64 nVoicePacketsRecv;
2258 INT64 nVoicePacketsLost;
2261 INT64 nVideoCapturePacketsRecv;
2263 INT64 nVideoCaptureFramesRecv;
2266 INT64 nVideoCaptureFramesLost;
2269 INT64 nVideoCaptureFramesDropped;
2271 INT64 nMediaFileAudioPacketsRecv;
2273 INT64 nMediaFileAudioPacketsLost;
2276 INT64 nMediaFileVideoPacketsRecv;
2278 INT64 nMediaFileVideoFramesRecv;
2281 INT64 nMediaFileVideoFramesLost;
2284 INT64 nMediaFileVideoFramesDropped;
2285 } UserStatistics;
2286
2295 typedef enum TextMsgType
2296 {
2299 MSGTYPE_USER = 1,
2304 MSGTYPE_CHANNEL = 2,
2307 MSGTYPE_BROADCAST = 3,
2310 MSGTYPE_CUSTOM = 4
2311 } TextMsgType;
2312
2319 typedef struct TextMessage
2320 {
2322 TextMsgType nMsgType;
2324 INT32 nFromUserID;
2326 TTCHAR szFromUsername[TT_STRLEN];
2328 INT32 nToUserID;
2331 INT32 nChannelID;
2334 TTCHAR szMessage[TT_STRLEN];
2335 } TextMessage;
2343 typedef enum ChannelType
2344 {
2347 CHANNEL_DEFAULT = 0x0000,
2350 CHANNEL_PERMANENT = 0x0001,
2352 CHANNEL_SOLO_TRANSMIT = 0x0002,
2363 CHANNEL_CLASSROOM = 0x0004,
2368 CHANNEL_OPERATOR_RECVONLY = 0x0008,
2371 CHANNEL_NO_VOICEACTIVATION = 0x0010,
2373 CHANNEL_NO_RECORDING = 0x0020,
2376 CHANNEL_HIDDEN = 0x0040
2377 } ChannelType;
2378
2381 typedef UINT32 ChannelTypes;
2382
2393 typedef struct Channel
2394 {
2397 INT32 nParentID;
2399 INT32 nChannelID;
2401 TTCHAR szName[TT_STRLEN];
2403 TTCHAR szTopic[TT_STRLEN];
2407 TTCHAR szPassword[TT_STRLEN];
2410 TTBOOL bPassword;
2412 ChannelTypes uChannelType;
2416 INT32 nUserData;
2418 INT64 nDiskQuota;
2421 TTCHAR szOpPassword[TT_STRLEN];
2423 INT32 nMaxUsers;
2425 AudioCodec audiocodec;
2428 AudioConfig audiocfg;
2484 INT32 transmitUsers[TT_TRANSMITUSERS_MAX][2];
2489 INT32 transmitUsersQueue[TT_TRANSMITQUEUE_MAX];
2490 } Channel;
2491
2492
2494 typedef enum FileTransferStatus
2495 {
2497 FILETRANSFER_CLOSED = 0,
2499 FILETRANSFER_ERROR = 1,
2501 FILETRANSFER_ACTIVE = 2,
2503 FILETRANSFER_FINISHED = 3
2504 } FileTransferStatus;
2505
2509 typedef struct FileTransfer
2510 {
2512 FileTransferStatus nStatus;
2514 INT32 nTransferID;
2516 INT32 nChannelID;
2518 TTCHAR szLocalFilePath[TT_STRLEN];
2520 TTCHAR szRemoteFileName[TT_STRLEN];
2522 INT64 nFileSize;
2524 INT64 nTransferred;
2526 TTBOOL bInbound;
2527 } FileTransfer;
2528
2529
2533 typedef struct RemoteFile
2534 {
2536 INT32 nChannelID;
2538 INT32 nFileID;
2540 TTCHAR szFileName[TT_STRLEN];
2542 INT64 nFileSize;
2544 TTCHAR szUsername[TT_STRLEN];
2547 TTCHAR szUploadTime[TT_STRLEN];
2548 } RemoteFile;
2559 typedef struct EncryptionContext
2560 {
2566 TTCHAR szCertificateFile[TT_STRLEN];
2568 TTCHAR szPrivateKeyFile[TT_STRLEN];
2573 TTCHAR szCAFile[TT_STRLEN];
2576 TTCHAR szCADir[TT_STRLEN];
2583 TTBOOL bVerifyPeer;
2594 TTBOOL bVerifyClientOnce;
2602 INT32 nVerifyDepth;
2603 } EncryptionContext;
2604
2611 typedef struct ClientKeepAlive
2612 {
2623 INT32 nConnectionLostMSec;
2627 INT32 nTcpKeepAliveIntervalMSec;
2633 INT32 nUdpKeepAliveIntervalMSec;
2639 INT32 nUdpKeepAliveRTXMSec;
2646 INT32 nUdpConnectRTXMSec;
2654 INT32 nUdpConnectTimeoutMSec;
2655 } ClientKeepAlive;
2656
2661 typedef struct ClientStatistics
2662 {
2664 INT64 nUdpBytesSent;
2666 INT64 nUdpBytesRecv;
2668 INT64 nVoiceBytesSent;
2670 INT64 nVoiceBytesRecv;
2672 INT64 nVideoCaptureBytesSent;
2674 INT64 nVideoCaptureBytesRecv;
2676 INT64 nMediaFileAudioBytesSent;
2678 INT64 nMediaFileAudioBytesRecv;
2680 INT64 nMediaFileVideoBytesSent;
2682 INT64 nMediaFileVideoBytesRecv;
2684 INT64 nDesktopBytesSent;
2686 INT64 nDesktopBytesRecv;
2690 INT32 nUdpPingTimeMs;
2694 INT32 nTcpPingTimeMs;
2697 INT32 nTcpServerSilenceSec;
2700 INT32 nUdpServerSilenceSec;
2712 INT32 nSoundInputDeviceDelayMSec;
2713 } ClientStatistics;
2714
2720 typedef struct JitterConfig
2721 {
2723 INT32 nFixedDelayMSec;
2725 TTBOOL bUseAdativeDejitter;
2728 INT32 nMaxAdaptiveDelayMSec;
2735 INT32 nActiveAdaptiveDelayMSec;
2736 } JitterConfig;
2737
2747 typedef enum ClientError
2748 {
2750 CMDERR_SUCCESS = 0,
2751
2752 /* COMMAND ERRORS 1000-1999 ARE DUE TO INVALID OR UNSUPPORTED
2753 * COMMANDS */
2754
2756 CMDERR_SYNTAX_ERROR = 1000,
2761 CMDERR_UNKNOWN_COMMAND = 1001,
2764 CMDERR_MISSING_PARAMETER = 1002,
2767 CMDERR_INCOMPATIBLE_PROTOCOLS = 1003,
2772 CMDERR_UNKNOWN_AUDIOCODEC = 1004,
2775 CMDERR_INVALID_USERNAME = 1005,
2776
2777 /* COMMAND ERRORS 2000-2999 ARE DUE TO INSUFFICIENT RIGHTS */
2778
2784 CMDERR_INCORRECT_CHANNEL_PASSWORD = 2001,
2790 CMDERR_INVALID_ACCOUNT = 2002,
2796 CMDERR_MAX_SERVER_USERS_EXCEEDED = 2003,
2802 CMDERR_MAX_CHANNEL_USERS_EXCEEDED = 2004,
2807 CMDERR_SERVER_BANNED = 2005,
2839 CMDERR_NOT_AUTHORIZED = 2006,
2846 CMDERR_MAX_DISKUSAGE_EXCEEDED = 2008,
2852 CMDERR_INCORRECT_OP_PASSWORD = 2010,
2853
2858 CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED = 2011,
2859
2865 CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED = 2012,
2866
2869 CMDERR_MAX_CHANNELS_EXCEEDED = 2013,
2870
2875 CMDERR_COMMAND_FLOOD = 2014,
2876
2882 CMDERR_CHANNEL_BANNED = 2015,
2883
2884 /* COMMAND ERRORS 3000-3999 ARE DUE TO INVALID STATE OF CLIENT INSTANCE */
2885
2891 CMDERR_NOT_LOGGEDIN = 3000,
2892
2896 CMDERR_ALREADY_LOGGEDIN = 3001,
2900 CMDERR_NOT_IN_CHANNEL = 3002,
2905 CMDERR_ALREADY_IN_CHANNEL = 3003,
2909 CMDERR_CHANNEL_ALREADY_EXISTS = 3004,
2927 CMDERR_CHANNEL_NOT_FOUND = 3005,
2938 CMDERR_USER_NOT_FOUND = 3006,
2943 CMDERR_BAN_NOT_FOUND = 3007,
2948 CMDERR_FILETRANSFER_NOT_FOUND = 3008,
2953 CMDERR_OPENFILE_FAILED = 3009,
2958 CMDERR_ACCOUNT_NOT_FOUND = 3010,
2963 CMDERR_FILE_NOT_FOUND = 3011,
2968 CMDERR_FILE_ALREADY_EXISTS = 3012,
2973 CMDERR_FILESHARING_DISABLED = 3013,
2978 CMDERR_CHANNEL_HAS_USERS = 3015,
2979
2983 CMDERR_LOGINSERVICE_UNAVAILABLE = 3016,
2984
2989 CMDERR_CHANNEL_CANNOT_BE_HIDDEN = 3017,
2990
2991 /* ERRORS 10000-10999 ARE NOT COMMAND ERRORS BUT INSTEAD
2992 * ERRORS IN THE CLIENT INSTANCE. */
2993
3001 INTERR_SNDINPUT_FAILURE = 10000,
3010 INTERR_SNDOUTPUT_FAILURE = 10001,
3014 INTERR_AUDIOCODEC_INIT_FAILED = 10002,
3016 INTERR_SPEEXDSP_INIT_FAILED = 10003,
3024 INTERR_AUDIOPREPROCESSOR_INIT_FAILED = 10003,
3032 INTERR_TTMESSAGE_QUEUE_OVERFLOW = 10004,
3039 INTERR_SNDEFFECT_FAILURE = 10005,
3040 } ClientError;
3041
3043 typedef struct ClientErrorMsg
3044 {
3046 INT32 nErrorNo;
3048 TTCHAR szErrorMsg[TT_STRLEN];
3049 } ClientErrorMsg;
3059 typedef enum ClientEvent
3060 {
3061 CLIENTEVENT_NONE = 0,
3062
3074 CLIENTEVENT_CON_SUCCESS = CLIENTEVENT_NONE + 10,
3084 CLIENTEVENT_CON_FAILED = CLIENTEVENT_NONE + 20,
3100 CLIENTEVENT_CON_LOST = CLIENTEVENT_NONE + 30,
3111 CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED = CLIENTEVENT_NONE + 40,
3125 CLIENTEVENT_CMD_PROCESSING = CLIENTEVENT_NONE + 200,
3139 CLIENTEVENT_CMD_ERROR = CLIENTEVENT_NONE + 210,
3151 CLIENTEVENT_CMD_SUCCESS = CLIENTEVENT_NONE + 220,
3169 CLIENTEVENT_CMD_MYSELF_LOGGEDIN = CLIENTEVENT_NONE + 230,
3178 CLIENTEVENT_CMD_MYSELF_LOGGEDOUT = CLIENTEVENT_NONE + 240,
3188 CLIENTEVENT_CMD_MYSELF_KICKED = CLIENTEVENT_NONE + 250,
3199 CLIENTEVENT_CMD_USER_LOGGEDIN = CLIENTEVENT_NONE + 260,
3213 CLIENTEVENT_CMD_USER_LOGGEDOUT = CLIENTEVENT_NONE + 270,
3222 CLIENTEVENT_CMD_USER_UPDATE = CLIENTEVENT_NONE + 280,
3231 CLIENTEVENT_CMD_USER_JOINED = CLIENTEVENT_NONE + 290,
3238 CLIENTEVENT_CMD_USER_LEFT = CLIENTEVENT_NONE + 300,
3248 CLIENTEVENT_CMD_USER_TEXTMSG = CLIENTEVENT_NONE + 310,
3257 CLIENTEVENT_CMD_CHANNEL_NEW = CLIENTEVENT_NONE + 320,
3266 CLIENTEVENT_CMD_CHANNEL_UPDATE = CLIENTEVENT_NONE + 330,
3276 CLIENTEVENT_CMD_CHANNEL_REMOVE = CLIENTEVENT_NONE + 340,
3286 CLIENTEVENT_CMD_SERVER_UPDATE = CLIENTEVENT_NONE + 350,
3295 CLIENTEVENT_CMD_SERVERSTATISTICS = CLIENTEVENT_NONE + 360,
3307 CLIENTEVENT_CMD_FILE_NEW = CLIENTEVENT_NONE + 370,
3314 CLIENTEVENT_CMD_FILE_REMOVE = CLIENTEVENT_NONE + 380,
3323 CLIENTEVENT_CMD_USERACCOUNT = CLIENTEVENT_NONE + 390,
3332 CLIENTEVENT_CMD_BANNEDUSER = CLIENTEVENT_NONE + 400,
3352 CLIENTEVENT_USER_STATECHANGE = CLIENTEVENT_NONE + 500,
3365 CLIENTEVENT_USER_VIDEOCAPTURE = CLIENTEVENT_NONE + 510,
3378 CLIENTEVENT_USER_MEDIAFILE_VIDEO = CLIENTEVENT_NONE + 520,
3393 CLIENTEVENT_USER_DESKTOPWINDOW = CLIENTEVENT_NONE + 530,
3404 CLIENTEVENT_USER_DESKTOPCURSOR = CLIENTEVENT_NONE + 540,
3427 CLIENTEVENT_USER_DESKTOPINPUT = CLIENTEVENT_NONE + 550,
3440 CLIENTEVENT_USER_RECORD_MEDIAFILE = CLIENTEVENT_NONE + 560,
3456 CLIENTEVENT_USER_AUDIOBLOCK = CLIENTEVENT_NONE + 570,
3470 CLIENTEVENT_INTERNAL_ERROR = CLIENTEVENT_NONE + 1000,
3484 CLIENTEVENT_VOICE_ACTIVATION = CLIENTEVENT_NONE + 1010,
3495 CLIENTEVENT_HOTKEY = CLIENTEVENT_NONE + 1020,
3514 CLIENTEVENT_HOTKEY_TEST = CLIENTEVENT_NONE + 1030,
3531 CLIENTEVENT_FILETRANSFER = CLIENTEVENT_NONE + 1040,
3547 CLIENTEVENT_DESKTOPWINDOW_TRANSFER = CLIENTEVENT_NONE + 1050,
3560 CLIENTEVENT_STREAM_MEDIAFILE = CLIENTEVENT_NONE + 1060,
3572 CLIENTEVENT_LOCAL_MEDIAFILE = CLIENTEVENT_NONE + 1070,
3573
3595 CLIENTEVENT_AUDIOINPUT = CLIENTEVENT_NONE + 1080,
3615 CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET = CLIENTEVENT_NONE + 1090,
3616 } ClientEvent;
3617
3618 /* List of structures used internally by TeamTalk. */
3619 typedef enum TTType
3620 {
3621 __NONE = 0,
3622 __AUDIOCODEC = 1,
3623 __BANNEDUSER = 2,
3624 __VIDEOFORMAT = 3,
3625 __OPUSCODEC = 4,
3626 __CHANNEL = 5,
3627 __CLIENTSTATISTICS = 6,
3628 __REMOTEFILE = 7,
3629 __FILETRANSFER = 8,
3630 __MEDIAFILESTATUS = 9,
3631 __SERVERPROPERTIES = 10,
3632 __SERVERSTATISTICS = 11,
3633 __SOUNDDEVICE = 12,
3634 __SPEEXCODEC = 13,
3635 __TEXTMESSAGE = 14,
3636 __WEBMVP8CODEC = 15,
3637 __TTMESSAGE = 16,
3638 __USER = 17,
3639 __USERACCOUNT = 18,
3640 __USERSTATISTICS = 19,
3641 __VIDEOCAPTUREDEVICE = 20,
3642 __VIDEOCODEC = 21,
3643 __AUDIOCONFIG = 22,
3644 __SPEEXVBRCODEC = 23,
3645 __VIDEOFRAME = 24,
3646 __AUDIOBLOCK = 25,
3647 __AUDIOFORMAT = 26,
3648 __MEDIAFILEINFO = 27,
3649 __CLIENTERRORMSG = 28,
3650 __TTBOOL = 29,
3651 __INT32 = 30,
3652 __DESKTOPINPUT = 31,
3653 __SPEEXDSP = 32,
3654 __STREAMTYPE = 33,
3655 __AUDIOPREPROCESSORTYPE = 34,
3656 __AUDIOPREPROCESSOR = 35,
3657 __TTAUDIOPREPROCESSOR = 36,
3658 __MEDIAFILEPLAYBACK = 37,
3659 __CLIENTKEEPALIVE = 38,
3660 __UINT32 = 39,
3661 __AUDIOINPUTPROGRESS = 40,
3662 __JITTERCONFIG = 41,
3663 __WEBRTCAUDIOPREPROCESSOR = 42,
3664 __ENCRYPTIONCONTEXT = 43,
3665 } TTType;
3666
3677 typedef struct TTMessage
3678 {
3680 ClientEvent nClientEvent;
3682 INT32 nSource;
3684 TTType ttType;
3686 UINT32 uReserved;
3687 union
3688 {
3690 Channel channel;
3692 ClientErrorMsg clienterrormsg;
3694 DesktopInput desktopinput;
3696 FileTransfer filetransfer;
3698 MediaFileInfo mediafileinfo;
3700 RemoteFile remotefile;
3702 ServerProperties serverproperties;
3704 ServerStatistics serverstatistics;
3706 TextMessage textmessage;
3708 User user;
3710 UserAccount useraccount;
3712 BannedUser banneduser;
3714 TTBOOL bActive;
3716 INT32 nBytesRemain;
3718 INT32 nStreamID;
3720 INT32 nPayloadSize;
3722 StreamType nStreamType;
3724 AudioInputProgress audioinputprogress;
3725 /* brief First byte in union. */
3726 char data[1];
3727 };
3728 } TTMessage;
3729
3748 typedef enum ClientFlag
3749 {
3754 CLIENT_CLOSED = 0x00000000,
3758 CLIENT_SNDINPUT_READY = 0x00000001,
3762 CLIENT_SNDOUTPUT_READY = 0x00000002,
3768 CLIENT_SNDINOUTPUT_DUPLEX = 0x00000004,
3775 CLIENT_SNDINPUT_VOICEACTIVATED = 0x00000008,
3782 CLIENT_SNDINPUT_VOICEACTIVE = 0x00000010,
3785 CLIENT_SNDOUTPUT_MUTE = 0x00000020,
3791 CLIENT_SNDOUTPUT_AUTO3DPOSITION = 0x00000040,
3795 CLIENT_VIDEOCAPTURE_READY = 0x00000080,
3798 CLIENT_TX_VOICE = 0x00000100,
3802 CLIENT_TX_VIDEOCAPTURE = 0x00000200,
3808 CLIENT_TX_DESKTOP = 0x00000400,
3813 CLIENT_DESKTOP_ACTIVE = 0x00000800,
3817 CLIENT_MUX_AUDIOFILE = 0x00001000,
3820 CLIENT_CONNECTING = 0x00002000,
3825 CLIENT_CONNECTED = 0x00004000,
3828 CLIENT_CONNECTION = CLIENT_CONNECTING | CLIENT_CONNECTED,
3832 CLIENT_AUTHORIZED = 0x00008000,
3837 CLIENT_STREAM_AUDIO = 0x00010000,
3842 CLIENT_STREAM_VIDEO = 0x00020000
3843 } ClientFlag;
3844
3847 typedef UINT32 ClientFlags;
3848
3853 typedef VOID TTInstance;
3854
3859 typedef VOID TTSoundLoop;
3860
3862 TEAMTALKDLL_API const TTCHAR* TT_GetVersion(void);
3863
3864#if defined(WIN32)
3879 TEAMTALKDLL_API TTInstance* TT_InitTeamTalk(IN HWND hWnd, IN UINT32 uMsg);
3880
3888 TEAMTALKDLL_API TTBOOL TT_SwapTeamTalkHWND(IN TTInstance* lpTTInstance,
3889 IN HWND hWnd);
3890#endif
3891
3905 TEAMTALKDLL_API TTInstance* TT_InitTeamTalkPoll(void);
3906
3917 TEAMTALKDLL_API TTBOOL TT_CloseTeamTalk(IN TTInstance* lpTTInstance);
3918
3931 TEAMTALKDLL_API TTBOOL TT_GetMessage(IN TTInstance* lpTTInstance,
3932 OUT TTMessage* pMsg,
3933 IN const INT32* pnWaitMs);
3934
3964 TEAMTALKDLL_API TTBOOL TT_PumpMessage(IN TTInstance* lpTTInstance,
3965 ClientEvent nClientEvent,
3966 INT32 nIdentifier);
3967
3980 TEAMTALKDLL_API ClientFlags TT_GetFlags(IN TTInstance* lpTTInstance);
3981
3990 TEAMTALKDLL_API TTBOOL TT_SetLicenseInformation(IN const TTCHAR szRegName[TT_STRLEN],
3991 IN const TTCHAR szRegKey[TT_STRLEN]);
4004 TEAMTALKDLL_API TTBOOL TT_GetDefaultSoundDevices(OUT INT32* lpnInputDeviceID,
4005 OUT INT32* lpnOutputDeviceID);
4010 TEAMTALKDLL_API TTBOOL TT_GetDefaultSoundDevicesEx(IN SoundSystem nSndSystem,
4011 OUT INT32* lpnInputDeviceID,
4012 OUT INT32* lpnOutputDeviceID);
4013
4027 TEAMTALKDLL_API TTBOOL TT_GetSoundDevices(IN OUT SoundDevice* lpSoundDevices,
4028 IN OUT INT32* lpnHowMany);
4029
4030
4046 TEAMTALKDLL_API TTBOOL TT_RestartSoundSystem(void);
4047
4053 TEAMTALKDLL_API TTSoundLoop* TT_StartSoundLoopbackTest(IN INT32 nInputDeviceID,
4054 IN INT32 nOutputDeviceID,
4055 IN INT32 nSampleRate,
4056 IN INT32 nChannels,
4057 IN TTBOOL bDuplexMode,
4058 IN const SpeexDSP* lpSpeexDSP);
4059
4093 TEAMTALKDLL_API TTSoundLoop* TT_StartSoundLoopbackTestEx(IN INT32 nInputDeviceID,
4094 IN INT32 nOutputDeviceID,
4095 IN INT32 nSampleRate,
4096 IN INT32 nChannels,
4097 IN TTBOOL bDuplexMode,
4098 IN const AudioPreprocessor* lpAudioPreprocessor,
4099 IN const SoundDeviceEffects* lpSoundDeviceEffects);
4100
4101
4112 TEAMTALKDLL_API TTBOOL TT_CloseSoundLoopbackTest(IN TTSoundLoop* lpTTSoundLoop);
4113
4144 TEAMTALKDLL_API TTBOOL TT_InitSoundInputDevice(IN TTInstance* lpTTInstance,
4145 IN INT32 nInputDeviceID);
4146
4177 TEAMTALKDLL_API TTBOOL TT_InitSoundInputSharedDevice(IN INT32 nSampleRate,
4178 IN INT32 nChannels,
4179 IN INT32 nFrameSize);
4210 TEAMTALKDLL_API TTBOOL TT_InitSoundOutputDevice(IN TTInstance* lpTTInstance,
4211 IN INT32 nOutputDeviceID);
4212
4243 TEAMTALKDLL_API TTBOOL TT_InitSoundOutputSharedDevice(IN INT32 nSampleRate,
4244 IN INT32 nChannels,
4245 IN INT32 nFrameSize);
4280 TEAMTALKDLL_API TTBOOL TT_InitSoundDuplexDevices(IN TTInstance* lpTTInstance,
4281 IN INT32 nInputDeviceID,
4282 IN INT32 nOutputDeviceID);
4283
4302 TEAMTALKDLL_API TTBOOL TT_CloseSoundInputDevice(IN TTInstance* lpTTInstance);
4303
4322 TEAMTALKDLL_API TTBOOL TT_CloseSoundOutputDevice(IN TTInstance* lpTTInstance);
4323
4332 TEAMTALKDLL_API TTBOOL TT_CloseSoundDuplexDevices(IN TTInstance* lpTTInstance);
4333
4369 TEAMTALKDLL_API TTBOOL TT_SetSoundDeviceEffects(IN TTInstance* lpTTInstance,
4370 IN const SoundDeviceEffects* lpSoundDeviceEffect);
4371
4376 TEAMTALKDLL_API TTBOOL TT_GetSoundDeviceEffects(IN TTInstance* lpTTInstance,
4377 OUT SoundDeviceEffects* lpSoundDeviceEffect);
4378
4395 TEAMTALKDLL_API INT32 TT_GetSoundInputLevel(IN TTInstance* lpTTInstance);
4396
4414 TEAMTALKDLL_API TTBOOL TT_SetSoundInputGainLevel(IN TTInstance* lpTTInstance,
4415 IN INT32 nLevel);
4416
4426 TEAMTALKDLL_API INT32 TT_GetSoundInputGainLevel(IN TTInstance* lpTTInstance);
4427
4447 TEAMTALKDLL_API TTBOOL TT_SetSoundInputPreprocess(IN TTInstance* lpTTInstance,
4448 IN const SpeexDSP* lpSpeexDSP);
4449
4461 TEAMTALKDLL_API TTBOOL TT_GetSoundInputPreprocess(IN TTInstance* lpTTInstance,
4462 OUT SpeexDSP* lpSpeexDSP);
4463
4477 TEAMTALKDLL_API TTBOOL TT_SetSoundInputPreprocessEx(IN TTInstance* lpTTInstance,
4478 IN const AudioPreprocessor* lpAudioPreprocessor);
4479
4489 TEAMTALKDLL_API TTBOOL TT_GetSoundInputPreprocessEx(IN TTInstance* lpTTInstance,
4490 OUT AudioPreprocessor* lpAudioPreprocessor);
4491
4501 TEAMTALKDLL_API TTBOOL TT_SetSoundOutputVolume(IN TTInstance* lpTTInstance,
4502 IN INT32 nVolume);
4503
4512 TEAMTALKDLL_API INT32 TT_GetSoundOutputVolume(IN TTInstance* lpTTInstance);
4513
4523 TEAMTALKDLL_API TTBOOL TT_SetSoundOutputMute(IN TTInstance* lpTTInstance,
4524 IN TTBOOL bMuteAll);
4525
4538 TEAMTALKDLL_API TTBOOL TT_Enable3DSoundPositioning(IN TTInstance* lpTTInstance,
4539 IN TTBOOL bEnable);
4540
4552 TEAMTALKDLL_API TTBOOL TT_AutoPositionUsers(IN TTInstance* lpTTInstance);
4553
4568 TEAMTALKDLL_API TTBOOL TT_EnableAudioBlockEvent(IN TTInstance* lpTTInstance,
4569 IN INT32 nUserID,
4570 IN StreamTypes uStreamTypes,
4571 IN TTBOOL bEnable);
4572
4649 TEAMTALKDLL_API TTBOOL TT_EnableAudioBlockEventEx(IN TTInstance* lpTTInstance,
4650 IN INT32 nUserID,
4651 IN StreamTypes uStreamTypes,
4652 IN const AudioFormat* lpAudioFormat,
4653 IN TTBOOL bEnable);
4654
4691 TEAMTALKDLL_API TTBOOL TT_InsertAudioBlock(IN TTInstance* lpTTInstance,
4692 IN const AudioBlock* lpAudioBlock);
4693
4713 TEAMTALKDLL_API TTBOOL TT_EnableVoiceTransmission(IN TTInstance* lpTTInstance,
4714 IN TTBOOL bEnable);
4715
4744 TEAMTALKDLL_API TTBOOL TT_EnableVoiceActivation(IN TTInstance* lpTTInstance,
4745 IN TTBOOL bEnable);
4746
4764 TEAMTALKDLL_API TTBOOL TT_SetVoiceActivationLevel(IN TTInstance* lpTTInstance,
4765 IN INT32 nLevel);
4766
4775 TEAMTALKDLL_API INT32 TT_GetVoiceActivationLevel(IN TTInstance* lpTTInstance);
4776
4789 TEAMTALKDLL_API TTBOOL TT_SetVoiceActivationStopDelay(IN TTInstance* lpTTInstance,
4790 IN INT32 nDelayMSec);
4791
4801 TEAMTALKDLL_API INT32 TT_GetVoiceActivationStopDelay(IN TTInstance* lpTTInstance);
4802
4853 TEAMTALKDLL_API TTBOOL TT_StartRecordingMuxedAudioFile(IN TTInstance* lpTTInstance,
4854 IN const AudioCodec* lpAudioCodec,
4855 IN const TTCHAR* szAudioFileName,
4856 IN AudioFileFormat uAFF);
4857
4888 TEAMTALKDLL_API TTBOOL TT_StartRecordingMuxedAudioFileEx(IN TTInstance* lpTTInstance,
4889 IN INT32 nChannelID,
4890 IN const TTCHAR* szAudioFileName,
4891 IN AudioFileFormat uAFF);
4892
4926 TEAMTALKDLL_API TTBOOL TT_StartRecordingMuxedStreams(IN TTInstance* lpTTInstance,
4927 IN StreamTypes uStreamTypes,
4928 IN const AudioCodec* lpAudioCodec,
4929 IN const TTCHAR* szAudioFileName,
4930 IN AudioFileFormat uAFF);
4931
4946 TEAMTALKDLL_API TTBOOL TT_StopRecordingMuxedAudioFile(IN TTInstance* lpTTInstance);
4947
4954 TEAMTALKDLL_API TTBOOL TT_StopRecordingMuxedAudioFileEx(IN TTInstance* lpTTInstance,
4955 IN INT32 nChannelID);
4956
4981 TEAMTALKDLL_API TTBOOL TT_StartVideoCaptureTransmission(IN TTInstance* lpTTInstance,
4982 IN const VideoCodec* lpVideoCodec);
4983
4990 TEAMTALKDLL_API TTBOOL TT_StopVideoCaptureTransmission(IN TTInstance* lpTTInstance);
4991
5008 TEAMTALKDLL_API TTBOOL TT_GetVideoCaptureDevices(IN OUT VideoCaptureDevice* lpVideoDevices,
5009 IN OUT INT32* lpnHowMany);
5010
5024 TEAMTALKDLL_API TTBOOL TT_InitVideoCaptureDevice(IN TTInstance* lpTTInstance,
5025 IN const TTCHAR* szDeviceID,
5026 IN const VideoFormat* lpVideoFormat);
5031 TEAMTALKDLL_API TTBOOL TT_CloseVideoCaptureDevice(IN TTInstance* lpTTInstance);
5032
5033#if defined(WIN32)
5049 TEAMTALKDLL_API TTBOOL TT_PaintVideoFrame(IN HDC hDC,
5050 IN INT32 XDest,
5051 IN INT32 YDest,
5052 IN INT32 nDestWidth,
5053 IN INT32 nDestHeight,
5054 IN VideoFrame* lpVideoFrame);
5055
5087 TEAMTALKDLL_API TTBOOL TT_PaintVideoFrameEx(IN HDC hDC,
5088 IN INT32 XDest,
5089 IN INT32 YDest,
5090 IN INT32 nDestWidth,
5091 IN INT32 nDestHeight,
5092 IN INT32 XSrc,
5093 IN INT32 YSrc,
5094 IN INT32 nSrcWidth,
5095 IN INT32 nSrcHeight,
5096 IN VideoFrame* lpVideoFrame);
5097#endif
5098
5119 TEAMTALKDLL_API VideoFrame* TT_AcquireUserVideoCaptureFrame(IN TTInstance* lpTTInstance,
5120 IN INT32 nUserID);
5121
5131 TEAMTALKDLL_API TTBOOL TT_ReleaseUserVideoCaptureFrame(IN TTInstance* lpTTInstance,
5132 IN VideoFrame* lpVideoFrame);
5140 TEAMTALKDLL_API TTBOOL TT_StartStreamingMediaFileToChannel(IN TTInstance* lpTTInstance,
5141 IN const TTCHAR* szMediaFilePath,
5142 IN const VideoCodec* lpVideoCodec);
5143
5175 TEAMTALKDLL_API TTBOOL TT_StartStreamingMediaFileToChannelEx(IN TTInstance* lpTTInstance,
5176 IN const TTCHAR* szMediaFilePath,
5177 IN const MediaFilePlayback* lpMediaFilePlayback,
5178 IN const VideoCodec* lpVideoCodec);
5179
5198 TEAMTALKDLL_API TTBOOL TT_UpdateStreamingMediaFileToChannel(IN TTInstance* lpTTInstance,
5199 IN const MediaFilePlayback* lpMediaFilePlayback,
5200 IN const VideoCodec* lpVideoCodec);
5201
5209 TEAMTALKDLL_API TTBOOL TT_StopStreamingMediaFileToChannel(IN TTInstance* lpTTInstance);
5210
5240 TEAMTALKDLL_API INT32 TT_InitLocalPlayback(IN TTInstance* lpTTInstance,
5241 IN const TTCHAR* szMediaFilePath,
5242 IN const MediaFilePlayback* lpMediaFilePlayback);
5243
5257 TEAMTALKDLL_API TTBOOL TT_UpdateLocalPlayback(IN TTInstance* lpTTInstance,
5258 IN INT32 nPlaybackSessionID,
5259 IN const MediaFilePlayback* lpMediaFilePlayback);
5260
5270 TEAMTALKDLL_API TTBOOL TT_StopLocalPlayback(IN TTInstance* lpTTInstance,
5271 IN INT32 nPlaybackSessionID);
5272
5280 TEAMTALKDLL_API TTBOOL TT_GetMediaFileInfo(IN const TTCHAR* szMediaFilePath,
5281 OUT MediaFileInfo* lpMediaFileInfo);
5282
5303 TEAMTALKDLL_API VideoFrame* TT_AcquireUserMediaVideoFrame(IN TTInstance* lpTTInstance,
5304 IN INT32 nUserID);
5305
5315 TEAMTALKDLL_API TTBOOL TT_ReleaseUserMediaVideoFrame(IN TTInstance* lpTTInstance,
5316 IN VideoFrame* lpVideoFrame);
5361 TEAMTALKDLL_API INT32 TT_SendDesktopWindow(IN TTInstance* lpTTInstance,
5362 IN const DesktopWindow* lpDesktopWindow,
5363 IN BitmapFormat nConvertBmpFormat);
5364
5374 TEAMTALKDLL_API TTBOOL TT_CloseDesktopWindow(IN TTInstance* lpTTInstance);
5375
5392 TEAMTALKDLL_API unsigned char* TT_Palette_GetColorTable(IN BitmapFormat nBmpPalette,
5393 IN INT32 nIndex);
5394#if defined(WIN32)
5395
5398 TEAMTALKDLL_API HWND TT_Windows_GetDesktopActiveHWND(void);
5399
5401 TEAMTALKDLL_API HWND TT_Windows_GetDesktopHWND(void);
5402
5407 TEAMTALKDLL_API TTBOOL TT_Windows_GetDesktopWindowHWND(IN INT32 nIndex,
5408 OUT HWND* lpHWnd);
5409
5415 typedef struct ShareWindow
5416 {
5418 HWND hWnd;
5420 INT32 nWndX;
5422 INT32 nWndY;
5424 INT32 nWidth;
5426 INT32 nHeight;
5428 TTCHAR szWindowTitle[TT_STRLEN];
5429 } ShareWindow;
5430
5433 TEAMTALKDLL_API TTBOOL TT_Windows_GetWindow(IN HWND hWnd,
5434 OUT ShareWindow* lpShareWindow);
5435
5448 TEAMTALKDLL_API INT32 TT_SendDesktopWindowFromHWND(IN TTInstance* lpTTInstance,
5449 IN HWND hWnd,
5450 IN BitmapFormat nBitmapFormat,
5451 IN DesktopProtocol nDesktopProtocol);
5452
5468 TEAMTALKDLL_API TTBOOL TT_PaintDesktopWindow(IN TTInstance* lpTTInstance,
5469 IN INT32 nUserID,
5470 IN HDC hDC,
5471 IN INT32 XDest,
5472 IN INT32 YDest,
5473 IN INT32 nDestWidth,
5474 IN INT32 nDestHeight);
5475
5510 TEAMTALKDLL_API TTBOOL TT_PaintDesktopWindowEx(IN TTInstance* lpTTInstance,
5511 IN INT32 nUserID,
5512 IN HDC hDC,
5513 IN INT32 XDest,
5514 IN INT32 YDest,
5515 IN INT32 nDestWidth,
5516 IN INT32 nDestHeight,
5517 IN INT32 XSrc,
5518 IN INT32 YSrc,
5519 IN INT32 nSrcWidth,
5520 IN INT32 nSrcHeight);
5521#endif
5522
5523#if defined(__APPLE__)
5524
5530 typedef struct ShareWindow
5531 {
5533 INT64 nWindowID;
5535 INT32 nWindowX;
5537 INT32 nWindowY;
5539 INT32 nWidth;
5541 INT32 nHeight;
5543 TTCHAR szWindowTitle[TT_STRLEN];
5545 INT64 nPID;
5546 } ShareWindow;
5547
5552 TEAMTALKDLL_API TTBOOL TT_MacOS_GetWindow(IN INT32 nIndex,
5553 OUT ShareWindow* lpShareWindow);
5554
5557 TEAMTALKDLL_API TTBOOL TT_MacOS_GetWindowFromWindowID(IN INT64 nWindowID,
5558 OUT ShareWindow* lpShareWindow);
5559
5573 TEAMTALKDLL_API INT32 TT_SendDesktopFromWindowID(IN TTInstance* lpTTInstance,
5574 IN INT64 nWindowID,
5575 IN BitmapFormat nBitmapFormat,
5576 IN DesktopProtocol nDesktopProtocol);
5577#endif
5578
5594 TEAMTALKDLL_API TTBOOL TT_SendDesktopCursorPosition(IN TTInstance* lpTTInstance,
5595 IN UINT16 nPosX,
5596 IN UINT16 nPosY);
5624 TEAMTALKDLL_API TTBOOL TT_SendDesktopInput(IN TTInstance* lpTTInstance,
5625 IN INT32 nUserID,
5626 IN const DesktopInput lpDesktopInputs[TT_DESKTOPINPUT_MAX],
5627 IN INT32 nDesktopInputCount);
5628
5652 TEAMTALKDLL_API DesktopWindow* TT_AcquireUserDesktopWindow(IN TTInstance* lpTTInstance,
5653 IN INT32 nUserID);
5654
5667 TEAMTALKDLL_API DesktopWindow* TT_AcquireUserDesktopWindowEx(IN TTInstance* lpTTInstance,
5668 IN INT32 nUserID,
5669 IN BitmapFormat nBitmapFormat);
5670
5677 TEAMTALKDLL_API TTBOOL TT_ReleaseUserDesktopWindow(IN TTInstance* lpTTInstance,
5678 IN DesktopWindow* lpDesktopWindow);
5697 TEAMTALKDLL_API TTBOOL TT_SetEncryptionContext(IN TTInstance* lpTTInstance,
5698 const EncryptionContext* lpEncryptionContext);
5699
5730 TEAMTALKDLL_API TTBOOL TT_Connect(IN TTInstance* lpTTInstance,
5731 IN const TTCHAR* szHostAddress,
5732 IN INT32 nTcpPort,
5733 IN INT32 nUdpPort,
5734 IN INT32 nLocalTcpPort,
5735 IN INT32 nLocalUdpPort,
5736 IN TTBOOL bEncrypted);
5737
5765 TEAMTALKDLL_API TTBOOL TT_ConnectSysID(IN TTInstance* lpTTInstance,
5766 IN const TTCHAR* szHostAddress,
5767 IN INT32 nTcpPort,
5768 IN INT32 nUdpPort,
5769 IN INT32 nLocalTcpPort,
5770 IN INT32 nLocalUdpPort,
5771 IN TTBOOL bEncrypted,
5772 IN const TTCHAR* szSystemID);
5773
5796 TEAMTALKDLL_API TTBOOL TT_ConnectEx(IN TTInstance* lpTTInstance,
5797 IN const TTCHAR* szHostAddress,
5798 IN INT32 nTcpPort,
5799 IN INT32 nUdpPort,
5800 IN const TTCHAR* szBindIPAddr,
5801 IN INT32 nLocalTcpPort,
5802 IN INT32 nLocalUdpPort,
5803 IN TTBOOL bEncrypted);
5804
5815 TEAMTALKDLL_API TTBOOL TT_Disconnect(IN TTInstance* lpTTInstance);
5816
5828 TEAMTALKDLL_API TTBOOL TT_QueryMaxPayload(IN TTInstance* lpTTInstance,
5829 IN INT32 nUserID);
5830
5836 TEAMTALKDLL_API TTBOOL TT_GetClientStatistics(IN TTInstance* lpTTInstance,
5837 OUT ClientStatistics* lpClientStatistics);
5838
5853 TEAMTALKDLL_API TTBOOL TT_SetClientKeepAlive(IN TTInstance* lpTTInstance,
5854 IN const ClientKeepAlive* lpClientKeepAlive);
5855
5862 TEAMTALKDLL_API TTBOOL TT_GetClientKeepAlive(IN TTInstance* lpTTInstance,
5863 OUT ClientKeepAlive* lpClientKeepAlive);
5864
5888 TEAMTALKDLL_API INT32 TT_DoPing(IN TTInstance* lpTTInstance);
5889
5903 TEAMTALKDLL_API INT32 TT_DoLogin(IN TTInstance* lpTTInstance,
5904 IN const TTCHAR* szNickname,
5905 IN const TTCHAR* szUsername,
5906 IN const TTCHAR* szPassword);
5907
5908
5943 TEAMTALKDLL_API INT32 TT_DoLoginEx(IN TTInstance* lpTTInstance,
5944 IN const TTCHAR* szNickname,
5945 IN const TTCHAR* szUsername,
5946 IN const TTCHAR* szPassword,
5947 IN const TTCHAR* szClientName);
5948
5964 TEAMTALKDLL_API INT32 TT_DoLogout(IN TTInstance* lpTTInstance);
5965
6005 TEAMTALKDLL_API INT32 TT_DoJoinChannel(IN TTInstance* lpTTInstance,
6006 IN const Channel* lpChannel);
6007
6033 TEAMTALKDLL_API INT32 TT_DoJoinChannelByID(IN TTInstance* lpTTInstance,
6034 IN INT32 nChannelID,
6035 IN const TTCHAR* szPassword);
6036
6058 TEAMTALKDLL_API INT32 TT_DoLeaveChannel(IN TTInstance* lpTTInstance);
6059
6078 TEAMTALKDLL_API INT32 TT_DoChangeNickname(IN TTInstance* lpTTInstance,
6079 IN const TTCHAR* szNewNick);
6080
6102 TEAMTALKDLL_API INT32 TT_DoChangeStatus(IN TTInstance* lpTTInstance,
6103 IN INT32 nStatusMode,
6104 IN const TTCHAR* szStatusMessage);
6105
6126 TEAMTALKDLL_API INT32 TT_DoTextMessage(IN TTInstance* lpTTInstance,
6127 IN const TextMessage* lpTextMessage);
6128
6150 TEAMTALKDLL_API INT32 TT_DoChannelOp(IN TTInstance* lpTTInstance,
6151 IN INT32 nUserID,
6152 IN INT32 nChannelID,
6153 IN TTBOOL bMakeOperator);
6154
6176 TEAMTALKDLL_API INT32 TT_DoChannelOpEx(IN TTInstance* lpTTInstance,
6177 IN INT32 nUserID,
6178 IN INT32 nChannelID,
6179 IN const TTCHAR* szOpPassword,
6180 IN TTBOOL bMakeOperator);
6181
6207 TEAMTALKDLL_API INT32 TT_DoKickUser(IN TTInstance* lpTTInstance,
6208 IN INT32 nUserID,
6209 IN INT32 nChannelID);
6210
6247 TEAMTALKDLL_API INT32 TT_DoSendFile(IN TTInstance* lpTTInstance,
6248 IN INT32 nChannelID,
6249 IN const TTCHAR* szLocalFilePath);
6250
6282 TEAMTALKDLL_API INT32 TT_DoRecvFile(IN TTInstance* lpTTInstance,
6283 IN INT32 nChannelID,
6284 IN INT32 nFileID,
6285 IN const TTCHAR* szLocalFilePath);
6286
6311 TEAMTALKDLL_API INT32 TT_DoDeleteFile(IN TTInstance* lpTTInstance,
6312 IN INT32 nChannelID,
6313 IN INT32 nFileID);
6314
6331 TEAMTALKDLL_API INT32 TT_DoSubscribe(IN TTInstance* lpTTInstance,
6332 IN INT32 nUserID,
6333 IN Subscriptions uSubscriptions);
6334
6352 TEAMTALKDLL_API INT32 TT_DoUnsubscribe(IN TTInstance* lpTTInstance,
6353 IN INT32 nUserID,
6354 IN Subscriptions uSubscriptions);
6355
6383 TEAMTALKDLL_API INT32 TT_DoMakeChannel(IN TTInstance* lpTTInstance,
6384 IN const Channel* lpChannel);
6385
6420 TEAMTALKDLL_API INT32 TT_DoUpdateChannel(IN TTInstance* lpTTInstance,
6421 IN const Channel* lpChannel);
6422
6444 TEAMTALKDLL_API INT32 TT_DoRemoveChannel(IN TTInstance* lpTTInstance,
6445 IN INT32 nChannelID);
6446
6468 TEAMTALKDLL_API INT32 TT_DoMoveUser(IN TTInstance* lpTTInstance,
6469 IN INT32 nUserID,
6470 IN INT32 nChannelID);
6471
6490 TEAMTALKDLL_API INT32 TT_DoUpdateServer(IN TTInstance* lpTTInstance,
6491 IN const ServerProperties* lpServerProperties);
6492
6518 TEAMTALKDLL_API INT32 TT_DoListUserAccounts(IN TTInstance* lpTTInstance,
6519 IN INT32 nIndex,
6520 IN INT32 nCount);
6521
6546 TEAMTALKDLL_API INT32 TT_DoNewUserAccount(IN TTInstance* lpTTInstance,
6547 IN const UserAccount* lpUserAccount);
6548
6569 TEAMTALKDLL_API INT32 TT_DoDeleteUserAccount(IN TTInstance* lpTTInstance,
6570 IN const TTCHAR* szUsername);
6571
6600 TEAMTALKDLL_API INT32 TT_DoBanUser(IN TTInstance* lpTTInstance,
6601 IN INT32 nUserID,
6602 IN INT32 nChannelID);
6603
6615 TEAMTALKDLL_API INT32 TT_DoBanUserEx(IN TTInstance* lpTTInstance,
6616 IN INT32 nUserID,
6617 IN BanTypes uBanTypes);
6618
6637 TEAMTALKDLL_API INT32 TT_DoBan(IN TTInstance* lpTTInstance,
6638 IN const BannedUser* lpBannedUser);
6639
6662 TEAMTALKDLL_API INT32 TT_DoBanIPAddress(IN TTInstance* lpTTInstance,
6663 IN const TTCHAR* szIPAddress,
6664 IN INT32 nChannelID);
6665
6689 TEAMTALKDLL_API INT32 TT_DoUnBanUser(IN TTInstance* lpTTInstance,
6690 IN const TTCHAR* szIPAddress,
6691 IN INT32 nChannelID);
6701 TEAMTALKDLL_API INT32 TT_DoUnBanUserEx(IN TTInstance* lpTTInstance,
6702 IN const BannedUser* lpBannedUser);
6703
6726 TEAMTALKDLL_API INT32 TT_DoListBans(IN TTInstance* lpTTInstance,
6727 IN INT32 nChannelID,
6728 IN INT32 nIndex,
6729 IN INT32 nCount);
6730
6750 TEAMTALKDLL_API INT32 TT_DoSaveConfig(IN TTInstance* lpTTInstance);
6751
6770 TEAMTALKDLL_API INT32 TT_DoQueryServerStats(IN TTInstance* lpTTInstance);
6771
6784 TEAMTALKDLL_API INT32 TT_DoQuit(IN TTInstance* lpTTInstance);
6797 TEAMTALKDLL_API TTBOOL TT_GetServerProperties(IN TTInstance* lpTTInstance,
6798 OUT ServerProperties* lpServerProperties);
6799
6815 TEAMTALKDLL_API TTBOOL TT_GetServerUsers(IN TTInstance* lpTTInstance,
6816 IN OUT User* lpUsers,
6817 IN OUT INT32* lpnHowMany);
6832 TEAMTALKDLL_API INT32 TT_GetRootChannelID(IN TTInstance* lpTTInstance);
6833
6842 TEAMTALKDLL_API INT32 TT_GetMyChannelID(IN TTInstance* lpTTInstance);
6843
6853 TEAMTALKDLL_API TTBOOL TT_GetChannel(IN TTInstance* lpTTInstance,
6854 IN INT32 nChannelID,
6855 OUT Channel* lpChannel );
6856
6865 TEAMTALKDLL_API TTBOOL TT_GetChannelPath(IN TTInstance* lpTTInstance,
6866 IN INT32 nChannelID,
6867 OUT TTCHAR szChannelPath[TT_STRLEN]);
6868
6877 TEAMTALKDLL_API INT32 TT_GetChannelIDFromPath(IN TTInstance* lpTTInstance,
6878 IN const TTCHAR* szChannelPath);
6879
6893 TEAMTALKDLL_API TTBOOL TT_GetChannelUsers(IN TTInstance* lpTTInstance,
6894 IN INT32 nChannelID,
6895 IN OUT User* lpUsers,
6896 IN OUT INT32* lpnHowMany);
6897
6913 TEAMTALKDLL_API TTBOOL TT_GetChannelFiles(IN TTInstance* lpTTInstance,
6914 IN INT32 nChannelID,
6915 IN OUT RemoteFile* lpRemoteFiles,
6916 IN OUT INT32* lpnHowMany);
6917
6927 TEAMTALKDLL_API TTBOOL TT_GetChannelFile(IN TTInstance* lpTTInstance,
6928 IN INT32 nChannelID,
6929 IN INT32 nFileID,
6930 OUT RemoteFile* lpRemoteFile);
6931
6940 TEAMTALKDLL_API TTBOOL TT_IsChannelOperator(IN TTInstance* lpTTInstance,
6941 IN INT32 nUserID,
6942 IN INT32 nChannelID);
6943
6950 TEAMTALKDLL_API TTBOOL TT_GetServerChannels(IN TTInstance* lpTTInstance,
6951 IN OUT Channel* lpChannels,
6952 IN OUT INT32* lpnHowMany);
6968 TEAMTALKDLL_API INT32 TT_GetMyUserID(IN TTInstance* lpTTInstance);
6969
6982 TEAMTALKDLL_API TTBOOL TT_GetMyUserAccount(IN TTInstance* lpTTInstance,
6983 OUT UserAccount* lpUserAccount);
6984
6997 TEAMTALKDLL_API UserTypes TT_GetMyUserType(IN TTInstance* lpTTInstance);
6998
7005 TEAMTALKDLL_API UserRights TT_GetMyUserRights(IN TTInstance* lpTTInstance);
7006
7018 TEAMTALKDLL_API INT32 TT_GetMyUserData(IN TTInstance* lpTTInstance);
7019
7028 TEAMTALKDLL_API TTBOOL TT_GetUser(IN TTInstance* lpTTInstance,
7029 IN INT32 nUserID, OUT User* lpUser);
7030
7038 TEAMTALKDLL_API TTBOOL TT_GetUserStatistics(IN TTInstance* lpTTInstance,
7039 IN INT32 nUserID,
7040 OUT UserStatistics* lpUserStatistics);
7051 TEAMTALKDLL_API TTBOOL TT_GetUserByUsername(IN TTInstance* lpTTInstance,
7052 IN const TTCHAR* szUsername,
7053 OUT User* lpUser);
7072 TEAMTALKDLL_API TTBOOL TT_SetUserVolume(IN TTInstance* lpTTInstance,
7073 IN INT32 nUserID,
7074 IN StreamType nStreamType,
7075 IN INT32 nVolume);
7076
7090 TEAMTALKDLL_API TTBOOL TT_SetUserMute(IN TTInstance* lpTTInstance,
7091 IN INT32 nUserID,
7092 IN StreamType nStreamType,
7093 IN TTBOOL bMute);
7094
7105 TEAMTALKDLL_API TTBOOL TT_SetUserStoppedPlaybackDelay(IN TTInstance* lpTTInstance,
7106 IN INT32 nUserID,
7107 IN StreamType nStreamType,
7108 IN INT32 nDelayMSec);
7109
7135 TEAMTALKDLL_API TTBOOL TT_SetUserJitterControl(IN TTInstance* lpTTInstance,
7136 IN INT32 nUserID,
7137 IN StreamType nStreamType,
7138 IN const JitterConfig* lpJitterConfig);
7139
7151 TEAMTALKDLL_API TTBOOL TT_GetUserJitterControl(IN TTInstance* lpTTInstance,
7152 IN INT32 nUserID,
7153 IN StreamType nStreamType,
7154 IN JitterConfig* lpJitterConfig);
7155
7173 TEAMTALKDLL_API TTBOOL TT_SetUserPosition(IN TTInstance* lpTTInstance,
7174 IN INT32 nUserID,
7175 IN StreamType nStreamType,
7176 IN float x,
7177 IN float y,
7178 IN float z);
7179
7192 TEAMTALKDLL_API TTBOOL TT_SetUserStereo(IN TTInstance* lpTTInstance,
7193 IN INT32 nUserID,
7194 IN StreamType nStreamType,
7195 IN TTBOOL bLeftSpeaker,
7196 IN TTBOOL bRightSpeaker);
7197
7234 TEAMTALKDLL_API TTBOOL TT_SetUserMediaStorageDir(IN TTInstance* lpTTInstance,
7235 IN INT32 nUserID,
7236 IN const TTCHAR* szFolderPath,
7237 IN const TTCHAR* szFileNameVars,
7238 IN AudioFileFormat uAFF);
7239
7264 TEAMTALKDLL_API TTBOOL TT_SetUserMediaStorageDirEx(IN TTInstance* lpTTInstance,
7265 IN INT32 nUserID,
7266 IN const TTCHAR* szFolderPath,
7267 IN const TTCHAR* szFileNameVars,
7268 IN AudioFileFormat uAFF,
7269 IN INT32 nStopRecordingExtraDelayMSec);
7270
7297 TEAMTALKDLL_API TTBOOL TT_SetUserAudioStreamBufferSize(IN TTInstance* lpTTInstance,
7298 IN INT32 nUserID,
7299 IN StreamTypes uStreamType,
7300 IN INT32 nMSec);
7301
7325 TEAMTALKDLL_API AudioBlock* TT_AcquireUserAudioBlock(IN TTInstance* lpTTInstance,
7326 IN StreamTypes uStreamTypes,
7327 IN INT32 nUserID);
7328
7342 TEAMTALKDLL_API TTBOOL TT_ReleaseUserAudioBlock(IN TTInstance* lpTTInstance,
7343 IN AudioBlock* lpAudioBlock);
7344
7360 TEAMTALKDLL_API TTBOOL TT_GetFileTransferInfo(IN TTInstance* lpTTInstance,
7361 IN INT32 nTransferID,
7362 OUT FileTransfer* lpFileTransfer);
7363
7374 TEAMTALKDLL_API TTBOOL TT_CancelFileTransfer(IN TTInstance* lpTTInstance,
7375 IN INT32 nTransferID);
7376
7387 TEAMTALKDLL_API void TT_GetErrorMessage(IN INT32 nError,
7388 OUT TTCHAR szErrorMsg[TT_STRLEN]);
7389
7390
7397 typedef enum TTKeyTranslate
7398 {
7400 TTKEY_NO_TRANSLATE = 0,
7404 TTKEY_WINKEYCODE_TO_TTKEYCODE = 1,
7406 TTKEY_TTKEYCODE_TO_WINKEYCODE = 2,
7410 TTKEY_MACKEYCODE_TO_TTKEYCODE = 3,
7413 TTKEY_TTKEYCODE_TO_MACKEYCODE = 4
7414 } TTKeyTranslate;
7415
7437 TEAMTALKDLL_API INT32 TT_DesktopInput_KeyTranslate(TTKeyTranslate nTranslate,
7438 IN const DesktopInput* lpDesktopInputs,
7439 OUT DesktopInput* lpTranslatedDesktopInputs,
7440 IN INT32 nDesktopInputCount);
7441
7463 TEAMTALKDLL_API INT32 TT_DesktopInput_Execute(IN const DesktopInput* lpDesktopInputs,
7464 IN INT32 nDesktopInputCount);
7465
7468#if defined(WIN32)
7469
7501 TEAMTALKDLL_API TTBOOL TT_HotKey_Register(IN TTInstance* lpTTInstance,
7502 IN INT32 nHotKeyID,
7503 IN const INT32* lpnVKCodes,
7504 IN INT32 nVKCodeCount);
7505
7513 TEAMTALKDLL_API TTBOOL TT_HotKey_Unregister(IN TTInstance* lpTTInstance,
7514 IN INT32 nHotKeyID);
7515
7523 TEAMTALKDLL_API INT32 TT_HotKey_IsActive(IN TTInstance* lpTTInstance,
7524 IN INT32 nHotKeyID);
7525
7540 TEAMTALKDLL_API TTBOOL TT_HotKey_InstallTestHook(IN TTInstance* lpTTInstance,
7541 IN HWND hWnd, UINT32 uMsg);
7542
7550 TEAMTALKDLL_API TTBOOL TT_HotKey_RemoveTestHook(IN TTInstance* lpTTInstance);
7551
7560 TEAMTALKDLL_API TTBOOL TT_HotKey_GetKeyString(IN TTInstance* lpTTInstance,
7561 IN INT32 nVKCode,
7562 OUT TTCHAR szKeyName[TT_STRLEN]);
7564#endif
7565
7566 /* Get the 'sizeof' of a structure used by TeamTalk. Useful to ensuring
7567 * binary compatibility when integrating with other programming
7568 * languages. */
7569 TEAMTALKDLL_API INT32 TT_DBG_SIZEOF(IN TTType nType);
7570
7571 TEAMTALKDLL_API VOID* TT_DBG_GETDATAPTR(IN TTMessage* pMsg);
7572
7573 TEAMTALKDLL_API TTBOOL TT_DBG_SetSoundInputTone(IN TTInstance* lpTTInstance,
7574 IN StreamTypes uStreamTypes,
7575 IN INT32 nFrequency);
7576
7577 TEAMTALKDLL_API TTBOOL TT_DBG_WriteAudioFileTone(IN const MediaFileInfo* lpMediaFileInfo,
7578 IN INT32 nFrequency);
7579
7580#if defined(WIN32) /* Exclude mixer and firewall functions from
7581 * non-Windows platforms */
7582
7602 typedef enum MixerControl
7603 {
7604 WAVEOUT_MASTER,
7605 WAVEOUT_WAVE,
7606 WAVEOUT_MICROPHONE,
7607
7608 WAVEIN_MICROPHONE,
7609 WAVEIN_LINEIN,
7610 WAVEIN_WAVEOUT,
7611 } MixerControl;
7612
7619 TEAMTALKDLL_API INT32 TT_Mixer_GetMixerCount(void);
7620
7627 TEAMTALKDLL_API TTBOOL TT_Mixer_GetMixerName(IN INT32 nMixerIndex,
7628 OUT TTCHAR szMixerName[TT_STRLEN]);
7629
7637 TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveInName(IN INT32 nWaveDeviceID,
7638 OUT TTCHAR szMixerName[TT_STRLEN]);
7639
7647 TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveOutName(IN INT32 nWaveDeviceID,
7648 OUT TTCHAR szMixerName[TT_STRLEN]);
7649
7660 TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveOutMute(IN INT32 nWaveDeviceID,
7661 IN MixerControl nControl,
7662 IN TTBOOL bMute);
7663
7673 TEAMTALKDLL_API INT32 TT_Mixer_GetWaveOutMute(IN INT32 nWaveDeviceID,
7674 IN MixerControl nControl);
7675
7684 TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveOutVolume(IN INT32 nWaveDeviceID,
7685 IN MixerControl nControl,
7686 IN INT32 nVolume);
7687
7696 TEAMTALKDLL_API INT32 TT_Mixer_GetWaveOutVolume(IN INT32 nWaveDeviceID,
7697 IN MixerControl nControl);
7698
7706 TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInSelected(IN INT32 nWaveDeviceID,
7707 IN MixerControl nControl);
7708
7717 TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInSelected(IN INT32 nWaveDeviceID,
7718 IN MixerControl nControl);
7719
7728 TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInVolume(IN INT32 nWaveDeviceID,
7729 IN MixerControl nControl,
7730 IN INT32 nVolume);
7731
7740 TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInVolume(IN INT32 nWaveDeviceID,
7741 IN MixerControl nControl);
7742
7749 TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInBoost(IN INT32 nWaveDeviceID,
7750 IN TTBOOL bEnable);
7757 TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInBoost(IN INT32 nWaveDeviceID);
7758
7765 TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInMute(IN INT32 nWaveDeviceID,
7766 IN TTBOOL bEnable);
7767
7774 TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInMute(IN INT32 nWaveDeviceID);
7775
7785 TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInControlCount(IN INT32 nWaveDeviceID);
7786
7797 TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveInControlName(IN INT32 nWaveDeviceID,
7798 IN INT32 nControlIndex,
7799 OUT TTCHAR szDeviceName[TT_STRLEN]);
7800
7810 TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInControlSelected(IN INT32 nWaveDeviceID,
7811 IN INT32 nControlIndex);
7812
7823 TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveInControlSelected(IN INT32 nWaveDeviceID,
7824 IN INT32 nControlIndex);
7835 TEAMTALKDLL_API TTBOOL TT_Firewall_IsEnabled(void);
7836
7846 TEAMTALKDLL_API TTBOOL TT_Firewall_Enable(IN TTBOOL bEnable);
7847
7854 TEAMTALKDLL_API TTBOOL TT_Firewall_AppExceptionExists(IN const TTCHAR* szExecutable);
7855
7865 TEAMTALKDLL_API TTBOOL TT_Firewall_AddAppException(IN const TTCHAR* szName,
7866 IN const TTCHAR* szExecutable);
7867
7877 TEAMTALKDLL_API TTBOOL TT_Firewall_RemoveAppException(IN const TTCHAR* szExecutable);
7880#endif
7882#ifdef __cplusplus
7883}
7884#endif
7885
7886#endif
TT_STRLEN
#define TT_STRLEN
Definition: TeamTalk.h:87
TT_DBG_GETDATAPTR
TEAMTALKDLL_API VOID * TT_DBG_GETDATAPTR(IN TTMessage *pMsg)
TT_DBG_SetSoundInputTone
TEAMTALKDLL_API TTBOOL TT_DBG_SetSoundInputTone(IN TTInstance *lpTTInstance, IN StreamTypes uStreamTypes, IN INT32 nFrequency)
TEAMTALKDLL_API
#define TEAMTALKDLL_API
Definition: TeamTalk.h:27
TT_DBG_SIZEOF
TEAMTALKDLL_API INT32 TT_DBG_SIZEOF(IN TTType nType)
TTCHAR
WCHAR TTCHAR
TeamTalk uses Unicode on Windows.
Definition: TeamTalk.h:51
TT_DBG_WriteAudioFileTone
TEAMTALKDLL_API TTBOOL TT_DBG_WriteAudioFileTone(IN const MediaFileInfo *lpMediaFileInfo, IN INT32 nFrequency)
TTBOOL
int TTBOOL
Definition: TeamTalk.h:52
ChannelType
ChannelType
The types of channels supported.
Definition: TeamTalk.h:2344
TT_GetFileTransferInfo
TEAMTALKDLL_API TTBOOL TT_GetFileTransferInfo(IN TTInstance *lpTTInstance, IN INT32 nTransferID, OUT FileTransfer *lpFileTransfer)
Get information about an active file transfer.
FileTransfer
struct FileTransfer FileTransfer
A struct containing the properties of a file transfer.
TT_CHANNELS_OPERATOR_MAX
#define TT_CHANNELS_OPERATOR_MAX
Definition: TeamTalk.h:145
TT_GetChannelPath
TEAMTALKDLL_API TTBOOL TT_GetChannelPath(IN TTInstance *lpTTInstance, IN INT32 nChannelID, OUT TTCHAR szChannelPath[TT_STRLEN])
Get the channel's path. Channels are separated by '/'.
TT_TRANSMITQUEUE_MAX
#define TT_TRANSMITQUEUE_MAX
Definition: TeamTalk.h:151
TT_GetChannelFile
TEAMTALKDLL_API TTBOOL TT_GetChannelFile(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN INT32 nFileID, OUT RemoteFile *lpRemoteFile)
Get information about a file which can be downloaded.
TT_GetMyChannelID
TEAMTALKDLL_API INT32 TT_GetMyChannelID(IN TTInstance *lpTTInstance)
Get the channel which the local client instance is currently participating in.
RemoteFile
struct RemoteFile RemoteFile
A struct containing the properties of a file in a Channel.
TT_CancelFileTransfer
TEAMTALKDLL_API TTBOOL TT_CancelFileTransfer(IN TTInstance *lpTTInstance, IN INT32 nTransferID)
Cancel an active file transfer.
FileTransferStatus
FileTransferStatus
Status of a file transfer.
Definition: TeamTalk.h:2495
TT_GetChannelIDFromPath
TEAMTALKDLL_API INT32 TT_GetChannelIDFromPath(IN TTInstance *lpTTInstance, IN const TTCHAR *szChannelPath)
Get the channel ID of the supplied path. Channels are separated by '/'.
TT_GetChannel
TEAMTALKDLL_API TTBOOL TT_GetChannel(IN TTInstance *lpTTInstance, IN INT32 nChannelID, OUT Channel *lpChannel)
Get the channel with a specific ID.
TT_TRANSMITUSERS_MAX
#define TT_TRANSMITUSERS_MAX
Definition: TeamTalk.h:107
TT_GetChannelFiles
TEAMTALKDLL_API TTBOOL TT_GetChannelFiles(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN OUT RemoteFile *lpRemoteFiles, IN OUT INT32 *lpnHowMany)
Get the list of the files in a channel which can be downloaded.
ChannelTypes
UINT32 ChannelTypes
Bitmask of ChannelType.
Definition: TeamTalk.h:2381
TT_GetChannelUsers
TEAMTALKDLL_API TTBOOL TT_GetChannelUsers(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN OUT User *lpUsers, IN OUT INT32 *lpnHowMany)
Get the IDs of all users in a channel.
TT_GetServerChannels
TEAMTALKDLL_API TTBOOL TT_GetServerChannels(IN TTInstance *lpTTInstance, IN OUT Channel *lpChannels, IN OUT INT32 *lpnHowMany)
Get all the channels on the server.
Channel
struct Channel Channel
A struct containing the properties of a channel.
TT_IsChannelOperator
TEAMTALKDLL_API TTBOOL TT_IsChannelOperator(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN INT32 nChannelID)
Check whether user is operator of a channel.
TT_GetRootChannelID
TEAMTALKDLL_API INT32 TT_GetRootChannelID(IN TTInstance *lpTTInstance)
Get the root channel's ID.
CHANNEL_OPERATOR_RECVONLY
@ CHANNEL_OPERATOR_RECVONLY
Only channel operators (and administrators) will receive audio/video/desktop transmissions....
Definition: TeamTalk.h:2368
CHANNEL_HIDDEN
@ CHANNEL_HIDDEN
Hidden channel which can only be seen with USERRIGHT_VIEW_HIDDEN_CHANNELS.
Definition: TeamTalk.h:2376
CHANNEL_SOLO_TRANSMIT
@ CHANNEL_SOLO_TRANSMIT
Only one user can transmit at a time.
Definition: TeamTalk.h:2352
CHANNEL_NO_RECORDING
@ CHANNEL_NO_RECORDING
Don't allow recording to files in the channel.
Definition: TeamTalk.h:2373
CHANNEL_CLASSROOM
@ CHANNEL_CLASSROOM
Voice and video transmission in the channel is controlled by a channel operator.
Definition: TeamTalk.h:2363
CHANNEL_PERMANENT
@ CHANNEL_PERMANENT
A channel which persists even when the last user leaves the channel.
Definition: TeamTalk.h:2350
CHANNEL_NO_VOICEACTIVATION
@ CHANNEL_NO_VOICEACTIVATION
Don't allow voice transmission if it's trigged by voice activation.
Definition: TeamTalk.h:2371
CHANNEL_DEFAULT
@ CHANNEL_DEFAULT
A default channel is a channel which disappears after the last user leaves the channel.
Definition: TeamTalk.h:2347
FILETRANSFER_FINISHED
@ FILETRANSFER_FINISHED
File transfer finished.
Definition: TeamTalk.h:2503
FILETRANSFER_CLOSED
@ FILETRANSFER_CLOSED
Definition: TeamTalk.h:2497
FILETRANSFER_ERROR
@ FILETRANSFER_ERROR
Error during file transfer.
Definition: TeamTalk.h:2499
FILETRANSFER_ACTIVE
@ FILETRANSFER_ACTIVE
File transfer active.
Definition: TeamTalk.h:2501
SpeexDSP
struct SpeexDSP SpeexDSP
Speex DSP is used for specifying how recorded audio from a sound input device should be preprocessed ...
AudioPreprocessorType
AudioPreprocessorType
The types of supported audio preprocessors.
Definition: TeamTalk.h:1407
WebMVP8Codec
struct WebMVP8Codec WebMVP8Codec
WebM video codec settings.
Codec
Codec
The codecs supported.
Definition: TeamTalk.h:1477
SpeexCodec
struct SpeexCodec SpeexCodec
Speex audio codec settings for Constant Bitrate mode (CBR).
SpeexVBRCodec
struct SpeexVBRCodec SpeexVBRCodec
Speex audio codec settings for Variable Bitrate mode (VBR).
AudioConfig
struct AudioConfig AudioConfig
Audio configuration for clients in a channel.
OpusCodec
struct OpusCodec OpusCodec
OPUS audio codec settings. For detailed information about the OPUS codec check out http://www....
TTAudioPreprocessor
struct TTAudioPreprocessor TTAudioPreprocessor
Use TeamTalk's internal audio preprocessor for gain audio. Same as used for TT_SetSoundInputGainLevel...
AudioPreprocessor
struct AudioPreprocessor AudioPreprocessor
Configure the audio preprocessor specified by nPreprocessor.
WebRTCAudioPreprocessor
struct WebRTCAudioPreprocessor WebRTCAudioPreprocessor
WebRTC's audio preprocessor.
AudioCodec
struct AudioCodec AudioCodec
Struct used for specifying which audio codec a channel uses.
VideoCodec
struct VideoCodec VideoCodec
Struct used for specifying the video codec to use.
WEBRTC_AUDIOPREPROCESSOR
@ WEBRTC_AUDIOPREPROCESSOR
Use WebRTC's audio preprocessor from WebRTCAudioPreprocessor. https://webrtc.org.
Definition: TeamTalk.h:1417
SPEEXDSP_AUDIOPREPROCESSOR
@ SPEEXDSP_AUDIOPREPROCESSOR
Use the SpeexDSP audio preprocessor.
Definition: TeamTalk.h:1412
TEAMTALK_AUDIOPREPROCESSOR
@ TEAMTALK_AUDIOPREPROCESSOR
Use TeamTalk's internal audio preprocessor TTAudioPreprocessor.
Definition: TeamTalk.h:1414
NO_AUDIOPREPROCESSOR
@ NO_AUDIOPREPROCESSOR
Value for specifying that no audio preprocessing should occur.
Definition: TeamTalk.h:1410
NO_CODEC
@ NO_CODEC
No codec specified.
Definition: TeamTalk.h:1479
WEBM_VP8_CODEC
@ WEBM_VP8_CODEC
WebM video codec.
Definition: TeamTalk.h:1489
SPEEX_VBR_CODEC
@ SPEEX_VBR_CODEC
Speex audio codec in VBR mode, http://www.speex.org.
Definition: TeamTalk.h:1485
SPEEX_CODEC
@ SPEEX_CODEC
Speex audio codec, http://www.speex.org.
Definition: TeamTalk.h:1482
OPUS_CODEC
@ OPUS_CODEC
OPUS audio codec.
Definition: TeamTalk.h:1487
TT_DoUnBanUserEx
TEAMTALKDLL_API INT32 TT_DoUnBanUserEx(IN TTInstance *lpTTInstance, IN const BannedUser *lpBannedUser)
Unban the properties specified in BannedUser.
TT_DoJoinChannelByID
TEAMTALKDLL_API INT32 TT_DoJoinChannelByID(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN const TTCHAR *szPassword)
Join an existing channel.
TT_DoUnsubscribe
TEAMTALKDLL_API INT32 TT_DoUnsubscribe(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN Subscriptions uSubscriptions)
Unsubscribe to user events/data. This can be used to ignore messages or voice data from a specific us...
TT_DoLoginEx
TEAMTALKDLL_API INT32 TT_DoLoginEx(IN TTInstance *lpTTInstance, IN const TTCHAR *szNickname, IN const TTCHAR *szUsername, IN const TTCHAR *szPassword, IN const TTCHAR *szClientName)
Logon to a server.
TT_DoSendFile
TEAMTALKDLL_API INT32 TT_DoSendFile(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN const TTCHAR *szLocalFilePath)
Send a file to the specified channel.
TT_DoChannelOpEx
TEAMTALKDLL_API INT32 TT_DoChannelOpEx(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN INT32 nChannelID, IN const TTCHAR *szOpPassword, IN TTBOOL bMakeOperator)
Make another user operator of a channel using the szOpPassword of Channel.
TT_DoQuit
TEAMTALKDLL_API INT32 TT_DoQuit(IN TTInstance *lpTTInstance)
Quit from server.
TT_DoUnBanUser
TEAMTALKDLL_API INT32 TT_DoUnBanUser(IN TTInstance *lpTTInstance, IN const TTCHAR *szIPAddress, IN INT32 nChannelID)
Unban the user with the specified IP-address.
TT_DoSubscribe
TEAMTALKDLL_API INT32 TT_DoSubscribe(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN Subscriptions uSubscriptions)
Subscribe to user events and/or data.
TT_DoListBans
TEAMTALKDLL_API INT32 TT_DoListBans(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN INT32 nIndex, IN INT32 nCount)
Issue a command to list the banned users.
TT_DoBanUserEx
TEAMTALKDLL_API INT32 TT_DoBanUserEx(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN BanTypes uBanTypes)
Ban the user with nUserID using the ban types specified.
TT_DoMoveUser
TEAMTALKDLL_API INT32 TT_DoMoveUser(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN INT32 nChannelID)
Issue command to move a user from one channel to another.
TT_DoNewUserAccount
TEAMTALKDLL_API INT32 TT_DoNewUserAccount(IN TTInstance *lpTTInstance, IN const UserAccount *lpUserAccount)
Issue command to create a new user account on the server.
TT_DoUpdateServer
TEAMTALKDLL_API INT32 TT_DoUpdateServer(IN TTInstance *lpTTInstance, IN const ServerProperties *lpServerProperties)
Update server properties.
TT_DoChannelOp
TEAMTALKDLL_API INT32 TT_DoChannelOp(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN INT32 nChannelID, IN TTBOOL bMakeOperator)
Make another user operator of a channel.
TT_DoDeleteFile
TEAMTALKDLL_API INT32 TT_DoDeleteFile(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN INT32 nFileID)
Delete a file from a channel.
TT_DoMakeChannel
TEAMTALKDLL_API INT32 TT_DoMakeChannel(IN TTInstance *lpTTInstance, IN const Channel *lpChannel)
Make a new channel on the server.
TT_DoTextMessage
TEAMTALKDLL_API INT32 TT_DoTextMessage(IN TTInstance *lpTTInstance, IN const TextMessage *lpTextMessage)
Send a text message to either a user or a channel.
TT_DoUpdateChannel
TEAMTALKDLL_API INT32 TT_DoUpdateChannel(IN TTInstance *lpTTInstance, IN const Channel *lpChannel)
Update a channel's properties.
TT_DoJoinChannel
TEAMTALKDLL_API INT32 TT_DoJoinChannel(IN TTInstance *lpTTInstance, IN const Channel *lpChannel)
Create a new channel and join it.
TT_DoBan
TEAMTALKDLL_API INT32 TT_DoBan(IN TTInstance *lpTTInstance, IN const BannedUser *lpBannedUser)
Ban the properties specified in lpBannedUser.
TT_DoBanIPAddress
TEAMTALKDLL_API INT32 TT_DoBanIPAddress(IN TTInstance *lpTTInstance, IN const TTCHAR *szIPAddress, IN INT32 nChannelID)
Issue a ban command on an IP-address user.
TT_DoLogin
TEAMTALKDLL_API INT32 TT_DoLogin(IN TTInstance *lpTTInstance, IN const TTCHAR *szNickname, IN const TTCHAR *szUsername, IN const TTCHAR *szPassword)
Same as TT_DologinEx() but without the option to specify szClientName. Kept for backwards compatibili...
TT_DoDeleteUserAccount
TEAMTALKDLL_API INT32 TT_DoDeleteUserAccount(IN TTInstance *lpTTInstance, IN const TTCHAR *szUsername)
Issue command to delete a user account on the server.
TT_DoRemoveChannel
TEAMTALKDLL_API INT32 TT_DoRemoveChannel(IN TTInstance *lpTTInstance, IN INT32 nChannelID)
Remove a channel from a server.
TT_DoPing
TEAMTALKDLL_API INT32 TT_DoPing(IN TTInstance *lpTTInstance)
Ping server and wait for server to reply.
TT_DoKickUser
TEAMTALKDLL_API INT32 TT_DoKickUser(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN INT32 nChannelID)
Kick user from either channel or server.
TT_DoLogout
TEAMTALKDLL_API INT32 TT_DoLogout(IN TTInstance *lpTTInstance)
Logout of the server.
TT_DoRecvFile
TEAMTALKDLL_API INT32 TT_DoRecvFile(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN INT32 nFileID, IN const TTCHAR *szLocalFilePath)
Download a file from the specified channel.
TT_DoListUserAccounts
TEAMTALKDLL_API INT32 TT_DoListUserAccounts(IN TTInstance *lpTTInstance, IN INT32 nIndex, IN INT32 nCount)
Issue command to list user accounts on the server.
TT_DoLeaveChannel
TEAMTALKDLL_API INT32 TT_DoLeaveChannel(IN TTInstance *lpTTInstance)
Leave the current channel.
TT_DoChangeStatus
TEAMTALKDLL_API INT32 TT_DoChangeStatus(IN TTInstance *lpTTInstance, IN INT32 nStatusMode, IN const TTCHAR *szStatusMessage)
Change the client instance's currect status.
TT_DoSaveConfig
TEAMTALKDLL_API INT32 TT_DoSaveConfig(IN TTInstance *lpTTInstance)
Save the server's current state to its settings file (typically the server's .xml file).
TT_DoChangeNickname
TEAMTALKDLL_API INT32 TT_DoChangeNickname(IN TTInstance *lpTTInstance, IN const TTCHAR *szNewNick)
Change the client instance's nick name.
TT_DoBanUser
TEAMTALKDLL_API INT32 TT_DoBanUser(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN INT32 nChannelID)
Issue a ban command on a user.
TT_DoQueryServerStats
TEAMTALKDLL_API INT32 TT_DoQueryServerStats(IN TTInstance *lpTTInstance)
Get the server's current statistics.
TT_Connect
TEAMTALKDLL_API TTBOOL TT_Connect(IN TTInstance *lpTTInstance, IN const TTCHAR *szHostAddress, IN INT32 nTcpPort, IN INT32 nUdpPort, IN INT32 nLocalTcpPort, IN INT32 nLocalUdpPort, IN TTBOOL bEncrypted)
Connect to a server.
TT_ConnectSysID
TEAMTALKDLL_API TTBOOL TT_ConnectSysID(IN TTInstance *lpTTInstance, IN const TTCHAR *szHostAddress, IN INT32 nTcpPort, IN INT32 nUdpPort, IN INT32 nLocalTcpPort, IN INT32 nLocalUdpPort, IN TTBOOL bEncrypted, IN const TTCHAR *szSystemID)
Same as TT_Connect() but the option of providing a unique system-ID.
TT_Disconnect
TEAMTALKDLL_API TTBOOL TT_Disconnect(IN TTInstance *lpTTInstance)
Disconnect from the server.
JitterConfig
struct JitterConfig JitterConfig
Configuration parameters for the Jitter Buffer.
TT_QueryMaxPayload
TEAMTALKDLL_API TTBOOL TT_QueryMaxPayload(IN TTInstance *lpTTInstance, IN INT32 nUserID)
Query the maximum size of UDP data packets to the user or server.
ClientKeepAlive
struct ClientKeepAlive ClientKeepAlive
Control timers for sending keep alive information to the server.
TT_GetClientKeepAlive
TEAMTALKDLL_API TTBOOL TT_GetClientKeepAlive(IN TTInstance *lpTTInstance, OUT ClientKeepAlive *lpClientKeepAlive)
Get the client instance's current keep alive settings.
EncryptionContext
struct EncryptionContext EncryptionContext
Configure peer verification for encrypted connection.
TT_ConnectEx
TEAMTALKDLL_API TTBOOL TT_ConnectEx(IN TTInstance *lpTTInstance, IN const TTCHAR *szHostAddress, IN INT32 nTcpPort, IN INT32 nUdpPort, IN const TTCHAR *szBindIPAddr, IN INT32 nLocalTcpPort, IN INT32 nLocalUdpPort, IN TTBOOL bEncrypted)
Bind to specific IP-address prior to connecting to server.
TT_GetClientStatistics
TEAMTALKDLL_API TTBOOL TT_GetClientStatistics(IN TTInstance *lpTTInstance, OUT ClientStatistics *lpClientStatistics)
Retrieve client statistics of bandwidth usage and response times.
TT_SetClientKeepAlive
TEAMTALKDLL_API TTBOOL TT_SetClientKeepAlive(IN TTInstance *lpTTInstance, IN const ClientKeepAlive *lpClientKeepAlive)
Update the client instance's default keep alive settings.
TT_SetEncryptionContext
TEAMTALKDLL_API TTBOOL TT_SetEncryptionContext(IN TTInstance *lpTTInstance, const EncryptionContext *lpEncryptionContext)
Setup encryption properties prior to TT_Connect().
ClientStatistics
struct ClientStatistics ClientStatistics
Statistics of bandwidth usage and ping times in the local client instance.
TT_SendDesktopInput
TEAMTALKDLL_API TTBOOL TT_SendDesktopInput(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN const DesktopInput lpDesktopInputs[TT_DESKTOPINPUT_MAX], IN INT32 nDesktopInputCount)
Send a mouse or keyboard event to a shared desktop window.
TT_DesktopInput_Execute
TEAMTALKDLL_API INT32 TT_DesktopInput_Execute(IN const DesktopInput *lpDesktopInputs, IN INT32 nDesktopInputCount)
Execute desktop (mouse or keyboard) input.
BitmapFormat
BitmapFormat
The bitmap format used for a DesktopWindow.
Definition: TeamTalk.h:930
TT_Windows_GetDesktopWindowHWND
TEAMTALKDLL_API TTBOOL TT_Windows_GetDesktopWindowHWND(IN INT32 nIndex, OUT HWND *lpHWnd)
Enumerate all the handles (HWND) of visible windows. Increment nIndex until the function returns FALS...
TT_Windows_GetDesktopActiveHWND
TEAMTALKDLL_API HWND TT_Windows_GetDesktopActiveHWND(void)
Get the handle (HWND) of the window which is currently active (focused) on the Windows desktop.
TT_MacOS_GetWindow
TEAMTALKDLL_API TTBOOL TT_MacOS_GetWindow(IN INT32 nIndex, OUT ShareWindow *lpShareWindow)
Enumerate all windows on the desktop. Increment nIndex until the function returns FALSE....
TT_ReleaseUserDesktopWindow
TEAMTALKDLL_API TTBOOL TT_ReleaseUserDesktopWindow(IN TTInstance *lpTTInstance, IN DesktopWindow *lpDesktopWindow)
Release memory allocated by the DesktopWindow.
TT_DesktopInput_KeyTranslate
TEAMTALKDLL_API INT32 TT_DesktopInput_KeyTranslate(TTKeyTranslate nTranslate, IN const DesktopInput *lpDesktopInputs, OUT DesktopInput *lpTranslatedDesktopInputs, IN INT32 nDesktopInputCount)
Translate platform key-code to and from TeamTalk's intermediate format.
TT_AcquireUserDesktopWindow
TEAMTALKDLL_API DesktopWindow * TT_AcquireUserDesktopWindow(IN TTInstance *lpTTInstance, IN INT32 nUserID)
Acquire a user's desktop window (bitmap image).
TTKeyTranslate
TTKeyTranslate
Translate to and from TeamTalk's intermediate key-codes (TTKEYCODE).
Definition: TeamTalk.h:7398
DesktopProtocol
DesktopProtocol
The protocols supported for transferring a DesktopWindow.
Definition: TeamTalk.h:957
TT_Windows_GetWindow
TEAMTALKDLL_API TTBOOL TT_Windows_GetWindow(IN HWND hWnd, OUT ShareWindow *lpShareWindow)
Get the properties of a window from its window handle (HWND).
TT_CloseDesktopWindow
TEAMTALKDLL_API TTBOOL TT_CloseDesktopWindow(IN TTInstance *lpTTInstance)
Close the current desktop session.
TT_AcquireUserDesktopWindowEx
TEAMTALKDLL_API DesktopWindow * TT_AcquireUserDesktopWindowEx(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN BitmapFormat nBitmapFormat)
Same as TT_AcquireUserDesktopWindow() except an extra option for converting bitmap to a different for...
DesktopInput
struct DesktopInput DesktopInput
A struct containing a mouse or keyboard event.
TT_SendDesktopWindowFromHWND
TEAMTALKDLL_API INT32 TT_SendDesktopWindowFromHWND(IN TTInstance *lpTTInstance, IN HWND hWnd, IN BitmapFormat nBitmapFormat, IN DesktopProtocol nDesktopProtocol)
Transmit the specified window in a desktop session.
DesktopKeyState
DesktopKeyState
The state of a key (or mouse button), i.e. if it's pressed or released.
Definition: TeamTalk.h:1000
ShareWindow
struct ShareWindow ShareWindow
A struct which describes the properties of a window which can be shared.
TT_MacOS_GetWindowFromWindowID
TEAMTALKDLL_API TTBOOL TT_MacOS_GetWindowFromWindowID(IN INT64 nWindowID, OUT ShareWindow *lpShareWindow)
Get information about a window by passing its handle (CGWindowID).
TT_SendDesktopFromWindowID
TEAMTALKDLL_API INT32 TT_SendDesktopFromWindowID(IN TTInstance *lpTTInstance, IN INT64 nWindowID, IN BitmapFormat nBitmapFormat, IN DesktopProtocol nDesktopProtocol)
Transmit the specified window in a desktop session.
TT_PaintDesktopWindowEx
TEAMTALKDLL_API TTBOOL TT_PaintDesktopWindowEx(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN HDC hDC, IN INT32 XDest, IN INT32 YDest, IN INT32 nDestWidth, IN INT32 nDestHeight, IN INT32 XSrc, IN INT32 YSrc, IN INT32 nSrcWidth, IN INT32 nSrcHeight)
Paint user's desktop window using a Windows' DC (device context).
TT_SendDesktopCursorPosition
TEAMTALKDLL_API TTBOOL TT_SendDesktopCursorPosition(IN TTInstance *lpTTInstance, IN UINT16 nPosX, IN UINT16 nPosY)
Send the position of mouse cursor to users in the same channel.
TT_SendDesktopWindow
TEAMTALKDLL_API INT32 TT_SendDesktopWindow(IN TTInstance *lpTTInstance, IN const DesktopWindow *lpDesktopWindow, IN BitmapFormat nConvertBmpFormat)
Transmit a desktop window (bitmap) to users in the same channel.
TT_Palette_GetColorTable
TEAMTALKDLL_API unsigned char * TT_Palette_GetColorTable(IN BitmapFormat nBmpPalette, IN INT32 nIndex)
Get RGB values of the palette for the bitmap format.
TT_PaintDesktopWindow
TEAMTALKDLL_API TTBOOL TT_PaintDesktopWindow(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN HDC hDC, IN INT32 XDest, IN INT32 YDest, IN INT32 nDestWidth, IN INT32 nDestHeight)
Paint user's desktop window using a Windows' DC (device context).
TT_Windows_GetDesktopHWND
TEAMTALKDLL_API HWND TT_Windows_GetDesktopHWND(void)
Get the handle (HWND) of the Windows desktop (full desktop).
DesktopKeyStates
UINT32 DesktopKeyStates
Mask of key states.
Definition: TeamTalk.h:1010
TT_DESKTOPINPUT_MAX
#define TT_DESKTOPINPUT_MAX
Definition: TeamTalk.h:162
DesktopWindow
struct DesktopWindow DesktopWindow
A struct containing the properties of a shared desktop window.
BMP_RGB16_555
@ BMP_RGB16_555
The bitmap is a 16-bit colored bitmap. The maximum pixels.
Definition: TeamTalk.h:941
BMP_RGB8_PALETTE
@ BMP_RGB8_PALETTE
The bitmap is a 256-colored bitmap requiring a palette. The default 256 colored palette is the Netsca...
Definition: TeamTalk.h:938
BMP_RGB24
@ BMP_RGB24
The bitmap is a 24-bit colored bitmap. The maximum size of a 24-bit bitmap is 4095 blocks of 85 by 16...
Definition: TeamTalk.h:945
BMP_RGB32
@ BMP_RGB32
The bitmap is a 32-bit colored bitmap. The maximum size of a 32-bit bitmap is 4095 blocks of 51 by 20...
Definition: TeamTalk.h:949
BMP_NONE
@ BMP_NONE
Used to denote nothing selected.
Definition: TeamTalk.h:932
TTKEY_TTKEYCODE_TO_MACKEYCODE
@ TTKEY_TTKEYCODE_TO_MACKEYCODE
Translate from TTKEYCODE to Mac OS X Carbon kVK_* key-code.
Definition: TeamTalk.h:7413
TTKEY_NO_TRANSLATE
@ TTKEY_NO_TRANSLATE
Perform no translation.
Definition: TeamTalk.h:7400
TTKEY_MACKEYCODE_TO_TTKEYCODE
@ TTKEY_MACKEYCODE_TO_TTKEYCODE
Translate from Mac OS X Carbon kVK_* key-code to TTKEYCODE. The Mac OS X key-codes are defined in Car...
Definition: TeamTalk.h:7410
TTKEY_TTKEYCODE_TO_WINKEYCODE
@ TTKEY_TTKEYCODE_TO_WINKEYCODE
Translate from TTKEYCODE to Windows scan-code.
Definition: TeamTalk.h:7406
TTKEY_WINKEYCODE_TO_TTKEYCODE
@ TTKEY_WINKEYCODE_TO_TTKEYCODE
Translate from Windows scan-code to TTKEYCODE. The Windows scan-code can be retrieved in Windows' WM_...
Definition: TeamTalk.h:7404
DESKTOPPROTOCOL_ZLIB_1
@ DESKTOPPROTOCOL_ZLIB_1
Desktop protocol based on ZLIB for image compression and UDP for data transmission.
Definition: TeamTalk.h:960
DESKTOPKEYSTATE_NONE
@ DESKTOPKEYSTATE_NONE
The key is ignored.
Definition: TeamTalk.h:1002
DESKTOPKEYSTATE_DOWN
@ DESKTOPKEYSTATE_DOWN
The key is pressed.
Definition: TeamTalk.h:1004
DESKTOPKEYSTATE_UP
@ DESKTOPKEYSTATE_UP
The key is released.
Definition: TeamTalk.h:1006
TT_GetErrorMessage
TEAMTALKDLL_API void TT_GetErrorMessage(IN INT32 nError, OUT TTCHAR szErrorMsg[TT_STRLEN])
Get textual discription of an error message.
ClientError
ClientError
Errors which can occur either as a result of client commands or as a result of internal errors.
Definition: TeamTalk.h:2748
ClientErrorMsg
struct ClientErrorMsg ClientErrorMsg
Struct containing an error message.
CMDERR_LOGINSERVICE_UNAVAILABLE
@ CMDERR_LOGINSERVICE_UNAVAILABLE
The login service is currently unavailable.
Definition: TeamTalk.h:2983
CMDERR_MISSING_PARAMETER
@ CMDERR_MISSING_PARAMETER
Command cannot be performed due to missing parameter. Only used internally.
Definition: TeamTalk.h:2764
CMDERR_SYNTAX_ERROR
@ CMDERR_SYNTAX_ERROR
Command has syntax error. Only used internally.
Definition: TeamTalk.h:2756
CMDERR_SERVER_BANNED
@ CMDERR_SERVER_BANNED
IP-address has been banned from server.
Definition: TeamTalk.h:2807
INTERR_SNDINPUT_FAILURE
@ INTERR_SNDINPUT_FAILURE
A sound input device failed.
Definition: TeamTalk.h:3001
INTERR_SPEEXDSP_INIT_FAILED
@ INTERR_SPEEXDSP_INIT_FAILED
Same as INTERR_AUDIOPREPROCESSOR_INIT_FAILED.
Definition: TeamTalk.h:3016
CMDERR_NOT_IN_CHANNEL
@ CMDERR_NOT_IN_CHANNEL
Cannot leave channel because not in channel.
Definition: TeamTalk.h:2900
CMDERR_INCOMPATIBLE_PROTOCOLS
@ CMDERR_INCOMPATIBLE_PROTOCOLS
The server uses a protocol which is incompatible with the client instance.
Definition: TeamTalk.h:2767
CMDERR_MAX_DISKUSAGE_EXCEEDED
@ CMDERR_MAX_DISKUSAGE_EXCEEDED
Cannot upload file because disk quota will be exceeded.
Definition: TeamTalk.h:2846
CMDERR_ACCOUNT_NOT_FOUND
@ CMDERR_ACCOUNT_NOT_FOUND
Cannot find user account.
Definition: TeamTalk.h:2958
CMDERR_INVALID_USERNAME
@ CMDERR_INVALID_USERNAME
Invalid username for UserAccount.
Definition: TeamTalk.h:2775
INTERR_SNDOUTPUT_FAILURE
@ INTERR_SNDOUTPUT_FAILURE
A sound output device failed.
Definition: TeamTalk.h:3010
CMDERR_CHANNEL_HAS_USERS
@ CMDERR_CHANNEL_HAS_USERS
Cannot process command since channel is not empty.
Definition: TeamTalk.h:2978
INTERR_AUDIOPREPROCESSOR_INIT_FAILED
@ INTERR_AUDIOPREPROCESSOR_INIT_FAILED
AudioPreprocessor failed to initialize.
Definition: TeamTalk.h:3024
CMDERR_FILESHARING_DISABLED
@ CMDERR_FILESHARING_DISABLED
Server does not allow file transfers.
Definition: TeamTalk.h:2973
CMDERR_COMMAND_FLOOD
@ CMDERR_COMMAND_FLOOD
Command flooding prevented by server.
Definition: TeamTalk.h:2875
CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED
@ CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED
The maximum number of logins allowed per IP-address has been exceeded.
Definition: TeamTalk.h:2865
CMDERR_ALREADY_IN_CHANNEL
@ CMDERR_ALREADY_IN_CHANNEL
Cannot join same channel twice.
Definition: TeamTalk.h:2905
CMDERR_BAN_NOT_FOUND
@ CMDERR_BAN_NOT_FOUND
Banned IP-address does not exist.
Definition: TeamTalk.h:2943
CMDERR_CHANNEL_ALREADY_EXISTS
@ CMDERR_CHANNEL_ALREADY_EXISTS
Channel already exists.
Definition: TeamTalk.h:2909
CMDERR_INCORRECT_OP_PASSWORD
@ CMDERR_INCORRECT_OP_PASSWORD
Invalid password for becoming channel operator.
Definition: TeamTalk.h:2852
CMDERR_CHANNEL_BANNED
@ CMDERR_CHANNEL_BANNED
Banned from joining a channel.
Definition: TeamTalk.h:2882
CMDERR_CHANNEL_NOT_FOUND
@ CMDERR_CHANNEL_NOT_FOUND
Channel does not exist.
Definition: TeamTalk.h:2927
INTERR_AUDIOCODEC_INIT_FAILED
@ INTERR_AUDIOCODEC_INIT_FAILED
Audio codec used by channel failed to initialize. Ensure the settings specified in AudioCodec are val...
Definition: TeamTalk.h:3014
CMDERR_NOT_LOGGEDIN
@ CMDERR_NOT_LOGGEDIN
Client instance has not been authenticated.
Definition: TeamTalk.h:2891
CMDERR_MAX_CHANNELS_EXCEEDED
@ CMDERR_MAX_CHANNELS_EXCEEDED
The maximum number of channels has been exceeded.
Definition: TeamTalk.h:2869
CMDERR_FILE_ALREADY_EXISTS
@ CMDERR_FILE_ALREADY_EXISTS
File already exist.
Definition: TeamTalk.h:2968
CMDERR_OPENFILE_FAILED
@ CMDERR_OPENFILE_FAILED
Server failed to open file.
Definition: TeamTalk.h:2953
CMDERR_CHANNEL_CANNOT_BE_HIDDEN
@ CMDERR_CHANNEL_CANNOT_BE_HIDDEN
Cannot apply CHANNEL_HIDDEN to Channel's type.
Definition: TeamTalk.h:2989
CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED
@ CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED
The selected AudioCodec exceeds what the server allows.
Definition: TeamTalk.h:2858
CMDERR_SUCCESS
@ CMDERR_SUCCESS
Command indicating success. Only used internally.
Definition: TeamTalk.h:2750
CMDERR_ALREADY_LOGGEDIN
@ CMDERR_ALREADY_LOGGEDIN
Already logged in.
Definition: TeamTalk.h:2896
CMDERR_USER_NOT_FOUND
@ CMDERR_USER_NOT_FOUND
User not found.
Definition: TeamTalk.h:2938
INTERR_SNDEFFECT_FAILURE
@ INTERR_SNDEFFECT_FAILURE
SoundDeviceEffects failed to initialize.
Definition: TeamTalk.h:3039
CMDERR_UNKNOWN_AUDIOCODEC
@ CMDERR_UNKNOWN_AUDIOCODEC
The server does not support the audio codec specified by the client. Introduced in version 4....
Definition: TeamTalk.h:2772
INTERR_TTMESSAGE_QUEUE_OVERFLOW
@ INTERR_TTMESSAGE_QUEUE_OVERFLOW
TTMessage event queue overflowed.
Definition: TeamTalk.h:3032
CMDERR_FILETRANSFER_NOT_FOUND
@ CMDERR_FILETRANSFER_NOT_FOUND
File transfer doesn't exists.
Definition: TeamTalk.h:2948
CMDERR_FILE_NOT_FOUND
@ CMDERR_FILE_NOT_FOUND
File does not exist.
Definition: TeamTalk.h:2963
CMDERR_MAX_SERVER_USERS_EXCEEDED
@ CMDERR_MAX_SERVER_USERS_EXCEEDED
Login failed due to maximum number of users on server.
Definition: TeamTalk.h:2796
CMDERR_INVALID_ACCOUNT
@ CMDERR_INVALID_ACCOUNT
Invalid username or password for account.
Definition: TeamTalk.h:2790
CMDERR_NOT_AUTHORIZED
@ CMDERR_NOT_AUTHORIZED
Command not authorized.
Definition: TeamTalk.h:2839
CMDERR_INCORRECT_CHANNEL_PASSWORD
@ CMDERR_INCORRECT_CHANNEL_PASSWORD
Invalid channel password.
Definition: TeamTalk.h:2784
CMDERR_UNKNOWN_COMMAND
@ CMDERR_UNKNOWN_COMMAND
The server doesn't support the issued command.
Definition: TeamTalk.h:2761
CMDERR_MAX_CHANNEL_USERS_EXCEEDED
@ CMDERR_MAX_CHANNEL_USERS_EXCEEDED
Cannot join channel because it has maximum number of users.
Definition: TeamTalk.h:2802
TTMessage
struct TTMessage TTMessage
A struct containing the properties of an event.
ClientEvent
ClientEvent
TeamTalk client event messages.
Definition: TeamTalk.h:3060
TTType
TTType
Definition: TeamTalk.h:3620
CLIENTEVENT_CMD_SUCCESS
@ CLIENTEVENT_CMD_SUCCESS
The server successfully processed a command issued by the local client instance.
Definition: TeamTalk.h:3151
CLIENTEVENT_USER_VIDEOCAPTURE
@ CLIENTEVENT_USER_VIDEOCAPTURE
A new video frame from a video capture device was received from a user.
Definition: TeamTalk.h:3365
CLIENTEVENT_CMD_USER_TEXTMSG
@ CLIENTEVENT_CMD_USER_TEXTMSG
A user has sent a text-message.
Definition: TeamTalk.h:3248
CLIENTEVENT_CMD_CHANNEL_NEW
@ CLIENTEVENT_CMD_CHANNEL_NEW
A new channel has been created.
Definition: TeamTalk.h:3257
CLIENTEVENT_CMD_USER_LOGGEDOUT
@ CLIENTEVENT_CMD_USER_LOGGEDOUT
A client logged out of the server.
Definition: TeamTalk.h:3213
CLIENTEVENT_USER_MEDIAFILE_VIDEO
@ CLIENTEVENT_USER_MEDIAFILE_VIDEO
A new video frame from a video media file was received from a user.
Definition: TeamTalk.h:3378
CLIENTEVENT_HOTKEY
@ CLIENTEVENT_HOTKEY
A hotkey has been acticated or deactivated.
Definition: TeamTalk.h:3495
CLIENTEVENT_DESKTOPWINDOW_TRANSFER
@ CLIENTEVENT_DESKTOPWINDOW_TRANSFER
Used for tracking when a desktop window has been transmitted to the server.
Definition: TeamTalk.h:3547
CLIENTEVENT_CMD_USERACCOUNT
@ CLIENTEVENT_CMD_USERACCOUNT
A user account has been received from the server.
Definition: TeamTalk.h:3323
CLIENTEVENT_CMD_PROCESSING
@ CLIENTEVENT_CMD_PROCESSING
A command issued by TT_Do* methods is being processed.
Definition: TeamTalk.h:3125
CLIENTEVENT_CMD_MYSELF_LOGGEDOUT
@ CLIENTEVENT_CMD_MYSELF_LOGGEDOUT
The client instance logged out of the server.
Definition: TeamTalk.h:3178
CLIENTEVENT_USER_AUDIOBLOCK
@ CLIENTEVENT_USER_AUDIOBLOCK
A new audio block can be extracted.
Definition: TeamTalk.h:3456
CLIENTEVENT_CMD_FILE_REMOVE
@ CLIENTEVENT_CMD_FILE_REMOVE
A file has been removed from a channel.
Definition: TeamTalk.h:3314
CLIENTEVENT_CMD_BANNEDUSER
@ CLIENTEVENT_CMD_BANNEDUSER
A banned user has been received from the server.
Definition: TeamTalk.h:3332
CLIENTEVENT_CMD_SERVER_UPDATE
@ CLIENTEVENT_CMD_SERVER_UPDATE
Server has updated its settings (server name, MOTD, etc.)
Definition: TeamTalk.h:3286
CLIENTEVENT_USER_STATECHANGE
@ CLIENTEVENT_USER_STATECHANGE
A user state has changed.
Definition: TeamTalk.h:3352
CLIENTEVENT_USER_DESKTOPINPUT
@ CLIENTEVENT_USER_DESKTOPINPUT
Desktop input (mouse or keyboard input) has been received from a user.
Definition: TeamTalk.h:3427
CLIENTEVENT_CON_FAILED
@ CLIENTEVENT_CON_FAILED
Failed to connect to server.
Definition: TeamTalk.h:3084
CLIENTEVENT_USER_DESKTOPCURSOR
@ CLIENTEVENT_USER_DESKTOPCURSOR
A user has sent the position of the mouse cursor.
Definition: TeamTalk.h:3404
CLIENTEVENT_VOICE_ACTIVATION
@ CLIENTEVENT_VOICE_ACTIVATION
Voice activation has triggered transmission.
Definition: TeamTalk.h:3484
CLIENTEVENT_CON_LOST
@ CLIENTEVENT_CON_LOST
Connection to server has been lost.
Definition: TeamTalk.h:3100
CLIENTEVENT_FILETRANSFER
@ CLIENTEVENT_FILETRANSFER
A file transfer is processing.
Definition: TeamTalk.h:3531
CLIENTEVENT_CMD_CHANNEL_UPDATE
@ CLIENTEVENT_CMD_CHANNEL_UPDATE
A channel's properties has been updated.
Definition: TeamTalk.h:3266
CLIENTEVENT_CMD_MYSELF_KICKED
@ CLIENTEVENT_CMD_MYSELF_KICKED
The client instance was kicked from a channel.
Definition: TeamTalk.h:3188
CLIENTEVENT_NONE
@ CLIENTEVENT_NONE
Definition: TeamTalk.h:3061
CLIENTEVENT_CON_SUCCESS
@ CLIENTEVENT_CON_SUCCESS
Connected successfully to the server.
Definition: TeamTalk.h:3074
CLIENTEVENT_USER_DESKTOPWINDOW
@ CLIENTEVENT_USER_DESKTOPWINDOW
A new or updated desktop window has been received from a user.
Definition: TeamTalk.h:3393
CLIENTEVENT_CMD_USER_UPDATE
@ CLIENTEVENT_CMD_USER_UPDATE
User changed properties.
Definition: TeamTalk.h:3222
CLIENTEVENT_USER_RECORD_MEDIAFILE
@ CLIENTEVENT_USER_RECORD_MEDIAFILE
A media file recording has changed status.
Definition: TeamTalk.h:3440
CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET
@ CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET
The first voice packet of a new voice stream has been received.
Definition: TeamTalk.h:3615
CLIENTEVENT_LOCAL_MEDIAFILE
@ CLIENTEVENT_LOCAL_MEDIAFILE
Media file played locally is processing.
Definition: TeamTalk.h:3572
CLIENTEVENT_CMD_USER_JOINED
@ CLIENTEVENT_CMD_USER_JOINED
A user has joined a channel.
Definition: TeamTalk.h:3231
CLIENTEVENT_HOTKEY_TEST
@ CLIENTEVENT_HOTKEY_TEST
A button was pressed or released on the user's keyboard or mouse.
Definition: TeamTalk.h:3514
CLIENTEVENT_CMD_ERROR
@ CLIENTEVENT_CMD_ERROR
The server rejected a command issued by the local client instance.
Definition: TeamTalk.h:3139
CLIENTEVENT_CMD_MYSELF_LOGGEDIN
@ CLIENTEVENT_CMD_MYSELF_LOGGEDIN
The client instance successfully logged on to server.
Definition: TeamTalk.h:3169
CLIENTEVENT_CMD_SERVERSTATISTICS
@ CLIENTEVENT_CMD_SERVERSTATISTICS
Server statistics available.
Definition: TeamTalk.h:3295
CLIENTEVENT_STREAM_MEDIAFILE
@ CLIENTEVENT_STREAM_MEDIAFILE
Media file being streamed to a channel is processing.
Definition: TeamTalk.h:3560
CLIENTEVENT_AUDIOINPUT
@ CLIENTEVENT_AUDIOINPUT
Progress is audio being injected as STREAMTYPE_VOICE.
Definition: TeamTalk.h:3595
CLIENTEVENT_CMD_FILE_NEW
@ CLIENTEVENT_CMD_FILE_NEW
A new file is added to a channel.
Definition: TeamTalk.h:3307
CLIENTEVENT_CMD_USER_LEFT
@ CLIENTEVENT_CMD_USER_LEFT
User has left a channel.
Definition: TeamTalk.h:3238
CLIENTEVENT_CMD_USER_LOGGEDIN
@ CLIENTEVENT_CMD_USER_LOGGEDIN
A new user logged on to the server.
Definition: TeamTalk.h:3199
CLIENTEVENT_CMD_CHANNEL_REMOVE
@ CLIENTEVENT_CMD_CHANNEL_REMOVE
A channel has been removed.
Definition: TeamTalk.h:3276
CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED
@ CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED
The maximum size of the payload put into UDP packets has been updated.
Definition: TeamTalk.h:3111
CLIENTEVENT_INTERNAL_ERROR
@ CLIENTEVENT_INTERNAL_ERROR
An internal error occurred in the client instance.
Definition: TeamTalk.h:3470
__CLIENTSTATISTICS
@ __CLIENTSTATISTICS
Definition: TeamTalk.h:3627
__OPUSCODEC
@ __OPUSCODEC
Definition: TeamTalk.h:3625
__DESKTOPINPUT
@ __DESKTOPINPUT
Definition: TeamTalk.h:3652
__BANNEDUSER
@ __BANNEDUSER
Definition: TeamTalk.h:3623
__AUDIOFORMAT
@ __AUDIOFORMAT
Definition: TeamTalk.h:3647
__USERACCOUNT
@ __USERACCOUNT
Definition: TeamTalk.h:3639
__SERVERPROPERTIES
@ __SERVERPROPERTIES
Definition: TeamTalk.h:3631
__AUDIOPREPROCESSORTYPE
@ __AUDIOPREPROCESSORTYPE
Definition: TeamTalk.h:3655
__TEXTMESSAGE
@ __TEXTMESSAGE
Definition: TeamTalk.h:3635
__ENCRYPTIONCONTEXT
@ __ENCRYPTIONCONTEXT
Definition: TeamTalk.h:3664
__VIDEOFORMAT
@ __VIDEOFORMAT
Definition: TeamTalk.h:3624
__VIDEOCAPTUREDEVICE
@ __VIDEOCAPTUREDEVICE
Definition: TeamTalk.h:3641
__AUDIOBLOCK
@ __AUDIOBLOCK
Definition: TeamTalk.h:3646
__JITTERCONFIG
@ __JITTERCONFIG
Definition: TeamTalk.h:3662
__TTAUDIOPREPROCESSOR
@ __TTAUDIOPREPROCESSOR
Definition: TeamTalk.h:3657
__SOUNDDEVICE
@ __SOUNDDEVICE
Definition: TeamTalk.h:3633
__CLIENTKEEPALIVE
@ __CLIENTKEEPALIVE
Definition: TeamTalk.h:3659
__MEDIAFILEPLAYBACK
@ __MEDIAFILEPLAYBACK
Definition: TeamTalk.h:3658
__STREAMTYPE
@ __STREAMTYPE
Definition: TeamTalk.h:3654
__TTMESSAGE
@ __TTMESSAGE
Definition: TeamTalk.h:3637
__AUDIOINPUTPROGRESS
@ __AUDIOINPUTPROGRESS
Definition: TeamTalk.h:3661
__NONE
@ __NONE
Definition: TeamTalk.h:3621
__UINT32
@ __UINT32
Definition: TeamTalk.h:3660
__CHANNEL
@ __CHANNEL
Definition: TeamTalk.h:3626
__AUDIOCONFIG
@ __AUDIOCONFIG
Definition: TeamTalk.h:3643
__USERSTATISTICS
@ __USERSTATISTICS
Definition: TeamTalk.h:3640
__USER
@ __USER
Definition: TeamTalk.h:3638
__SERVERSTATISTICS
@ __SERVERSTATISTICS
Definition: TeamTalk.h:3632
__WEBMVP8CODEC
@ __WEBMVP8CODEC
Definition: TeamTalk.h:3636
__CLIENTERRORMSG
@ __CLIENTERRORMSG
Definition: TeamTalk.h:3649
__INT32
@ __INT32
Definition: TeamTalk.h:3651
__VIDEOFRAME
@ __VIDEOFRAME
Definition: TeamTalk.h:3645
__FILETRANSFER
@ __FILETRANSFER
Definition: TeamTalk.h:3629
__WEBRTCAUDIOPREPROCESSOR
@ __WEBRTCAUDIOPREPROCESSOR
Definition: TeamTalk.h:3663
__SPEEXDSP
@ __SPEEXDSP
Definition: TeamTalk.h:3653
__MEDIAFILESTATUS
@ __MEDIAFILESTATUS
Definition: TeamTalk.h:3630
__AUDIOCODEC
@ __AUDIOCODEC
Definition: TeamTalk.h:3622
__MEDIAFILEINFO
@ __MEDIAFILEINFO
Definition: TeamTalk.h:3648
__TTBOOL
@ __TTBOOL
Definition: TeamTalk.h:3650
__AUDIOPREPROCESSOR
@ __AUDIOPREPROCESSOR
Definition: TeamTalk.h:3656
__REMOTEFILE
@ __REMOTEFILE
Definition: TeamTalk.h:3628
__SPEEXVBRCODEC
@ __SPEEXVBRCODEC
Definition: TeamTalk.h:3644
__VIDEOCODEC
@ __VIDEOCODEC
Definition: TeamTalk.h:3642
__SPEEXCODEC
@ __SPEEXCODEC
Definition: TeamTalk.h:3634
TT_Firewall_IsEnabled
TEAMTALKDLL_API TTBOOL TT_Firewall_IsEnabled(void)
Check if the Windows Firewall is currently enabled.
TT_Firewall_RemoveAppException
TEAMTALKDLL_API TTBOOL TT_Firewall_RemoveAppException(IN const TTCHAR *szExecutable)
Remove an application from the Windows Firewall exception list.
TT_Firewall_AddAppException
TEAMTALKDLL_API TTBOOL TT_Firewall_AddAppException(IN const TTCHAR *szName, IN const TTCHAR *szExecutable)
Add an application to the Windows Firewall exception list.
TT_Firewall_Enable
TEAMTALKDLL_API TTBOOL TT_Firewall_Enable(IN TTBOOL bEnable)
Enable/disable the Windows Firewall.
TT_Firewall_AppExceptionExists
TEAMTALKDLL_API TTBOOL TT_Firewall_AppExceptionExists(IN const TTCHAR *szExecutable)
Check if an executable is already in the Windows Firewall exception list.
TT_HotKey_IsActive
TEAMTALKDLL_API INT32 TT_HotKey_IsActive(IN TTInstance *lpTTInstance, IN INT32 nHotKeyID)
Check whether hotkey is active.
TT_HotKey_GetKeyString
TEAMTALKDLL_API TTBOOL TT_HotKey_GetKeyString(IN TTInstance *lpTTInstance, IN INT32 nVKCode, OUT TTCHAR szKeyName[TT_STRLEN])
Get a string description of the virtual-key code.
TT_HotKey_Register
TEAMTALKDLL_API TTBOOL TT_HotKey_Register(IN TTInstance *lpTTInstance, IN INT32 nHotKeyID, IN const INT32 *lpnVKCodes, IN INT32 nVKCodeCount)
Register a global hotkey.
TT_HotKey_RemoveTestHook
TEAMTALKDLL_API TTBOOL TT_HotKey_RemoveTestHook(IN TTInstance *lpTTInstance)
Remove the test hook again so the hWnd in TT_HotKey_InstallTestHook will no longer be notified.
TT_HotKey_Unregister
TEAMTALKDLL_API TTBOOL TT_HotKey_Unregister(IN TTInstance *lpTTInstance, IN INT32 nHotKeyID)
Unregister a registered hotkey.
TT_HotKey_InstallTestHook
TEAMTALKDLL_API TTBOOL TT_HotKey_InstallTestHook(IN TTInstance *lpTTInstance, IN HWND hWnd, UINT32 uMsg)
Install a test hook so the HWND will be messaged whenever a key or mouse button is pressed.
TT_InitTeamTalkPoll
TEAMTALKDLL_API TTInstance * TT_InitTeamTalkPoll(void)
Create a new TeamTalk client instance where events are 'polled' using TT_GetMessage.
TT_GetVersion
TEAMTALKDLL_API const TTCHAR * TT_GetVersion(void)
Get the DLL's version number.
TT_PumpMessage
TEAMTALKDLL_API TTBOOL TT_PumpMessage(IN TTInstance *lpTTInstance, ClientEvent nClientEvent, INT32 nIdentifier)
Cause client instance event thread to schedule an update event.
TT_GetMessage
TEAMTALKDLL_API TTBOOL TT_GetMessage(IN TTInstance *lpTTInstance, OUT TTMessage *pMsg, IN const INT32 *pnWaitMs)
Poll for events in the client instance.
TTInstance
VOID TTInstance
Pointer to a TeamTalk client instance created by TT_InitTeamTalk.
Definition: TeamTalk.h:3853
ClientFlags
UINT32 ClientFlags
A bitmask based on ClientFlag describing the local client instance's current state.
Definition: TeamTalk.h:3847
TT_InitTeamTalk
TEAMTALKDLL_API TTInstance * TT_InitTeamTalk(IN HWND hWnd, IN UINT32 uMsg)
Create a new TeamTalk client instance where events are posted to a HWND.
TT_SwapTeamTalkHWND
TEAMTALKDLL_API TTBOOL TT_SwapTeamTalkHWND(IN TTInstance *lpTTInstance, IN HWND hWnd)
Replace the HWND passed as parameter to TT_InitTeamTalk with this HWND.
ClientFlag
ClientFlag
Flags used to describe the the client instance current state.
Definition: TeamTalk.h:3749
TT_SetLicenseInformation
TEAMTALKDLL_API TTBOOL TT_SetLicenseInformation(IN const TTCHAR szRegName[TT_STRLEN], IN const TTCHAR szRegKey[TT_STRLEN])
Set license information to disable trial mode.
TT_GetFlags
TEAMTALKDLL_API ClientFlags TT_GetFlags(IN TTInstance *lpTTInstance)
Get a bitmask describing the client's current state.
TT_CloseTeamTalk
TEAMTALKDLL_API TTBOOL TT_CloseTeamTalk(IN TTInstance *lpTTInstance)
Close the TeamTalk client instance and release its resources.
CLIENT_CONNECTED
@ CLIENT_CONNECTED
If set the client instance is connected to a server, i.e. CLIENTEVENT_CON_SUCCESS event has been issu...
Definition: TeamTalk.h:3825
CLIENT_CONNECTING
@ CLIENT_CONNECTING
If set the client instance is currently try to connect to a server, i.e. TT_Connect has been called.
Definition: TeamTalk.h:3820
CLIENT_TX_VOICE
@ CLIENT_TX_VOICE
If set the client instance is currently transmitting audio.
Definition: TeamTalk.h:3798
CLIENT_TX_DESKTOP
@ CLIENT_TX_DESKTOP
If set the client instance is currently transmitting a desktop window. A desktop window update is iss...
Definition: TeamTalk.h:3808
CLIENT_SNDINOUTPUT_DUPLEX
@ CLIENT_SNDINOUTPUT_DUPLEX
If set the client instance is running in sound duplex mode where multiple audio output streams are mi...
Definition: TeamTalk.h:3768
CLIENT_SNDOUTPUT_MUTE
@ CLIENT_SNDOUTPUT_MUTE
If set the client instance has muted all users.
Definition: TeamTalk.h:3785
CLIENT_STREAM_VIDEO
@ CLIENT_STREAM_VIDEO
If set the client is currently streaming the video of a media file. When streaming a video file the C...
Definition: TeamTalk.h:3842
CLIENT_SNDOUTPUT_AUTO3DPOSITION
@ CLIENT_SNDOUTPUT_AUTO3DPOSITION
If set the client instance will auto position users in a 180 degree circle using 3D-sound....
Definition: TeamTalk.h:3791
CLIENT_MUX_AUDIOFILE
@ CLIENT_MUX_AUDIOFILE
If set the client instance is currently muxing audio streams into a single file. This is enabled by c...
Definition: TeamTalk.h:3817
CLIENT_CLOSED
@ CLIENT_CLOSED
The client instance (TTInstance) is in closed state, i.e. TT_InitTeamTalk has return a valid instance...
Definition: TeamTalk.h:3754
CLIENT_SNDINPUT_READY
@ CLIENT_SNDINPUT_READY
If set the client instance's sound input device has been initialized, i.e. TT_InitSoundInputDevice ha...
Definition: TeamTalk.h:3758
CLIENT_DESKTOP_ACTIVE
@ CLIENT_DESKTOP_ACTIVE
If set the client instance current have an active desktop session, i.e. TT_SendDesktopWindow() has be...
Definition: TeamTalk.h:3813
CLIENT_CONNECTION
@ CLIENT_CONNECTION
Helper for CLIENT_CONNECTING and CLIENT_CONNECTED to see if TT_Disconnect should be called.
Definition: TeamTalk.h:3828
CLIENT_AUTHORIZED
@ CLIENT_AUTHORIZED
If set the client instance is logged on to a server, i.e. got CLIENTEVENT_CMD_MYSELF_LOGGEDIN event a...
Definition: TeamTalk.h:3832
CLIENT_SNDINPUT_VOICEACTIVE
@ CLIENT_SNDINPUT_VOICEACTIVE
If set GetSoundInputLevel() is higher than the voice activation level. To enable voice transmission i...
Definition: TeamTalk.h:3782
CLIENT_SNDOUTPUT_READY
@ CLIENT_SNDOUTPUT_READY
If set the client instance's sound output device has been initialized, i.e. TT_InitSoundOutputDevice ...
Definition: TeamTalk.h:3762
CLIENT_SNDINPUT_VOICEACTIVATED
@ CLIENT_SNDINPUT_VOICEACTIVATED
If set the client instance will start transmitting audio if the sound level is above the voice activa...
Definition: TeamTalk.h:3775
CLIENT_TX_VIDEOCAPTURE
@ CLIENT_TX_VIDEOCAPTURE
If set the client instance is currently transmitting video.
Definition: TeamTalk.h:3802
CLIENT_STREAM_AUDIO
@ CLIENT_STREAM_AUDIO
If set the client is currently streaming the audio of a media file. When streaming a video file the C...
Definition: TeamTalk.h:3837
CLIENT_VIDEOCAPTURE_READY
@ CLIENT_VIDEOCAPTURE_READY
If set the client instance's video device has been initialized, i.e. TT_InitVideoCaptureDevice has be...
Definition: TeamTalk.h:3795
TT_InitLocalPlayback
TEAMTALKDLL_API INT32 TT_InitLocalPlayback(IN TTInstance *lpTTInstance, IN const TTCHAR *szMediaFilePath, IN const MediaFilePlayback *lpMediaFilePlayback)
Play media file using settings from TTInstance.
TT_UpdateLocalPlayback
TEAMTALKDLL_API TTBOOL TT_UpdateLocalPlayback(IN TTInstance *lpTTInstance, IN INT32 nPlaybackSessionID, IN const MediaFilePlayback *lpMediaFilePlayback)
TT_StartStreamingMediaFileToChannelEx
TEAMTALKDLL_API TTBOOL TT_StartStreamingMediaFileToChannelEx(IN TTInstance *lpTTInstance, IN const TTCHAR *szMediaFilePath, IN const MediaFilePlayback *lpMediaFilePlayback, IN const VideoCodec *lpVideoCodec)
Stream media file to channel, e.g. avi, wav or MP3-file.
TT_StopLocalPlayback
TEAMTALKDLL_API TTBOOL TT_StopLocalPlayback(IN TTInstance *lpTTInstance, IN INT32 nPlaybackSessionID)
TT_UpdateStreamingMediaFileToChannel
TEAMTALKDLL_API TTBOOL TT_UpdateStreamingMediaFileToChannel(IN TTInstance *lpTTInstance, IN const MediaFilePlayback *lpMediaFilePlayback, IN const VideoCodec *lpVideoCodec)
Update active media file being streamed to channel.
MediaFilePlayback
struct MediaFilePlayback MediaFilePlayback
Properties for initializing or updating a file for media streaming.
TT_GetMediaFileInfo
TEAMTALKDLL_API TTBOOL TT_GetMediaFileInfo(IN const TTCHAR *szMediaFilePath, OUT MediaFileInfo *lpMediaFileInfo)
Get the properties of a media file.
MediaFileInfo
struct MediaFileInfo MediaFileInfo
Struct describing the audio and video format used by a media file.
MediaFileStatus
MediaFileStatus
Status of media file being written to disk.
Definition: TeamTalk.h:737
TT_StopStreamingMediaFileToChannel
TEAMTALKDLL_API TTBOOL TT_StopStreamingMediaFileToChannel(IN TTInstance *lpTTInstance)
Stop streaming media file to channel.
AudioInputProgress
struct AudioInputProgress AudioInputProgress
The progress of the audio currently being processed as audio input.
AudioFileFormat
AudioFileFormat
Media file formats supported for muxed audio recordings.
Definition: TeamTalk.h:758
TT_StartStreamingMediaFileToChannel
TEAMTALKDLL_API TTBOOL TT_StartStreamingMediaFileToChannel(IN TTInstance *lpTTInstance, IN const TTCHAR *szMediaFilePath, IN const VideoCodec *lpVideoCodec)
Stream media file to channel, e.g. avi-, wav- or MP3-file.
TT_AcquireUserMediaVideoFrame
TEAMTALKDLL_API VideoFrame * TT_AcquireUserMediaVideoFrame(IN TTInstance *lpTTInstance, IN INT32 nUserID)
Extract a user's media video frame for display.
AudioFormat
struct AudioFormat AudioFormat
Struct describing the audio format used by a media file.
TT_ReleaseUserMediaVideoFrame
TEAMTALKDLL_API TTBOOL TT_ReleaseUserMediaVideoFrame(IN TTInstance *lpTTInstance, IN VideoFrame *lpVideoFrame)
Delete a user's video frame, acquired through TT_AcquireUserMediaVideoFrame(), so its allocated resou...
MFS_PAUSED
@ MFS_PAUSED
Paused processing of media file.
Definition: TeamTalk.h:748
MFS_ERROR
@ MFS_ERROR
Error while processing media file.
Definition: TeamTalk.h:740
MFS_STARTED
@ MFS_STARTED
Started processing media file.
Definition: TeamTalk.h:742
MFS_ABORTED
@ MFS_ABORTED
Aborted processing of media file.
Definition: TeamTalk.h:746
MFS_CLOSED
@ MFS_CLOSED
Definition: TeamTalk.h:738
MFS_PLAYING
@ MFS_PLAYING
Playing media file with updated uElapsedMSec of MediaFileInfo.
Definition: TeamTalk.h:751
MFS_FINISHED
@ MFS_FINISHED
Finished processing media file.
Definition: TeamTalk.h:744
AFF_CHANNELCODEC_FORMAT
@ AFF_CHANNELCODEC_FORMAT
Store audio in the same format as the Channel's configured audio codec.
Definition: TeamTalk.h:771
AFF_MP3_16KBIT_FORMAT
@ AFF_MP3_16KBIT_FORMAT
Store in MP3-format.
Definition: TeamTalk.h:775
AFF_MP3_256KBIT_FORMAT
@ AFF_MP3_256KBIT_FORMAT
Definition: TeamTalk.h:783
AFF_MP3_64KBIT_FORMAT
@ AFF_MP3_64KBIT_FORMAT
Definition: TeamTalk.h:779
AFF_MP3_32KBIT_FORMAT
@ AFF_MP3_32KBIT_FORMAT
Definition: TeamTalk.h:777
AFF_NONE
@ AFF_NONE
Used to denote nothing selected.
Definition: TeamTalk.h:760
AFF_MP3_128KBIT_FORMAT
@ AFF_MP3_128KBIT_FORMAT
Definition: TeamTalk.h:781
AFF_WAVE_FORMAT
@ AFF_WAVE_FORMAT
Store in PCM 16-bit wave format.
Definition: TeamTalk.h:773
TT_Mixer_GetWaveInName
TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveInName(IN INT32 nWaveDeviceID, OUT TTCHAR szMixerName[TT_STRLEN])
Get the name of the mixer associated with a wave-in device.
TT_Mixer_GetWaveInControlName
TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveInControlName(IN INT32 nWaveDeviceID, IN INT32 nControlIndex, OUT TTCHAR szDeviceName[TT_STRLEN])
Get the name of the Wave-In device with the specified index.
TT_Mixer_GetWaveInMute
TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInMute(IN INT32 nWaveDeviceID)
See if microphone is muted.
TT_Mixer_SetWaveOutVolume
TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveOutVolume(IN INT32 nWaveDeviceID, IN MixerControl nControl, IN INT32 nVolume)
Set the volume of a Windows Mixer Wave-Out device from the 'enum' of devices.
TT_Mixer_SetWaveInMute
TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInMute(IN INT32 nWaveDeviceID, IN TTBOOL bEnable)
Mute/unmute microphone input.
TT_Mixer_GetMixerCount
TEAMTALKDLL_API INT32 TT_Mixer_GetMixerCount(void)
Get the number of Windows Mixers available.
TT_Mixer_SetWaveOutMute
TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveOutMute(IN INT32 nWaveDeviceID, IN MixerControl nControl, IN TTBOOL bMute)
Mute or unmute a Windows Mixer Wave-Out device from the 'enum' of devices.
MixerControl
MixerControl
The Windows mixer controls which can be queried by the TT_Mixer_* functions.
Definition: TeamTalk.h:7603
TT_Mixer_GetWaveInBoost
TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInBoost(IN INT32 nWaveDeviceID)
See if microphone boost is enabled.
TT_Mixer_GetWaveOutMute
TEAMTALKDLL_API INT32 TT_Mixer_GetWaveOutMute(IN INT32 nWaveDeviceID, IN MixerControl nControl)
Get the mute state of a Windows Mixer Wave-Out device from the 'enum' of devices.
TT_Mixer_GetWaveOutVolume
TEAMTALKDLL_API INT32 TT_Mixer_GetWaveOutVolume(IN INT32 nWaveDeviceID, IN MixerControl nControl)
Get the volume of a Windows Mixer Wave-Out device from the 'enum' of devices.
TT_Mixer_GetWaveInControlCount
TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInControlCount(IN INT32 nWaveDeviceID)
Get the number of Windows Mixer Wave-In devices.
TT_Mixer_GetWaveOutName
TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveOutName(IN INT32 nWaveDeviceID, OUT TTCHAR szMixerName[TT_STRLEN])
Get the name of the mixer associated with a wave-out device.
TT_Mixer_SetWaveInControlSelected
TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInControlSelected(IN INT32 nWaveDeviceID, IN INT32 nControlIndex)
Set the selected state of a Wave-In device in the Windows Mixer.
TT_Mixer_GetWaveInVolume
TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInVolume(IN INT32 nWaveDeviceID, IN MixerControl nControl)
Get the volume of a Windows Mixer Wave-In device from the 'enum' of devices.
TT_Mixer_GetWaveInControlSelected
TEAMTALKDLL_API TTBOOL TT_Mixer_GetWaveInControlSelected(IN INT32 nWaveDeviceID, IN INT32 nControlIndex)
Get the selected state of a Wave-In device in the Windows Mixer.
TT_Mixer_SetWaveInVolume
TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInVolume(IN INT32 nWaveDeviceID, IN MixerControl nControl, IN INT32 nVolume)
Set the volume of a Windows Mixer Wave-In device from the 'enum' of devices.
TT_Mixer_SetWaveInSelected
TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInSelected(IN INT32 nWaveDeviceID, IN MixerControl nControl)
Set the selected state of a Windows Mixer Wave-In device from the 'enum' of devices.
TT_Mixer_SetWaveInBoost
TEAMTALKDLL_API TTBOOL TT_Mixer_SetWaveInBoost(IN INT32 nWaveDeviceID, IN TTBOOL bEnable)
Enable and disable microphone boost.
TT_Mixer_GetMixerName
TEAMTALKDLL_API TTBOOL TT_Mixer_GetMixerName(IN INT32 nMixerIndex, OUT TTCHAR szMixerName[TT_STRLEN])
Get the name of a Windows Mixer based on its name.
TT_Mixer_GetWaveInSelected
TEAMTALKDLL_API INT32 TT_Mixer_GetWaveInSelected(IN INT32 nWaveDeviceID, IN MixerControl nControl)
Get the selected state of a Windows Mixer Wave-In device from the 'enum' of devices.
WAVEOUT_WAVE
@ WAVEOUT_WAVE
Definition: TeamTalk.h:7605
WAVEIN_MICROPHONE
@ WAVEIN_MICROPHONE
Definition: TeamTalk.h:7608
WAVEOUT_MICROPHONE
@ WAVEOUT_MICROPHONE
Definition: TeamTalk.h:7606
WAVEIN_WAVEOUT
@ WAVEIN_WAVEOUT
Definition: TeamTalk.h:7610
WAVEIN_LINEIN
@ WAVEIN_LINEIN
Definition: TeamTalk.h:7609
WAVEOUT_MASTER
@ WAVEOUT_MASTER
Definition: TeamTalk.h:7604
TT_GetServerUsers
TEAMTALKDLL_API TTBOOL TT_GetServerUsers(IN TTInstance *lpTTInstance, IN OUT User *lpUsers, IN OUT INT32 *lpnHowMany)
Get all the users on the server.
BannedUser
struct BannedUser BannedUser
A struct containing the properties of a banned user.
ServerProperties
struct ServerProperties ServerProperties
A struct containing the properties of the server's settings.
BanType
BanType
Way to ban a user from either login or joining a channel.
Definition: TeamTalk.h:1855
TT_GetServerProperties
TEAMTALKDLL_API TTBOOL TT_GetServerProperties(IN TTInstance *lpTTInstance, OUT ServerProperties *lpServerProperties)
Get the server's properties.
UserAccount
struct UserAccount UserAccount
A struct containing the properties of a user account.
UserRights
UINT32 UserRights
A bitmask based on UserRight for holding the rights users have who log on the server.
Definition: TeamTalk.h:1706
BanTypes
UINT32 BanTypes
A mask of types of bans that apply.
Definition: TeamTalk.h:1869
UserRight
UserRight
The rights users have once they have logged on to the server.
Definition: TeamTalk.h:1625
ServerStatistics
struct ServerStatistics ServerStatistics
A struct containing the server's statistics, i.e. bandwidth usage and user activity.
AbusePrevention
struct AbusePrevention AbusePrevention
Properties to prevent server abuse.
BANTYPE_IPADDR
@ BANTYPE_IPADDR
Ban szIPAddress specified in BannedUser.
Definition: TeamTalk.h:1863
BANTYPE_USERNAME
@ BANTYPE_USERNAME
Ban szUsername specified in BannedUser.
Definition: TeamTalk.h:1865
BANTYPE_NONE
@ BANTYPE_NONE
Ban type not set.
Definition: TeamTalk.h:1857
BANTYPE_CHANNEL
@ BANTYPE_CHANNEL
The ban applies to the channel specified in the szChannel of BannedUser. Otherwise the ban applies to...
Definition: TeamTalk.h:1861
USERRIGHT_VIEW_HIDDEN_CHANNELS
@ USERRIGHT_VIEW_HIDDEN_CHANNELS
User can see hidden channels, CHANNEL_HIDDEN.
Definition: TeamTalk.h:1699
USERRIGHT_UPLOAD_FILES
@ USERRIGHT_UPLOAD_FILES
User can upload files to channels.
Definition: TeamTalk.h:1657
USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO
@ USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO
User is allowed to stream audio files to channel.
Definition: TeamTalk.h:1678
USERRIGHT_DOWNLOAD_FILES
@ USERRIGHT_DOWNLOAD_FILES
User can download files from channels.
Definition: TeamTalk.h:1660
USERRIGHT_VIEW_ALL_USERS
@ USERRIGHT_VIEW_ALL_USERS
User can see users in all other channels.
Definition: TeamTalk.h:1633
USERRIGHT_UPDATE_SERVERPROPERTIES
@ USERRIGHT_UPDATE_SERVERPROPERTIES
User can update server properties.
Definition: TeamTalk.h:1663
USERRIGHT_LOCKED_NICKNAME
@ USERRIGHT_LOCKED_NICKNAME
User's nick name is locked. TT_DoChangeNickname() cannot be used and TT_DoLogin() will ignore szNickn...
Definition: TeamTalk.h:1691
USERRIGHT_OPERATOR_ENABLE
@ USERRIGHT_OPERATOR_ENABLE
User can make other users channel operator.
Definition: TeamTalk.h:1655
USERRIGHT_MOVE_USERS
@ USERRIGHT_MOVE_USERS
User can move users from one channel to another.
Definition: TeamTalk.h:1652
USERRIGHT_NONE
@ USERRIGHT_NONE
Users who log onto the server has none of the rights below.
Definition: TeamTalk.h:1628
USERRIGHT_TEXTMESSAGE_BROADCAST
@ USERRIGHT_TEXTMESSAGE_BROADCAST
User can broadcast text message of type MSGTYPE_BROADCAST to all users.
Definition: TeamTalk.h:1644
USERRIGHT_KICK_USERS
@ USERRIGHT_KICK_USERS
User can kick users off the server.
Definition: TeamTalk.h:1646
USERRIGHT_BAN_USERS
@ USERRIGHT_BAN_USERS
User can add and remove banned users.
Definition: TeamTalk.h:1649
USERRIGHT_MODIFY_CHANNELS
@ USERRIGHT_MODIFY_CHANNELS
User is allowed to create permanent channels which are stored in the server's configuration file.
Definition: TeamTalk.h:1641
USERRIGHT_TRANSMIT_MEDIAFILE
@ USERRIGHT_TRANSMIT_MEDIAFILE
User is allowed to stream media files to channel.
Definition: TeamTalk.h:1684
USERRIGHT_TRANSMIT_VIDEOCAPTURE
@ USERRIGHT_TRANSMIT_VIDEOCAPTURE
User is allowed to forward video packets through server. TT_StartVideoCaptureTransmission()
Definition: TeamTalk.h:1669
USERRIGHT_RECORD_VOICE
@ USERRIGHT_RECORD_VOICE
User can record voice in all channels. Even channels with CHANNEL_NO_RECORDING.
Definition: TeamTalk.h:1697
USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO
@ USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO
User is allowed to stream video files to channel.
Definition: TeamTalk.h:1681
USERRIGHT_LOCKED_STATUS
@ USERRIGHT_LOCKED_STATUS
User's status is locked. TT_DoChangeStatus() cannot be used.
Definition: TeamTalk.h:1694
USERRIGHT_MULTI_LOGIN
@ USERRIGHT_MULTI_LOGIN
Allow multiple users to log on to the server with the same UserAccount.
Definition: TeamTalk.h:1631
USERRIGHT_TRANSMIT_DESKTOPINPUT
@ USERRIGHT_TRANSMIT_DESKTOPINPUT
User is allowed to forward desktop input packets through server.
Definition: TeamTalk.h:1675
USERRIGHT_TRANSMIT_DESKTOP
@ USERRIGHT_TRANSMIT_DESKTOP
User is allowed to forward desktop packets through server.
Definition: TeamTalk.h:1672
USERRIGHT_CREATE_TEMPORARY_CHANNEL
@ USERRIGHT_CREATE_TEMPORARY_CHANNEL
User is allowed to create temporary channels which disappear when last user leaves the channel.
Definition: TeamTalk.h:1637
USERRIGHT_TRANSMIT_VOICE
@ USERRIGHT_TRANSMIT_VOICE
Users are allowed to forward audio packets through server. TT_EnableVoiceTransmission()
Definition: TeamTalk.h:1666
TTSoundLoop
VOID TTSoundLoop
Pointer to a sound loop for testing sound devices created by TT_StartSoundLoopbackTest()
Definition: TeamTalk.h:3859
TT_StartSoundLoopbackTest
TEAMTALKDLL_API TTSoundLoop * TT_StartSoundLoopbackTest(IN INT32 nInputDeviceID, IN INT32 nOutputDeviceID, IN INT32 nSampleRate, IN INT32 nChannels, IN TTBOOL bDuplexMode, IN const SpeexDSP *lpSpeexDSP)
Perform a record and playback test of specified sound devices along with an audio configuration.
TT_SetSoundInputGainLevel
TEAMTALKDLL_API TTBOOL TT_SetSoundInputGainLevel(IN TTInstance *lpTTInstance, IN INT32 nLevel)
Set voice gaining of recorded audio.
TT_SetUserMute
TEAMTALKDLL_API TTBOOL TT_SetUserMute(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamType nStreamType, IN TTBOOL bMute)
Mute a user.
TT_SetSoundDeviceEffects
TEAMTALKDLL_API TTBOOL TT_SetSoundDeviceEffects(IN TTInstance *lpTTInstance, IN const SoundDeviceEffects *lpSoundDeviceEffect)
Set up audio effects on a sound device.
TT_GetSoundDeviceEffects
TEAMTALKDLL_API TTBOOL TT_GetSoundDeviceEffects(IN TTInstance *lpTTInstance, OUT SoundDeviceEffects *lpSoundDeviceEffect)
Get the audio effects that are currently enabled.
SoundSystem
SoundSystem
The supported sound systems.
Definition: TeamTalk.h:288
SoundDevice
struct SoundDevice SoundDevice
A struct containing the properties of a sound device for either playback or recording.
TT_RestartSoundSystem
TEAMTALKDLL_API TTBOOL TT_RestartSoundSystem(void)
Reinitialize sound system (in order to detect new/removed devices).
TT_GetDefaultSoundDevices
TEAMTALKDLL_API TTBOOL TT_GetDefaultSoundDevices(OUT INT32 *lpnInputDeviceID, OUT INT32 *lpnOutputDeviceID)
Get the default sound devices.
SoundDeviceFeatures
UINT32 SoundDeviceFeatures
A bitmask of available SoundDeviceFeature. Checkout uSoundDeviceFeatures on SoundDevice.
Definition: TeamTalk.h:386
TT_EnableAudioBlockEvent
TEAMTALKDLL_API TTBOOL TT_EnableAudioBlockEvent(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamTypes uStreamTypes, IN TTBOOL bEnable)
Enable/disable access to raw audio from individual users, local microphone input or mixed stream of a...
SoundDeviceFeature
SoundDeviceFeature
Features available on a sound device. Checkout uSoundDeviceFeatures on SoundDevice.
Definition: TeamTalk.h:352
TT_GetDefaultSoundDevicesEx
TEAMTALKDLL_API TTBOOL TT_GetDefaultSoundDevicesEx(IN SoundSystem nSndSystem, OUT INT32 *lpnInputDeviceID, OUT INT32 *lpnOutputDeviceID)
Get the default sound devices for the specified sound system.
TT_SetUserAudioStreamBufferSize
TEAMTALKDLL_API TTBOOL TT_SetUserAudioStreamBufferSize(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamTypes uStreamType, IN INT32 nMSec)
Change the amount of media data which can be buffered in the user's playback queue.
TT_SetUserJitterControl
TEAMTALKDLL_API TTBOOL TT_SetUserJitterControl(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamType nStreamType, IN const JitterConfig *lpJitterConfig)
Set the configuration for de-jitter measures for a user.
TT_ReleaseUserAudioBlock
TEAMTALKDLL_API TTBOOL TT_ReleaseUserAudioBlock(IN TTInstance *lpTTInstance, IN AudioBlock *lpAudioBlock)
Release the shared memory of an AudioBlock.
TT_Enable3DSoundPositioning
TEAMTALKDLL_API TTBOOL TT_Enable3DSoundPositioning(IN TTInstance *lpTTInstance, IN TTBOOL bEnable)
Enable automatically position users using 3D-sound.
TT_GetSoundDevices
TEAMTALKDLL_API TTBOOL TT_GetSoundDevices(IN OUT SoundDevice *lpSoundDevices, IN OUT INT32 *lpnHowMany)
Retrieve list of sound devices for recording and playback.
TT_AcquireUserAudioBlock
TEAMTALKDLL_API AudioBlock * TT_AcquireUserAudioBlock(IN TTInstance *lpTTInstance, IN StreamTypes uStreamTypes, IN INT32 nUserID)
Extract the raw audio associated with the event CLIENTEVENT_USER_AUDIOBLOCK.
TT_SetSoundInputPreprocessEx
TEAMTALKDLL_API TTBOOL TT_SetSoundInputPreprocessEx(IN TTInstance *lpTTInstance, IN const AudioPreprocessor *lpAudioPreprocessor)
Enable sound preprocessor which should be used for processing audio recorded by the sound input devic...
TT_GetUserJitterControl
TEAMTALKDLL_API TTBOOL TT_GetUserJitterControl(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamType nStreamType, IN JitterConfig *lpJitterConfig)
Get the de-jitter configuration for a user.
TT_InitSoundOutputDevice
TEAMTALKDLL_API TTBOOL TT_InitSoundOutputDevice(IN TTInstance *lpTTInstance, IN INT32 nOutputDeviceID)
Initialize the sound output device (for audio playback).
TT_InitSoundOutputSharedDevice
TEAMTALKDLL_API TTBOOL TT_InitSoundOutputSharedDevice(IN INT32 nSampleRate, IN INT32 nChannels, IN INT32 nFrameSize)
Setup sample rate, channels and frame size of shared sound output device.
TT_CloseSoundOutputDevice
TEAMTALKDLL_API TTBOOL TT_CloseSoundOutputDevice(IN TTInstance *lpTTInstance)
Shutdown the output sound device.
AudioBlock
struct AudioBlock AudioBlock
An audio block containing the raw audio from a user who was talking.
TT_SetUserPosition
TEAMTALKDLL_API TTBOOL TT_SetUserPosition(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamType nStreamType, IN float x, IN float y, IN float z)
Set the position of a user.
TT_GetSoundInputLevel
TEAMTALKDLL_API INT32 TT_GetSoundInputLevel(IN TTInstance *lpTTInstance)
Get the volume level of the current recorded audio.
TT_StartSoundLoopbackTestEx
TEAMTALKDLL_API TTSoundLoop * TT_StartSoundLoopbackTestEx(IN INT32 nInputDeviceID, IN INT32 nOutputDeviceID, IN INT32 nSampleRate, IN INT32 nChannels, IN TTBOOL bDuplexMode, IN const AudioPreprocessor *lpAudioPreprocessor, IN const SoundDeviceEffects *lpSoundDeviceEffects)
Perform a record and playback test of specified sound devices along with an audio configuration.
TT_InitSoundInputDevice
TEAMTALKDLL_API TTBOOL TT_InitSoundInputDevice(IN TTInstance *lpTTInstance, IN INT32 nInputDeviceID)
Initialize the sound input device (for recording audio).
TT_InitSoundDuplexDevices
TEAMTALKDLL_API TTBOOL TT_InitSoundDuplexDevices(IN TTInstance *lpTTInstance, IN INT32 nInputDeviceID, IN INT32 nOutputDeviceID)
Enable duplex mode where multiple audio streams are mixed into a single stream using software.
TT_GetSoundInputPreprocess
TEAMTALKDLL_API TTBOOL TT_GetSoundInputPreprocess(IN TTInstance *lpTTInstance, OUT SpeexDSP *lpSpeexDSP)
Get the sound preprocessor settings which are currently in use for recorded sound input device (voice...
TT_SetUserVolume
TEAMTALKDLL_API TTBOOL TT_SetUserVolume(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamType nStreamType, IN INT32 nVolume)
Set the volume of a user.
TT_SAMPLERATES_MAX
#define TT_SAMPLERATES_MAX
Definition: TeamTalk.h:155
TT_EnableAudioBlockEventEx
TEAMTALKDLL_API TTBOOL TT_EnableAudioBlockEventEx(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamTypes uStreamTypes, IN const AudioFormat *lpAudioFormat, IN TTBOOL bEnable)
Enable/disable access to raw audio from individual users, local microphone input or mixed stream of a...
TT_GetSoundInputPreprocessEx
TEAMTALKDLL_API TTBOOL TT_GetSoundInputPreprocessEx(IN TTInstance *lpTTInstance, OUT AudioPreprocessor *lpAudioPreprocessor)
Get the sound preprocessor settings which are currently in use for recorded sound input device (voice...
TT_SetUserStereo
TEAMTALKDLL_API TTBOOL TT_SetUserStereo(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamType nStreamType, IN TTBOOL bLeftSpeaker, IN TTBOOL bRightSpeaker)
Set whether a user should speak in the left, right or both speakers. This function only works if Audi...
TT_SetSoundOutputMute
TEAMTALKDLL_API TTBOOL TT_SetSoundOutputMute(IN TTInstance *lpTTInstance, IN TTBOOL bMuteAll)
Set all users mute.
TT_SetUserMediaStorageDir
TEAMTALKDLL_API TTBOOL TT_SetUserMediaStorageDir(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN const TTCHAR *szFolderPath, IN const TTCHAR *szFileNameVars, IN AudioFileFormat uAFF)
Store user's audio to disk.
TT_AutoPositionUsers
TEAMTALKDLL_API TTBOOL TT_AutoPositionUsers(IN TTInstance *lpTTInstance)
Automatically position users using 3D-sound.
TT_CloseSoundLoopbackTest
TEAMTALKDLL_API TTBOOL TT_CloseSoundLoopbackTest(IN TTSoundLoop *lpTTSoundLoop)
Stop recorder and playback test.
TT_SetSoundOutputVolume
TEAMTALKDLL_API TTBOOL TT_SetSoundOutputVolume(IN TTInstance *lpTTInstance, IN INT32 nVolume)
Set master volume.
SoundDeviceEffects
struct SoundDeviceEffects SoundDeviceEffects
Set up audio effects supported by the sound device.
TT_InitSoundInputSharedDevice
TEAMTALKDLL_API TTBOOL TT_InitSoundInputSharedDevice(IN INT32 nSampleRate, IN INT32 nChannels, IN INT32 nFrameSize)
Setup sample rate, channels and frame size of shared sound input device.
TT_SetSoundInputPreprocess
TEAMTALKDLL_API TTBOOL TT_SetSoundInputPreprocess(IN TTInstance *lpTTInstance, IN const SpeexDSP *lpSpeexDSP)
Enable sound preprocessor which should be used for processing audio recorded by the sound input devic...
TT_SetUserStoppedPlaybackDelay
TEAMTALKDLL_API TTBOOL TT_SetUserStoppedPlaybackDelay(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN StreamType nStreamType, IN INT32 nDelayMSec)
Set the delay of when a user should no longer be considered as playing audio (either voice or audio f...
SoundLevel
SoundLevel
An enum encapsulation the minimum, maximum and default sound levels for input and output sound device...
Definition: TeamTalk.h:578
TT_CloseSoundDuplexDevices
TEAMTALKDLL_API TTBOOL TT_CloseSoundDuplexDevices(IN TTInstance *lpTTInstance)
Shut down sound devices running in duplex mode.
TT_SetUserMediaStorageDirEx
TEAMTALKDLL_API TTBOOL TT_SetUserMediaStorageDirEx(IN TTInstance *lpTTInstance, IN INT32 nUserID, IN const TTCHAR *szFolderPath, IN const TTCHAR *szFileNameVars, IN AudioFileFormat uAFF, IN INT32 nStopRecordingExtraDelayMSec)
Store user's audio to disk.
TT_GetSoundInputGainLevel
TEAMTALKDLL_API INT32 TT_GetSoundInputGainLevel(IN TTInstance *lpTTInstance)
Get voice gain level of outgoing audio.
TT_CloseSoundInputDevice
TEAMTALKDLL_API TTBOOL TT_CloseSoundInputDevice(IN TTInstance *lpTTInstance)
Shutdown the input sound device.
TT_GetSoundOutputVolume
TEAMTALKDLL_API INT32 TT_GetSoundOutputVolume(IN TTInstance *lpTTInstance)
Get master volume.
SOUNDSYSTEM_NONE
@ SOUNDSYSTEM_NONE
Sound system denoting invalid or not found.
Definition: TeamTalk.h:290
SOUNDSYSTEM_DSOUND
@ SOUNDSYSTEM_DSOUND
DirectSound audio system. Should be used on Windows.
Definition: TeamTalk.h:294
SOUNDSYSTEM_AUDIOUNIT_IOS
@ SOUNDSYSTEM_AUDIOUNIT_IOS
Same as SOUNDSYSTEM_AUDIOUNIT.
Definition: TeamTalk.h:344
SOUNDSYSTEM_OPENSLES_ANDROID
@ SOUNDSYSTEM_OPENSLES_ANDROID
Android sound API.
Definition: TeamTalk.h:322
SOUNDSYSTEM_WASAPI
@ SOUNDSYSTEM_WASAPI
Windows Audio Session API (WASAPI). Should be used on Windows Vista/7/8/10.
Definition: TeamTalk.h:315
SOUNDSYSTEM_AUDIOUNIT
@ SOUNDSYSTEM_AUDIOUNIT
iOS sound API.
Definition: TeamTalk.h:342
SOUNDSYSTEM_ALSA
@ SOUNDSYSTEM_ALSA
Advanced Linux Sound Architecture (ALSA). Should be used on Linux.
Definition: TeamTalk.h:302
SOUNDSYSTEM_WINMM
@ SOUNDSYSTEM_WINMM
Windows legacy audio system. Should be used on Windows Mobile.
Definition: TeamTalk.h:292
SOUNDSYSTEM_COREAUDIO
@ SOUNDSYSTEM_COREAUDIO
Core Audio. Should be used on MacOS.
Definition: TeamTalk.h:304
SOUNDDEVICEFEATURE_AGC
@ SOUNDDEVICEFEATURE_AGC
The SoundDevice can enable Automatic Gain Control (AGC). Enable AGC use property bEnableAGC on SoundD...
Definition: TeamTalk.h:367
SOUNDDEVICEFEATURE_3DPOSITION
@ SOUNDDEVICEFEATURE_3DPOSITION
The SoundDevice can position user in 3D.
Definition: TeamTalk.h:375
SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE
@ SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE
The SoundDevice is the default communication device. This feature is only supported on SOUNDSYSTEM_WA...
Definition: TeamTalk.h:381
SOUNDDEVICEFEATURE_AEC
@ SOUNDDEVICEFEATURE_AEC
The SoundDevice can enable Acoustic Echo Canceler (AEC). Enable AEC use property bEnableAEC on SoundD...
Definition: TeamTalk.h:361
SOUNDDEVICEFEATURE_DENOISE
@ SOUNDDEVICEFEATURE_DENOISE
The SoundDevice can enable denoising. Enable denoising use property bEnableDenoising on SoundDeviceEf...
Definition: TeamTalk.h:372
SOUNDDEVICEFEATURE_DUPLEXMODE
@ SOUNDDEVICEFEATURE_DUPLEXMODE
The SoundDevice can run in duplex mode.
Definition: TeamTalk.h:378
SOUNDDEVICEFEATURE_NONE
@ SOUNDDEVICEFEATURE_NONE
No sound device features are available on this sound device.
Definition: TeamTalk.h:355
SOUND_VU_MIN
@ SOUND_VU_MIN
The minimum value of recorded audio.
Definition: TeamTalk.h:590
SOUND_GAIN_MIN
@ SOUND_GAIN_MIN
The minimum gain level (since it's zero it means silence).
Definition: TeamTalk.h:640
SOUND_VOLUME_DEFAULT
@ SOUND_VOLUME_DEFAULT
The default volume. Use this whenever possible since it requires the least amount of CPU usage.
Definition: TeamTalk.h:606
SOUND_GAIN_MAX
@ SOUND_GAIN_MAX
The maximum gain level.
Definition: TeamTalk.h:621
SOUND_VOLUME_MAX
@ SOUND_VOLUME_MAX
The maximum volume.
Definition: TeamTalk.h:598
SOUND_VU_MAX
@ SOUND_VU_MAX
The maximum value of recorded audio.
Definition: TeamTalk.h:584
SOUND_VOLUME_MIN
@ SOUND_VOLUME_MIN
The minimum volume.
Definition: TeamTalk.h:612
SOUND_GAIN_DEFAULT
@ SOUND_GAIN_DEFAULT
The default gain level.
Definition: TeamTalk.h:631
TT_StopVideoCaptureTransmission
TEAMTALKDLL_API TTBOOL TT_StopVideoCaptureTransmission(IN TTInstance *lpTTInstance)
Stop transmitting from video capture device.
TT_StartVideoCaptureTransmission
TEAMTALKDLL_API TTBOOL TT_StartVideoCaptureTransmission(IN TTInstance *lpTTInstance, IN const VideoCodec *lpVideoCodec)
Start transmitting from video capture device.
TT_SetVoiceActivationLevel
TEAMTALKDLL_API TTBOOL TT_SetVoiceActivationLevel(IN TTInstance *lpTTInstance, IN INT32 nLevel)
Set voice activation level.
StreamTypes
UINT32 StreamTypes
Mask of StreamType.
Definition: TeamTalk.h:273
TT_StartRecordingMuxedStreams
TEAMTALKDLL_API TTBOOL TT_StartRecordingMuxedStreams(IN TTInstance *lpTTInstance, IN StreamTypes uStreamTypes, IN const AudioCodec *lpAudioCodec, IN const TTCHAR *szAudioFileName, IN AudioFileFormat uAFF)
Mix multiple StreamTypes into a single audio file.
TT_StopRecordingMuxedAudioFileEx
TEAMTALKDLL_API TTBOOL TT_StopRecordingMuxedAudioFileEx(IN TTInstance *lpTTInstance, IN INT32 nChannelID)
Stop recording conversations from a channel to a single file.
StreamType
StreamType
The types of streams which are available for transmission.
Definition: TeamTalk.h:222
TT_StopRecordingMuxedAudioFile
TEAMTALKDLL_API TTBOOL TT_StopRecordingMuxedAudioFile(IN TTInstance *lpTTInstance)
Stop an active muxed audio recording.
TT_EnableVoiceTransmission
TEAMTALKDLL_API TTBOOL TT_EnableVoiceTransmission(IN TTInstance *lpTTInstance, IN TTBOOL bEnable)
Start/stop transmitting of voice data from sound input.
TT_StartRecordingMuxedAudioFileEx
TEAMTALKDLL_API TTBOOL TT_StartRecordingMuxedAudioFileEx(IN TTInstance *lpTTInstance, IN INT32 nChannelID, IN const TTCHAR *szAudioFileName, IN AudioFileFormat uAFF)
Store audio conversations from a specific channel into a single file.
TT_SetVoiceActivationStopDelay
TEAMTALKDLL_API TTBOOL TT_SetVoiceActivationStopDelay(IN TTInstance *lpTTInstance, IN INT32 nDelayMSec)
Set the delay of when voice activation should be stopped.
TT_InsertAudioBlock
TEAMTALKDLL_API TTBOOL TT_InsertAudioBlock(IN TTInstance *lpTTInstance, IN const AudioBlock *lpAudioBlock)
Transmit application provided raw audio in AudioBlock-structs as STREAMTYPE_VOICE,...
TT_GetVoiceActivationStopDelay
TEAMTALKDLL_API INT32 TT_GetVoiceActivationStopDelay(IN TTInstance *lpTTInstance)
Get the delay of when voice active state should be disabled.
TT_GetVoiceActivationLevel
TEAMTALKDLL_API INT32 TT_GetVoiceActivationLevel(IN TTInstance *lpTTInstance)
Get voice activation level.
TT_StartRecordingMuxedAudioFile
TEAMTALKDLL_API TTBOOL TT_StartRecordingMuxedAudioFile(IN TTInstance *lpTTInstance, IN const AudioCodec *lpAudioCodec, IN const TTCHAR *szAudioFileName, IN AudioFileFormat uAFF)
Store all audio conversations with specific AudioCodec settings to a single file.
TT_EnableVoiceActivation
TEAMTALKDLL_API TTBOOL TT_EnableVoiceActivation(IN TTInstance *lpTTInstance, IN TTBOOL bEnable)
Enable voice activation.
STREAMTYPE_MEDIAFILE_AUDIO
@ STREAMTYPE_MEDIAFILE_AUDIO
Audio stream type from a media file which is being streamed.
Definition: TeamTalk.h:233
STREAMTYPE_CLASSROOM_ALL
@ STREAMTYPE_CLASSROOM_ALL
Shortcut to allow voice, media files, desktop, webcamera and channel messages.
Definition: TeamTalk.h:265
STREAMTYPE_DESKTOPINPUT
@ STREAMTYPE_DESKTOPINPUT
Desktop input stream type which is keyboard or mouse input being transmitted.
Definition: TeamTalk.h:243
STREAMTYPE_MEDIAFILE
@ STREAMTYPE_MEDIAFILE
Shortcut to allow both audio and video media files.
Definition: TeamTalk.h:245
STREAMTYPE_VIDEOCAPTURE
@ STREAMTYPE_VIDEOCAPTURE
Video capture stream type which is video recorded from a webcam.
Definition: TeamTalk.h:230
STREAMTYPE_DESKTOP
@ STREAMTYPE_DESKTOP
Desktop window stream type which is a window (or bitmap) being transmitted.
Definition: TeamTalk.h:239
STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO
@ STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO
Stream type for audio of local playback.
Definition: TeamTalk.h:261
STREAMTYPE_NONE
@ STREAMTYPE_NONE
No stream.
Definition: TeamTalk.h:224
STREAMTYPE_VOICE
@ STREAMTYPE_VOICE
Voice stream type which is audio recorded from a sound input device.
Definition: TeamTalk.h:227
STREAMTYPE_CHANNELMSG
@ STREAMTYPE_CHANNELMSG
Channel text messages as stream type.
Definition: TeamTalk.h:255
STREAMTYPE_MEDIAFILE_VIDEO
@ STREAMTYPE_MEDIAFILE_VIDEO
Video stream type from a media file which is being streamed.
Definition: TeamTalk.h:236
UserType
UserType
The types of users supported.
Definition: TeamTalk.h:1896
TextMsgType
TextMsgType
Text message types.
Definition: TeamTalk.h:2296
UserStatistics
struct UserStatistics UserStatistics
Packet reception and data statistics for a user.
Subscriptions
UINT32 Subscriptions
A bitmask based on Subscription describing which subscriptions are enabled.
Definition: TeamTalk.h:2072
TT_GetUser
TEAMTALKDLL_API TTBOOL TT_GetUser(IN TTInstance *lpTTInstance, IN INT32 nUserID, OUT User *lpUser)
Get the user with the specified ID.
TT_GetUserStatistics
TEAMTALKDLL_API TTBOOL TT_GetUserStatistics(IN TTInstance *lpTTInstance, IN INT32 nUserID, OUT UserStatistics *lpUserStatistics)
Get statistics for data and packet reception from a user.
TT_GetMyUserID
TEAMTALKDLL_API INT32 TT_GetMyUserID(IN TTInstance *lpTTInstance)
Get the local client instance's user ID.
TextMessage
struct TextMessage TextMessage
A struct containing the properties of a text message sent by a user.
UserTypes
UINT32 UserTypes
A bitmask based on UserType describing the user type.
Definition: TeamTalk.h:1909
TT_GetMyUserRights
TEAMTALKDLL_API UserRights TT_GetMyUserRights(IN TTInstance *lpTTInstance)
Convenience method for TT_GetMyUserAccount()
UserStates
UINT32 UserStates
A bitmask based on UserState indicating a User's current state.
Definition: TeamTalk.h:2118
TT_GetMyUserAccount
TEAMTALKDLL_API TTBOOL TT_GetMyUserAccount(IN TTInstance *lpTTInstance, OUT UserAccount *lpUserAccount)
Get the local client instance's UserAccount.
TT_GetUserByUsername
TEAMTALKDLL_API TTBOOL TT_GetUserByUsername(IN TTInstance *lpTTInstance, IN const TTCHAR *szUsername, OUT User *lpUser)
Get the user with the specified username.
TT_GetMyUserType
TEAMTALKDLL_API UserTypes TT_GetMyUserType(IN TTInstance *lpTTInstance)
Get the client instance's user type.
Subscription
Subscription
A user by default accepts audio, video and text messages from all users. Using subscribtions can,...
Definition: TeamTalk.h:2007
TT_GetMyUserData
TEAMTALKDLL_API INT32 TT_GetMyUserData(IN TTInstance *lpTTInstance)
If an account was used in TT_DoLogin then this value will return the nUserData from the UserAccount.
User
struct User User
A struct containing the properties of a user.
UserState
UserState
The possible states for a user. Used for User's uUserState variable.
Definition: TeamTalk.h:2077
USERTYPE_DEFAULT
@ USERTYPE_DEFAULT
A default user who can join channels.
Definition: TeamTalk.h:1901
USERTYPE_ADMIN
@ USERTYPE_ADMIN
A user with administrator privileges.
Definition: TeamTalk.h:1903
USERTYPE_NONE
@ USERTYPE_NONE
Used internally to denote an unauthenticated user.
Definition: TeamTalk.h:1899
MSGTYPE_BROADCAST
@ MSGTYPE_BROADCAST
A broadcast message. Requires USERRIGHT_TEXTMESSAGE_BROADCAST.
Definition: TeamTalk.h:2307
MSGTYPE_CHANNEL
@ MSGTYPE_CHANNEL
A User to channel text message. Users of type USERTYPE_DEFAULT can only send this text message to the...
Definition: TeamTalk.h:2304
MSGTYPE_USER
@ MSGTYPE_USER
A User to user text message. A message of this type can be sent across channels.
Definition: TeamTalk.h:2299
MSGTYPE_CUSTOM
@ MSGTYPE_CUSTOM
A custom user to user text message. Works the same way as MSGTYPE_USER.
Definition: TeamTalk.h:2310
SUBSCRIBE_BROADCAST_MSG
@ SUBSCRIBE_BROADCAST_MSG
Subscribing to broadcast text messsages.
Definition: TeamTalk.h:2018
SUBSCRIBE_USER_MSG
@ SUBSCRIBE_USER_MSG
Subscribing to user text messages.
Definition: TeamTalk.h:2012
SUBSCRIBE_INTERCEPT_VOICE
@ SUBSCRIBE_INTERCEPT_VOICE
Intercept all voice sent by a user. Only user-type USERTYPE_ADMIN can do this. By enabling this subsc...
Definition: TeamTalk.h:2049
SUBSCRIBE_INTERCEPT_VIDEOCAPTURE
@ SUBSCRIBE_INTERCEPT_VIDEOCAPTURE
Intercept all video sent by a user. Only user-type USERTYPE_ADMIN can do this. By enabling this subsc...
Definition: TeamTalk.h:2054
SUBSCRIBE_INTERCEPT_DESKTOP
@ SUBSCRIBE_INTERCEPT_DESKTOP
Intercept all desktop data sent by a user. Only user-type USERTYPE_ADMIN can do this....
Definition: TeamTalk.h:2059
SUBSCRIBE_CUSTOM_MSG
@ SUBSCRIBE_CUSTOM_MSG
Subscribing to custom user messages.
Definition: TeamTalk.h:2021
SUBSCRIBE_MEDIAFILE
@ SUBSCRIBE_MEDIAFILE
Subscribing to STREAMTYPE_MEDIAFILE_VIDEO and STREAMTYPE_MEDIAFILE_AUDIO.
Definition: TeamTalk.h:2034
SUBSCRIBE_INTERCEPT_CHANNEL_MSG
@ SUBSCRIBE_INTERCEPT_CHANNEL_MSG
Intercept all channel messages sent by a user. Only user-type USERTYPE_ADMIN can do this.
Definition: TeamTalk.h:2040
SUBSCRIBE_NONE
@ SUBSCRIBE_NONE
No subscriptions.
Definition: TeamTalk.h:2009
SUBSCRIBE_CHANNEL_MSG
@ SUBSCRIBE_CHANNEL_MSG
Subscribing to channel texxt messages.
Definition: TeamTalk.h:2015
SUBSCRIBE_INTERCEPT_USER_MSG
@ SUBSCRIBE_INTERCEPT_USER_MSG
Intercept all user text messages sent by a user. Only user-type USERTYPE_ADMIN can do this.
Definition: TeamTalk.h:2037
SUBSCRIBE_VOICE
@ SUBSCRIBE_VOICE
Subscribing to STREAMTYPE_VOICE.
Definition: TeamTalk.h:2023
SUBSCRIBE_INTERCEPT_CUSTOM_MSG
@ SUBSCRIBE_INTERCEPT_CUSTOM_MSG
Intercept all custom text messages sent by user. Only user-type USERTYPE_ADMIN can do this.
Definition: TeamTalk.h:2044
SUBSCRIBE_VIDEOCAPTURE
@ SUBSCRIBE_VIDEOCAPTURE
Subscribing to STREAMTYPE_VIDEOCAPTURE.
Definition: TeamTalk.h:2025
SUBSCRIBE_INTERCEPT_MEDIAFILE
@ SUBSCRIBE_INTERCEPT_MEDIAFILE
Intercept all media file data sent by a user. Only user-type USERTYPE_ADMIN can do this....
Definition: TeamTalk.h:2065
SUBSCRIBE_DESKTOPINPUT
@ SUBSCRIBE_DESKTOPINPUT
Subscribing to STREAMTYPE_DESKTOPINPUT.
Definition: TeamTalk.h:2031
SUBSCRIBE_DESKTOP
@ SUBSCRIBE_DESKTOP
Subscribing to STREAMTYPE_DESKTOP.
Definition: TeamTalk.h:2027
USERSTATE_VOICE
@ USERSTATE_VOICE
If set the user is currently talking. If this flag changes the event CLIENTEVENT_USER_STATECHANGE is ...
Definition: TeamTalk.h:2083
USERSTATE_VIDEOCAPTURE
@ USERSTATE_VIDEOCAPTURE
If set the user currently has an active video stream. If this flag changes the event CLIENTEVENT_USER...
Definition: TeamTalk.h:2098
USERSTATE_MUTE_MEDIAFILE
@ USERSTATE_MUTE_MEDIAFILE
If set the user's media file playback is muted.
Definition: TeamTalk.h:2088
USERSTATE_MEDIAFILE
@ USERSTATE_MEDIAFILE
If set user is streaming a media file. If this flag changes the event CLIENTEVENT_USER_STATECHANGE is...
Definition: TeamTalk.h:2112
USERSTATE_MUTE_VOICE
@ USERSTATE_MUTE_VOICE
If set the user's voice is muted.
Definition: TeamTalk.h:2085
USERSTATE_NONE
@ USERSTATE_NONE
The user is in initial state.
Definition: TeamTalk.h:2079
USERSTATE_MEDIAFILE_VIDEO
@ USERSTATE_MEDIAFILE_VIDEO
If set the user currently streams a video file. If this flag changes the event CLIENTEVENT_USER_STATE...
Definition: TeamTalk.h:2108
USERSTATE_MEDIAFILE_AUDIO
@ USERSTATE_MEDIAFILE_AUDIO
If set the user currently streams an audio file. If user is streaming a video file with audio then th...
Definition: TeamTalk.h:2104
USERSTATE_DESKTOP
@ USERSTATE_DESKTOP
If set the user currently has an active desktop session. If this flag changes the event CLIENTEVENT_U...
Definition: TeamTalk.h:2093
TT_CloseVideoCaptureDevice
TEAMTALKDLL_API TTBOOL TT_CloseVideoCaptureDevice(IN TTInstance *lpTTInstance)
Close a video capture device.
TT_InitVideoCaptureDevice
TEAMTALKDLL_API TTBOOL TT_InitVideoCaptureDevice(IN TTInstance *lpTTInstance, IN const TTCHAR *szDeviceID, IN const VideoFormat *lpVideoFormat)
Initialize a video capture device.
VideoFrame
struct VideoFrame VideoFrame
A RGB32 image where the pixels can be accessed directly in an allocated frameBuffer.
TT_AcquireUserVideoCaptureFrame
TEAMTALKDLL_API VideoFrame * TT_AcquireUserVideoCaptureFrame(IN TTInstance *lpTTInstance, IN INT32 nUserID)
Extract a user's video capture frame for display.
VideoFormat
struct VideoFormat VideoFormat
A struct containing the properties of a video capture format.
TT_PaintVideoFrameEx
TEAMTALKDLL_API TTBOOL TT_PaintVideoFrameEx(IN HDC hDC, IN INT32 XDest, IN INT32 YDest, IN INT32 nDestWidth, IN INT32 nDestHeight, IN INT32 XSrc, IN INT32 YSrc, IN INT32 nSrcWidth, IN INT32 nSrcHeight, IN VideoFrame *lpVideoFrame)
Paint user's video frame using a Windows' DC (device context).
VideoCaptureDevice
struct VideoCaptureDevice VideoCaptureDevice
A struct containing the properties of a video capture device.
TT_VIDEOFORMATS_MAX
#define TT_VIDEOFORMATS_MAX
Definition: TeamTalk.h:101
TT_PaintVideoFrame
TEAMTALKDLL_API TTBOOL TT_PaintVideoFrame(IN HDC hDC, IN INT32 XDest, IN INT32 YDest, IN INT32 nDestWidth, IN INT32 nDestHeight, IN VideoFrame *lpVideoFrame)
Paint user's video frame using a Windows' DC (device context).
TT_ReleaseUserVideoCaptureFrame
TEAMTALKDLL_API TTBOOL TT_ReleaseUserVideoCaptureFrame(IN TTInstance *lpTTInstance, IN VideoFrame *lpVideoFrame)
Delete a user's video frame, acquired through TT_AcquireUserVideoCaptureFrame(), so its allocated res...
FourCC
FourCC
The picture format used by a capture device.
Definition: TeamTalk.h:814
TT_GetVideoCaptureDevices
TEAMTALKDLL_API TTBOOL TT_GetVideoCaptureDevices(IN OUT VideoCaptureDevice *lpVideoDevices, IN OUT INT32 *lpnHowMany)
Get the list of devices available for video capture.
FOURCC_RGB32
@ FOURCC_RGB32
The image format with the highest bandwidth usage. A 640x480 pixel images takes up 1....
Definition: TeamTalk.h:825
FOURCC_I420
@ FOURCC_I420
Prefered image format with the lowest bandwidth usage. A 640x480 pixel image takes up 460....
Definition: TeamTalk.h:819
FOURCC_YUY2
@ FOURCC_YUY2
Image format where a 640x480 pixel images takes up 614.400 bytes.
Definition: TeamTalk.h:822
FOURCC_NONE
@ FOURCC_NONE
Internal use to denote no supported formats.
Definition: TeamTalk.h:816
AbusePrevention
Properties to prevent server abuse.
Definition: TeamTalk.h:1920
AbusePrevention::nCommandsIntervalMSec
INT32 nCommandsIntervalMSec
Commands within given interval.
Definition: TeamTalk.h:1932
AbusePrevention::nCommandsLimit
INT32 nCommandsLimit
Limit number of commands a user can send to the server.
Definition: TeamTalk.h:1930
AudioBlock
An audio block containing the raw audio from a user who was talking.
Definition: TeamTalk.h:658
AudioBlock::lpRawAudio
VOID * lpRawAudio
The raw audio in 16-bit integer format array. The size of the array in bytes is sizeof(short) * nSamp...
Definition: TeamTalk.h:670
AudioBlock::nSampleRate
INT32 nSampleRate
The sample rate of the raw audio.
Definition: TeamTalk.h:664
AudioBlock::uSampleIndex
UINT32 uSampleIndex
The index of the first sample in lpRawAudio. Its value will be a multiple of nSamples....
Definition: TeamTalk.h:680
AudioBlock::uStreamTypes
StreamTypes uStreamTypes
The stream types used to generate the AudioBlock's raw audio.
Definition: TeamTalk.h:693
AudioBlock::nChannels
INT32 nChannels
The number of channels used (1 for mono, 2 for stereo).
Definition: TeamTalk.h:666
AudioBlock::nStreamID
INT32 nStreamID
The ID of the stream. The stream id changes every time the user enables a new transmission using TT_E...
Definition: TeamTalk.h:662
AudioBlock::nSamples
INT32 nSamples
The number of samples in the raw audio array.
Definition: TeamTalk.h:672
AudioCodec
Struct used for specifying which audio codec a channel uses.
Definition: TeamTalk.h:1495
AudioCodec::speex
SpeexCodec speex
Speex codec settings if nCodec is SPEEX_CODEC.
Definition: TeamTalk.h:1503
AudioCodec::opus
OpusCodec opus
Opus codec settings if nCodec is OPUS_CODEC.
Definition: TeamTalk.h:1509
AudioCodec::nCodec
Codec nCodec
Specifies whether the member speex, speex_vbr or opus holds the codec settings.
Definition: TeamTalk.h:1498
AudioCodec::speex_vbr
SpeexVBRCodec speex_vbr
Speex codec settings if nCodec is SPEEX_VBR_CODEC.
Definition: TeamTalk.h:1506
AudioConfig
Audio configuration for clients in a channel.
Definition: TeamTalk.h:1527
AudioConfig::nGainLevel
INT32 nGainLevel
Reference gain level to be used by all users.
Definition: TeamTalk.h:1531
AudioConfig::bEnableAGC
TTBOOL bEnableAGC
Users should enable automatic gain control.
Definition: TeamTalk.h:1529
AudioFormat
Struct describing the audio format used by a media file.
Definition: TeamTalk.h:794
AudioFormat::nSampleRate
INT32 nSampleRate
Sample rate of media file.
Definition: TeamTalk.h:798
AudioFormat::nChannels
INT32 nChannels
Channels used by media file, mono = 1, stereo = 2.
Definition: TeamTalk.h:800
AudioFormat::nAudioFmt
AudioFileFormat nAudioFmt
The audio file format, e.g. wave or MP3.
Definition: TeamTalk.h:796
AudioInputProgress
The progress of the audio currently being processed as audio input.
Definition: TeamTalk.h:1598
AudioInputProgress::uQueueMSec
UINT32 uQueueMSec
The duration of the audio currently queued for transmission.
Definition: TeamTalk.h:1603
AudioInputProgress::uElapsedMSec
UINT32 uElapsedMSec
The duration of the audio that has been transmitted.
Definition: TeamTalk.h:1606
AudioInputProgress::nStreamID
INT32 nStreamID
The stream ID provided in the AudioBlock.
Definition: TeamTalk.h:1600
AudioPreprocessor
Configure the audio preprocessor specified by nPreprocessor.
Definition: TeamTalk.h:1422
AudioPreprocessor::webrtc
WebRTCAudioPreprocessor webrtc
Used when nPreprocessor is WEBRTC_AUDIOPREPROCESSOR.
Definition: TeamTalk.h:1432
AudioPreprocessor::speexdsp
SpeexDSP speexdsp
Used when nPreprocessor is SPEEXDSP_AUDIOPREPROCESSOR.
Definition: TeamTalk.h:1428
AudioPreprocessor::ttpreprocessor
TTAudioPreprocessor ttpreprocessor
Used when nPreprocessor is TEAMTALK_AUDIOPREPROCESSOR.
Definition: TeamTalk.h:1430
AudioPreprocessor::nPreprocessor
AudioPreprocessorType nPreprocessor
The audio preprocessor to use in the union of audio preprocessors.
Definition: TeamTalk.h:1424
BannedUser
A struct containing the properties of a banned user.
Definition: TeamTalk.h:1876
BannedUser::szChannelPath
TTCHAR szChannelPath[TT_STRLEN]
Channel where user was located when banned.
Definition: TeamTalk.h:1880
BannedUser::uBanTypes
BanTypes uBanTypes
The type of ban that applies to this banned user.
Definition: TeamTalk.h:1889
BannedUser::szBanTime
TTCHAR szBanTime[TT_STRLEN]
Date and time when user was banned. Read-only property. Date/time is converted local time.
Definition: TeamTalk.h:1883
BannedUser::szNickname
TTCHAR szNickname[TT_STRLEN]
Nickname of banned user. Read-only property.
Definition: TeamTalk.h:1885
BannedUser::szUsername
TTCHAR szUsername[TT_STRLEN]
Username of banned user.
Definition: TeamTalk.h:1887
BannedUser::szIPAddress
TTCHAR szIPAddress[TT_STRLEN]
IP-address of banned user.
Definition: TeamTalk.h:1878
Channel
A struct containing the properties of a channel.
Definition: TeamTalk.h:2394
Channel::szPassword
TTCHAR szPassword[TT_STRLEN]
Password to join the channel. When extracted through TT_GetChannel the password will only be set for ...
Definition: TeamTalk.h:2407
Channel::szTopic
TTCHAR szTopic[TT_STRLEN]
Topic of the channel.
Definition: TeamTalk.h:2403
Channel::nMaxUsers
INT32 nMaxUsers
Max number of users in channel.
Definition: TeamTalk.h:2423
Channel::transmitUsers
INT32 transmitUsers[TT_TRANSMITUSERS_MAX][2]
List of users who can transmit in a channel.
Definition: TeamTalk.h:2484
Channel::nDiskQuota
INT64 nDiskQuota
Number of bytes available for file storage.
Definition: TeamTalk.h:2418
Channel::bPassword
TTBOOL bPassword
Whether password is required to join channel. Read-only property.
Definition: TeamTalk.h:2410
Channel::nParentID
INT32 nParentID
Parent channel ID. 0 means no parent channel, i.e. it's the root channel.
Definition: TeamTalk.h:2397
Channel::uChannelType
ChannelTypes uChannelType
A bitmask of the type of channel based on ChannelType.
Definition: TeamTalk.h:2412
Channel::audiocfg
AudioConfig audiocfg
The audio configuration which users who join the channel should use.
Definition: TeamTalk.h:2428
Channel::transmitUsersQueue
INT32 transmitUsersQueue[TT_TRANSMITQUEUE_MAX]
The users currently queued for voice or media file transmission.
Definition: TeamTalk.h:2489
Channel::nChannelID
INT32 nChannelID
The channel's ID. A value from 1 - TT_CHANNELID_MAX.
Definition: TeamTalk.h:2399
Channel::audiocodec
AudioCodec audiocodec
The audio codec used by users in the channel.
Definition: TeamTalk.h:2425
Channel::szName
TTCHAR szName[TT_STRLEN]
Name of the channel.
Definition: TeamTalk.h:2401
Channel::nUserData
INT32 nUserData
User specific data which will be stored on persistent storage on the server if the channel type is CH...
Definition: TeamTalk.h:2416
Channel::szOpPassword
TTCHAR szOpPassword[TT_STRLEN]
Password to become channel operator.
Definition: TeamTalk.h:2421
ClientErrorMsg
Struct containing an error message.
Definition: TeamTalk.h:3044
ClientErrorMsg::nErrorNo
INT32 nErrorNo
Error number based on ClientError.
Definition: TeamTalk.h:3046
ClientErrorMsg::szErrorMsg
TTCHAR szErrorMsg[TT_STRLEN]
Text message describing the error.
Definition: TeamTalk.h:3048
ClientKeepAlive
Control timers for sending keep alive information to the server.
Definition: TeamTalk.h:2612
ClientKeepAlive::nConnectionLostMSec
INT32 nConnectionLostMSec
The duration before the TTInstance should consider the client/server connection lost.
Definition: TeamTalk.h:2623
ClientKeepAlive::nUdpKeepAliveRTXMSec
INT32 nUdpKeepAliveRTXMSec
Client instance's interval for retransmitting UDP keep alive packets. If server hasn't responded to U...
Definition: TeamTalk.h:2639
ClientKeepAlive::nUdpKeepAliveIntervalMSec
INT32 nUdpKeepAliveIntervalMSec
Client instance's interval between sending UDP keep alive packets. The UDP keep alive packets are use...
Definition: TeamTalk.h:2633
ClientKeepAlive::nTcpKeepAliveIntervalMSec
INT32 nTcpKeepAliveIntervalMSec
Client instance's interval between automatically doing TT_DoPing() command. Read-only value....
Definition: TeamTalk.h:2627
ClientKeepAlive::nUdpConnectRTXMSec
INT32 nUdpConnectRTXMSec
Client instance's interval for retransmitting UDP connect packets. UDP connect packets are only sent ...
Definition: TeamTalk.h:2646
ClientKeepAlive::nUdpConnectTimeoutMSec
INT32 nUdpConnectTimeoutMSec
The duration before the client instance should give up trying to connect to the server on UDP....
Definition: TeamTalk.h:2654
ClientStatistics
Statistics of bandwidth usage and ping times in the local client instance.
Definition: TeamTalk.h:2662
ClientStatistics::nUdpBytesRecv
INT64 nUdpBytesRecv
Bytes received on UDP.
Definition: TeamTalk.h:2666
ClientStatistics::nUdpPingTimeMs
INT32 nUdpPingTimeMs
Response time to server on UDP (based on ping/pong sent at a specified interval. Set to -1 if not cur...
Definition: TeamTalk.h:2690
ClientStatistics::nSoundInputDeviceDelayMSec
INT32 nSoundInputDeviceDelayMSec
Delay of sound input device until the first audio frame is delivered (in msec).
Definition: TeamTalk.h:2712
ClientStatistics::nUdpBytesSent
INT64 nUdpBytesSent
Bytes sent on UDP.
Definition: TeamTalk.h:2664
ClientStatistics::nTcpServerSilenceSec
INT32 nTcpServerSilenceSec
The number of seconds nothing has been received by the client on TCP.
Definition: TeamTalk.h:2697
ClientStatistics::nMediaFileAudioBytesSent
INT64 nMediaFileAudioBytesSent
Audio from media file data sent (on UDP).
Definition: TeamTalk.h:2676
ClientStatistics::nDesktopBytesSent
INT64 nDesktopBytesSent
Desktop data sent (on UDP).
Definition: TeamTalk.h:2684
ClientStatistics::nVoiceBytesRecv
INT64 nVoiceBytesRecv
Voice data received (on UDP).
Definition: TeamTalk.h:2670
ClientStatistics::nUdpServerSilenceSec
INT32 nUdpServerSilenceSec
The number of seconds nothing has been received by the client on UDP.
Definition: TeamTalk.h:2700
ClientStatistics::nMediaFileVideoBytesRecv
INT64 nMediaFileVideoBytesRecv
Video from media file data received (on UDP).
Definition: TeamTalk.h:2682
ClientStatistics::nVoiceBytesSent
INT64 nVoiceBytesSent
Voice data sent (on UDP).
Definition: TeamTalk.h:2668
ClientStatistics::nMediaFileVideoBytesSent
INT64 nMediaFileVideoBytesSent
Video from media file data sent (on UDP).
Definition: TeamTalk.h:2680
ClientStatistics::nVideoCaptureBytesSent
INT64 nVideoCaptureBytesSent
Video data sent (on UDP).
Definition: TeamTalk.h:2672
ClientStatistics::nMediaFileAudioBytesRecv
INT64 nMediaFileAudioBytesRecv
Audio from media file data received (on UDP).
Definition: TeamTalk.h:2678
ClientStatistics::nTcpPingTimeMs
INT32 nTcpPingTimeMs
Response time to server on TCP (based on ping/pong sent at a specified interval. Set to -1 if not cur...
Definition: TeamTalk.h:2694
ClientStatistics::nVideoCaptureBytesRecv
INT64 nVideoCaptureBytesRecv
Video data received (on UDP).
Definition: TeamTalk.h:2674
ClientStatistics::nDesktopBytesRecv
INT64 nDesktopBytesRecv
Desktop data received (on UDP).
Definition: TeamTalk.h:2686
DesktopInput
A struct containing a mouse or keyboard event.
Definition: TeamTalk.h:1020
DesktopInput::uMousePosX
UINT16 uMousePosX
The X coordinate of the mouse. If used with TT_DesktopInput_Execute() and the mouse position should b...
Definition: TeamTalk.h:1024
DesktopInput::uKeyCode
UINT32 uKeyCode
The key-code (or mouse button) pressed. If used with TT_DesktopInput_Execute() and no key (or mouse b...
Definition: TeamTalk.h:1034
DesktopInput::uKeyState
DesktopKeyStates uKeyState
The state of the key (or mouse button) pressed, i.e. if it's up or down.
Definition: TeamTalk.h:1037
DesktopInput::uMousePosY
UINT16 uMousePosY
The Y coordinate of the mouse. If used with TT_DesktopInput_Execute() and the mouse position should b...
Definition: TeamTalk.h:1028
DesktopWindow
A struct containing the properties of a shared desktop window.
Definition: TeamTalk.h:970
DesktopWindow::nFrameBufferSize
INT32 nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer. Typically nBytesPerLine * nHeight.
Definition: TeamTalk.h:993
DesktopWindow::nWidth
INT32 nWidth
The width in pixels of the bitmap.
Definition: TeamTalk.h:972
DesktopWindow::nHeight
INT32 nHeight
The height in pixels of the bitmap.
Definition: TeamTalk.h:974
DesktopWindow::nBytesPerLine
INT32 nBytesPerLine
The number of bytes for each scan-line in the bitmap. Zero means 4-byte aligned.
Definition: TeamTalk.h:979
DesktopWindow::nSessionID
INT32 nSessionID
The ID of the session which the bitmap belongs to. If the session ID changes it means the user has st...
Definition: TeamTalk.h:986
DesktopWindow::bmpFormat
BitmapFormat bmpFormat
The format of the bitmap.
Definition: TeamTalk.h:976
DesktopWindow::frameBuffer
VOID * frameBuffer
A buffer pointing to the bitmap data (often refered to as Scan0).
Definition: TeamTalk.h:990
DesktopWindow::nProtocol
DesktopProtocol nProtocol
The desktop protocol used for transmitting the desktop window.
Definition: TeamTalk.h:988
EncryptionContext
Configure peer verification for encrypted connection.
Definition: TeamTalk.h:2560
EncryptionContext::bVerifyClientOnce
TTBOOL bVerifyClientOnce
Whether to only verify client's certificate once during initial connection.
Definition: TeamTalk.h:2594
EncryptionContext::szCertificateFile
TTCHAR szCertificateFile[TT_STRLEN]
Path to SSL certificate in PEM format.
Definition: TeamTalk.h:2566
EncryptionContext::szPrivateKeyFile
TTCHAR szPrivateKeyFile[TT_STRLEN]
Path to certificate's private key.
Definition: TeamTalk.h:2568
EncryptionContext::szCADir
TTCHAR szCADir[TT_STRLEN]
Path to directory containing Certificate Authority (CA) Certificates in PEM format.
Definition: TeamTalk.h:2576
EncryptionContext::bVerifyPeer
TTBOOL bVerifyPeer
Verify that peer (client or server) uses a certificate that has been generated by the Certificate Aut...
Definition: TeamTalk.h:2583
EncryptionContext::szCAFile
TTCHAR szCAFile[TT_STRLEN]
Path to Certificate Authority (CA) Certificate in PEM format.
Definition: TeamTalk.h:2573
EncryptionContext::nVerifyDepth
INT32 nVerifyDepth
Set limit to depth in the certificate chain during the verification procedure.
Definition: TeamTalk.h:2602
FileTransfer
A struct containing the properties of a file transfer.
Definition: TeamTalk.h:2510
FileTransfer::nStatus
FileTransferStatus nStatus
Status of file transfer.
Definition: TeamTalk.h:2512
FileTransfer::bInbound
TTBOOL bInbound
TRUE if download and FALSE if upload.
Definition: TeamTalk.h:2526
FileTransfer::szRemoteFileName
TTCHAR szRemoteFileName[TT_STRLEN]
The filename in the channel.
Definition: TeamTalk.h:2520
FileTransfer::nChannelID
INT32 nChannelID
The channel where the file is/will be located.
Definition: TeamTalk.h:2516
FileTransfer::nTransferred
INT64 nTransferred
The number of bytes transferred so far.
Definition: TeamTalk.h:2524
FileTransfer::nFileSize
INT64 nFileSize
The size of the file being transferred.
Definition: TeamTalk.h:2522
FileTransfer::nTransferID
INT32 nTransferID
The ID identifying the file transfer.
Definition: TeamTalk.h:2514
FileTransfer::szLocalFilePath
TTCHAR szLocalFilePath[TT_STRLEN]
The file path on local disk.
Definition: TeamTalk.h:2518
JitterConfig
Configuration parameters for the Jitter Buffer.
Definition: TeamTalk.h:2721
JitterConfig::nActiveAdaptiveDelayMSec
INT32 nActiveAdaptiveDelayMSec
The current adaptive delay. When used with TT_SetUserJitterControl, this value is used as the adaptiv...
Definition: TeamTalk.h:2735
JitterConfig::nMaxAdaptiveDelayMSec
INT32 nMaxAdaptiveDelayMSec
A hard maximum delay on the adaptive delay. Only valid when higher than zero. Default = 0.
Definition: TeamTalk.h:2728
JitterConfig::bUseAdativeDejitter
TTBOOL bUseAdativeDejitter
Turns adaptive jitter buffering ON/OFF. Default is OFF.
Definition: TeamTalk.h:2725
JitterConfig::nFixedDelayMSec
INT32 nFixedDelayMSec
The fixed delay in milliseconds. Default = 0.
Definition: TeamTalk.h:2723
MediaFileInfo
Struct describing the audio and video format used by a media file.
Definition: TeamTalk.h:1557
MediaFileInfo::videoFmt
VideoFormat videoFmt
The video properties of the media file.
Definition: TeamTalk.h:1566
MediaFileInfo::uElapsedMSec
UINT32 uElapsedMSec
The elapsed time of the media file in miliseconds.
Definition: TeamTalk.h:1570
MediaFileInfo::audioFmt
AudioFormat audioFmt
The audio properties of the media file.
Definition: TeamTalk.h:1564
MediaFileInfo::uDurationMSec
UINT32 uDurationMSec
The duration of the media file in miliseconds.
Definition: TeamTalk.h:1568
MediaFileInfo::szFileName
TTCHAR szFileName[TT_STRLEN]
Name of file.
Definition: TeamTalk.h:1562
MediaFileInfo::nStatus
MediaFileStatus nStatus
Status of media file if it's being saved to disk.
Definition: TeamTalk.h:1560
MediaFilePlayback
Properties for initializing or updating a file for media streaming.
Definition: TeamTalk.h:1582
MediaFilePlayback::bPaused
TTBOOL bPaused
Start or pause media file playback.
Definition: TeamTalk.h:1590
MediaFilePlayback::uOffsetMSec
UINT32 uOffsetMSec
Offset in milliseconds in the media file where to start playback. Pass TT_MEDIAPLAYBACK_OFFSET_IGNORE...
Definition: TeamTalk.h:1588
MediaFilePlayback::audioPreprocessor
AudioPreprocessor audioPreprocessor
Option to activate audio preprocessor on local media file playback.
Definition: TeamTalk.h:1592
OpusCodec
OPUS audio codec settings. For detailed information about the OPUS codec check out http://www....
Definition: TeamTalk.h:1145
OpusCodec::nChannels
INT32 nChannels
Mono = 1 or stereo = 2.
Definition: TeamTalk.h:1150
OpusCodec::bVBRConstraint
TTBOOL bVBRConstraint
Enable constrained VBR. bVBR must be enabled to enable this.
Definition: TeamTalk.h:1171
OpusCodec::bFEC
TTBOOL bFEC
Forward error correction. Corrects errors if there's packetloss.
Definition: TeamTalk.h:1160
OpusCodec::nBitRate
INT32 nBitRate
Bitrate for encoded audio. Should be between OPUS_MIN_BITRATE and OPUS_MAX_BITRATE.
Definition: TeamTalk.h:1166
OpusCodec::bDTX
TTBOOL bDTX
Discontinuous transmission. Enables "null" packets during silence.
Definition: TeamTalk.h:1163
OpusCodec::bVBR
TTBOOL bVBR
Enable variable bitrate.
Definition: TeamTalk.h:1168
OpusCodec::nFrameSizeMSec
INT32 nFrameSizeMSec
OPUS supports 2.5, 5, 10, 20, 40, 60, 80, 100 and 120 msec. If nFrameSizeMSec is 0 then nFrameSizeMSe...
Definition: TeamTalk.h:1182
OpusCodec::nSampleRate
INT32 nSampleRate
The sample rate to use. Sample rate must be 8000, 12000, 16000, 24000 or 48000 Hz.
Definition: TeamTalk.h:1148
OpusCodec::nApplication
INT32 nApplication
Application of encoded audio, i.e. VoIP or music.
Definition: TeamTalk.h:1154
OpusCodec::nComplexity
INT32 nComplexity
Complexity of encoding (affects CPU usage). Value from 0-10.
Definition: TeamTalk.h:1157
OpusCodec::nTxIntervalMSec
INT32 nTxIntervalMSec
Duration of audio before each transmission. Minimum is 2 msec. Recommended is 40 msec....
Definition: TeamTalk.h:1178
RemoteFile
A struct containing the properties of a file in a Channel.
Definition: TeamTalk.h:2534
RemoteFile::szUsername
TTCHAR szUsername[TT_STRLEN]
Username of the person who uploaded the file.
Definition: TeamTalk.h:2544
RemoteFile::szFileName
TTCHAR szFileName[TT_STRLEN]
The name of the file.
Definition: TeamTalk.h:2540
RemoteFile::nFileSize
INT64 nFileSize
The size of the file.
Definition: TeamTalk.h:2542
RemoteFile::szUploadTime
TTCHAR szUploadTime[TT_STRLEN]
Time when file was uploaded. Date/time is converted local time.
Definition: TeamTalk.h:2547
RemoteFile::nFileID
INT32 nFileID
The ID identifying the file.
Definition: TeamTalk.h:2538
RemoteFile::nChannelID
INT32 nChannelID
The ID of the channel where the file is located.
Definition: TeamTalk.h:2536
ServerProperties
A struct containing the properties of the server's settings.
Definition: TeamTalk.h:1720
ServerProperties::szMOTDRaw
TTCHAR szMOTDRaw[TT_STRLEN]
The message of the day including variables. The result of the szMOTDRaw string will be displayed in s...
Definition: TeamTalk.h:1734
ServerProperties::szServerName
TTCHAR szServerName[TT_STRLEN]
The server's name.
Definition: TeamTalk.h:1722
ServerProperties::nLoginDelayMSec
INT32 nLoginDelayMSec
Number of msec before an IP-address can make another login attempt. If less than this amount then TT_...
Definition: TeamTalk.h:1787
ServerProperties::nTcpPort
INT32 nTcpPort
The server's TCP port.
Definition: TeamTalk.h:1768
ServerProperties::szServerProtocolVersion
TTCHAR szServerProtocolVersion[TT_STRLEN]
The version of the server's protocol. Read-only property.
Definition: TeamTalk.h:1778
ServerProperties::nMaxUsers
INT32 nMaxUsers
The maximum number of users allowed on the server. A user with admin account can ignore this.
Definition: TeamTalk.h:1737
ServerProperties::szAccessToken
TTCHAR szAccessToken[TT_STRLEN]
A randomly generated 256 bit access token created by the server to identify the login session.
Definition: TeamTalk.h:1795
ServerProperties::szMOTD
TTCHAR szMOTD[TT_STRLEN]
The message of the day. Read-only property. Use szMOTDRaw to update this property.
Definition: TeamTalk.h:1725
ServerProperties::szServerVersion
TTCHAR szServerVersion[TT_STRLEN]
The server version. Read-only property.
Definition: TeamTalk.h:1775
ServerProperties::bAutoSave
TTBOOL bAutoSave
Whether the server automatically saves changes.
Definition: TeamTalk.h:1766
ServerProperties::nUserTimeout
INT32 nUserTimeout
The number of seconds before a user who hasn't responded to keepalives will be kicked off the server.
Definition: TeamTalk.h:1773
ServerProperties::nMaxMediaFileTxPerSecond
INT32 nMaxMediaFileTxPerSecond
The maximum number of bytes per second which the server will allow for media file packets....
Definition: TeamTalk.h:1756
ServerProperties::nMaxDesktopTxPerSecond
INT32 nMaxDesktopTxPerSecond
The maximum number of bytes per second which the server will allow for desktop packets....
Definition: TeamTalk.h:1760
ServerProperties::nMaxLoginsPerIPAddress
INT32 nMaxLoginsPerIPAddress
The maximum number of users allowed to log in with the same IP-address. 0 means disabled.
Definition: TeamTalk.h:1743
ServerProperties::nUdpPort
INT32 nUdpPort
The server's UDP port.
Definition: TeamTalk.h:1770
ServerProperties::nMaxLoginAttempts
INT32 nMaxLoginAttempts
The maximum number of logins with wrong password before banning user's IP-address.
Definition: TeamTalk.h:1740
ServerProperties::nMaxVoiceTxPerSecond
INT32 nMaxVoiceTxPerSecond
The maximum number of bytes per second which the server will allow for voice packets....
Definition: TeamTalk.h:1747
ServerProperties::nMaxVideoCaptureTxPerSecond
INT32 nMaxVideoCaptureTxPerSecond
The maximum number of bytes per second which the server will allow for video input packets....
Definition: TeamTalk.h:1752
ServerProperties::nMaxTotalTxPerSecond
INT32 nMaxTotalTxPerSecond
The amount of bytes per second which the server will allow for packet forwarding. If this value is ex...
Definition: TeamTalk.h:1764
ServerStatistics
A struct containing the server's statistics, i.e. bandwidth usage and user activity.
Definition: TeamTalk.h:1804
ServerStatistics::nVideoCaptureBytesTX
INT64 nVideoCaptureBytesTX
The number of bytes in video packets sent from the server to clients.
Definition: TeamTalk.h:1819
ServerStatistics::nVoiceBytesRX
INT64 nVoiceBytesRX
The number of bytes in audio packets received by the server from clients.
Definition: TeamTalk.h:1816
ServerStatistics::nUptimeMSec
INT64 nUptimeMSec
The server's uptime in msec.
Definition: TeamTalk.h:1846
ServerStatistics::nVoiceBytesTX
INT64 nVoiceBytesTX
The number of bytes in audio packets sent from the server to clients.
Definition: TeamTalk.h:1813
ServerStatistics::nDesktopBytesTX
INT64 nDesktopBytesTX
The number of bytes in desktop packets sent from the server to clients.
Definition: TeamTalk.h:1831
ServerStatistics::nFilesTx
INT64 nFilesTx
The number of bytes for file transmission transmitted from the server.
Definition: TeamTalk.h:1841
ServerStatistics::nTotalBytesRX
INT64 nTotalBytesRX
The number of bytes received by the server from clients.
Definition: TeamTalk.h:1810
ServerStatistics::nDesktopBytesRX
INT64 nDesktopBytesRX
The number of bytes in desktop packets received by the server from clients.
Definition: TeamTalk.h:1834
ServerStatistics::nMediaFileBytesTX
INT64 nMediaFileBytesTX
The number of bytes in media file packets sent from the server to clients.
Definition: TeamTalk.h:1825
ServerStatistics::nVideoCaptureBytesRX
INT64 nVideoCaptureBytesRX
The number of bytes in video packets received by the server from clients.
Definition: TeamTalk.h:1822
ServerStatistics::nMediaFileBytesRX
INT64 nMediaFileBytesRX
The number of bytes in media file packets received by the server from clients.
Definition: TeamTalk.h:1828
ServerStatistics::nFilesRx
INT64 nFilesRx
The number of bytes for file transmission received by the server.
Definition: TeamTalk.h:1844
ServerStatistics::nTotalBytesTX
INT64 nTotalBytesTX
The number of bytes sent from the server to clients.
Definition: TeamTalk.h:1807
ServerStatistics::nUsersPeak
INT32 nUsersPeak
The highest numbers of users online.
Definition: TeamTalk.h:1838
ServerStatistics::nUsersServed
INT32 nUsersServed
The number of users who have logged on to the server.
Definition: TeamTalk.h:1836
ShareWindow
A struct which describes the properties of a window which can be shared.
Definition: TeamTalk.h:5416
ShareWindow::szWindowTitle
TTCHAR szWindowTitle[TT_STRLEN]
The title of the window.
Definition: TeamTalk.h:5428
ShareWindow::nPID
INT64 nPID
The PID of the owning process.
Definition: TeamTalk.h:5545
ShareWindow::nWindowID
INT64 nWindowID
The CGWindowID.
Definition: TeamTalk.h:5533
ShareWindow::nWndY
INT32 nWndY
Y coordinate of the window relative to the Windows desktop.
Definition: TeamTalk.h:5422
ShareWindow::nWindowY
INT32 nWindowY
Y coordinate of window.
Definition: TeamTalk.h:5537
ShareWindow::nWidth
INT32 nWidth
The width in pixels of the window.
Definition: TeamTalk.h:5424
ShareWindow::nWndX
INT32 nWndX
X coordinate of the window relative to the Windows desktop.
Definition: TeamTalk.h:5420
ShareWindow::nHeight
INT32 nHeight
The height in pixels of the window.
Definition: TeamTalk.h:5426
ShareWindow::nWindowX
INT32 nWindowX
X coordinate of window.
Definition: TeamTalk.h:5535
ShareWindow::hWnd
HWND hWnd
The Windows handle of the window.
Definition: TeamTalk.h:5418
SoundDeviceEffects
Set up audio effects supported by the sound device.
Definition: TeamTalk.h:468
SoundDeviceEffects::bEnableEchoCancellation
TTBOOL bEnableEchoCancellation
Enable echo cancellation.
Definition: TeamTalk.h:517
SoundDeviceEffects::bEnableAGC
TTBOOL bEnableAGC
Enable Automatic Gain Control.
Definition: TeamTalk.h:484
SoundDeviceEffects::bEnableDenoise
TTBOOL bEnableDenoise
Enable noise suppression.
Definition: TeamTalk.h:501
SoundDevice
A struct containing the properties of a sound device for either playback or recording.
Definition: TeamTalk.h:401
SoundDevice::nMaxOutputChannels
INT32 nMaxOutputChannels
The maximum number of output channels.
Definition: TeamTalk.h:440
SoundDevice::inputSampleRates
INT32 inputSampleRates[TT_SAMPLERATES_MAX]
Supported sample rates by device for recording. A zero value terminates the list of supported sample ...
Definition: TeamTalk.h:444
SoundDevice::outputSampleRates
INT32 outputSampleRates[TT_SAMPLERATES_MAX]
Supported sample rates by device for playback. A zero value terminates the list of supported sample r...
Definition: TeamTalk.h:448
SoundDevice::szDeviceName
TTCHAR szDeviceName[TT_STRLEN]
The name of the sound device.
Definition: TeamTalk.h:411
SoundDevice::nDeviceID
INT32 nDeviceID
The ID of the sound device. Used for passing to TT_InitSoundInputDevice and TT_InitSoundOutputDevice....
Definition: TeamTalk.h:407
SoundDevice::nSoundSystem
SoundSystem nSoundSystem
The sound system used by the sound device.
Definition: TeamTalk.h:409
SoundDevice::bSupports3D
TTBOOL bSupports3D
Whether the sound device supports 3D-sound effects.
Definition: TeamTalk.h:436
SoundDevice::nDefaultSampleRate
INT32 nDefaultSampleRate
The default sample rate for the sound device.
Definition: TeamTalk.h:450
SoundDevice::nWaveDeviceID
INT32 nWaveDeviceID
A Windows specific ID to the sound device.
Definition: TeamTalk.h:433
SoundDevice::uSoundDeviceFeatures
SoundDeviceFeatures uSoundDeviceFeatures
Additional features available for this sound device. The sound device features can be used to enable ...
Definition: TeamTalk.h:456
SoundDevice::nMaxInputChannels
INT32 nMaxInputChannels
The maximum number of input channels.
Definition: TeamTalk.h:438
SoundDevice::szDeviceID
TTCHAR szDeviceID[TT_STRLEN]
An identifier uniquely identifying the sound device even when new sound devices are being added and r...
Definition: TeamTalk.h:416
SpeexCodec
Speex audio codec settings for Constant Bitrate mode (CBR).
Definition: TeamTalk.h:1052
SpeexCodec::nQuality
INT32 nQuality
A value from 1-10. As of DLL version 4.2 also 0 is supported.
Definition: TeamTalk.h:1058
SpeexCodec::nBandmode
INT32 nBandmode
Set to 0 for 8 KHz (narrow band), set to 1 for 16 KHz (wide band), set to 2 for 32 KHz (ultra-wide ba...
Definition: TeamTalk.h:1055
SpeexCodec::nTxIntervalMSec
INT32 nTxIntervalMSec
Milliseconds of audio data before each transmission.
Definition: TeamTalk.h:1068
SpeexCodec::bStereoPlayback
TTBOOL bStereoPlayback
Playback should be done in stereo. Doing so will disable 3d-positioning.
Definition: TeamTalk.h:1074
SpeexDSP
Speex DSP is used for specifying how recorded audio from a sound input device should be preprocessed ...
Definition: TeamTalk.h:1228
SpeexDSP::nGainLevel
INT32 nGainLevel
A value from 0 to 32768. Default is 8000. Value is ignored if bEnableAGC is FALSE.
Definition: TeamTalk.h:1239
SpeexDSP::nEchoSuppress
INT32 nEchoSuppress
Set maximum attenuation of the residual echo in dB (negative number). Default is -40....
Definition: TeamTalk.h:1278
SpeexDSP::nMaxIncDBSec
INT32 nMaxIncDBSec
Used so volume should not be amplified too quickly (maximal gain increase in dB/second)....
Definition: TeamTalk.h:1243
SpeexDSP::bEnableEchoCancellation
TTBOOL bEnableEchoCancellation
Enable/disable acoustic echo cancellation (AEC).
Definition: TeamTalk.h:1274
SpeexDSP::nMaxGainDB
INT32 nMaxGainDB
Ensure volume doesn't become too loud (maximal gain in dB). Default is 30. Value is ignored if bEnabl...
Definition: TeamTalk.h:1252
SpeexDSP::bEnableDenoise
TTBOOL bEnableDenoise
Whether clients who join the channel should automatically enable denoising.
Definition: TeamTalk.h:1255
SpeexDSP::nMaxNoiseSuppressDB
INT32 nMaxNoiseSuppressDB
Maximum attenuation of the noise in dB. Negative value! Default value is -30. Value is ignored if bEn...
Definition: TeamTalk.h:1259
SpeexDSP::nEchoSuppressActive
INT32 nEchoSuppressActive
Set maximum attenuation of the residual echo in dB when near end is active (negative number)....
Definition: TeamTalk.h:1282
SpeexDSP::nMaxDecDBSec
INT32 nMaxDecDBSec
Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second)....
Definition: TeamTalk.h:1248
SpeexDSP::bEnableAGC
TTBOOL bEnableAGC
Whether to enable AGC with the settings specified nGainLevel, nMaxIncDBSec, nMaxDecDBSec and nMaxGain...
Definition: TeamTalk.h:1236
SpeexVBRCodec
Speex audio codec settings for Variable Bitrate mode (VBR).
Definition: TeamTalk.h:1082
SpeexVBRCodec::nQuality
INT32 nQuality
A value from 0-10. If nBitRate is non-zero it will override this value.
Definition: TeamTalk.h:1088
SpeexVBRCodec::nTxIntervalMSec
INT32 nTxIntervalMSec
Milliseconds of audio data before each transmission.
Definition: TeamTalk.h:1114
SpeexVBRCodec::bDTX
TTBOOL bDTX
Enable/disable discontinuous transmission. When enabled Speex will ignore silence,...
Definition: TeamTalk.h:1105
SpeexVBRCodec::nMaxBitRate
INT32 nMaxBitRate
The maximum bitrate at which the audio codec is allowed to output audio. Set to zero if it should be ...
Definition: TeamTalk.h:1101
SpeexVBRCodec::bStereoPlayback
TTBOOL bStereoPlayback
Playback should be done in stereo. Doing so will disable 3d-positioning.
Definition: TeamTalk.h:1120
SpeexVBRCodec::nBitRate
INT32 nBitRate
The bitrate at which the audio codec should output encoded audio data. Dividing it by 8 gives roughly...
Definition: TeamTalk.h:1097
SpeexVBRCodec::nBandmode
INT32 nBandmode
Set to 0 for 8 KHz (narrow band), set to 1 for 16 KHz (wide band), set to 2 for 32 KHz (ultra-wide ba...
Definition: TeamTalk.h:1085
TTAudioPreprocessor
Use TeamTalk's internal audio preprocessor for gain audio. Same as used for TT_SetSoundInputGainLevel...
Definition: TeamTalk.h:1288
TTAudioPreprocessor::nGainLevel
INT32 nGainLevel
Gain level between SOUND_GAIN_MIN and SOUND_GAIN_MAX. Default is SOUND_GAIN_DEFAULT (no gain).
Definition: TeamTalk.h:1292
TTAudioPreprocessor::bMuteLeftSpeaker
TTBOOL bMuteLeftSpeaker
Whether to mute left speaker in stereo playback.
Definition: TeamTalk.h:1294
TTAudioPreprocessor::bMuteRightSpeaker
TTBOOL bMuteRightSpeaker
Whether to mute right speaker in stereo playback.
Definition: TeamTalk.h:1296
TTMessage
A struct containing the properties of an event.
Definition: TeamTalk.h:3678
TTMessage::nStreamID
INT32 nStreamID
Valid if ttType is __INT32.
Definition: TeamTalk.h:3718
TTMessage::nStreamType
StreamType nStreamType
Valid if ttType is __STREAMTYPE.
Definition: TeamTalk.h:3722
TTMessage::nBytesRemain
INT32 nBytesRemain
Valid if ttType is __INT32.
Definition: TeamTalk.h:3716
TTMessage::mediafileinfo
MediaFileInfo mediafileinfo
Valid if ttType is __MEDIAFILEINFO.
Definition: TeamTalk.h:3698
TTMessage::uReserved
UINT32 uReserved
Reserved. To preserve alignment.
Definition: TeamTalk.h:3686
TTMessage::clienterrormsg
ClientErrorMsg clienterrormsg
Valid if ttType is __CLIENTERRORMSG.
Definition: TeamTalk.h:3692
TTMessage::nPayloadSize
INT32 nPayloadSize
Valid if ttType is __INT32.
Definition: TeamTalk.h:3720
TTMessage::desktopinput
DesktopInput desktopinput
Valid if ttType is __DESKTOPINPUT.
Definition: TeamTalk.h:3694
TTMessage::textmessage
TextMessage textmessage
Valid if ttType is __TEXTMESSAGE.
Definition: TeamTalk.h:3706
TTMessage::useraccount
UserAccount useraccount
Valid if ttType is __USERACCOUNT.
Definition: TeamTalk.h:3710
TTMessage::remotefile
RemoteFile remotefile
Valid if ttType is __REMOTEFILE.
Definition: TeamTalk.h:3700
TTMessage::bActive
TTBOOL bActive
Valid if ttType is __TTBOOL.
Definition: TeamTalk.h:3714
TTMessage::data
char data[1]
Definition: TeamTalk.h:3726
TTMessage::user
User user
Valid if ttType is __USER.
Definition: TeamTalk.h:3708
TTMessage::audioinputprogress
AudioInputProgress audioinputprogress
Valid if ttType is __AUDIOINPUTPROGRESS.
Definition: TeamTalk.h:3724
TTMessage::banneduser
BannedUser banneduser
Valid if ttType is __BANNEDUSER.
Definition: TeamTalk.h:3712
TTMessage::nClientEvent
ClientEvent nClientEvent
The event's message number.
Definition: TeamTalk.h:3680
TTMessage::serverstatistics
ServerStatistics serverstatistics
Valid if ttType is __SERVERSTATISTICS.
Definition: TeamTalk.h:3704
TTMessage::filetransfer
FileTransfer filetransfer
Valid if ttType is __FILETRANSFER.
Definition: TeamTalk.h:3696
TTMessage::serverproperties
ServerProperties serverproperties
Valid if ttType is __SERVERPROPERTIES.
Definition: TeamTalk.h:3702
TTMessage::nSource
INT32 nSource
The source of the event depends on wmMsg.
Definition: TeamTalk.h:3682
TTMessage::channel
Channel channel
Valid if ttType is __CHANNEL.
Definition: TeamTalk.h:3690
TTMessage::ttType
TTType ttType
Specifies which member to access in the union.
Definition: TeamTalk.h:3684
TextMessage
A struct containing the properties of a text message sent by a user.
Definition: TeamTalk.h:2320
TextMessage::nMsgType
TextMsgType nMsgType
The type of text message.
Definition: TeamTalk.h:2322
TextMessage::nToUserID
INT32 nToUserID
Set to zero if channel message.
Definition: TeamTalk.h:2328
TextMessage::nChannelID
INT32 nChannelID
Set to zero if nMsgType is MSGTYPE_USER or MSGTYPE_BROADCAST.
Definition: TeamTalk.h:2331
TextMessage::szMessage
TTCHAR szMessage[TT_STRLEN]
The actual text message. The message can be multi-line (include EOL).
Definition: TeamTalk.h:2334
TextMessage::szFromUsername
TTCHAR szFromUsername[TT_STRLEN]
The originators username.
Definition: TeamTalk.h:2326
TextMessage::nFromUserID
INT32 nFromUserID
Will be set automatically on outgoing message.
Definition: TeamTalk.h:2324
UserAccount
A struct containing the properties of a user account.
Definition: TeamTalk.h:1944
UserAccount::szNote
TTCHAR szNote[TT_STRLEN]
Additional notes about this user.
Definition: TeamTalk.h:1960
UserAccount::nUserData
INT32 nUserData
A user data field which can be used for additional information. The nUserData field of the User struc...
Definition: TeamTalk.h:1958
UserAccount::abusePrevent
AbusePrevention abusePrevent
Properties which can be set to prevent abuse of a server, e.g. limit number of commands issued.
Definition: TeamTalk.h:1978
UserAccount::uUserRights
UserRights uUserRights
A bitmask based on UserRight which specifies the rights the user have who logs onto the server....
Definition: TeamTalk.h:1954
UserAccount::uUserType
UserTypes uUserType
A bitmask of the type of user based on UserType.
Definition: TeamTalk.h:1950
UserAccount::szLastModified
TTCHAR szLastModified[TT_STRLEN]
Timestamp of last modification of user account. Date/time is converted local time.
Definition: TeamTalk.h:1981
UserAccount::szInitChannel
TTCHAR szInitChannel[TT_STRLEN]
User should (manually) join this channel after login. If an initial channel is specified in the user'...
Definition: TeamTalk.h:1965
UserAccount::autoOperatorChannels
INT32 autoOperatorChannels[TT_CHANNELS_OPERATOR_MAX]
Channels where this user will automatically become channel operator when joining. The channels must b...
Definition: TeamTalk.h:1969
UserAccount::nAudioCodecBpsLimit
INT32 nAudioCodecBpsLimit
Bandwidth restriction for audio codecs created by this user. This value will hold the highest bitrate...
Definition: TeamTalk.h:1973
UserAccount::szPassword
TTCHAR szPassword[TT_STRLEN]
The account's password.
Definition: TeamTalk.h:1948
UserAccount::szUsername
TTCHAR szUsername[TT_STRLEN]
The account's username.
Definition: TeamTalk.h:1946
User
A struct containing the properties of a user.
Definition: TeamTalk.h:2125
User::szMediaStorageDir
TTCHAR szMediaStorageDir[TT_STRLEN]
Store audio received from this user to this folder.
Definition: TeamTalk.h:2190
User::uPeerSubscriptions
Subscriptions uPeerSubscriptions
A bitmask of what this user subscribes to from local client instance. Invoking TT_DoSubscribe() and T...
Definition: TeamTalk.h:2169
User::nBufferMSecVoice
INT32 nBufferMSecVoice
The size of the buffer (in msec) to hold voice content.
Definition: TeamTalk.h:2234
User::uUserType
UserTypes uUserType
The uUserType of the user's UserAccount. This property is set by the server and will not change after...
Definition: TeamTalk.h:2143
User::stereoPlaybackMediaFile
TTBOOL stereoPlaybackMediaFile[2]
Check what speaker a user is outputting to. If index 0 is TRUE then left speaker is playing....
Definition: TeamTalk.h:2230
User::uLocalSubscriptions
Subscriptions uLocalSubscriptions
A bitmask of what the local user subscribes to from this user. Invoking TT_DoSubscribe() and TT_DoUns...
Definition: TeamTalk.h:2163
User::nChannelID
INT32 nChannelID
The channel which the user is currently participating in. 0 if none. This value can change as a resul...
Definition: TeamTalk.h:2157
User::nActiveAdaptiveDelayMSec
INT32 nActiveAdaptiveDelayMSec
the currently active adaptive jitter delay for received voice streams for this user.
Definition: TeamTalk.h:2242
User::soundPositionMediaFile
float soundPositionMediaFile[3]
User's position when using 3D-sound (DirectSound option). Index 0 is x-axis, index 1 is y-axis and in...
Definition: TeamTalk.h:2220
User::szNickname
TTCHAR szNickname[TT_STRLEN]
The user's nickname. Invoking TT_DoChangeNickname() changes this value. Event CLIENTEVENT_CMD_USER_UP...
Definition: TeamTalk.h:2174
User::szIPAddress
TTCHAR szIPAddress[TT_STRLEN]
The user's IP-address. This value is set by the server.
Definition: TeamTalk.h:2145
User::nStoppedDelayVoice
INT32 nStoppedDelayVoice
The delay of when a user should no longer be considered as talking.
Definition: TeamTalk.h:2206
User::nStatusMode
INT32 nStatusMode
The user's current status mode. Invoke TT_DoChangeStatus() to change this value. Event CLIENTEVENT_CM...
Definition: TeamTalk.h:2179
User::nVolumeMediaFile
INT32 nVolumeMediaFile
The user's voice volume level. Note that it's a virtual volume which is being set since the master vo...
Definition: TeamTalk.h:2202
User::soundPositionVoice
float soundPositionVoice[3]
User's position when using 3D-sound (DirectSound option). Index 0 is x-axis, index 1 is y-axis and in...
Definition: TeamTalk.h:2215
User::stereoPlaybackVoice
TTBOOL stereoPlaybackVoice[2]
Check what speaker a user is outputting to. If index 0 is TRUE then left speaker is playing....
Definition: TeamTalk.h:2225
User::nStoppedDelayMediaFile
INT32 nStoppedDelayMediaFile
The delay of when a user should no longer be considered playing audio of a media file.
Definition: TeamTalk.h:2210
User::szUsername
TTCHAR szUsername[TT_STRLEN]
The szUsername of the user's UserAccount. A user account is created by calling TT_DoNewUserAccount()....
Definition: TeamTalk.h:2134
User::nVolumeVoice
INT32 nVolumeVoice
The user's voice volume level. Note that it's a virtual volume which is being set since the master vo...
Definition: TeamTalk.h:2196
User::uUserState
UserStates uUserState
A bitmask of the user's current state, e.g. talking, muted, etc.
Definition: TeamTalk.h:2187
User::uVersion
UINT32 uVersion
The user's client version. This property is set by the server and will not change after login....
Definition: TeamTalk.h:2151
User::nUserID
INT32 nUserID
The user's ID. A value from 1 - TT_USERID_MAX. This property is set by the server and will not change...
Definition: TeamTalk.h:2129
User::nBufferMSecMediaFile
INT32 nBufferMSecMediaFile
The size of the buffer (in msec) to hold media file content.
Definition: TeamTalk.h:2238
User::nUserData
INT32 nUserData
The nUserData of the user's UserAccount. This field can be use to denote e.g. a database ID....
Definition: TeamTalk.h:2139
User::szStatusMsg
TTCHAR szStatusMsg[TT_STRLEN]
The user's current status message. Invoke TT_DoChangeStatus() to change this value....
Definition: TeamTalk.h:2184
User::szClientName
TTCHAR szClientName[TT_STRLEN]
The name of the client application which the user is using. This is the value passed as szClientName ...
Definition: TeamTalk.h:2246
UserStatistics
Packet reception and data statistics for a user.
Definition: TeamTalk.h:2254
UserStatistics::nMediaFileAudioPacketsLost
INT64 nMediaFileAudioPacketsLost
Number of media file audio packets lost from user.
Definition: TeamTalk.h:2273
UserStatistics::nMediaFileVideoFramesRecv
INT64 nMediaFileVideoFramesRecv
Number of media file video frames received from user.
Definition: TeamTalk.h:2278
UserStatistics::nVideoCaptureFramesRecv
INT64 nVideoCaptureFramesRecv
Number of video frames received from user.
Definition: TeamTalk.h:2263
UserStatistics::nMediaFileAudioPacketsRecv
INT64 nMediaFileAudioPacketsRecv
Number of media file audio packets received from user.
Definition: TeamTalk.h:2271
UserStatistics::nMediaFileVideoPacketsRecv
INT64 nMediaFileVideoPacketsRecv
Number of media file video packets received from user. A video frame can consist of several video pac...
Definition: TeamTalk.h:2276
UserStatistics::nVideoCaptureFramesDropped
INT64 nVideoCaptureFramesDropped
Number of video frames dropped because user application didn't retrieve video frames in time.
Definition: TeamTalk.h:2269
UserStatistics::nMediaFileVideoFramesLost
INT64 nMediaFileVideoFramesLost
Media file video frames which couldn't be shown because packets were lost.
Definition: TeamTalk.h:2281
UserStatistics::nVoicePacketsLost
INT64 nVoicePacketsLost
Number of voice packets lost from user.
Definition: TeamTalk.h:2258
UserStatistics::nVoicePacketsRecv
INT64 nVoicePacketsRecv
Number of voice packets received from user.
Definition: TeamTalk.h:2256
UserStatistics::nVideoCapturePacketsRecv
INT64 nVideoCapturePacketsRecv
Number of video packets received from user. A video frame can consist of several video packets.
Definition: TeamTalk.h:2261
UserStatistics::nVideoCaptureFramesLost
INT64 nVideoCaptureFramesLost
Video frames which couldn't be shown because packets were lost.
Definition: TeamTalk.h:2266
UserStatistics::nMediaFileVideoFramesDropped
INT64 nMediaFileVideoFramesDropped
Number of media file video frames dropped because user application didn't retrieve video frames in ti...
Definition: TeamTalk.h:2284
VideoCaptureDevice
A struct containing the properties of a video capture device.
Definition: TeamTalk.h:897
VideoCaptureDevice::videoFormats
VideoFormat videoFormats[TT_VIDEOFORMATS_MAX]
The supported capture formats.
Definition: TeamTalk.h:916
VideoCaptureDevice::szCaptureAPI
TTCHAR szCaptureAPI[TT_STRLEN]
The name of the API used to capture video.
Definition: TeamTalk.h:914
VideoCaptureDevice::szDeviceName
TTCHAR szDeviceName[TT_STRLEN]
The name of the capture device.
Definition: TeamTalk.h:901
VideoCaptureDevice::nVideoFormatsCount
INT32 nVideoFormatsCount
The number of capture formats available in videoFormats array.
Definition: TeamTalk.h:919
VideoCaptureDevice::szDeviceID
TTCHAR szDeviceID[TT_STRLEN]
A string identifying the device.
Definition: TeamTalk.h:899
VideoCodec
Struct used for specifying the video codec to use.
Definition: TeamTalk.h:1536
VideoCodec::webm_vp8
WebMVP8Codec webm_vp8
Definition: TeamTalk.h:1543
VideoCodec::nCodec
Codec nCodec
Specifies member holds the codec settings. So far there is only one video codec to choose from,...
Definition: TeamTalk.h:1540
VideoFormat
A struct containing the properties of a video capture format.
Definition: TeamTalk.h:835
VideoFormat::nFPS_Numerator
INT32 nFPS_Numerator
The numerator of the video capture device's video format. Divinding nFPS_Numerator with nFPS_Denomina...
Definition: TeamTalk.h:845
VideoFormat::picFourCC
FourCC picFourCC
Picture format for capturing.
Definition: TeamTalk.h:851
VideoFormat::nFPS_Denominator
INT32 nFPS_Denominator
The denominator of the video capture device's video format. Divinding nFPS_Numerator with nFPS_Denomi...
Definition: TeamTalk.h:849
VideoFormat::nHeight
INT32 nHeight
The height in pixels of the video device supported video format.
Definition: TeamTalk.h:841
VideoFormat::nWidth
INT32 nWidth
The width in pixels of the video device supported video format.
Definition: TeamTalk.h:838
VideoFrame
A RGB32 image where the pixels can be accessed directly in an allocated frameBuffer.
Definition: TeamTalk.h:862
VideoFrame::nWidth
INT32 nWidth
The width in pixels of the image contained in frameBuffer.
Definition: TeamTalk.h:865
VideoFrame::nHeight
INT32 nHeight
The height in pixels of the image contained in imageBuffer.
Definition: TeamTalk.h:868
VideoFrame::frameBuffer
VOID * frameBuffer
A buffer allocated internally by client instance.
Definition: TeamTalk.h:881
VideoFrame::nStreamID
INT32 nStreamID
A unique identifier for the frames which are part of the same video sequence. If the stream ID change...
Definition: TeamTalk.h:874
VideoFrame::bKeyFrame
TTBOOL bKeyFrame
Whether the image acquired is a key-frame. If it is not a key-frame and there has been packet loss or...
Definition: TeamTalk.h:879
VideoFrame::nFrameBufferSize
INT32 nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer.
Definition: TeamTalk.h:884
WebMVP8Codec
WebM video codec settings.
Definition: TeamTalk.h:1441
WebMVP8Codec::nEncodeDeadline
UINT32 nEncodeDeadline
Time that should be spent on encoding a frame.
Definition: TeamTalk.h:1460
WebMVP8Codec::rc_target_bitrate
UINT32 rc_target_bitrate
Target bitrate in kbits/sec. This value must be greater than 0.
Definition: TeamTalk.h:1451
WebMVP8Codec::nRcTargetBitrate
INT32 nRcTargetBitrate
Same as rc_target_bitrate.
Definition: TeamTalk.h:1445
WebRTCAudioPreprocessor
WebRTC's audio preprocessor.
Definition: TeamTalk.h:1312
WebRTCAudioPreprocessor::nLevel
INT32 nLevel
Noise suppression level. 0 = Low, 1 = Moderate, 2 = High, 3 = VeryHigh. Default: 1.
Definition: TeamTalk.h:1341
WebRTCAudioPreprocessor::fixeddigital
struct WebRTCAudioPreprocessor::@4::@6 fixeddigital
Gain level for AGC. Only active when bEnable is true.
WebRTCAudioPreprocessor::fMaxGainChangeDBPerSecond
float fMaxGainChangeDBPerSecond
Definition: TeamTalk.h:1383
WebRTCAudioPreprocessor::bEnable
TTBOOL bEnable
Enable pre-amplifier. Replacement for TT_SetSoundInputGainLevel()
Definition: TeamTalk.h:1318
WebRTCAudioPreprocessor::fMaxOutputNoiseLevelDBFS
float fMaxOutputNoiseLevelDBFS
Definition: TeamTalk.h:1385
WebRTCAudioPreprocessor::preamplifier
struct WebRTCAudioPreprocessor::@0 preamplifier
Configuration of WebRTC pre-amplifier.
WebRTCAudioPreprocessor::levelestimation
struct WebRTCAudioPreprocessor::@5 levelestimation
Configuration of WebRTC's level estimater.
WebRTCAudioPreprocessor::fInitialSaturationMarginDB
float fInitialSaturationMarginDB
Definition: TeamTalk.h:1379
WebRTCAudioPreprocessor::gaincontroller2
struct WebRTCAudioPreprocessor::@4 gaincontroller2
Configuration of WebRTC's gain controller 2 for AGC.
WebRTCAudioPreprocessor::fExtraSaturationMarginDB
float fExtraSaturationMarginDB
Definition: TeamTalk.h:1381
WebRTCAudioPreprocessor::fFixedGainFactor
float fFixedGainFactor
Gain factor. Default: 1.
Definition: TeamTalk.h:1320
WebRTCAudioPreprocessor::noisesuppression
struct WebRTCAudioPreprocessor::@2 noisesuppression
Configuration of WebRTC's noise suppression. See also SpeexDSP.
WebRTCAudioPreprocessor::adaptivedigital
struct WebRTCAudioPreprocessor::@4::@7 adaptivedigital
Configuration for fine tuning gain level.
WebRTCAudioPreprocessor::echocanceller
struct WebRTCAudioPreprocessor::@1 echocanceller
Configuration of WebRTC's echo canceller. See also TT_SetSoundDeviceEffects()
WebRTCAudioPreprocessor::voicedetection
struct WebRTCAudioPreprocessor::@3 voicedetection
Configuration of WebRTC's voice detection.
WebRTCAudioPreprocessor::fGainDB
float fGainDB
Gain level in dB. Range: 0 <= x < 50. Default: 0.
Definition: TeamTalk.h:1370