TeamTalk 5 Java DLL: /root/BearWare/TeamTalk5/Library/TeamTalk.NET/TeamTalk.cs Source File

TeamTalk 5 Java DLL Version 5.8B

TeamTalk.cs
1 /*
2 * Copyright (c) 2005-2018, BearWare.dk
3 *
4 * Contact Information:
5 *
6 * Bjoern D. Rasmussen
7 * Kirketoften 5
8 * DK-8260 Viby J
9 * Denmark
10 * Email: contact@bearware.dk
11 * Phone: +45 20 20 54 59
12 * Web: http://www.bearware.dk
13 *
14 * This source code is part of the TeamTalk SDK owned by
15 * BearWare.dk. Use of this file, or its compiled unit, requires a
16 * TeamTalk SDK License Key issued by BearWare.dk.
17 *
18 * The TeamTalk SDK License Agreement along with its Terms and
19 * Conditions are outlined in the file License.txt included with the
20 * TeamTalk SDK distribution.
21 *
22 */
23
24 using System;
25 using System.Collections.Generic;
26 using System.Text;
27 using System.Windows.Forms;
28 using System.Drawing;
29 using System.Drawing.Imaging;
30 using System.Threading;
31 using System.Diagnostics;
32 using System.Reflection;
33 using System.Runtime.InteropServices;
34 using c_tt;
35
36 namespace BearWare
37 {
43 [Flags]
44 public enum StreamType : uint
45 {
47 STREAMTYPE_NONE = 0x00000000,
50 STREAMTYPE_VOICE = 0x00000001,
53 STREAMTYPE_VIDEOCAPTURE = 0x00000002,
56 STREAMTYPE_MEDIAFILE_AUDIO = 0x00000004,
59 STREAMTYPE_MEDIAFILE_VIDEO = 0x00000008,
62 STREAMTYPE_DESKTOP = 0x00000010,
66 STREAMTYPE_DESKTOPINPUT = 0x00000020,
68 STREAMTYPE_MEDIAFILE = STREAMTYPE_MEDIAFILE_AUDIO |
69 STREAMTYPE_MEDIAFILE_VIDEO,
78 STREAMTYPE_CHANNELMSG = 0x00000040,
84 STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO = 0x00000080,
85
88 STREAMTYPE_CLASSROOM_ALL = STREAMTYPE_VOICE |
89 STREAMTYPE_VIDEOCAPTURE |
90 STREAMTYPE_DESKTOP |
91 STREAMTYPE_MEDIAFILE |
92 STREAMTYPE_CHANNELMSG,
93 }
106 public enum SoundSystem : uint
107 {
109 SOUNDSYSTEM_NONE = 0,
111 SOUNDSYSTEM_WINMM = 1,
113 SOUNDSYSTEM_DSOUND = 2,
121 SOUNDSYSTEM_ALSA = 3,
123 SOUNDSYSTEM_COREAUDIO = 4,
134 SOUNDSYSTEM_WASAPI = 5,
136 SOUNDSYSTEM_OPENSLES_ANDROID = 7,
152 SOUNDSYSTEM_AUDIOUNIT = 8,
154 SOUNDSYSTEM_AUDIOUNIT_IOS = SOUNDSYSTEM_AUDIOUNIT,
155 }
156
161 [Flags]
162 public enum SoundDeviceFeature : uint
163 {
164 SOUNDDEVICEFEATURE_NONE = 0x0000,
170 SOUNDDEVICEFEATURE_AEC = 0x0001,
176 SOUNDDEVICEFEATURE_AGC = 0x0002,
181 SOUNDDEVICEFEATURE_DENOISE = 0x0004,
184 SOUNDDEVICEFEATURE_3DPOSITION = 0x0008,
187 SOUNDDEVICEFEATURE_DUPLEXMODE = 0x0010,
190 SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE = 0x0020,
191 }
192
205 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
206 public struct SoundDevice
207 {
213 public int nDeviceID;
215 public SoundSystem nSoundSystem;
217 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
218 public string szDeviceName;
223 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
224 public string szDeviceID;
241 public int nWaveDeviceID;
244 public bool bSupports3D;
246 public int nMaxInputChannels;
248 public int nMaxOutputChannels;
252 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_SAMPLERATES_MAX)]
253 public int[] inputSampleRates;
257 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_SAMPLERATES_MAX)]
258 public int[] outputSampleRates;
260 public int nDefaultSampleRate;
266 public SoundDeviceFeature uSoundDeviceFeatures;
267 }
268
269
278 public struct SoundDeviceEffects
279 {
295 public bool bEnableAGC;
312 public bool bEnableDenoise;
328 public bool bEnableEchoCancellation;
329 }
330
333 public struct SoundDeviceConstants
334 {
337 public const int TT_SOUNDDEVICE_ID_REMOTEIO = 0;
343 public const int TT_SOUNDDEVICE_ID_VOICEPREPROCESSINGIO = (1 | (int)TT_SOUNDDEVICE_ID_SHARED_FLAG);
348 public const int TT_SOUNDDEVICE_ID_OPENSLES_DEFAULT = 0;
353 public const int TT_SOUNDDEVICE_ID_OPENSLES_VOICECOM = 1;
362 public const int TT_SOUNDDEVICE_ID_TEAMTALK_VIRTUAL = 1978;
363
364
378 public const uint TT_SOUNDDEVICE_ID_SHARED_FLAG = 0x00000800;
379
384 public const uint TT_SOUNDDEVICE_ID_MASK = 0x000007FF;
385 }
386
390 public struct SoundLevel
391 {
397 public const int SOUND_VU_MAX = 100;
403 public const int SOUND_VU_MIN = 0;
411 public const int SOUND_VOLUME_MAX = 32000;
419 public const int SOUND_VOLUME_DEFAULT = 1000;
425 public const int SOUND_VOLUME_MIN = 0;
434 public const int SOUND_GAIN_MAX = 32000;
444 public const int SOUND_GAIN_DEFAULT = 1000;
453 public const int SOUND_GAIN_MIN = 0;
454 }
455
470 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
471 public struct AudioBlock
472 {
476 public int nStreamID;
478 public int nSampleRate;
480 public int nChannels;
484 public System.IntPtr lpRawAudio;
486 public int nSamples;
494 public uint uSampleIndex;
507 StreamType uStreamTypes;
508 }
509
518 public enum MediaFileStatus : uint
519 {
520 MFS_CLOSED = 0,
522 MFS_ERROR = 1,
524 MFS_STARTED = 2,
526 MFS_FINISHED = 3,
528 MFS_ABORTED = 4,
530 MFS_PAUSED = 5,
533 MFS_PLAYING = 6
534 }
535
539 public enum AudioFileFormat : uint
540 {
542 AFF_NONE = 0,
553 AFF_CHANNELCODEC_FORMAT = 1,
555 AFF_WAVE_FORMAT = 2,
557 AFF_MP3_16KBIT_FORMAT = 3,
559 AFF_MP3_32KBIT_FORMAT = 4,
561 AFF_MP3_64KBIT_FORMAT = 5,
563 AFF_MP3_128KBIT_FORMAT = 6,
565 AFF_MP3_256KBIT_FORMAT = 7,
566 }
567
577 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
578 public struct AudioFormat
579 {
581 public AudioFileFormat nAudioFmt;
583 public int nSampleRate;
585 public int nChannels;
586 }
587
598 public enum FourCC : uint
599 {
601 FOURCC_NONE = 0,
604 FOURCC_I420 = 100,
607 FOURCC_YUY2 = 101,
610 FOURCC_RGB32 = 102
611 }
612
619 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
620 public struct VideoFormat
621 {
624 public int nWidth;
627 public int nHeight;
631 public int nFPS_Numerator;
635 public int nFPS_Denominator;
637 public FourCC picFourCC;
638 }
639
647 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
648 public struct VideoFrame
649 {
652 public int nWidth;
655 public int nHeight;
661 public int nStreamID;
666 public bool bKeyFrame;
668 public System.IntPtr frameBuffer;
671 public int nFrameBufferSize;
672 }
673
683 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
684 public struct VideoCaptureDevice
685 {
687 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
688 public string szDeviceID;
690 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
691 public string szDeviceName;
704 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
705 public string szCaptureAPI;
707 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_VIDEOFORMATS_MAX)]
708 public VideoFormat[] videoFormats;
711 public int nVideoFormatsCount;
712 }
713
721 public enum BitmapFormat : uint
722 {
724 BMP_NONE = 0,
730 BMP_RGB8_PALETTE = 1,
733 BMP_RGB16_555 = 2,
737 BMP_RGB24 = 3,
741 BMP_RGB32 = 4
742 }
743
748 public enum DesktopProtocol : uint
749 {
752 DESKTOPPROTOCOL_ZLIB_1 = 1
753 }
754
761 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
762 public struct DesktopWindow
763 {
765 public int nWidth;
767 public int nHeight;
769 public BitmapFormat bmpFormat;
772 public int nBytesPerLine;
779 public int nSessionID;
781 public DesktopProtocol nProtocol;
783 public IntPtr frameBuffer;
786 public int nFrameBufferSize;
787 }
788
792 public enum DesktopKeyState : uint
793 {
795 DESKTOPKEYSTATE_NONE = 0x00000000,
797 DESKTOPKEYSTATE_DOWN = 0x00000001,
799 DESKTOPKEYSTATE_UP = 0x00000002,
800 }
801
809 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
810 public struct DesktopInput
811 {
815 public ushort uMousePosX;
819 public ushort uMousePosY;
825 public uint uKeyCode;
828 public DesktopKeyState uKeyState;
830 public DesktopInput(bool set_defaults)
831 {
832 if (set_defaults)
833 {
834 uMousePosX = uMousePosY = (ushort)DesktopInputConstants.DESKTOPINPUT_MOUSEPOS_IGNORE;
835 uKeyCode = DesktopInputConstants.DESKTOPINPUT_KEYCODE_IGNORE;
836 uKeyState = DesktopKeyState.DESKTOPKEYSTATE_NONE;
837 }
838 else
839 {
840 uMousePosX = uMousePosY = 0;
841 uKeyCode = 0;
842 uKeyState = DesktopKeyState.DESKTOPKEYSTATE_NONE;
843 }
844 }
845 }
846
848 public struct DesktopInputConstants
849 {
857 public const uint DESKTOPINPUT_KEYCODE_IGNORE = 0xFFFFFFFF;
858
866 public const ushort DESKTOPINPUT_MOUSEPOS_IGNORE = 0xFFFF;
867
874 public const uint DESKTOPINPUT_KEYCODE_LMOUSEBTN = 0x1000;
875
882 public const uint DESKTOPINPUT_KEYCODE_RMOUSEBTN = 0x1001;
883
890 public const uint DESKTOPINPUT_KEYCODE_MMOUSEBTN = 0x1002;
891 }
892
905 [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
906 public struct SpeexCodec
907 {
910 [FieldOffset(0)]
911 public int nBandmode;
914 [FieldOffset(4)]
915 public int nQuality;
925 [FieldOffset(8)]
926 public int nTxIntervalMSec;
932 [FieldOffset(12)]
933 public bool bStereoPlayback;
934 }
935
941 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
942 public struct SpeexVBRCodec
943 {
946 public int nBandmode;
949 public int nQuality;
956 public int nBitRate;
960 public int nMaxBitRate;
964 public bool bDTX;
973 public int nTxIntervalMSec;
979 public bool bStereoPlayback;
980 }
981
983 public struct SpeexConstants
984 {
986 public const int SPEEX_BANDMODE_NARROW = 0;
988 public const int SPEEX_BANDMODE_WIDE = 1;
990 public const int SPEEX_BANDMODE_UWIDE = 2;
992 public const int SPEEX_QUALITY_MIN = 0;
994 public const int SPEEX_QUALITY_MAX = 10;
997 public const int SPEEX_NB_MIN_BITRATE = 2150;
1000 public const int SPEEX_NB_MAX_BITRATE = 24600;
1003 public const int SPEEX_WB_MIN_BITRATE = 3950;
1006 public const int SPEEX_WB_MAX_BITRATE = 42200;
1009 public const int SPEEX_UWB_MIN_BITRATE = 4150;
1012 public const int SPEEX_UWB_MAX_BITRATE = 44000;
1015 public const int DEFAULT_SPEEX_BANDMODE = 1;
1018 public const int DEFAULT_SPEEX_QUALITY = 4;
1021 public const int DEFAULT_SPEEX_DELAY = 40;
1024 public const bool DEFAULT_SPEEX_SIMSTEREO = false;
1027 public const int DEFAULT_SPEEX_BITRATE = 0;
1030 public const int DEFAULT_SPEEX_MAXBITRATE = 0;
1033 public const bool DEFAULT_SPEEX_DTX = true;
1034 }
1035
1038 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1039 public struct OpusCodec
1040 {
1043 public int nSampleRate;
1045 public int nChannels;
1049 public int nApplication;
1052 public int nComplexity;
1055 public bool bFEC;
1058 public bool bDTX;
1062 public int nBitRate;
1064 public bool bVBR;
1067 public bool bVBRConstraint;
1074 public int nTxIntervalMSec;
1078 public int nFrameSizeMSec;
1079 }
1080
1082 public struct OpusConstants
1083 {
1086 public const int OPUS_APPLICATION_VOIP = 2048;
1089 public const int OPUS_APPLICATION_AUDIO = 2049;
1092 public const int OPUS_MIN_BITRATE = 6000;
1095 public const int OPUS_MAX_BITRATE = 510000;
1096
1099 public const int OPUS_MIN_FRAMESIZE = 2; /* Actually it's 2.5 */
1102 public const int OPUS_MAX_FRAMESIZE = 60;
1106 public const int OPUS_REALMAX_FRAMESIZE = 120;
1107
1108 public const int DEFAULT_OPUS_APPLICATION = OPUS_APPLICATION_VOIP;
1109 public const int DEFAULT_OPUS_SAMPLERATE = 48000;
1110 public const int DEFAULT_OPUS_CHANNELS = 1;
1111 public const int DEFAULT_OPUS_COMPLEXITY = 10;
1112 public const bool DEFAULT_OPUS_FEC = true;
1113 public const bool DEFAULT_OPUS_DTX = false;
1114 public const bool DEFAULT_OPUS_VBR = true;
1115 public const bool DEFAULT_OPUS_VBRCONSTRAINT = false;
1116 public const int DEFAULT_OPUS_BITRATE = 32000;
1117 public const int DEFAULT_OPUS_DELAY = 20;
1118 }
1119
1137 [StructLayout(LayoutKind.Explicit)]
1138 public struct SpeexDSP
1139 {
1147 [FieldOffset(0)]
1148 public bool bEnableAGC;
1151 [FieldOffset(4)]
1152 public int nGainLevel;
1156 [FieldOffset(8)]
1157 public int nMaxIncDBSec;
1162 [FieldOffset(12)]
1163 public int nMaxDecDBSec;
1167 [FieldOffset(16)]
1168 public int nMaxGainDB;
1171 [FieldOffset(20)]
1172 public bool bEnableDenoise;
1176 [FieldOffset(24)]
1177 public int nMaxNoiseSuppressDB;
1196 [FieldOffset(28)]
1197 public bool bEnableEchoCancellation;
1201 [FieldOffset(32)]
1202 public int nEchoSuppress;
1206 [FieldOffset(36)]
1207 public int nEchoSuppressActive;
1208
1209 public SpeexDSP(bool set_defaults)
1210 {
1211 if (set_defaults)
1212 {
1213 bEnableAGC = SpeexDSPConstants.DEFAULT_AGC_ENABLE;
1214 nGainLevel = SpeexDSPConstants.DEFAULT_AGC_GAINLEVEL;
1215 nMaxIncDBSec = SpeexDSPConstants.DEFAULT_AGC_INC_MAXDB;
1216 nMaxDecDBSec = SpeexDSPConstants.DEFAULT_AGC_DEC_MAXDB;
1217 nMaxGainDB = SpeexDSPConstants.DEFAULT_AGC_GAINMAXDB;
1218
1219 bEnableDenoise = SpeexDSPConstants.DEFAULT_DENOISE_ENABLE;
1220 nMaxNoiseSuppressDB = SpeexDSPConstants.DEFAULT_DENOISE_SUPPRESS;
1221
1222 bEnableEchoCancellation = SpeexDSPConstants.DEFAULT_ECHO_ENABLE;
1223 nEchoSuppress = SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS;
1224 nEchoSuppressActive = SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS_ACTIVE;
1225 }
1226 else
1227 {
1228 bEnableAGC = false;
1229 nGainLevel = 0;
1230 nMaxIncDBSec = 0;
1231 nMaxDecDBSec = 0;
1232 nMaxGainDB = 0;
1233
1234 bEnableDenoise = false;
1235 nMaxNoiseSuppressDB = 0;
1236
1237 bEnableEchoCancellation = false;
1238 nEchoSuppress = 0;
1239 nEchoSuppressActive = 0;
1240 }
1241 }
1242 }
1243
1246 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1247 public struct TTAudioPreprocessor
1248 {
1252 public int nGainLevel;
1254 public bool bMuteLeftSpeaker;
1256 public bool bMuteRightSpeaker;
1257 }
1258
1268 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1269 public struct WebRTCAudioPreprocessor
1270 {
1272 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1273 public struct Preamplifier
1274 {
1277 public bool bEnable;
1279 public float fFixedGainFactor;
1280 }
1281 public Preamplifier preamplifier;
1282
1285 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1286 public struct EchoCanceller
1287 {
1293 public bool bEnable;
1294 }
1295 public EchoCanceller echocanceller;
1296
1299 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1300 public struct NoiseSuppression
1301 {
1303 public bool bEnable;
1306 public int nLevel;
1307 }
1308 public NoiseSuppression noisesuppression;
1309
1311 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1312 public struct VoiceDetection
1313 {
1323 public bool bEnable;
1324 }
1325 public VoiceDetection voicedetection;
1326
1329 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1330 public struct GainController2
1331 {
1334 public bool bEnable;
1337 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1338 public struct FixedDigital
1339 {
1342 public float fGainDB;
1343 }
1344 public FixedDigital fixeddigital;
1345
1347 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1348 public struct AdaptiveDigital
1349 {
1350 /* @brief Enable saturation protector where saturation
1351 * margin is 2 dB. */
1352 public bool bEnable;
1353 /* Range: 0 <= x <= 100. Default: 20 dB */
1354 public float fInitialSaturationMarginDB;
1355 /* Range: 0 <= x <= 100. Default: 2 dB */
1356 public float fExtraSaturationMarginDB;
1357 /* Range: 0 < x < infinite. Default: 3 dB/sec */
1358 public float fMaxGainChangeDBPerSecond;
1359 /* Range: -infinite < x < 0. Default: -50 */
1360 public float fMaxOutputNoiseLevelDBFS;
1361 }
1362 public AdaptiveDigital adaptivedigital;
1363 }
1364 public GainController2 gaincontroller2;
1365
1367 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1368 public struct LevelEstimation
1369 {
1375 public bool bEnable;
1376 }
1377 public LevelEstimation levelestimation;
1378
1379 public WebRTCAudioPreprocessor(bool set_defaults)
1380 {
1381 if (set_defaults)
1382 {
1383 preamplifier.bEnable = WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE;
1384 preamplifier.fFixedGainFactor = WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR;
1385
1386 echocanceller.bEnable = WebRTCConstants.DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE;
1387
1388 noisesuppression.bEnable = WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE;
1389 noisesuppression.nLevel = WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL;
1390
1391 voicedetection.bEnable = WebRTCConstants.DEFAULT_WEBRTC_VAD_ENABLE;
1392
1393 gaincontroller2.bEnable = WebRTCConstants.DEFAULT_WEBRTC_GAINCTL_ENABLE;
1394 gaincontroller2.fixeddigital.fGainDB = WebRTCConstants.DEFAULT_WEBRTC_GAINDB;
1395
1396 gaincontroller2.adaptivedigital.bEnable = WebRTCConstants.DEFAULT_WEBRTC_SAT_PROT_ENABLE;
1397 gaincontroller2.adaptivedigital.fInitialSaturationMarginDB = WebRTCConstants.DEFAULT_WEBRTC_INIT_SAT_MARGIN_DB;
1398 gaincontroller2.adaptivedigital.fExtraSaturationMarginDB = WebRTCConstants.DEFAULT_WEBRTC_EXTRA_SAT_MARGIN_DB;
1399 gaincontroller2.adaptivedigital.fMaxGainChangeDBPerSecond = WebRTCConstants.DEFAULT_WEBRTC_MAXGAIN_DBSEC;
1400 gaincontroller2.adaptivedigital.fMaxOutputNoiseLevelDBFS = WebRTCConstants.DEFAULT_WEBRTC_MAX_OUT_NOISE;
1401
1402 levelestimation.bEnable = WebRTCConstants.DEFAULT_WEBRTC_LEVELESTIMATION_ENABLE;
1403 }
1404 else
1405 {
1406 preamplifier.bEnable = false;
1407 preamplifier.fFixedGainFactor = 0.0f;
1408
1409 echocanceller.bEnable = false;
1410
1411 noisesuppression.bEnable = false;
1412 noisesuppression.nLevel = 0;
1413
1414 voicedetection.bEnable = false;
1415
1416 gaincontroller2.bEnable = false;
1417 gaincontroller2.fixeddigital.fGainDB = 0.0f;
1418
1419 gaincontroller2.adaptivedigital.bEnable = false;
1420 gaincontroller2.adaptivedigital.fInitialSaturationMarginDB = 0.0f;
1421 gaincontroller2.adaptivedigital.fExtraSaturationMarginDB = 0.0f;
1422 gaincontroller2.adaptivedigital.fMaxGainChangeDBPerSecond = 0.0f;
1423 gaincontroller2.adaptivedigital.fMaxOutputNoiseLevelDBFS = 0.0f;
1424
1425 levelestimation.bEnable = false;
1426 }
1427 }
1428 }
1429
1431 public struct WebRTCConstants
1432 {
1433 public const bool DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE = false;
1434 public const float DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR = 1.0f;
1435 public const bool DEFAULT_WEBRTC_VAD_ENABLE = false;
1436 public const bool DEFAULT_WEBRTC_LEVELESTIMATION_ENABLE = false;
1437 public const bool DEFAULT_WEBRTC_GAINCTL_ENABLE = false;
1438 public const float DEFAULT_WEBRTC_GAINDB = 15;
1439 public const bool DEFAULT_WEBRTC_SAT_PROT_ENABLE = false;
1440 public const float DEFAULT_WEBRTC_INIT_SAT_MARGIN_DB = 20;
1441 public const float DEFAULT_WEBRTC_EXTRA_SAT_MARGIN_DB = 2;
1442 public const float DEFAULT_WEBRTC_MAXGAIN_DBSEC = 3;
1443 public const float DEFAULT_WEBRTC_MAX_OUT_NOISE = -50;
1444 public const bool DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE = false;
1445 public const int DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL = 2;
1446 public const bool DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE = false;
1447 public const float WEBRTC_GAINCONTROLLER2_FIXEDGAIN_MAX = 49.9f;
1448 }
1449
1453 public enum AudioPreprocessorType : uint
1454 {
1457 NO_AUDIOPREPROCESSOR = 0,
1459 SPEEXDSP_AUDIOPREPROCESSOR = 1,
1461 TEAMTALK_AUDIOPREPROCESSOR = 2,
1464 WEBRTC_AUDIOPREPROCESSOR = 3,
1465 };
1466
1468 [StructLayout(LayoutKind.Explicit)]
1469 public struct AudioPreprocessor
1470 {
1472 [FieldOffset(0)]
1473 public AudioPreprocessorType nPreprocessor;
1475 [FieldOffset(4)]
1476 public SpeexDSP speexdsp;
1478 [FieldOffset(4)]
1479 public TTAudioPreprocessor ttpreprocessor;
1481 [FieldOffset(4)]
1482 public WebRTCAudioPreprocessor webrtc;
1483 }
1484
1486 public struct SpeexDSPConstants
1487 {
1488 public const bool DEFAULT_AGC_ENABLE = true;
1489 public const int DEFAULT_AGC_GAINLEVEL = 8000;
1490 public const int DEFAULT_AGC_INC_MAXDB = 12;
1491 public const int DEFAULT_AGC_DEC_MAXDB = -40;
1492 public const int DEFAULT_AGC_GAINMAXDB = 30;
1493 public const bool DEFAULT_DENOISE_ENABLE = true;
1494 public const int DEFAULT_DENOISE_SUPPRESS = -30;
1495 public const bool DEFAULT_ECHO_ENABLE = true;
1496 public const int DEFAULT_ECHO_SUPPRESS = -40;
1497 public const int DEFAULT_ECHO_SUPPRESS_ACTIVE = -15;
1498 }
1499
1504 [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
1505 public struct WebMVP8Codec
1506 {
1508 [FieldOffset(0)]
1509 public int nRcTargetBitrate;
1515 [FieldOffset(0)]
1516 public int rc_target_bitrate;
1524 [FieldOffset(4)]
1525 public uint nEncodeDeadline;
1526 }
1527
1528 public struct WebMVP8CodecConstants
1529 {
1532 public const int WEBM_VPX_DL_REALTIME = 1;
1535 public const int WEBM_VPX_DL_GOOD_QUALITY = 1000000;
1538 public const int WEBM_VPX_DL_BEST_QUALITY = 0;
1539 }
1540
1545 public enum Codec : uint
1546 {
1548 NO_CODEC = 0,
1551 SPEEX_CODEC = 1,
1554 SPEEX_VBR_CODEC = 2,
1556 OPUS_CODEC = 3,
1558 WEBM_VP8_CODEC = 128
1559 }
1560
1564 [StructLayout(LayoutKind.Explicit)]
1565 public struct AudioCodec
1566 {
1569 [FieldOffset(0)]
1570 public Codec nCodec;
1573 [FieldOffset(4)]
1574 public SpeexCodec speex;
1577 [FieldOffset(4)]
1578 public SpeexVBRCodec speex_vbr;
1581 [FieldOffset(4)]
1582 public OpusCodec opus;
1583 }
1584
1598 [StructLayout(LayoutKind.Explicit)]
1599 public struct AudioConfig
1600 {
1602 [FieldOffset(0)]
1603 public bool bEnableAGC;
1605 [FieldOffset(4)]
1606 public int nGainLevel;
1607
1608 public AudioConfig(bool set_defaults)
1609 {
1610 if (set_defaults)
1611 {
1612 bEnableAGC = true;
1613 nGainLevel = AudioConfigConstants.DEFAULT_AGC_GAINLEVEL;
1614 }
1615 else
1616 {
1617 bEnableAGC = false;
1618 nGainLevel = 0;
1619 }
1620 }
1621 }
1622
1623 public struct AudioConfigConstants
1624 {
1625 public const int DEFAULT_AGC_GAINLEVEL = 8000;
1626 public const int DEFAULT_AGC_INC_MAXDB = 12;
1627 }
1628
1630 [StructLayout(LayoutKind.Explicit)]
1631 public struct VideoCodec
1632 {
1636 [FieldOffset(0)]
1637 public Codec nCodec;
1638 [FieldOffset(4)]
1639 public WebMVP8Codec webm_vp8;
1640 }
1651 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1652 public struct MediaFileInfo
1653 {
1656 public MediaFileStatus nStatus;
1658 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1659 public string szFileName;
1661 public AudioFormat audioFmt;
1663 public VideoFormat videoFmt;
1665 public uint uDurationMSec;
1667 public uint uElapsedMSec;
1668 }
1677 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1678 public struct MediaFilePlayback
1679 {
1684 public uint uOffsetMSec;
1686 public bool bPaused;
1688 public AudioPreprocessor audioPreprocessor;
1689 }
1690
1693 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1694 public struct AudioInputProgress
1695 {
1697 public int nStreamID;
1700 public uint uQueueMSec;
1703 public uint uElapsedMSec;
1704 }
1705
1722 [Flags]
1723 public enum UserRight : uint
1724 {
1727 USERRIGHT_NONE = 0x00000000,
1730 USERRIGHT_MULTI_LOGIN = 0x00000001,
1732 USERRIGHT_VIEW_ALL_USERS = 0x00000002,
1736 USERRIGHT_CREATE_TEMPORARY_CHANNEL = 0x00000004,
1740 USERRIGHT_MODIFY_CHANNELS = 0x00000008,
1743 USERRIGHT_TEXTMESSAGE_BROADCAST = 0x00000010,
1745 USERRIGHT_KICK_USERS = 0x00000020,
1748 USERRIGHT_BAN_USERS = 0x00000040,
1751 USERRIGHT_MOVE_USERS = 0x00000080,
1754 USERRIGHT_OPERATOR_ENABLE = 0x00000100,
1756 USERRIGHT_UPLOAD_FILES = 0x00000200,
1759 USERRIGHT_DOWNLOAD_FILES = 0x00000400,
1762 USERRIGHT_UPDATE_SERVERPROPERTIES = 0x00000800,
1765 USERRIGHT_TRANSMIT_VOICE = 0x00001000,
1768 USERRIGHT_TRANSMIT_VIDEOCAPTURE = 0x00002000,
1771 USERRIGHT_TRANSMIT_DESKTOP = 0x00004000,
1774 USERRIGHT_TRANSMIT_DESKTOPINPUT = 0x00008000,
1777 USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO = 0x00010000,
1780 USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO = 0x00020000,
1783 USERRIGHT_TRANSMIT_MEDIAFILE = USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO | USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO,
1790 USERRIGHT_LOCKED_NICKNAME = 0x00040000,
1793 USERRIGHT_LOCKED_STATUS = 0x00080000,
1796 USERRIGHT_RECORD_VOICE = 0x00100000,
1798 USERRIGHT_VIEW_HIDDEN_CHANNELS = 0x00200000,
1800 USERRIGHT_ALL = 0xFFFFFFFF & ~USERRIGHT_LOCKED_NICKNAME & ~USERRIGHT_LOCKED_STATUS
1801 }
1802
1814 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1815 public struct ServerProperties
1816 {
1818 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1819 public string szServerName;
1822 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1823 public string szMOTD;
1832 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1833 public string szMOTDRaw;
1836 public int nMaxUsers;
1839 public int nMaxLoginAttempts;
1842 public int nMaxLoginsPerIPAddress;
1846 public int nMaxVoiceTxPerSecond;
1851 public int nMaxVideoCaptureTxPerSecond;
1855 public int nMaxMediaFileTxPerSecond;
1859 public int nMaxDesktopTxPerSecond;
1863 public int nMaxTotalTxPerSecond;
1865 public bool bAutoSave;
1867 public int nTcpPort;
1869 public int nUdpPort;
1872 public int nUserTimeout;
1874 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1875 public string szServerVersion;
1877 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1878 public string szServerProtocolVersion;
1887 public int nLoginDelayMSec;
1891 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1892 public string szAccessToken;
1893 }
1894
1902 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1903 public struct ServerStatistics
1904 {
1907 public long nTotalBytesTX;
1910 public long nTotalBytesRX;
1913 public long nVoiceBytesTX;
1916 public long nVoiceBytesRX;
1919 public long nVideoCaptureBytesTX;
1922 public long nVideoCaptureBytesRX;
1925 public long nMediaFileBytesTX;
1928 public long nMediaFileBytesRX;
1931 public long nDesktopBytesTX;
1934 public long nDesktopBytesRX;
1936 public int nUsersServed;
1938 public int nUsersPeak;
1941 public long nFilesTx;
1944 public long nFilesRx;
1946 public long nUptimeMSec;
1947 }
1948
1954 [Flags]
1955 public enum BanType : uint
1956 {
1958 BANTYPE_NONE = 0x00,
1962 BANTYPE_CHANNEL = 0x01,
1964 BANTYPE_IPADDR = 0x02,
1966 BANTYPE_USERNAME = 0x04
1967 };
1968
1973 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1974 public struct BannedUser
1975 {
1977 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1978 public string szIPAddress;
1980 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1981 public string szChannelPath;
1983 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1984 public string szBanTime;
1986 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1987 public string szNickname;
1989 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1990 public string szUsername;
1992 public BanType uBanTypes;
1993 }
1994
1998 [Flags]
1999 public enum UserType : uint
2000 {
2003 USERTYPE_NONE = 0x0,
2005 USERTYPE_DEFAULT = 0x01,
2007 USERTYPE_ADMIN = 0x02
2008 }
2009
2018 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2019 public struct AbusePrevention
2020 {
2030 public int nCommandsLimit;
2032 public int nCommandsIntervalMSec;
2033 }
2034
2043 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2044 public struct UserAccount
2045 {
2047 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2048 public string szUsername;
2050 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2051 public string szPassword;
2053 public UserType uUserType;
2057 public UserRight uUserRights;
2061 public int nUserData;
2063 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2064 public string szNote;
2069 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2070 public string szInitChannel;
2074 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_CHANNELS_OPERATOR_MAX)]
2075 public int[] autoOperatorChannels;
2079 public int nAudioCodecBpsLimit;
2084 public AbusePrevention abusePrevent;
2085 }
2109 [Flags]
2110 public enum Subscription : uint
2111 {
2113 SUBSCRIBE_NONE = 0x00000000,
2116 SUBSCRIBE_USER_MSG = 0x00000001,
2119 SUBSCRIBE_CHANNEL_MSG = 0x00000002,
2122 SUBSCRIBE_BROADCAST_MSG = 0x00000004,
2125 SUBSCRIBE_CUSTOM_MSG = 0x00000008,
2127 SUBSCRIBE_VOICE = 0x00000010,
2129 SUBSCRIBE_VIDEOCAPTURE = 0x00000020,
2131 SUBSCRIBE_DESKTOP = 0x00000040,
2135 SUBSCRIBE_DESKTOPINPUT = 0x00000080,
2138 SUBSCRIBE_MEDIAFILE = 0x00000100,
2141 SUBSCRIBE_INTERCEPT_USER_MSG = 0x00010000,
2144 SUBSCRIBE_INTERCEPT_CHANNEL_MSG = 0x00020000,
2145 /* unused SUBSCRIBE_INTERCEPT_BROADCAST_MSG = 0x00040000 */
2148 SUBSCRIBE_INTERCEPT_CUSTOM_MSG = 0x00080000,
2153 SUBSCRIBE_INTERCEPT_VOICE = 0x00100000,
2158 SUBSCRIBE_INTERCEPT_VIDEOCAPTURE = 0x00200000,
2163 SUBSCRIBE_INTERCEPT_DESKTOP = 0x00400000,
2164 /* unused SUBSCRIBE_INTERCEPT_DESKTOPINPUT = 0x00800000, */
2169 SUBSCRIBE_INTERCEPT_MEDIAFILE = 0x01000000,
2170 }
2171
2175 [Flags]
2176 public enum UserState : uint
2177 {
2179 USERSTATE_NONE = 0x0000000,
2183 USERSTATE_VOICE = 0x00000001,
2185 USERSTATE_MUTE_VOICE = 0x00000002,
2188 USERSTATE_MUTE_MEDIAFILE = 0x00000004,
2193 USERSTATE_DESKTOP = 0x00000008,
2198 USERSTATE_VIDEOCAPTURE = 0x00000010,
2204 USERSTATE_MEDIAFILE_AUDIO = 0x00000020,
2208 USERSTATE_MEDIAFILE_VIDEO = 0x00000040,
2212 USERSTATE_MEDIAFILE = USERSTATE_MEDIAFILE_AUDIO |
2213 USERSTATE_MEDIAFILE_VIDEO
2214 }
2215
2220 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2221 public struct User
2222 {
2226 public int nUserID;
2231 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2232 public string szUsername;
2237 public int nUserData;
2241 public UserType uUserType;
2243 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2244 public string szIPAddress;
2250 public uint uVersion;
2256 public int nChannelID;
2262 public Subscription uLocalSubscriptions;
2268 public Subscription uPeerSubscriptions;
2273 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2274 public string szNickname;
2279 public int nStatusMode;
2284 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2285 public string szStatusMsg;
2288 public UserState uUserState;
2291 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2292 public string szMediaStorageDir;
2298 public int nVolumeVoice;
2304 public int nVolumeMediaFile;
2308 public int nStoppedDelayVoice;
2312 public int nStoppedDelayMediaFile;
2317 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
2318 public float[] soundPositionVoice;
2323 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
2324 public float[] soundPositionMediaFile;
2329 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
2330 public bool[] stereoPlaybackVoice;
2335 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
2336 public bool[] stereoPlaybackMediaFile;
2340 public int nBufferMSecVoice;
2344 public int nBufferMSecMediaFile;
2348 public int nActiveAdaptiveDelayMSec;
2352 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2353 public string szClientName;
2354 }
2355
2360 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2361 public struct UserStatistics
2362 {
2364 public long nVoicePacketsRecv;
2366 public long nVoicePacketsLost;
2369 public long nVideoCapturePacketsRecv;
2371 public long nVideoCaptureFramesRecv;
2374 public long nVideoCaptureFramesLost;
2377 public long nVideoCaptureFramesDropped;
2379 public long nMediaFileAudioPacketsRecv;
2381 public long nMediaFileAudioPacketsLost;
2384 public long nMediaFileVideoPacketsRecv;
2386 public long nMediaFileVideoFramesRecv;
2389 public long nMediaFileVideoFramesLost;
2392 public long nMediaFileVideoFramesDropped;
2393 }
2394
2403 public enum TextMsgType : uint
2404 {
2407 MSGTYPE_USER = 1,
2412 MSGTYPE_CHANNEL = 2,
2415 MSGTYPE_BROADCAST = 3,
2418 MSGTYPE_CUSTOM = 4
2419 }
2420
2428 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2429 public struct TextMessage
2430 {
2432 public TextMsgType nMsgType;
2434 public int nFromUserID;
2436 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2437 public string szFromUsername;
2439 public int nToUserID;
2442 public int nChannelID;
2445 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2446 public string szMessage;
2447 }
2455 [Flags]
2456 public enum ChannelType : uint
2457 {
2460 CHANNEL_DEFAULT = 0x0000,
2463 CHANNEL_PERMANENT = 0x0001,
2465 CHANNEL_SOLO_TRANSMIT = 0x0002,
2476 CHANNEL_CLASSROOM = 0x0004,
2481 CHANNEL_OPERATOR_RECVONLY = 0x0008,
2484 CHANNEL_NO_VOICEACTIVATION = 0x0010,
2486 CHANNEL_NO_RECORDING = 0x0020,
2489 CHANNEL_HIDDEN = 0x0040,
2490 }
2491
2503 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2504 public struct Channel
2505 {
2508 public int nParentID;
2511 public int nChannelID;
2513 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2514 public string szName;
2516 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2517 public string szTopic;
2521 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2522 public string szPassword;
2525 public bool bPassword;
2527 public ChannelType uChannelType;
2531 public int nUserData;
2533 public long nDiskQuota;
2536 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2537 public string szOpPassword;
2539 public int nMaxUsers;
2541 public AudioCodec audiocodec;
2544 public AudioConfig audiocfg;
2600 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_TRANSMITUSERS_MAX * 2)]
2601 public int[] transmitUsers;
2606 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_TRANSMITQUEUE_MAX)]
2607 public int[] transmitUsersQueue;
2608
2611 public void AddTransmitUser(int nUserID, StreamType uStreamType)
2612 {
2613 int i;
2614 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2615 {
2616 if (transmitUsers[i * 2] == 0 || transmitUsers[i * 2] == nUserID)
2617 break;
2618 }
2619 if (i < TeamTalkBase.TT_TRANSMITUSERS_MAX)
2620 {
2621 transmitUsers[i * 2] = nUserID;
2622 transmitUsers[i * 2 + 1] |= (int)uStreamType;
2623 }
2624 }
2627 public StreamType GetTransmitStreamTypes(int nUserID)
2628 {
2629 int i;
2630 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2631 {
2632 if (transmitUsers[i * 2] == nUserID)
2633 return (StreamType)transmitUsers[i * 2 + 1];
2634 }
2635 return StreamType.STREAMTYPE_NONE;
2636 }
2638 public int GetTransmitUserCount()
2639 {
2640 int i;
2641 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2642 {
2643 if (transmitUsers[i * 2] == 0)
2644 break;
2645 }
2646 return i;
2647 }
2649 public void RemoveTransmitUser(int nUserID, StreamType uStreamType)
2650 {
2651 int i;
2652 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2653 {
2654 if (transmitUsers[i * 2] == nUserID)
2655 break;
2656 }
2657 if (i < TeamTalkBase.TT_TRANSMITUSERS_MAX)
2658 {
2659 transmitUsers[i * 2] = nUserID;
2660 transmitUsers[i * 2 + 1] &= (int)~uStreamType;
2661
2662 if (transmitUsers[i * 2 + 1] == (int)StreamType.STREAMTYPE_NONE)
2663 {
2664 for (; i < TeamTalkBase.TT_TRANSMITUSERS_MAX - 1; i++)
2665 {
2666 transmitUsers[i * 2] = transmitUsers[(i + 1) * 2 + 1];
2667 transmitUsers[i * 2 + 1] = transmitUsers[(i + 1) * 2 + 1];
2668 }
2669 }
2670 }
2671 }
2672 }
2673
2676 public enum FileTransferStatus : uint
2677 {
2679 FILETRANSFER_CLOSED = 0,
2681 FILETRANSFER_ERROR = 1,
2683 FILETRANSFER_ACTIVE = 2,
2685 FILETRANSFER_FINISHED = 3
2686 }
2687
2691 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2692 public struct FileTransfer
2693 {
2695 public FileTransferStatus nStatus;
2697 public int nTransferID;
2699 public int nChannelID;
2701 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2702 public string szLocalFilePath;
2704 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2705 public string szRemoteFileName;
2707 public long nFileSize;
2709 public long nTransferred;
2711 public bool bInbound;
2712 }
2713
2717 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2718 public struct RemoteFile
2719 {
2721 public int nChannelID;
2723 public int nFileID;
2725 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2726 public string szFileName;
2728 public long nFileSize;
2730 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2731 public string szUsername;
2732 }
2743 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2744 public struct EncryptionContext
2745 {
2751 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2752 public string szCertificateFile;
2754 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2755 public string szPrivateKeyFile;
2760 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2761 public string szCAFile;
2764 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2765 public string szCADir;
2772 public bool bVerifyPeer;
2783 public bool bVerifyClientOnce;
2791 public int nVerifyDepth;
2792 }
2793
2801 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2802 public struct ClientKeepAlive
2803 {
2814 public int nConnectionLostMSec;
2818 public int nTcpKeepAliveIntervalMSec;
2824 public int nUdpKeepAliveIntervalMSec;
2830 public int nUdpKeepAliveRTXMSec;
2837 public int nUdpConnectRTXMSec;
2845 public int nUdpConnectTimeoutMSec;
2846 }
2847
2852 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2853 public struct ClientStatistics
2854 {
2856 public long nUdpBytesSent;
2858 public long nUdpBytesRecv;
2860 public long nVoiceBytesSent;
2862 public long nVoiceBytesRecv;
2864 public long nVideoCaptureBytesSent;
2866 public long nVideoCaptureBytesRecv;
2868 public long nMediaFileAudioBytesSent;
2870 public long nMediaFileAudioBytesRecv;
2872 public long nMediaFileVideoBytesSent;
2874 public long nMediaFileVideoBytesRecv;
2876 public long nDesktopBytesSent;
2878 public long nDesktopBytesRecv;
2882 public int nUdpPingTimeMs;
2886 public int nTcpPingTimeMs;
2889 public int nTcpServerSilenceSec;
2892 public int nUdpServerSilenceSec;
2904 public int nSoundInputDeviceDelayMSec;
2905 }
2906
2912 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2913 public struct JitterConfig
2914 {
2916 public int nFixedDelayMSec;
2918 public bool bUseAdativeDejitter;
2921 public int nMaxAdaptiveDelayMSec;
2928 public int nActiveAdaptiveDelayMSec;
2929 }
2930
2931
2941 public enum ClientError : uint
2942 {
2944 CMDERR_SUCCESS = 0,
2945 SUCCESS = 0,
2946
2947 /* COMMAND ERRORS 1000-1999 ARE DUE TO INVALID OR UNSUPPORTED
2948 * COMMANDS */
2949
2951 CMDERR_SYNTAX_ERROR = 1000,
2956 CMDERR_UNKNOWN_COMMAND = 1001,
2959 CMDERR_MISSING_PARAMETER = 1002,
2962 CMDERR_INCOMPATIBLE_PROTOCOLS = 1003,
2967 CMDERR_UNKNOWN_AUDIOCODEC = 1004,
2970 CMDERR_INVALID_USERNAME = 1005,
2971
2972 /* COMMAND ERRORS 2000-2999 ARE DUE TO INSUFFICIENT RIGHTS */
2973
2978 CMDERR_INCORRECT_SERVER_PASSWORD = 2000,
2984 CMDERR_INCORRECT_CHANNEL_PASSWORD = 2001,
2990 CMDERR_INVALID_ACCOUNT = 2002,
2996 CMDERR_MAX_SERVER_USERS_EXCEEDED = 2003,
3002 CMDERR_MAX_CHANNEL_USERS_EXCEEDED = 2004,
3007 CMDERR_SERVER_BANNED = 2005,
3039 CMDERR_NOT_AUTHORIZED = 2006,
3046 CMDERR_MAX_DISKUSAGE_EXCEEDED = 2008,
3047
3053 CMDERR_INCORRECT_OP_PASSWORD = 2010,
3054
3060 CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED = 2011,
3061
3067 CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED = 2012,
3068
3071 CMDERR_MAX_CHANNELS_EXCEEDED = 2013,
3072
3077 CMDERR_COMMAND_FLOOD = 2014,
3078
3084 CMDERR_CHANNEL_BANNED = 2015,
3085
3086 /* COMMAND ERRORS 3000-3999 ARE DUE TO INVALID STATE OF CLIENT INSTANCE */
3087
3093 CMDERR_NOT_LOGGEDIN = 3000,
3094
3098 CMDERR_ALREADY_LOGGEDIN = 3001,
3102 CMDERR_NOT_IN_CHANNEL = 3002,
3107 CMDERR_ALREADY_IN_CHANNEL = 3003,
3111 CMDERR_CHANNEL_ALREADY_EXISTS = 3004,
3129 CMDERR_CHANNEL_NOT_FOUND = 3005,
3140 CMDERR_USER_NOT_FOUND = 3006,
3145 CMDERR_BAN_NOT_FOUND = 3007,
3150 CMDERR_FILETRANSFER_NOT_FOUND = 3008,
3155 CMDERR_OPENFILE_FAILED = 3009,
3160 CMDERR_ACCOUNT_NOT_FOUND = 3010,
3165 CMDERR_FILE_NOT_FOUND = 3011,
3170 CMDERR_FILE_ALREADY_EXISTS = 3012,
3175 CMDERR_FILESHARING_DISABLED = 3013,
3176
3180 CMDERR_CHANNEL_HAS_USERS = 3015,
3181
3185 CMDERR_LOGINSERVICE_UNAVAILABLE = 3016,
3186
3191 CMDERR_CHANNEL_CANNOT_BE_HIDDEN = 3017,
3192
3193 /* ERRORS 10000-10999 ARE NOT COMMAND ERRORS BUT INSTEAD
3194 * ERRORS IN THE CLIENT INSTANCE. */
3195
3200 INTERR_SNDINPUT_FAILURE = 10000,
3205 INTERR_SNDOUTPUT_FAILURE = 10001,
3209 INTERR_AUDIOCODEC_INIT_FAILED = 10002,
3211 INTERR_SPEEXDSP_INIT_FAILED = 10003,
3219 INTERR_AUDIOPREPROCESSOR_INIT_FAILED = 10003,
3227 INTERR_TTMESSAGE_QUEUE_OVERFLOW = 10004,
3234 INTERR_SNDEFFECT_FAILURE = 10005,
3235 }
3236
3237 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
3238 public struct ClientErrorMsg
3239 {
3241 public int nErrorNo;
3243 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
3244 public string szErrorMsg;
3245 }
3246
3256 public enum ClientEvent : uint
3257 {
3258 CLIENTEVENT_NONE = 0,
3270 CLIENTEVENT_CON_SUCCESS = CLIENTEVENT_NONE + 10,
3280 CLIENTEVENT_CON_FAILED = CLIENTEVENT_NONE + 20,
3296 CLIENTEVENT_CON_LOST = CLIENTEVENT_NONE + 30,
3307 CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED = CLIENTEVENT_NONE + 40,
3321 CLIENTEVENT_CMD_PROCESSING = CLIENTEVENT_NONE + 200,
3335 CLIENTEVENT_CMD_ERROR = CLIENTEVENT_NONE + 210,
3347 CLIENTEVENT_CMD_SUCCESS = CLIENTEVENT_NONE + 220,
3365 CLIENTEVENT_CMD_MYSELF_LOGGEDIN = CLIENTEVENT_NONE + 230,
3374 CLIENTEVENT_CMD_MYSELF_LOGGEDOUT = CLIENTEVENT_NONE + 240,
3384 CLIENTEVENT_CMD_MYSELF_KICKED = CLIENTEVENT_NONE + 250,
3395 CLIENTEVENT_CMD_USER_LOGGEDIN = CLIENTEVENT_NONE + 260,
3409 CLIENTEVENT_CMD_USER_LOGGEDOUT = CLIENTEVENT_NONE + 270,
3418 CLIENTEVENT_CMD_USER_UPDATE = CLIENTEVENT_NONE + 280,
3427 CLIENTEVENT_CMD_USER_JOINED = CLIENTEVENT_NONE + 290,
3434 CLIENTEVENT_CMD_USER_LEFT = CLIENTEVENT_NONE + 300,
3444 CLIENTEVENT_CMD_USER_TEXTMSG = CLIENTEVENT_NONE + 310,
3453 CLIENTEVENT_CMD_CHANNEL_NEW = CLIENTEVENT_NONE + 320,
3462 CLIENTEVENT_CMD_CHANNEL_UPDATE = CLIENTEVENT_NONE + 330,
3472 CLIENTEVENT_CMD_CHANNEL_REMOVE = CLIENTEVENT_NONE + 340,
3483 CLIENTEVENT_CMD_SERVER_UPDATE = CLIENTEVENT_NONE + 350,
3492 CLIENTEVENT_CMD_SERVERSTATISTICS = CLIENTEVENT_NONE + 360,
3504 CLIENTEVENT_CMD_FILE_NEW = CLIENTEVENT_NONE + 370,
3511 CLIENTEVENT_CMD_FILE_REMOVE = CLIENTEVENT_NONE + 380,
3520 CLIENTEVENT_CMD_USERACCOUNT = CLIENTEVENT_NONE + 390,
3529 CLIENTEVENT_CMD_BANNEDUSER = CLIENTEVENT_NONE + 400,
3549 CLIENTEVENT_USER_STATECHANGE = CLIENTEVENT_NONE + 500,
3562 CLIENTEVENT_USER_VIDEOCAPTURE = CLIENTEVENT_NONE + 510,
3575 CLIENTEVENT_USER_MEDIAFILE_VIDEO = CLIENTEVENT_NONE + 520,
3590 CLIENTEVENT_USER_DESKTOPWINDOW = CLIENTEVENT_NONE + 530,
3601 CLIENTEVENT_USER_DESKTOPCURSOR = CLIENTEVENT_NONE + 540,
3624 CLIENTEVENT_USER_DESKTOPINPUT = CLIENTEVENT_NONE + 550,
3637 CLIENTEVENT_USER_RECORD_MEDIAFILE = CLIENTEVENT_NONE + 560,
3651 CLIENTEVENT_USER_AUDIOBLOCK = CLIENTEVENT_NONE + 570,
3665 CLIENTEVENT_INTERNAL_ERROR = CLIENTEVENT_NONE + 1000,
3679 CLIENTEVENT_VOICE_ACTIVATION = CLIENTEVENT_NONE + 1010,
3690 CLIENTEVENT_HOTKEY = CLIENTEVENT_NONE + 1020,
3709 CLIENTEVENT_HOTKEY_TEST = CLIENTEVENT_NONE + 1030,
3726 CLIENTEVENT_FILETRANSFER = CLIENTEVENT_NONE + 1040,
3742 CLIENTEVENT_DESKTOPWINDOW_TRANSFER = CLIENTEVENT_NONE + 1050,
3755 CLIENTEVENT_STREAM_MEDIAFILE = CLIENTEVENT_NONE + 1060,
3767 CLIENTEVENT_LOCAL_MEDIAFILE = CLIENTEVENT_NONE + 1070,
3789 CLIENTEVENT_AUDIOINPUT = CLIENTEVENT_NONE + 1080,
3809 CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET = CLIENTEVENT_NONE + 1090,
3810 }
3811
3812
3813 /* List of structures used internally by TeamTalkBase. */
3814 public enum TTType : uint
3815 {
3816 __NONE = 0,
3817 __AUDIOCODEC = 1,
3818 __BANNEDUSER = 2,
3819 __VIDEOFORMAT = 3,
3820 __OPUSCODEC = 4,
3821 __CHANNEL = 5,
3822 __CLIENTSTATISTICS = 6,
3823 __REMOTEFILE = 7,
3824 __FILETRANSFER = 8,
3825 __MEDIAFILESTATUS = 9,
3826 __SERVERPROPERTIES = 10,
3827 __SERVERSTATISTICS = 11,
3828 __SOUNDDEVICE = 12,
3829 __SPEEXCODEC = 13,
3830 __TEXTMESSAGE = 14,
3831 __WEBMVP8CODEC = 15,
3832 __TTMESSAGE = 16,
3833 __USER = 17,
3834 __USERACCOUNT = 18,
3835 __USERSTATISTICS = 19,
3836 __VIDEOCAPTUREDEVICE = 20,
3837 __VIDEOCODEC = 21,
3838 __AUDIOCONFIG = 22,
3839 __SPEEXVBRCODEC = 23,
3840 __VIDEOFRAME = 24,
3841 __AUDIOBLOCK = 25,
3842 __AUDIOFORMAT = 26,
3843 __MEDIAFILEINFO = 27,
3844 __CLIENTERRORMSG = 28,
3845 __TTBOOL = 29,
3846 __INT32 = 30,
3847 __DESKTOPINPUT = 31,
3848 __SPEEXDSP = 32,
3849 __STREAMTYPE = 33,
3850 __AUDIOPREPROCESSORTYPE = 34,
3851 __AUDIOPREPROCESSOR = 35,
3852 __TTAUDIOPREPROCESSOR = 36,
3853 __MEDIAFILEPLAYBACK = 37,
3854 __CLIENTKEEPALIVE = 38,
3855 __UINT32 = 39,
3856 __AUDIOINPUTPROGRESS = 40,
3857 __JITTERCONFIG = 41,
3858 __WEBRTCAUDIOPREPROCESSOR = 42,
3859 __ENCRYPTIONCONTEXT = 43,
3860 }
3861
3872 [StructLayout(LayoutKind.Sequential)]
3873 public struct TTMessage
3874 {
3876 public ClientEvent nClientEvent;
3878 public int nSource;
3880 public TTType ttType;
3882 public uint uReserved;
3883 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6248)]
3884 public byte[] data;
3885 //UnionData data;
3886
3887 public object DataToObject()
3888 {
3889 switch (ttType)
3890 {
3891 case TTType.__CHANNEL:
3892 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(Channel));
3893 case TTType.__CLIENTERRORMSG:
3894 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(ClientErrorMsg));
3895 case TTType.__DESKTOPINPUT:
3896 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(DesktopInput));
3897 case TTType.__FILETRANSFER:
3898 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(FileTransfer));
3899 case TTType.__MEDIAFILEINFO:
3900 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(MediaFileInfo));
3901 case TTType.__REMOTEFILE:
3902 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(RemoteFile));
3903 case TTType.__SERVERPROPERTIES:
3904 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(ServerProperties));
3905 case TTType.__SERVERSTATISTICS:
3906 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(ServerStatistics));
3907 case TTType.__TEXTMESSAGE:
3908 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(TextMessage));
3909 case TTType.__USER:
3910 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(User));
3911 case TTType.__USERACCOUNT:
3912 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(UserAccount));
3913 case TTType.__BANNEDUSER :
3914 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(BannedUser));
3915 case TTType.__TTBOOL:
3916 return Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref this)) != 0;
3917 case TTType.__INT32:
3918 return Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref this));
3919 case TTType.__STREAMTYPE :
3920 return (StreamType)Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref this));
3921 case TTType.__AUDIOINPUTPROGRESS :
3922 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(AudioInputProgress));
3923 default:
3924 return null;
3925 }
3926 }
3927 }
3928
3929 [StructLayout(LayoutKind.Explicit, Size = 5224)]
3930 struct UnionData
3931 {
3932 [FieldOffset(0)]
3933 public ClientErrorMsg clienterrormsg;
3934 [FieldOffset(0)]
3935 public Channel channel;
3936 [FieldOffset(0)]
3937 public DesktopInput desktopinput;
3938 [FieldOffset(0)]
3939 public FileTransfer filetransfer;
3940 [FieldOffset(0)]
3941 public MediaFileInfo mediafileinfo;
3942 [FieldOffset(0)]
3943 public RemoteFile remotefile;
3944 [FieldOffset(0)]
3945 public ServerProperties serverproperties;
3946 [FieldOffset(0)]
3947 public TextMessage textmessage;
3948 [FieldOffset(0)]
3949 public User user;
3950 [FieldOffset(0)]
3951 public UserAccount useraccount;
3952 [FieldOffset(0)]
3953 public bool bActive;
3954 [FieldOffset(0)]
3955 public int nBytesRemain;
3956 [FieldOffset(0)]
3957 public int nStreamID;
3958 [FieldOffset(0)]
3959 public int nPayloadSize;
3960 }
3961
3979 [Flags]
3980 public enum ClientFlag : uint
3981 {
3984 CLIENT_CLOSED = 0x00000000,
3988 CLIENT_SNDINPUT_READY = 0x00000001,
3992 CLIENT_SNDOUTPUT_READY = 0x00000002,
3998 CLIENT_SNDINOUTPUT_DUPLEX = 0x00000004,
4005 CLIENT_SNDINPUT_VOICEACTIVATED = 0x00000008,
4012 CLIENT_SNDINPUT_VOICEACTIVE = 0x00000010,
4015 CLIENT_SNDOUTPUT_MUTE = 0x00000020,
4021 CLIENT_SNDOUTPUT_AUTO3DPOSITION = 0x00000040,
4025 CLIENT_VIDEOCAPTURE_READY = 0x00000080,
4028 CLIENT_TX_VOICE = 0x00000100,
4031 CLIENT_TX_VIDEOCAPTURE = 0x00000200,
4037 CLIENT_TX_DESKTOP = 0x00000400,
4042 CLIENT_DESKTOP_ACTIVE = 0x00000800,
4046 CLIENT_MUX_AUDIOFILE = 0x00001000,
4049 CLIENT_CONNECTING = 0x00002000,
4054 CLIENT_CONNECTED = 0x00004000,
4057 CLIENT_CONNECTION = CLIENT_CONNECTING | CLIENT_CONNECTED,
4061 CLIENT_AUTHORIZED = 0x00008000,
4066 CLIENT_STREAM_AUDIO = 0x00010000,
4071 CLIENT_STREAM_VIDEO = 0x00020000
4072 }
4073
4081 public abstract class TeamTalkBase : IDisposable
4082 {
4091 public const int TT_STRLEN = 512;
4092
4094 public const int TT_USERID_MAX = 0xFFF;
4095
4098 public const int TT_CHANNELID_MAX = 0xFFF;
4099
4103 public const int TT_VIDEOFORMATS_MAX = 1024;
4104
4110 public const int TT_TRANSMITUSERS_MAX = 128;
4111
4119 public const int TT_CLASSROOM_FREEFORALL = 0xFFF;
4120
4123 public const int TT_CLASSROOM_USERID_INDEX = 0;
4124
4127 public const int TT_CLASSROOM_STREAMTYPE_INDEX = 1;
4128
4131 public const int TT_TRANSMITUSERS_FREEFORALL = 0xFFF;
4132
4135 public const int TT_TRANSMITUSERS_USERID_INDEX = 0;
4136
4139 public const int TT_TRANSMITUSERS_STREAMTYPE_INDEX = 1;
4140
4154 public const int TT_LOCAL_USERID = 0;
4155
4163 public const int TT_LOCAL_TX_USERID = 0x1002;
4164
4172 public const int TT_MUXED_USERID = 0x1001; /* TT_USERID_MAX + 2 */
4173
4178 public const int TT_CHANNELS_OPERATOR_MAX = 16;
4179
4183 public const int TT_TRANSMITQUEUE_MAX = 16;
4184
4187 public const int TT_SAMPLERATES_MAX = 16;
4188
4193 public const int TT_DESKTOPINPUT_MAX = 16;
4194
4203 public const uint TT_MEDIAPLAYBACK_OFFSET_IGNORE = 0xFFFFFFFF;
4204
4205
4207 public static string GetVersion() { return Marshal.PtrToStringAuto(TTDLL.TT_GetVersion()); }
4208
4219 protected TeamTalkBase(bool poll_based)
4220 {
4221 Assembly assembly = Assembly.GetExecutingAssembly();
4222 AssemblyName name = assembly.GetName();
4223 Version dllversion = new Version(Marshal.PtrToStringUni((c_tt.TTDLL.TT_GetVersion())));
4224 if (!name.Version.Equals(dllversion))
4225 {
4226 string errmsg = String.Format("Invalid {2} version loaded. {2} is version {0} and {3} is version {1}",
4227 dllversion.ToString(), name.Version.ToString(), c_tt.TTDLL.dllname, c_tt.TTDLL.mgtdllname);
4228
4229 // throw new Exception(errmsg);
4230
4231 System.Diagnostics.Debug.WriteLine(errmsg);
4232 }
4233
4234 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOCODEC) == Marshal.SizeOf(new AudioCodec()));
4235 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__BANNEDUSER) == Marshal.SizeOf(new BannedUser()));
4236 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOFORMAT) == Marshal.SizeOf(new VideoFormat()));
4237 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__OPUSCODEC) == Marshal.SizeOf(new OpusCodec()));
4238 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CHANNEL) == Marshal.SizeOf(new Channel()));
4239 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CLIENTSTATISTICS) == Marshal.SizeOf(new ClientStatistics()));
4240 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__REMOTEFILE) == Marshal.SizeOf(new RemoteFile()));
4241 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__FILETRANSFER) == Marshal.SizeOf(new FileTransfer()));
4242 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__MEDIAFILESTATUS) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(MediaFileStatus))));
4243 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SERVERPROPERTIES) == Marshal.SizeOf(new ServerProperties()));
4244 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SERVERSTATISTICS) == Marshal.SizeOf(new ServerStatistics()));
4245 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SOUNDDEVICE) == Marshal.SizeOf(new SoundDevice()));
4246 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SPEEXCODEC) == Marshal.SizeOf(new SpeexCodec()));
4247 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__TEXTMESSAGE) == Marshal.SizeOf(new TextMessage()));
4248 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__WEBMVP8CODEC) == Marshal.SizeOf(new WebMVP8Codec()));
4249 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__TTMESSAGE) == Marshal.SizeOf(new TTMessage()));
4250 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__USER) == Marshal.SizeOf(new User()));
4251 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__USERACCOUNT) == Marshal.SizeOf(new UserAccount()));
4252 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__USERSTATISTICS) == Marshal.SizeOf(new UserStatistics()));
4253 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOCAPTUREDEVICE) == Marshal.SizeOf(new VideoCaptureDevice()));
4254 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOCODEC) == Marshal.SizeOf(new VideoCodec()));
4255 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOCONFIG) == Marshal.SizeOf(new AudioConfig()));
4256 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SPEEXVBRCODEC) == Marshal.SizeOf(new SpeexVBRCodec()));
4257 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOFRAME) == Marshal.SizeOf(new VideoFrame()));
4258 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOBLOCK) == Marshal.SizeOf(new AudioBlock()));
4259 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOFORMAT) == Marshal.SizeOf(new AudioFormat()));
4260 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__MEDIAFILEINFO) == Marshal.SizeOf(new MediaFileInfo()));
4261 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CLIENTERRORMSG) == Marshal.SizeOf(new ClientErrorMsg()));
4262 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__DESKTOPINPUT) == Marshal.SizeOf(new DesktopInput()));
4263 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SPEEXDSP) == Marshal.SizeOf(new SpeexDSP()));
4264 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__STREAMTYPE) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(StreamType))));
4265 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOPREPROCESSORTYPE) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(AudioPreprocessorType))));
4266 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__WEBRTCAUDIOPREPROCESSOR) == Marshal.SizeOf(new WebRTCAudioPreprocessor()));
4267 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__TTAUDIOPREPROCESSOR) == Marshal.SizeOf(new TTAudioPreprocessor()));
4268 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOPREPROCESSOR) == Marshal.SizeOf(new AudioPreprocessor()));
4269 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__MEDIAFILEPLAYBACK) == Marshal.SizeOf(new MediaFilePlayback()));
4270 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CLIENTKEEPALIVE) == Marshal.SizeOf(new ClientKeepAlive()));
4271 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOINPUTPROGRESS) == Marshal.SizeOf(new AudioInputProgress()));
4272 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__JITTERCONFIG) == Marshal.SizeOf(new JitterConfig()));
4273 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__ENCRYPTIONCONTEXT) == Marshal.SizeOf(new EncryptionContext()));
4274
4275 if (poll_based)
4276 m_ttInst = TTDLL.TT_InitTeamTalkPoll();
4277 else
4278 {
4279 m_eventhandler = new MyEventHandler(this);
4280 #if PocketPC
4281 IntPtr hWnd = m_eventhandler.Hwnd;
4282 #else
4283 m_eventhandler.CreateControl();
4284 IntPtr hWnd = m_eventhandler.Handle;
4285 #endif
4286 m_ttInst = TTDLL.TT_InitTeamTalk(hWnd, MyEventHandler.WM_TEAMTALK_CLIENTEVENT);
4287 }
4288 }
4289
4294 ~TeamTalkBase()
4295 {
4296 DeleteMe();
4297 }
4298
4299
4300 #region IDisposable Members
4301
4302 public void Dispose()
4303 {
4304 DeleteMe();
4305 }
4306
4307 private void DeleteMe()
4308 {
4309 if (m_ttInst != IntPtr.Zero)
4310 {
4311 TTDLL.TT_CloseTeamTalk(m_ttInst);
4312 m_ttInst = IntPtr.Zero;
4313 }
4314 }
4315
4316 #endregion
4317
4335 public bool GetMessage(ref TTMessage pMsg, int nWaitMs)
4336 {
4337 return TTDLL.TT_GetMessage(m_ttInst, ref pMsg, ref nWaitMs);
4338 }
4339
4366 public bool PumpMessage(ClientEvent nClientEvent,
4367 int nIdentifier)
4368 {
4369 return TTDLL.TT_PumpMessage(m_ttInst, nClientEvent, nIdentifier);
4370 }
4371
4380 public BearWare.ClientFlag GetFlags()
4381 {
4382 return TTDLL.TT_GetFlags(m_ttInst);
4383 }
4384
4388 public ClientFlag Flags
4389 {
4390 get { return GetFlags(); }
4391 }
4392
4402 public static bool SetLicenseInformation(string szRegName, string szRegKey)
4403 {
4404 return TTDLL.TT_SetLicenseInformation(szRegName, szRegKey);
4405 }
4406
4411 public void ProcessMsg(TTMessage msg)
4412 {
4413 switch (msg.nClientEvent)
4414 {
4415 case ClientEvent.CLIENTEVENT_CON_SUCCESS:
4416 if(OnConnectionSuccess != null)
4417 OnConnectionSuccess();
4418 break;
4419 case ClientEvent.CLIENTEVENT_CON_FAILED:
4420 if (OnConnectionFailed != null)
4421 OnConnectionFailed();
4422 break;
4423 case ClientEvent.CLIENTEVENT_CON_LOST:
4424 if (OnConnectionLost != null)
4425 OnConnectionLost();
4426 break;
4427 case ClientEvent.CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED :
4428 if (OnConnectionMaxPayloadUpdated != null)
4429 OnConnectionMaxPayloadUpdated((int)msg.DataToObject());
4430 break;
4431 case ClientEvent.CLIENTEVENT_CMD_PROCESSING:
4432 if (OnCmdProcessing != null)
4433 OnCmdProcessing(msg.nSource, (bool)msg.DataToObject());
4434 break;
4435 case ClientEvent.CLIENTEVENT_CMD_ERROR:
4436 if (OnCmdError != null)
4437 OnCmdError((int)msg.nSource, (ClientErrorMsg)msg.DataToObject());
4438 break;
4439 case ClientEvent.CLIENTEVENT_CMD_SUCCESS :
4440 if (OnCmdSuccess != null)
4441 OnCmdSuccess((int)msg.nSource);
4442 break;
4443 case ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDIN:
4444 if (OnCmdMyselfLoggedIn != null)
4445 OnCmdMyselfLoggedIn((int)msg.nSource, (UserAccount)msg.DataToObject());
4446 break;
4447 case ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDOUT:
4448 if (OnCmdMyselfLoggedOut != null)
4449 OnCmdMyselfLoggedOut();
4450 break;
4451 case ClientEvent.CLIENTEVENT_CMD_MYSELF_KICKED:
4452 if (msg.ttType == TTType.__USER)
4453 {
4454 if (OnCmdMyselfKicked != null)
4455 OnCmdMyselfKicked((User)msg.DataToObject());
4456 }
4457 else if (OnCmdMyselfKicked != null)
4458 OnCmdMyselfKicked(new User());
4459 break;
4460 case ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDIN:
4461 if (OnCmdUserLoggedIn != null)
4462 OnCmdUserLoggedIn((User)msg.DataToObject());
4463 break;
4464 case ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDOUT:
4465 if (OnCmdUserLoggedOut != null)
4466 OnCmdUserLoggedOut((User)msg.DataToObject());
4467 break;
4468 case ClientEvent.CLIENTEVENT_CMD_USER_UPDATE:
4469 if (OnCmdUserUpdate != null)
4470 OnCmdUserUpdate((User)msg.DataToObject());
4471 break;
4472 case ClientEvent.CLIENTEVENT_CMD_USER_JOINED:
4473 if (OnCmdUserJoinedChannel != null)
4474 OnCmdUserJoinedChannel((User)msg.DataToObject());
4475 break;
4476 case ClientEvent.CLIENTEVENT_CMD_USER_LEFT:
4477 if (OnCmdUserLeftChannel != null)
4478 OnCmdUserLeftChannel((User)msg.DataToObject());
4479 break;
4480 case ClientEvent.CLIENTEVENT_CMD_USER_TEXTMSG:
4481 if (OnCmdUserTextMessage != null)
4482 OnCmdUserTextMessage((TextMessage)msg.DataToObject());
4483 break;
4484 case ClientEvent.CLIENTEVENT_CMD_CHANNEL_NEW:
4485 if (OnCmdChannelNew != null)
4486 OnCmdChannelNew((Channel)msg.DataToObject());
4487 break;
4488 case ClientEvent.CLIENTEVENT_CMD_CHANNEL_UPDATE:
4489 if (OnCmdChannelUpdate != null)
4490 OnCmdChannelUpdate((Channel)msg.DataToObject());
4491 break;
4492 case ClientEvent.CLIENTEVENT_CMD_CHANNEL_REMOVE:
4493 if (OnCmdChannelRemove != null)
4494 OnCmdChannelRemove((Channel)msg.DataToObject());
4495 break;
4496 case ClientEvent.CLIENTEVENT_CMD_SERVER_UPDATE:
4497 if (OnCmdServerUpdate != null)
4498 OnCmdServerUpdate((ServerProperties)msg.DataToObject());
4499 break;
4500 case ClientEvent.CLIENTEVENT_CMD_SERVERSTATISTICS :
4501 if (OnCmdServerStatistics != null)
4502 OnCmdServerStatistics((ServerStatistics)msg.DataToObject());
4503 break;
4504 case ClientEvent.CLIENTEVENT_CMD_FILE_NEW:
4505 if (OnCmdFileNew != null)
4506 OnCmdFileNew((RemoteFile)msg.DataToObject());
4507 break;
4508 case ClientEvent.CLIENTEVENT_CMD_FILE_REMOVE:
4509 if (OnCmdFileRemove != null)
4510 OnCmdFileRemove((RemoteFile)msg.DataToObject());
4511 break;
4512 case ClientEvent.CLIENTEVENT_CMD_USERACCOUNT :
4513 if (OnCmdUserAccount != null)
4514 OnCmdUserAccount((UserAccount)msg.DataToObject());
4515 break;
4516 case ClientEvent.CLIENTEVENT_CMD_BANNEDUSER :
4517 if (OnCmdBannedUser != null)
4518 OnCmdBannedUser((BannedUser)msg.DataToObject());
4519 break;
4520
4521 case ClientEvent.CLIENTEVENT_USER_STATECHANGE :
4522 if (OnUserStateChange != null)
4523 OnUserStateChange((User)msg.DataToObject());
4524 break;
4525 case ClientEvent.CLIENTEVENT_USER_VIDEOCAPTURE:
4526 if (OnUserVideoCapture != null)
4527 OnUserVideoCapture(msg.nSource, (int)msg.DataToObject());
4528 break;
4529 case ClientEvent.CLIENTEVENT_USER_MEDIAFILE_VIDEO:
4530 if (OnUserMediaFileVideo != null)
4531 OnUserMediaFileVideo((int)msg.nSource, (int)msg.DataToObject());
4532 break;
4533 case ClientEvent.CLIENTEVENT_USER_DESKTOPWINDOW:
4534 if (OnUserDesktopWindow != null)
4535 OnUserDesktopWindow((int)msg.nSource, (int)msg.DataToObject());
4536 break;
4537 case ClientEvent.CLIENTEVENT_USER_DESKTOPCURSOR:
4538 if (OnUserDesktopCursor != null)
4539 OnUserDesktopCursor((int)msg.nSource, (DesktopInput)msg.DataToObject());
4540 break;
4541 case ClientEvent.CLIENTEVENT_USER_DESKTOPINPUT :
4542 if (OnUserDesktopInput != null)
4543 OnUserDesktopInput((int)msg.nSource, (DesktopInput)msg.DataToObject());
4544 break;
4545 case ClientEvent.CLIENTEVENT_USER_RECORD_MEDIAFILE :
4546 if(OnUserRecordMediaFile != null)
4547 OnUserRecordMediaFile((int)msg.nSource, (MediaFileInfo)msg.DataToObject());
4548 break;
4549 case ClientEvent.CLIENTEVENT_USER_AUDIOBLOCK :
4550 if(OnUserAudioBlock != null)
4551 OnUserAudioBlock((int)msg.nSource, (StreamType)msg.DataToObject());
4552 break;
4553 case ClientEvent.CLIENTEVENT_INTERNAL_ERROR :
4554 if(OnInternalError!= null)
4555 OnInternalError((ClientErrorMsg)msg.DataToObject());
4556 break;
4557 case ClientEvent.CLIENTEVENT_VOICE_ACTIVATION :
4558 if(OnVoiceActivation != null)
4559 OnVoiceActivation((bool)msg.DataToObject());
4560 break;
4561 case ClientEvent.CLIENTEVENT_HOTKEY :
4562 if(OnHotKeyToggle != null)
4563 OnHotKeyToggle(msg.nSource, (bool)msg.DataToObject());
4564 break;
4565 case ClientEvent.CLIENTEVENT_HOTKEY_TEST :
4566 if(OnHotKeyTest != null)
4567 OnHotKeyTest(msg.nSource, (bool)msg.DataToObject());
4568 break;
4569 case ClientEvent.CLIENTEVENT_FILETRANSFER :
4570 if(OnFileTransfer != null)
4571 OnFileTransfer((FileTransfer)msg.DataToObject());
4572 break;
4573 case ClientEvent.CLIENTEVENT_DESKTOPWINDOW_TRANSFER :
4574 if(OnDesktopWindowTransfer != null)
4575 OnDesktopWindowTransfer(msg.nSource, (int)msg.DataToObject());
4576 break;
4577 case ClientEvent.CLIENTEVENT_STREAM_MEDIAFILE :
4578 if(OnStreamMediaFile != null)
4579 OnStreamMediaFile((MediaFileInfo)msg.DataToObject());
4580 break;
4581 case ClientEvent.CLIENTEVENT_LOCAL_MEDIAFILE:
4582 if (OnLocalMediaFile != null)
4583 OnLocalMediaFile((MediaFileInfo)msg.DataToObject());
4584 break;
4585 case ClientEvent.CLIENTEVENT_AUDIOINPUT:
4586 if (OnAudioInput != null)
4587 OnAudioInput((AudioInputProgress)msg.DataToObject());
4588 break;
4589 case ClientEvent.CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET:
4590 if (OnUserFirstVoiceStreamPacket != null)
4591 OnUserFirstVoiceStreamPacket((User)msg.DataToObject(), msg.nSource);
4592 break;
4593 }
4594 }
4595
4608 public static bool GetDefaultSoundDevices(ref int lpnInputDeviceID,
4609 ref int lpnOutputDeviceID)
4610 {
4611 return TTDLL.TT_GetDefaultSoundDevices(ref lpnInputDeviceID, ref lpnOutputDeviceID);
4612 }
4617 public static bool GetDefaultSoundDevicesEx(SoundSystem nSndSystem,
4618 ref int lpnInputDeviceID,
4619 ref int lpnOutputDeviceID)
4620 {
4621 return TTDLL.TT_GetDefaultSoundDevicesEx(nSndSystem, ref lpnInputDeviceID, ref lpnOutputDeviceID);
4622 }
4631 public static bool GetSoundDevices(out SoundDevice[] lpSoundDevices)
4632 {
4633 int count = 0;
4634 bool b = TTDLL.TT_GetSoundDevices_NULL(IntPtr.Zero, ref count);
4635 SoundDevice[] devs = new SoundDevice[count];
4636 b = TTDLL.TT_GetSoundDevices(devs, ref count);
4637 lpSoundDevices = b ? devs : null;
4638 return b;
4639 }
4655 public static bool RestartSoundSystem()
4656 {
4657 return TTDLL.TT_RestartSoundSystem();
4658 }
4663 public static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID,
4664 int nSampleRate, int nChannels,
4665 bool bDuplexMode, SpeexDSP lpSpeexDSP)
4666 {
4667 return TTDLL.TT_StartSoundLoopbackTest(nInputDeviceID, nOutputDeviceID,
4668 nSampleRate, nChannels, bDuplexMode,
4669 ref lpSpeexDSP);
4670 }
4702 public static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID,
4703 int nSampleRate, int nChannels,
4704 bool bDuplexMode, AudioPreprocessor lpAudioPreprocessor,
4705 BearWare.SoundDeviceEffects lpSoundDeviceEffects)
4706 {
4707 return TTDLL.TT_StartSoundLoopbackTestEx(nInputDeviceID, nOutputDeviceID,
4708 nSampleRate, nChannels, bDuplexMode,
4709 ref lpAudioPreprocessor, ref lpSoundDeviceEffects);
4710 }
4717 public static bool CloseSoundLoopbackTest(IntPtr lpTTSoundLoop)
4718 {
4719 return TTDLL.TT_CloseSoundLoopbackTest(lpTTSoundLoop);
4720 }
4749 public bool InitSoundInputDevice(int nInputDeviceID)
4750 {
4751 return TTDLL.TT_InitSoundInputDevice(m_ttInst, nInputDeviceID);
4752 }
4753
4784 public bool InitSoundInputSharedDevice(int nSampleRate,int nChannels, int nFrameSize)
4785 {
4786 return TTDLL.TT_InitSoundInputSharedDevice(nSampleRate, nChannels, nFrameSize);
4787 }
4788
4817 public bool InitSoundOutputDevice(int nOutputDeviceID)
4818 {
4819 return TTDLL.TT_InitSoundOutputDevice(m_ttInst, nOutputDeviceID);
4820 }
4851 public bool InitSoundOutputSharedDevice(int nSampleRate, int nChannels,int nFrameSize)
4852 {
4853 return TTDLL.TT_InitSoundOutputSharedDevice(nSampleRate, nChannels, nFrameSize);
4854 }
4888 public bool InitSoundDuplexDevices(int nInputDeviceID, int nOutputDeviceID)
4889 {
4890 return TTDLL.TT_InitSoundDuplexDevices(m_ttInst, nInputDeviceID, nOutputDeviceID);
4891 }
4911 public bool CloseSoundInputDevice()
4912 {
4913 return TTDLL.TT_CloseSoundInputDevice(m_ttInst);
4914 }
4933 public bool CloseSoundOutputDevice()
4934 {
4935 return TTDLL.TT_CloseSoundOutputDevice(m_ttInst);
4936 }
4943 public bool CloseSoundDuplexDevices()
4944 {
4945 return TTDLL.TT_CloseSoundDuplexDevices(m_ttInst);
4946 }
4982 public bool SetSoundDeviceEffects(SoundDeviceEffects lpSoundDeviceEffect)
4983 {
4984 return TTDLL.TT_SetSoundDeviceEffects(m_ttInst, ref lpSoundDeviceEffect);
4985 }
4990 public bool GetSoundDeviceEffects(ref SoundDeviceEffects lpSoundDeviceEffect)
4991 {
4992 return TTDLL.TT_GetSoundDeviceEffects(m_ttInst, ref lpSoundDeviceEffect);
4993 }
5010 public int GetSoundInputLevel()
5011 {
5012 return TTDLL.TT_GetSoundInputLevel(m_ttInst);
5013 }
5029 public bool SetSoundInputGainLevel(int nLevel)
5030 {
5031 return TTDLL.TT_SetSoundInputGainLevel(m_ttInst, nLevel);
5032 }
5039 public int GetSoundInputGainLevel()
5040 {
5041 return TTDLL.TT_GetSoundInputGainLevel(m_ttInst);
5042 }
5043
5059 public bool SetSoundInputPreprocess(SpeexDSP lpSpeexDSP)
5060 {
5061 return TTDLL.TT_SetSoundInputPreprocess(m_ttInst, ref lpSpeexDSP);
5062 }
5063
5072 public bool GetSoundInputPreprocess(ref SpeexDSP lpSpeexDSP)
5073 {
5074 return TTDLL.TT_GetSoundInputPreprocess(m_ttInst, ref lpSpeexDSP);
5075 }
5087 public bool SetSoundInputPreprocess(AudioPreprocessor lpAudioPreprocessor)
5088 {
5089 return TTDLL.TT_SetSoundInputPreprocessEx(m_ttInst, ref lpAudioPreprocessor);
5090 }
5091
5099 public bool GetSoundInputPreprocess(ref AudioPreprocessor lpAudioPreprocessor)
5100 {
5101 return TTDLL.TT_GetSoundInputPreprocessEx(m_ttInst, ref lpAudioPreprocessor);
5102 }
5110 public bool SetSoundOutputVolume(int nVolume)
5111 {
5112 return TTDLL.TT_SetSoundOutputVolume(m_ttInst, nVolume);
5113 }
5120 public int GetSoundOutputVolume()
5121 {
5122 return TTDLL.TT_GetSoundOutputVolume(m_ttInst);
5123 }
5131 public bool SetSoundOutputMute(bool bMuteAll)
5132 {
5133 return TTDLL.TT_SetSoundOutputMute(m_ttInst, bMuteAll);
5134 }
5145 public bool Enable3DSoundPositioning(bool bEnable)
5146 {
5147 return TTDLL.TT_Enable3DSoundPositioning(m_ttInst, bEnable);
5148 }
5158 public bool AutoPositionUsers()
5159 {
5160 return TTDLL.TT_AutoPositionUsers(m_ttInst);
5161 }
5162
5226 public bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes,
5227 bool bEnable)
5228 {
5229 return TTDLL.TT_EnableAudioBlockEvent(m_ttInst, nUserID, uStreamTypes, bEnable);
5230 }
5259 public bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes,
5260 AudioFormat lpAudioFormat, bool bEnable)
5261 {
5262 return TTDLL.TT_EnableAudioBlockEventEx(m_ttInst, nUserID, uStreamTypes, ref lpAudioFormat, bEnable);
5263 }
5298 public bool InsertAudioBlock(AudioBlock lpAudioBlock)
5299 {
5300 return TTDLL.TT_InsertAudioBlock(m_ttInst, ref lpAudioBlock);
5301 }
5302
5320 public bool EnableVoiceTransmission(bool bEnable)
5321 {
5322 return TTDLL.TT_EnableVoiceTransmission(m_ttInst, bEnable);
5323 }
5324
5350 public bool EnableVoiceActivation(bool bEnable)
5351 {
5352 return TTDLL.TT_EnableVoiceActivation(m_ttInst, bEnable);
5353 }
5368 public bool SetVoiceActivationLevel(int nLevel)
5369 {
5370 return TTDLL.TT_SetVoiceActivationLevel(m_ttInst, nLevel);
5371 }
5378 public int GetVoiceActivationLevel()
5379 {
5380 return TTDLL.TT_GetVoiceActivationLevel(m_ttInst);
5381 }
5394 public bool SetVoiceActivationStopDelay(int nDelayMSec)
5395 {
5396 return TTDLL.TT_SetVoiceActivationStopDelay(m_ttInst, nDelayMSec);
5397 }
5398
5408 public int GetVoiceActivationStopDelay()
5409 {
5410 return TTDLL.TT_GetVoiceActivationStopDelay(m_ttInst);
5411 }
5412
5455 public bool StartRecordingMuxedAudioFile(AudioCodec lpAudioCodec,
5456 string szAudioFileName,
5457 AudioFileFormat uAFF)
5458 {
5459 return TTDLL.TT_StartRecordingMuxedAudioFile(m_ttInst,
5460 ref lpAudioCodec,
5461 szAudioFileName,
5462 uAFF);
5463 }
5464
5484 public bool StartRecordingMuxedAudioFile(int nChannelID,
5485 string szAudioFileName,
5486 AudioFileFormat uAFF)
5487 {
5488 return TTDLL.TT_StartRecordingMuxedAudioFileEx(m_ttInst,
5489 nChannelID,
5490 szAudioFileName,
5491 uAFF);
5492 }
5493
5494
5526 public bool StartRecordingMuxedStreams(StreamType uStreamTypes,
5527 AudioCodec lpAudioCodec,
5528 string szAudioFileName,
5529 AudioFileFormat uAFF)
5530 {
5531 return TTDLL.TT_StartRecordingMuxedStreams(m_ttInst, uStreamTypes, ref lpAudioCodec, szAudioFileName, uAFF);
5532 }
5533
5545 public bool StopRecordingMuxedAudioFile()
5546 {
5547 return TTDLL.TT_StopRecordingMuxedAudioFile(m_ttInst);
5548 }
5549
5556 public bool StopRecordingMuxedAudioFile(int nChannelID)
5557 {
5558 return TTDLL.TT_StopRecordingMuxedAudioFileEx(m_ttInst, nChannelID);
5559 }
5560
5583 public bool StartVideoCaptureTransmission(VideoCodec lpVideoCodec)
5584 {
5585 return TTDLL.TT_StartVideoCaptureTransmission(m_ttInst, ref lpVideoCodec);
5586 }
5587
5592 public bool StopVideoCaptureTransmission()
5593 {
5594 return TTDLL.TT_StopVideoCaptureTransmission(m_ttInst);
5595 }
5596
5608 public static bool GetVideoCaptureDevices(out VideoCaptureDevice[] lpVideoDevices)
5609 {
5610 //To speed up query we only query for a max of 25.
5611 //Hopefully no one has more than 25 capture devices.
5612 VideoCaptureDevice[] devs = new VideoCaptureDevice[25];
5613 int count = devs.Length;
5614 bool b = TTDLL.TT_GetVideoCaptureDevices(devs, ref count);
5615 if (b)
5616 {
5617 lpVideoDevices = new VideoCaptureDevice[count];
5618 for (int i = 0; i < count; i++)
5619 lpVideoDevices[i] = devs[i];
5620 }
5621 else lpVideoDevices = null;
5622
5623 return b;
5624 }
5636 public bool InitVideoCaptureDevice(string szDeviceID,
5637 VideoFormat lpVideoFormat)
5638 {
5639 return TTDLL.TT_InitVideoCaptureDevice(m_ttInst, szDeviceID, ref lpVideoFormat);
5640 }
5645 public bool CloseVideoCaptureDevice()
5646 {
5647 return TTDLL.TT_CloseVideoCaptureDevice(m_ttInst);
5648 }
5663 public bool PaintVideoFrame(int nUserID,
5664 System.IntPtr hDC,
5665 int XDest,
5666 int YDest,
5667 int nDestWidth,
5668 int nDestHeight,
5669 ref VideoFrame lpVideoFrame)
5670 {
5671 return TTDLL.TT_PaintVideoFrame(nUserID, hDC, XDest, YDest, nDestWidth,
5672 nDestHeight, ref lpVideoFrame);
5673 }
5674
5706 public bool PaintVideoFrameEx(int nUserID,
5707 System.IntPtr hDC,
5708 int XDest,
5709 int YDest,
5710 int nDestWidth,
5711 int nDestHeight,
5712 int XSrc,
5713 int YSrc,
5714 int nSrcWidth,
5715 int nSrcHeight,
5716 ref VideoFrame lpVideoFrame)
5717 {
5718 return TTDLL.TT_PaintVideoFrameEx(nUserID, hDC, XDest, YDest, nDestWidth, nDestHeight,
5719 XSrc, YSrc, nSrcWidth, nSrcHeight,
5720 ref lpVideoFrame);
5721 }
5722
5741 public VideoFrame AcquireUserVideoCaptureFrame(int nUserID, out Bitmap bmp)
5742 {
5743 bmp = null;
5744 IntPtr ptr = TTDLL.TT_AcquireUserVideoCaptureFrame(m_ttInst, nUserID);
5745 if(ptr == IntPtr.Zero)
5746 return new VideoFrame();
5747
5748 VideoFrame frm = (VideoFrame)Marshal.PtrToStructure(ptr, typeof(VideoFrame));
5749 vidcapframes.Add(frm.frameBuffer, ptr);
5750
5751 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
5752 bmp = new Bitmap(frm.nWidth, frm.nHeight, frm.nWidth*4, pixelformat, frm.frameBuffer);
5753 return frm;
5754 }
5755
5756 Dictionary<IntPtr, IntPtr> vidcapframes = new Dictionary<IntPtr, IntPtr>();
5757
5765 public bool ReleaseUserVideoCaptureFrame(VideoFrame lpVideoFrame)
5766 {
5767 IntPtr ptr;
5768 if (vidcapframes.TryGetValue(lpVideoFrame.frameBuffer, out ptr))
5769 {
5770 vidcapframes.Remove(lpVideoFrame.frameBuffer);
5771 return TTDLL.TT_ReleaseUserVideoCaptureFrame(m_ttInst, ptr);
5772 }
5773 return false;
5774 }
5775
5788 /*
5789 public bool GetUserVideoFrame(int nUserID,
5790 ref System.Drawing.Bitmap lpPicture)
5791 {
5792 CaptureFormat cap;
5793 if (!TTDLL.TT_GetUserVideoFrame(m_ttInst, nUserID, IntPtr.Zero, 0, out cap))
5794 return false;
5795
5796 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
5797
5798 if (lpPicture == null ||
5799 lpPicture.Width != cap.nWidth ||
5800 lpPicture.Height != cap.nHeight
5801 #if PocketPC
5802 )
5803 #else
5804 || lpPicture.PixelFormat != pixelformat)
5805 #endif
5806 {
5807 lpPicture = new Bitmap(cap.nWidth, cap.nHeight,
5808 pixelformat);
5809 }
5810
5811 // Lock the bitmap's bits.
5812 System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, lpPicture.Width, lpPicture.Height);
5813 BitmapData bmpData = lpPicture.LockBits(rect, ImageLockMode.ReadWrite, pixelformat);
5814
5815 // Get the address of the first line.
5816 IntPtr ptr = bmpData.Scan0;
5817
5818 bool b = TTDLL.TT_GetUserVideoFrame(m_ttInst, nUserID, ptr,
5819 cap.nWidth * cap.nHeight * 4, out cap);
5820 // Unlock the bits.
5821 lpPicture.UnlockBits(bmpData);
5822 return b;
5823 }
5824 * */
5825
5833 public bool StartStreamingMediaFileToChannel(string szMediaFilePath,
5834 VideoCodec lpVideoCodec)
5835 {
5836 return TTDLL.TT_StartStreamingMediaFileToChannel(m_ttInst, szMediaFilePath,
5837 ref lpVideoCodec);
5838 }
5839
5869 public bool StartStreamingMediaFileToChannel(string szMediaFilePath,
5870 MediaFilePlayback lpMediaFilePlayback,
5871 VideoCodec lpVideoCodec)
5872 {
5873 return TTDLL.TT_StartStreamingMediaFileToChannelEx(m_ttInst, szMediaFilePath,
5874 ref lpMediaFilePlayback,
5875 ref lpVideoCodec);
5876 }
5877
5894 public bool UpdateStreamingMediaFileToChannel(MediaFilePlayback lpMediaFilePlayback,
5895 VideoCodec lpVideoCodec)
5896 {
5897 return TTDLL.TT_UpdateStreamingMediaFileToChannel(m_ttInst, ref lpMediaFilePlayback, ref lpVideoCodec);
5898 }
5899
5907 public bool StopStreamingMediaFileToChannel()
5908 {
5909 return TTDLL.TT_StopStreamingMediaFileToChannel(m_ttInst);
5910 }
5911
5936 public int InitLocalPlayback(string szMediaFilePath, MediaFilePlayback lpMediaFilePlayback)
5937 {
5938 return TTDLL.TT_InitLocalPlayback(m_ttInst, szMediaFilePath, ref lpMediaFilePlayback);
5939 }
5940
5952 public bool UpdateLocalPlayback(int nPlaybackSessionID,
5953 MediaFilePlayback lpMediaFilePlayback)
5954 {
5955 return TTDLL.TT_UpdateLocalPlayback(m_ttInst, nPlaybackSessionID, ref lpMediaFilePlayback);
5956 }
5957
5966 public bool StopLocalPlayback(int nPlaybackSessionID)
5967 {
5968 return TTDLL.TT_StopLocalPlayback(m_ttInst, nPlaybackSessionID);
5969 }
5970
5978 public static bool GetMediaFileInfo(string szMediaFilePath,
5979 ref MediaFileInfo lpMediaFileInfo)
5980 {
5981 return TTDLL.TT_GetMediaFileInfo(szMediaFilePath, ref lpMediaFileInfo);
5982 }
5983
6003 public VideoFrame AcquireUserMediaVideoFrame(int nUserID, out Bitmap bmp)
6004 {
6005 bmp = null;
6006 IntPtr ptr = TTDLL.TT_AcquireUserMediaVideoFrame(m_ttInst, nUserID);
6007 if (ptr == IntPtr.Zero)
6008 return new VideoFrame();
6009
6010 VideoFrame frm = (VideoFrame)Marshal.PtrToStructure(ptr, typeof(VideoFrame));
6011 mediaframes.Add(frm.frameBuffer, ptr);
6012
6013 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
6014 bmp = new Bitmap(frm.nWidth, frm.nHeight, frm.nWidth * 4, pixelformat, frm.frameBuffer);
6015 return frm;
6016 }
6017
6025 public bool ReleaseUserMediaVideoFrame(VideoFrame lpVideoFrame)
6026 {
6027 IntPtr ptr;
6028 if (mediaframes.TryGetValue(lpVideoFrame.frameBuffer, out ptr))
6029 {
6030 mediaframes.Remove(lpVideoFrame.frameBuffer);
6031 return TTDLL.TT_ReleaseUserMediaVideoFrame(m_ttInst, ptr);
6032 }
6033 return false;
6034 }
6035
6036 Dictionary<IntPtr, IntPtr> mediaframes = new Dictionary<IntPtr, IntPtr>();
6037
6080 public int SendDesktopWindow(DesktopWindow lpDesktopWindow,
6081 BitmapFormat nConvertBmpFormat)
6082 {
6083 return TTDLL.TT_SendDesktopWindow(m_ttInst, ref lpDesktopWindow, nConvertBmpFormat);
6084 }
6085
6093 public bool CloseDesktopWindow()
6094 {
6095 return TTDLL.TT_CloseDesktopWindow(m_ttInst);
6096 }
6097
6114 public static System.Drawing.Color Palette_GetColorTable(BitmapFormat nBmpPalette,
6115 int nIndex)
6116 {
6117 IntPtr ptr = TTDLL.TT_Palette_GetColorTable(nBmpPalette, nIndex);
6118 switch(nBmpPalette)
6119 {
6120 case BitmapFormat.BMP_RGB8_PALETTE:
6121 return Color.FromArgb(Marshal.ReadInt32(ptr));
6122 }
6123 return new Color();
6124 }
6125
6136 public int SendDesktopWindowFromHWND(System.IntPtr hWnd,
6137 BitmapFormat nBitmapFormat,
6138 DesktopProtocol nDesktopProtocol)
6139 {
6140 return TTDLL.TT_SendDesktopWindowFromHWND(m_ttInst, hWnd, nBitmapFormat, nDesktopProtocol);
6141 }
6142
6157 public bool PaintDesktopWindow(int nUserID,
6158 System.IntPtr hDC,
6159 int XDest,
6160 int YDest,
6161 int nDestWidth,
6162 int nDestHeight)
6163 {
6164 return TTDLL.TT_PaintDesktopWindow(m_ttInst, nUserID, hDC, XDest, YDest, nDestWidth, nDestHeight);
6165 }
6166
6199 public bool PaintDesktopWindowEx(int nUserID,
6200 System.IntPtr hDC,
6201 int XDest,
6202 int YDest,
6203 int nDestWidth,
6204 int nDestHeight,
6205 int XSrc,
6206 int YSrc,
6207 int nSrcWidth,
6208 int nSrcHeight)
6209 {
6210 return TTDLL.TT_PaintDesktopWindowEx(m_ttInst, nUserID, hDC, XDest,
6211 YDest, nDestWidth, nDestHeight,
6212 XSrc, YSrc, nSrcWidth, nSrcHeight);
6213 }
6214
6227 public bool SendDesktopCursorPosition(ushort nPosX,
6228 ushort nPosY)
6229 {
6230 return TTDLL.TT_SendDesktopCursorPosition(m_ttInst, nPosX, nPosY);
6231 }
6232
6256 public bool SendDesktopInput(int nUserID,
6257 DesktopInput[] lpDesktopInputs)
6258 {
6259 return TTDLL.TT_SendDesktopInput(m_ttInst, nUserID, lpDesktopInputs, lpDesktopInputs.Length);
6260 }
6261
6285 public DesktopWindow AcquireUserDesktopWindow(int nUserID)
6286 {
6287 IntPtr ptr = TTDLL.TT_AcquireUserDesktopWindow(m_ttInst, nUserID);
6288 if (ptr == IntPtr.Zero)
6289 return new DesktopWindow();
6290 DesktopWindow lpDesktopWindow = (DesktopWindow)Marshal.PtrToStructure(ptr, typeof(DesktopWindow));
6291 desktopwindows.Add(lpDesktopWindow.frameBuffer, ptr);
6292 return lpDesktopWindow;
6293 }
6294
6301 public DesktopWindow AcquireUserDesktopWindowEx(int nUserID, BitmapFormat nBitmapFormat)
6302 {
6303 IntPtr ptr = TTDLL.TT_AcquireUserDesktopWindowEx(m_ttInst, nUserID, nBitmapFormat);
6304 if (ptr == IntPtr.Zero)
6305 return new DesktopWindow();
6306 DesktopWindow lpDesktopWindow = (DesktopWindow)Marshal.PtrToStructure(ptr, typeof(DesktopWindow));
6307 desktopwindows.Add(lpDesktopWindow.frameBuffer, ptr);
6308 return lpDesktopWindow;
6309 }
6310
6311 Dictionary<IntPtr, IntPtr> desktopwindows = new Dictionary<IntPtr, IntPtr>();
6314 public bool ReleaseUserDesktopWindow(DesktopWindow lpDesktopWindow)
6315 {
6316 IntPtr ptr;
6317 if (desktopwindows.TryGetValue(lpDesktopWindow.frameBuffer, out ptr))
6318 {
6319 desktopwindows.Remove(lpDesktopWindow.frameBuffer);
6320 return TTDLL.TT_ReleaseUserDesktopWindow(m_ttInst, ptr);
6321 }
6322 return false;
6323 }
6324
6341 public bool SetEncryptionContext(EncryptionContext lpEncryptionContext)
6342 {
6343 return TTDLL.TT_SetEncryptionContext(m_ttInst, ref lpEncryptionContext);
6344 }
6345
6374 public bool Connect(string szHostAddress,
6375 int nTcpPort,
6376 int nUdpPort,
6377 int nLocalTcpPort,
6378 int nLocalUdpPort,
6379 bool bEncrypted)
6380 {
6381 return TTDLL.TT_Connect(m_ttInst, szHostAddress, nTcpPort, nUdpPort,
6382 nLocalTcpPort, nLocalUdpPort, bEncrypted);
6383 }
6384
6408 public bool ConnectSysID(string szHostAddress,
6409 int nTcpPort,
6410 int nUdpPort,
6411 int nLocalTcpPort,
6412 int nLocalUdpPort,
6413 bool bEncrypted,
6414 string szSystemID)
6415 {
6416 return TTDLL.TT_ConnectSysID(m_ttInst, szHostAddress,
6417 nTcpPort, nUdpPort, nLocalTcpPort,
6418 nLocalUdpPort, bEncrypted, szSystemID);
6419 }
6420
6441 public bool ConnectEx(string szHostAddress,
6442 int nTcpPort,
6443 int nUdpPort,
6444 string szBindIPAddr,
6445 int nLocalTcpPort,
6446 int nLocalUdpPort,
6447 bool bEncrypted)
6448 {
6449 return TTDLL.TT_ConnectEx(m_ttInst, szHostAddress, nTcpPort, nUdpPort,
6450 szBindIPAddr, nLocalTcpPort, nLocalUdpPort,
6451 bEncrypted);
6452 }
6453
6458 public bool Disconnect()
6459 {
6460 return TTDLL.TT_Disconnect(m_ttInst);
6461 }
6471 public bool QueryMaxPayload(int nUserID)
6472 {
6473 return TTDLL.TT_QueryMaxPayload(m_ttInst, nUserID);
6474 }
6480 public bool GetClientStatistics(ref ClientStatistics lpClientStatistics)
6481 {
6482 return TTDLL.TT_GetClientStatistics(m_ttInst, ref lpClientStatistics);
6483 }
6484
6499 public bool SetClientKeepAlive(ClientKeepAlive lpClientKeepAlive)
6500 {
6501 return TTDLL.TT_SetClientKeepAlive(m_ttInst, ref lpClientKeepAlive);
6502 }
6503
6510 public bool GetClientKeepAlive(ref ClientKeepAlive lpClientKeepAlive)
6511 {
6512 return TTDLL.TT_GetClientKeepAlive(m_ttInst, ref lpClientKeepAlive);
6513 }
6536 public int DoPing()
6537 {
6538 return TTDLL.TT_DoPing(m_ttInst);
6539 }
6540
6552 public int DoLogin(string szNickname, string szUsername, string szPassword)
6553 {
6554 return TTDLL.TT_DoLogin(m_ttInst, szNickname, szUsername, szPassword);
6555 }
6556
6586 public int DoLoginEx(string szNickname, string szUsername, string szPassword,
6587 string szClientName)
6588 {
6589 return TTDLL.TT_DoLoginEx(m_ttInst, szNickname, szUsername, szPassword, szClientName);
6590 }
6604 public int DoLogout()
6605 {
6606 return TTDLL.TT_DoLogout(m_ttInst);
6607 }
6647 public int DoJoinChannel(Channel lpChannel)
6648 {
6649 return TTDLL.TT_DoJoinChannel(m_ttInst, ref lpChannel);
6650 }
6674 public int DoJoinChannelByID(int nChannelID, string szPassword)
6675 {
6676 return TTDLL.TT_DoJoinChannelByID(m_ttInst, nChannelID, szPassword);
6677 }
6697 public int DoLeaveChannel()
6698 {
6699 return TTDLL.TT_DoLeaveChannel(m_ttInst);
6700 }
6718 public int DoChangeNickname(string szNewNick)
6719 {
6720 return TTDLL.TT_DoChangeNickname(m_ttInst, szNewNick);
6721 }
6741 public int DoChangeStatus(int nStatusMode, string szStatusMessage)
6742 {
6743 return TTDLL.TT_DoChangeStatus(m_ttInst, nStatusMode, szStatusMessage);
6744 }
6763 public int DoTextMessage(TextMessage lpTextMessage)
6764 {
6765 return TTDLL.TT_DoTextMessage(m_ttInst, ref lpTextMessage);
6766 }
6787 public int DoChannelOp(int nUserID, int nChannelID, bool bMakeOperator)
6788 {
6789 return TTDLL.TT_DoChannelOp(m_ttInst, nUserID, nChannelID, bMakeOperator);
6790 }
6810 public int DoChannelOpEx(int nUserID,
6811 int nChannelID,
6812 string szOpPassword,
6813 bool bMakeOperator)
6814 {
6815 return TTDLL.TT_DoChannelOpEx(m_ttInst, nUserID, nChannelID, szOpPassword, bMakeOperator);
6816 }
6839 public int DoKickUser(int nUserID, int nChannelID)
6840 {
6841 return TTDLL.TT_DoKickUser(m_ttInst, nUserID, nChannelID);
6842 }
6877 public int DoSendFile(int nChannelID, string szLocalFilePath)
6878 {
6879 return TTDLL.TT_DoSendFile(m_ttInst, nChannelID, szLocalFilePath);
6880 }
6910 public int DoRecvFile(int nChannelID, int nFileID, string szLocalFilePath)
6911 {
6912 return TTDLL.TT_DoRecvFile(m_ttInst, nChannelID, nFileID, szLocalFilePath);
6913 }
6936 public int DoDeleteFile(int nChannelID, int nFileID)
6937 {
6938 return TTDLL.TT_DoDeleteFile(m_ttInst, nChannelID, nFileID);
6939 }
6954 public int DoSubscribe(int nUserID, Subscription uSubscriptions)
6955 {
6956 return TTDLL.TT_DoSubscribe(m_ttInst, nUserID, uSubscriptions);
6957 }
6973 public int DoUnsubscribe(int nUserID, Subscription uSubscriptions)
6974 {
6975 return TTDLL.TT_DoUnsubscribe(m_ttInst, nUserID, uSubscriptions);
6976 }
7002 public int DoMakeChannel(Channel lpChannel)
7003 {
7004 return TTDLL.TT_DoMakeChannel(m_ttInst, ref lpChannel);
7005 }
7038 public int DoUpdateChannel(Channel lpChannel)
7039 {
7040 return TTDLL.TT_DoUpdateChannel(m_ttInst, ref lpChannel);
7041 }
7060 public int DoRemoveChannel(int nChannelID)
7061 {
7062 return TTDLL.TT_DoRemoveChannel(m_ttInst, nChannelID);
7063 }
7083 public int DoMoveUser(int nUserID, int nChannelID)
7084 {
7085 return TTDLL.TT_DoMoveUser(m_ttInst, nUserID, nChannelID);
7086 }
7103 public int DoUpdateServer(ServerProperties lpServerProperties)
7104 {
7105 return TTDLL.TT_DoUpdateServer(m_ttInst, ref lpServerProperties);
7106 }
7131 public int DoListUserAccounts(int nIndex, int nCount)
7132 {
7133 return TTDLL.TT_DoListUserAccounts(m_ttInst, nIndex, nCount);
7134 }
7157 public int DoNewUserAccount(UserAccount lpUserAccount)
7158 {
7159 return TTDLL.TT_DoNewUserAccount(m_ttInst, ref lpUserAccount);
7160 }
7179 public int DoDeleteUserAccount(string szUsername)
7180 {
7181 return TTDLL.TT_DoDeleteUserAccount(m_ttInst, szUsername);
7182 }
7210 public int DoBanUser(int nUserID, int nChannelID)
7211 {
7212 return TTDLL.TT_DoBanUser(m_ttInst, nUserID, nChannelID);
7213 }
7214
7226 public int DoBanUserEx(int nUserID, BanType uBanTypes)
7227 {
7228 return TTDLL.TT_DoBanUserEx(m_ttInst, nUserID, uBanTypes);
7229 }
7230
7249 public int DoBan(BannedUser lpBannedUser)
7250 {
7251 return TTDLL.TT_DoBan(m_ttInst, ref lpBannedUser);
7252 }
7253
7274 public int DoBanIPAddress(string szIPAddress, int nChannelID)
7275 {
7276 return TTDLL.TT_DoBanIPAddress(m_ttInst, szIPAddress, nChannelID);
7277 }
7278
7299 public int DoUnBanUser(string szIPAddress, int nChannelID)
7300 {
7301 return TTDLL.TT_DoUnBanUser(m_ttInst, szIPAddress, nChannelID);
7302 }
7303
7313 public int DoUnBanUserEx(BannedUser lpBannedUser)
7314 {
7315 return TTDLL.TT_DoUnBanUserEx(m_ttInst, ref lpBannedUser);
7316 }
7317
7338 public int DoListBans(int nChannelID, int nIndex, int nCount)
7339 {
7340 return TTDLL.TT_DoListBans(m_ttInst, nChannelID, nIndex, nCount);
7341 }
7359 public int DoSaveConfig()
7360 {
7361 return TTDLL.TT_DoSaveConfig(m_ttInst);
7362 }
7379 public int DoQueryServerStats()
7380 {
7381 return TTDLL.TT_DoQueryServerStats(m_ttInst);
7382 }
7395 public int DoQuit()
7396 {
7397 return TTDLL.TT_DoQuit(m_ttInst);
7398 }
7410 public bool GetServerProperties(ref ServerProperties lpServerProperties)
7411 {
7412 return TTDLL.TT_GetServerProperties(m_ttInst, ref lpServerProperties);
7413 }
7424 public bool GetServerUsers(out User[] lpUsers)
7425 {
7426 int count = 0;
7427 bool b = TTDLL.TT_GetServerUsers_NULL(m_ttInst, IntPtr.Zero, ref count);
7428 User[] users = new User[count];
7429 b = TTDLL.TT_GetServerUsers(m_ttInst, users, ref count);
7430 lpUsers = b ? users : null;
7431 return b;
7432 }
7445 public int GetRootChannelID()
7446 {
7447 return TTDLL.TT_GetRootChannelID(m_ttInst);
7448 }
7455 public int GetMyChannelID()
7456 {
7457 return TTDLL.TT_GetMyChannelID(m_ttInst);
7458 }
7462 public int ChannelID { get { return GetMyChannelID(); } }
7470 public bool GetChannel(int nChannelID, ref Channel lpChannel)
7471 {
7472 return TTDLL.TT_GetChannel(m_ttInst, nChannelID, ref lpChannel);
7473 }
7480 public bool GetChannelPath(int nChannelID, ref string szChannelPath)
7481 {
7482 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
7483 bool b = TTDLL.TT_GetChannelPath(m_ttInst, nChannelID, ptr);
7484 if(b)
7485 szChannelPath = Marshal.PtrToStringUni(ptr);
7486 Marshal.FreeHGlobal(ptr);
7487 return b;
7488 }
7495 public int GetChannelIDFromPath(string szChannelPath)
7496 {
7497 return TTDLL.TT_GetChannelIDFromPath(m_ttInst, szChannelPath);
7498 }
7507 public bool GetChannelUsers(int nChannelID, out User[] lpUsers)
7508 {
7509 int count = 0;
7510 bool b = TTDLL.TT_GetChannelUsers_NULL(m_ttInst, nChannelID, IntPtr.Zero, ref count);
7511 User[] users = new User[count];
7512 b = TTDLL.TT_GetChannelUsers(m_ttInst, nChannelID, users, ref count);
7513 lpUsers = b ? users : null;
7514 return b;
7515 }
7524 public bool GetChannelFiles(int nChannelID, out RemoteFile[] lpRemoteFiles)
7525 {
7526 int count = 0;
7527 bool b = TTDLL.TT_GetChannelFiles_NULL(m_ttInst, nChannelID, IntPtr.Zero, ref count);
7528 RemoteFile[] files = new RemoteFile[count];
7529 b = TTDLL.TT_GetChannelFiles(m_ttInst, nChannelID, files, ref count);
7530 lpRemoteFiles = b ? files : null;
7531 return b;
7532 }
7540 public bool GetChannelFile(int nChannelID, int nFileID, ref RemoteFile lpRemoteFile)
7541 {
7542 return TTDLL.TT_GetChannelFile(m_ttInst, nChannelID, nFileID, ref lpRemoteFile);
7543 }
7550 public bool IsChannelOperator(int nUserID, int nChannelID)
7551 {
7552 return TTDLL.TT_IsChannelOperator(m_ttInst, nUserID, nChannelID);
7553 }
7560 public bool GetServerChannels(out Channel[] lpChannels)
7561 {
7562 int count = 0;
7563 bool b = TTDLL.TT_GetServerChannels_NULL(m_ttInst, IntPtr.Zero, ref count);
7564 Channel[] channels = new Channel[count];
7565 b = TTDLL.TT_GetServerChannels(m_ttInst, channels, ref count);
7566 lpChannels = b ? channels : null;
7567 return b;
7568 }
7582 public int GetMyUserID()
7583 {
7584 return TTDLL.TT_GetMyUserID(m_ttInst);
7585 }
7586
7597 public bool GetMyUserAccount(ref UserAccount lpUserAccount)
7598 {
7599 return TTDLL.TT_GetMyUserAccount(m_ttInst, ref lpUserAccount);
7600 }
7601
7605 public int UserID { get { return GetMyUserID(); } }
7606
7617 public UserType GetMyUserType()
7618 {
7619 return TTDLL.TT_GetMyUserType(m_ttInst);
7620 }
7621
7625 public BearWare.UserType UserType { get { return GetMyUserType(); } }
7626
7630 public BearWare.UserRight UserRights { get { return GetMyUserRights(); } }
7631
7633 public BearWare.UserRight GetMyUserRights()
7634 {
7635 return TTDLL.TT_GetMyUserRights(m_ttInst);
7636 }
7637
7647 public int GetMyUserData()
7648 {
7649 return TTDLL.TT_GetMyUserData(m_ttInst);
7650 }
7651
7655 public int UserData { get { return GetMyUserData(); } }
7656
7663 public bool GetUser(int nUserID, ref User lpUser)
7664 {
7665 return TTDLL.TT_GetUser(m_ttInst, nUserID, ref lpUser);
7666 }
7672 public bool GetUserStatistics(int nUserID, ref UserStatistics lpUserStatistics)
7673 {
7674 return TTDLL.TT_GetUserStatistics(m_ttInst, nUserID, ref lpUserStatistics);
7675 }
7684 public bool GetUserByUsername(string szUsername, ref User lpUser)
7685 {
7686 return TTDLL.TT_GetUserByUsername(m_ttInst, szUsername, ref lpUser);
7687 }
7704 public bool SetUserVolume(int nUserID, StreamType nStreamType, int nVolume)
7705 {
7706 return TTDLL.TT_SetUserVolume(m_ttInst, nUserID, nStreamType, nVolume);
7707 }
7719 public bool SetUserMute(int nUserID, StreamType nStreamType, bool bMute)
7720 {
7721 return TTDLL.TT_SetUserMute(m_ttInst, nUserID, nStreamType, bMute);
7722 }
7735 public bool SetUserStoppedPlaybackDelay(int nUserID,
7736 StreamType nStreamType,
7737 int nDelayMSec)
7738 {
7739 return TTDLL.TT_SetUserStoppedPlaybackDelay(m_ttInst, nUserID, nStreamType, nDelayMSec);
7740 }
7741
7766 public bool SetUserJitterControl(int nUserID,
7767 StreamType nStreamType,
7768 JitterConfig lpJitterConfig)
7769 {
7770 return TTDLL.TT_SetUserJitterControl(m_ttInst, nUserID, nStreamType, ref lpJitterConfig);
7771 }
7772
7783 public bool GetUserJitterControl(int nUserID,
7784 StreamType nStreamType,
7785 ref JitterConfig lpJitterConfig)
7786 {
7787 return TTDLL.TT_GetUserJitterControl(m_ttInst, nUserID, nStreamType, ref lpJitterConfig);
7788 }
7789
7805 public bool SetUserPosition(int nUserID, StreamType nStreamType,
7806 float x, float y, float z)
7807 {
7808 return TTDLL.TT_SetUserPosition(m_ttInst, nUserID, nStreamType, x, y, z);
7809 }
7821 public bool SetUserStereo(int nUserID, StreamType nStreamType, bool bLeftSpeaker, bool bRightSpeaker)
7822 {
7823 return TTDLL.TT_SetUserStereo(m_ttInst, nUserID, nStreamType, bLeftSpeaker, bRightSpeaker);
7824 }
7860 public bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars,
7861 AudioFileFormat uAFF)
7862 {
7863 return TTDLL.TT_SetUserMediaStorageDir(m_ttInst, nUserID, szFolderPath, szFileNameVars, uAFF);
7864 }
7865
7890 public bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars,
7891 AudioFileFormat uAFF, int nStopRecordingExtraDelayMSec)
7892 {
7893 return TTDLL.TT_SetUserMediaStorageDirEx(m_ttInst, nUserID, szFolderPath, szFileNameVars, uAFF, nStopRecordingExtraDelayMSec);
7894 }
7895
7920 public bool SetUserAudioStreamBufferSize(int nUserID, StreamType uStreamType,
7921 int nMSec)
7922 {
7923 return TTDLL.TT_SetUserAudioStreamBufferSize(m_ttInst, nUserID, uStreamType, nMSec);
7924 }
7944 public AudioBlock AcquireUserAudioBlock(StreamType uStreamTypes, int nUserID)
7945 {
7946 IntPtr ptr = TTDLL.TT_AcquireUserAudioBlock(m_ttInst, uStreamTypes, nUserID);
7947 if (ptr == IntPtr.Zero)
7948 return new AudioBlock();
7949 AudioBlock lpAudioBlock = (AudioBlock)Marshal.PtrToStructure(ptr, typeof(AudioBlock));
7950 audioblocks.Add(lpAudioBlock.lpRawAudio, ptr);
7951 return lpAudioBlock;
7952 }
7953
7954 Dictionary<IntPtr, IntPtr> audioblocks = new Dictionary<IntPtr, IntPtr>();
7955
7969 public bool ReleaseUserAudioBlock(AudioBlock lpAudioBlock)
7970 {
7971 IntPtr ptr;
7972 if (audioblocks.TryGetValue(lpAudioBlock.lpRawAudio, out ptr))
7973 {
7974 audioblocks.Remove(lpAudioBlock.lpRawAudio);
7975 return TTDLL.TT_ReleaseUserAudioBlock(m_ttInst, ptr);
7976 }
7977 return false;
7978 }
7992 public bool GetFileTransferInfo(int nTransferID, ref FileTransfer lpFileTransfer)
7993 {
7994 return TTDLL.TT_GetFileTransferInfo(m_ttInst, nTransferID, ref lpFileTransfer);
7995 }
7996
8005 public bool CancelFileTranfer(int nTransferID)
8006 {
8007 return TTDLL.TT_CancelFileTransfer(m_ttInst, nTransferID);
8008 }
8009
8020 public static string GetErrorMessage(ClientError nError)
8021 {
8022 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8023 TTDLL.TT_GetErrorMessage((int)nError, ptr);
8024 string s = Marshal.PtrToStringUni(ptr);
8025 Marshal.FreeHGlobal(ptr);
8026 return s;
8027 }
8028
8055 public bool HotKey_Register(int nHotKeyID, int[] lpnVKCodes)
8056 {
8057 return TTDLL.TT_HotKey_Register(m_ttInst, nHotKeyID, lpnVKCodes, lpnVKCodes.Length);
8058 }
8064 public bool HotKey_Unregister(int nHotKeyID)
8065 {
8066 return TTDLL.TT_HotKey_Unregister(m_ttInst, nHotKeyID);
8067 }
8073 public int HotKey_IsActive(int nHotKeyID)
8074 {
8075 return TTDLL.TT_HotKey_IsActive(m_ttInst, nHotKeyID);
8076 }
8086 public bool HotKey_InstallTestHook()
8087 {
8088 if (m_eventhandler != null)
8089 {
8090 #if PocketPC
8091 IntPtr hWnd = m_eventhandler.Hwnd;
8092 #else
8093 IntPtr hWnd = m_eventhandler.Handle;
8094 #endif
8095 return TTDLL.TT_HotKey_InstallTestHook(m_ttInst, hWnd,
8096 MyEventHandler.WM_TEAMTALK_CLIENTEVENT);
8097 }
8098 return false;
8099 }
8105 public bool HotKey_RemoveTestHook()
8106 {
8107 return TTDLL.TT_HotKey_RemoveTestHook(m_ttInst);
8108 }
8115 public bool HotKey_GetKeyString(int nVKCode, ref string szKeyName)
8116 {
8117 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8118 bool b = TTDLL.TT_HotKey_GetKeyString(m_ttInst, nVKCode, ptr);
8119 if(b)
8120 szKeyName = Marshal.PtrToStringUni(ptr);
8121 Marshal.FreeHGlobal(ptr);
8122 return b;
8123 }
8126 public bool DBG_SetSoundInputTone(StreamType uStreamTypes, int nFrequency)
8127 {
8128 return TTDLL.TT_DBG_SetSoundInputTone(m_ttInst, uStreamTypes, nFrequency);
8129 }
8130
8131
8132 public bool DBG_WriteAudioFileTone(MediaFileInfo lpMediaFileInfo,
8133 int nFrequency)
8134 {
8135 return TTDLL.TT_DBG_WriteAudioFileTone(ref lpMediaFileInfo, nFrequency);
8136 }
8137
8144 public delegate void Connection();
8153 public event Connection OnConnectionSuccess;
8161 public event Connection OnConnectionFailed;
8169 public event Connection OnConnectionLost;
8170
8176 public delegate void MaxPayloadUpdate(int nPayloadSize);
8177
8185 public event MaxPayloadUpdate OnConnectionMaxPayloadUpdated;
8186
8194 public delegate void CommandProcessing(int nCmdID, bool bActive);
8195
8206 public event CommandProcessing OnCmdProcessing;
8207
8212 public delegate void CommandError(int nCmdID, ClientErrorMsg clienterrormsg);
8213
8222 public event CommandError OnCmdError;
8223
8227 public delegate void CommandSuccess(int nCmdID);
8228
8236 public event CommandSuccess OnCmdSuccess;
8237
8243 public delegate void MyselfLoggedIn(int nMyUserID, UserAccount useraccount);
8244
8253 public event MyselfLoggedIn OnCmdMyselfLoggedIn;
8254
8256 public delegate void MyselfLoggedOut();
8264 public event MyselfLoggedOut OnCmdMyselfLoggedOut;
8265
8271 public delegate void MyselfKicked(User user);
8277 public event MyselfKicked OnCmdMyselfKicked;
8278
8283 public delegate void UserUpdate(User user);
8284
8288 public delegate void UserStreamUpdate(User user, int nStreamID);
8289
8297 public event UserUpdate OnCmdUserLoggedIn;
8298
8307 public event UserUpdate OnCmdUserLoggedOut;
8308
8313 public event UserUpdate OnCmdUserUpdate;
8314
8319 public event UserUpdate OnCmdUserJoinedChannel;
8320
8325 public event UserUpdate OnCmdUserLeftChannel;
8326
8332 public delegate void UserTextMessage(TextMessage textmessage);
8333
8338 public event UserTextMessage OnCmdUserTextMessage;
8339
8340
8343 public delegate void ChannelUpdate(Channel channel);
8344
8351 public event ChannelUpdate OnCmdChannelNew;
8352
8357 public event ChannelUpdate OnCmdChannelUpdate;
8358
8362 public event ChannelUpdate OnCmdChannelRemove;
8363
8365 public delegate void ServerUpdate(ServerProperties serverproperties);
8366
8372 public event ServerUpdate OnCmdServerUpdate;
8373
8375 public delegate void ServerStats(ServerStatistics serverstatistics);
8376
8381 public event ServerStats OnCmdServerStatistics;
8382
8384 public delegate void FileUpdate(RemoteFile remotefile);
8385
8390 public event FileUpdate OnCmdFileNew;
8391
8396 public event FileUpdate OnCmdFileRemove;
8397
8399 public delegate void ListUserAccount(UserAccount useraccount);
8400
8403 public event ListUserAccount OnCmdUserAccount;
8404
8406 public delegate void ListBannedUser(BannedUser banneduser);
8407
8410 public event ListBannedUser OnCmdBannedUser;
8411
8416 public event UserStreamUpdate OnUserFirstVoiceStreamPacket;
8417
8421 public event UserUpdate OnUserStateChange;
8422
8424 public delegate void UserVideoFrame(int nUserID, int nStreamID);
8425
8430 public event UserVideoFrame OnUserVideoCapture;
8431
8436 public event UserVideoFrame OnUserMediaFileVideo;
8437
8446 public delegate void NewDesktopWindow(int nUserID, int nStreamID);
8447
8456 public event NewDesktopWindow OnUserDesktopWindow;
8457
8459 public delegate void UserDesktopInput(int nSrcUserID, DesktopInput desktopinput);
8460
8466 public event UserDesktopInput OnUserDesktopCursor;
8467
8473 public event UserDesktopInput OnUserDesktopInput;
8474
8476 public delegate void UserRecordMediaFile(int nUserID, MediaFileInfo mediafileinfo);
8477
8482 public event UserRecordMediaFile OnUserRecordMediaFile;
8483
8485 public delegate void NewAudioBlock(int nUserID, StreamType nStreamType);
8486
8496 public event NewAudioBlock OnUserAudioBlock;
8497
8499 public delegate void ErrorOccured(ClientErrorMsg clienterrormsg);
8500
8505 public event ErrorOccured OnInternalError;
8506
8509 public delegate void VoiceActivation(bool bVoiceActive);
8510
8515 public event VoiceActivation OnVoiceActivation;
8516
8522 public delegate void HotKeyToggle(int nHotKeyID, bool bActive);
8523
8532 public event HotKeyToggle OnHotKeyToggle;
8533
8538 public delegate void HotKeyTest(int nVkCode, bool bActive);
8539
8556 public event HotKeyTest OnHotKeyTest;
8557
8561 public delegate void FileTransferUpdate(FileTransfer filetransfer);
8562
8574 public event FileTransferUpdate OnFileTransfer;
8575
8585 public delegate void DesktopTransferUpdate(int nSessionID, int nBytesRemain);
8586
8596 public event DesktopTransferUpdate OnDesktopWindowTransfer;
8597
8599 public delegate void StreamMediaFile(MediaFileInfo mediafileinfo);
8600
8605 public event StreamMediaFile OnStreamMediaFile;
8606
8608 public delegate void LocalMediaFile(MediaFileInfo mediafileinfo);
8609
8614 public event LocalMediaFile OnLocalMediaFile;
8615
8617 public delegate void AudioInput(AudioInputProgress aip);
8618
8623 public event AudioInput OnAudioInput;
8624
8627 //TTDLL instance
8628 private IntPtr m_ttInst;
8629 //TTDLL event handler
8630 c_tt.MyEventHandler m_eventhandler;
8631 }
8632
8641 public class TeamTalk5 : TeamTalkBase
8642 {
8643 public const int DEFAULT_TCPPORT = 10333;
8644 public const int DEFAULT_UDPPORT = 10333;
8645
8647 public TeamTalk5(bool poll_based)
8648 : base(poll_based)
8649 {
8650 }
8651 }
8652
8658 public class TeamTalk5Pro : TeamTalkBase
8659 {
8660 public const int DEFAULT_TCPPORT = 10443;
8661 public const int DEFAULT_UDPPORT = 10443;
8662
8664 public TeamTalk5Pro(bool poll_based)
8665 : base(poll_based)
8666 {
8667 }
8668 }
8677 public enum TTKeyTranslate : uint
8678 {
8680 TTKEY_NO_TRANSLATE = 0,
8684 TTKEY_WINKEYCODE_TO_TTKEYCODE = 1,
8686 TTKEY_TTKEYCODE_TO_WINKEYCODE = 2,
8690 TTKEY_MACKEYCODE_TO_TTKEYCODE = 3,
8693 TTKEY_TTKEYCODE_TO_MACKEYCODE = 4
8694 }
8695
8717 public enum MixerControl : uint
8718 {
8719 WAVEOUT_MASTER,
8720 WAVEOUT_WAVE,
8721 WAVEOUT_MICROPHONE,
8722
8723 WAVEIN_MICROPHONE,
8724 WAVEIN_LINEIN,
8725 WAVEIN_WAVEOUT,
8726 }
8727
8731 public class WindowsMixer
8732 {
8739 public static int GetMixerCount()
8740 {
8741 return TTDLL.TT_Mixer_GetMixerCount();
8742 }
8749 public static bool GetMixerName(int nMixerIndex,
8750 ref string szMixerName)
8751 {
8752 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8753 bool b = TTDLL.TT_Mixer_GetMixerName(nMixerIndex, ptr);
8754 if(b)
8755 szMixerName = Marshal.PtrToStringUni(ptr);
8756
8757 Marshal.FreeHGlobal(ptr);
8758 return b;
8759 }
8767 public static bool GetWaveInName(int nWaveDeviceID,
8768 ref string szMixerName)
8769 {
8770 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8771 bool b = TTDLL.TT_Mixer_GetWaveInName(nWaveDeviceID, ptr);
8772 if(b)
8773 szMixerName = Marshal.PtrToStringUni(ptr);
8774 Marshal.FreeHGlobal(ptr);
8775 return b;
8776 }
8784 public static bool GetWaveOutName(int nWaveDeviceID,
8785 ref string szMixerName)
8786 {
8787 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8788 bool b = TTDLL.TT_Mixer_GetWaveOutName(nWaveDeviceID, ptr);
8789 if(b)
8790 szMixerName = Marshal.PtrToStringUni(ptr);
8791
8792 Marshal.FreeHGlobal(ptr);
8793 return b;
8794 }
8795
8806 public static bool SetWaveOutMute(int nWaveDeviceID, MixerControl nControl, bool bMute)
8807 {
8808 return TTDLL.TT_Mixer_SetWaveOutMute(nWaveDeviceID, nControl, bMute);
8809 }
8819 public static int GetWaveOutMute(int nWaveDeviceID, MixerControl nControl)
8820 {
8821 return TTDLL.TT_Mixer_GetWaveOutMute(nWaveDeviceID, nControl);
8822 }
8831 public static bool SetWaveOutVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
8832 {
8833 return TTDLL.TT_Mixer_SetWaveOutVolume(nWaveDeviceID, nControl, nVolume);
8834 }
8843 public static int GetWaveOutVolume(int nWaveDeviceID, MixerControl nControl)
8844 {
8845 return TTDLL.TT_Mixer_GetWaveOutVolume(nWaveDeviceID, nControl);
8846 }
8854 public static bool SetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
8855 {
8856 return TTDLL.TT_Mixer_SetWaveInSelected(nWaveDeviceID, nControl);
8857 }
8866 public static int GetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
8867 {
8868 return TTDLL.TT_Mixer_GetWaveInSelected(nWaveDeviceID, nControl);
8869 }
8878 public static bool SetWaveInVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
8879 {
8880 return TTDLL.TT_Mixer_SetWaveInVolume(nWaveDeviceID, nControl, nVolume);
8881 }
8890 public static int GetWaveInVolume(int nWaveDeviceID, MixerControl nControl)
8891 {
8892 return TTDLL.TT_Mixer_GetWaveInVolume(nWaveDeviceID, nControl);
8893 }
8900 public static bool SetWaveInBoost(int nWaveDeviceID, bool bEnable)
8901 {
8902 return TTDLL.TT_Mixer_SetWaveInBoost(nWaveDeviceID, bEnable);
8903 }
8910 public static int GetWaveInBoost(int nWaveDeviceID)
8911 {
8912 return TTDLL.TT_Mixer_GetWaveInBoost(nWaveDeviceID);
8913 }
8920 public static bool SetWaveInMute(int nWaveDeviceID, bool bEnable)
8921 {
8922 return TTDLL.TT_Mixer_SetWaveInMute(nWaveDeviceID, bEnable);
8923 }
8930 public static int GetWaveInMute(int nWaveDeviceID)
8931 {
8932 return TTDLL.TT_Mixer_GetWaveInMute(nWaveDeviceID);
8933 }
8942 public static int GetWaveInControlCount(int nWaveDeviceID)
8943 {
8944 return TTDLL.TT_Mixer_GetWaveInControlCount(nWaveDeviceID);
8945 }
8956 public static bool GetWaveInControlName(int nWaveDeviceID, int nControlIndex,
8957 ref string szDeviceName)
8958 {
8959 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8960 bool b = TTDLL.TT_Mixer_GetWaveInControlName(nWaveDeviceID, nControlIndex, ptr);
8961 if(b)
8962 szDeviceName = Marshal.PtrToStringUni(ptr);
8963 Marshal.FreeHGlobal(ptr);
8964 return b;
8965 }
8975 public static bool SetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
8976 {
8977 return TTDLL.TT_Mixer_SetWaveInControlSelected(nWaveDeviceID, nControlIndex);
8978 }
8988 public static bool GetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
8989 {
8990 return TTDLL.TT_Mixer_GetWaveInControlSelected(nWaveDeviceID, nControlIndex);
8991 }
8992 }
9001 public class WindowsFirewall
9002 {
9008 public static bool IsEnabled()
9009 {
9010 return TTDLL.TT_Firewall_IsEnabled();
9011 }
9021 public static bool Enable(bool bEnable)
9022 {
9023 return TTDLL.TT_Firewall_Enable(bEnable);
9024 }
9031 public static bool AppExceptionExists(string szExecutable)
9032 {
9033 return TTDLL.TT_Firewall_AppExceptionExists(szExecutable);
9034 }
9044 public static bool AddAppException(string szName, string szExecutable)
9045 {
9046 return TTDLL.TT_Firewall_AddAppException(szName, szExecutable);
9047 }
9057 public static bool RemoveAppException(string szExecutable)
9058 {
9059 return TTDLL.TT_Firewall_RemoveAppException(szExecutable);
9060 }
9061 }
9067 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
9068 public struct ShareWindow
9069 {
9071 public IntPtr hWnd;
9073 public int nWndX;
9075 public int nWndY;
9077 public int nWidth;
9079 public int nHeight;
9081 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
9082 public string szWindowTitle;
9083 }
9084
9088 public class WindowsHelper
9089 {
9092 public static System.IntPtr GetDesktopActiveHWND()
9093 {
9094 return TTDLL.TT_Windows_GetDesktopActiveHWND();
9095 }
9096
9098 public static System.IntPtr GetDesktopHWND()
9099 {
9100 return TTDLL.TT_Windows_GetDesktopHWND();
9101 }
9102
9104 public static bool GetDesktopWindowHWND(int nIndex,
9105 ref System.IntPtr lpHWnd)
9106 {
9107 return TTDLL.TT_Windows_GetDesktopWindowHWND(nIndex, ref lpHWnd);
9108 }
9109
9112 public static bool GetWindow(System.IntPtr hWnd,
9113 ref ShareWindow lpShareWindow)
9114 {
9115 return TTDLL.TT_Windows_GetWindow(hWnd, ref lpShareWindow);
9116 }
9117
9137 public static int DesktopInputKeyTranslate(TTKeyTranslate nTranslate,
9138 DesktopInput[] lpDesktopInputs,
9139 out DesktopInput[] lpTranslatedDesktopInputs)
9140 {
9141 lpTranslatedDesktopInputs = new DesktopInput[lpDesktopInputs.Length];
9142 return TTDLL.TT_DesktopInput_KeyTranslate(nTranslate, lpDesktopInputs,
9143 lpTranslatedDesktopInputs,
9144 lpDesktopInputs.Length);
9145 }
9146
9167 public static int DesktopInputExecute(DesktopInput[] lpDesktopInputs)
9168 {
9169 return TTDLL.TT_DesktopInput_Execute(lpDesktopInputs, lpDesktopInputs.Length);
9170 }
9171
9172 }
9173 }
BearWare.TeamTalkBase.SetSoundInputPreprocess
bool SetSoundInputPreprocess(AudioPreprocessor lpAudioPreprocessor)
Enable sound preprocessor which should be used for processing audio recorded by the sound input devic...
Definition: TeamTalk.cs:5087
BearWare.TeamTalkBase.DBG_SetSoundInputTone
bool DBG_SetSoundInputTone(StreamType uStreamTypes, int nFrequency)
Definition: TeamTalk.cs:8126
BearWare.UserAccount.abusePrevent
AbusePrevention abusePrevent
Properties which can be set to prevent abuse of a server, e.g. limit number of commands issued...
Definition: TeamTalk.cs:2084
BearWare.UserAccount.uUserRights
UserRight uUserRights
A bitmask based on UserRight which specifies the rights the user have who logs onto the server...
Definition: TeamTalk.cs:2057
BearWare.SpeexDSP.nMaxNoiseSuppressDB
int nMaxNoiseSuppressDB
Maximum attenuation of the noise in dB. Negative value! Default value is -30. Value is ignored if bEn...
Definition: TeamTalk.cs:1177
BearWare.BanType
BanType
Way to ban a user from either login or joining a channel.
Definition: TeamTalk.cs:1955
BearWare.TeamTalkBase.InitSoundOutputDevice
bool InitSoundOutputDevice(int nOutputDeviceID)
Initialize the sound output device (for audio playback).
Definition: TeamTalk.cs:4817
BearWare.ChannelType.CHANNEL_PERMANENT
A channel which persists even when the last user leaves the channel.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDIN
A new user logged on to the server.
BearWare.SpeexCodec.nBandmode
int 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.cs:911
BearWare.ClientError.CMDERR_SUCCESS
Command indicating success.
BearWare.WindowsFirewall.Enable
static bool Enable(bool bEnable)
Enable/disable the Windows Firewall.
Definition: TeamTalk.cs:9021
BearWare.VideoCodec.webm_vp8
WebMVP8Codec webm_vp8
Definition: TeamTalk.cs:1639
BearWare.OpusCodec.bVBR
bool bVBR
Enable variable bitrate.
Definition: TeamTalk.cs:1064
BearWare.TTType.__SPEEXVBRCODEC
BearWare.AudioFileFormat.AFF_MP3_128KBIT_FORMAT
BearWare.TTType.__TEXTMESSAGE
BearWare.WindowsMixer.GetWaveInSelected
static int GetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
Get the selected state of a Windows Mixer Wave-In device from the &#39;enum&#39; of devices.
Definition: TeamTalk.cs:8866
BearWare.TeamTalkBase.OnHotKeyToggle
HotKeyToggle OnHotKeyToggle
A hotkey has been acticated or deactivated.
Definition: TeamTalk.cs:8532
BearWare.BanType.BANTYPE_CHANNEL
The ban applies to the channel specified in the szChannel of BearWare.BannedUser. Otherwise the ban a...
BearWare.ClientFlag.CLIENT_STREAM_VIDEO
If set the client is currently streaming the video of a media file. When streaming a video file the C...
BearWare.BitmapFormat.BMP_NONE
Used to denote nothing selected.
BearWare.User.nBufferMSecVoice
int nBufferMSecVoice
The size of the buffer (in msec) to hold voice content.
Definition: TeamTalk.cs:2340
BearWare.WebRTCConstants
Default values for BearWare.WebRTCAudioPreprocessor.
Definition: TeamTalk.cs:1431
BearWare.Channel.bPassword
bool bPassword
Whether password is required to join channel. Read-only property.
Definition: TeamTalk.cs:2525
BearWare.TeamTalkBase.OnCmdUserTextMessage
UserTextMessage OnCmdUserTextMessage
A user has sent a text-message.
Definition: TeamTalk.cs:8338
BearWare.ClientError.INTERR_AUDIOCODEC_INIT_FAILED
Audio codec used by channel failed to initialize. Ensure the settings specified in BearWare...
BearWare.ClientKeepAlive
Control timers for sending keep alive information to the server.
Definition: TeamTalk.cs:2802
BearWare.UserStatistics.nVideoCaptureFramesDropped
long nVideoCaptureFramesDropped
Number of video frames dropped because user application didn&#39;t retrieve video frames in time...
Definition: TeamTalk.cs:2377
BearWare.TTType.__VIDEOCAPTUREDEVICE
BearWare.TeamTalkBase.AcquireUserDesktopWindow
DesktopWindow AcquireUserDesktopWindow(int nUserID)
Get a user&#39;s desktop window (bitmap image).
Definition: TeamTalk.cs:6285
BearWare.ClientEvent.CLIENTEVENT_DESKTOPWINDOW_TRANSFER
Used for tracking when a desktop window has been transmitted to the server.
BearWare.ClientError.CMDERR_MAX_SERVER_USERS_EXCEEDED
Login failed due to maximum number of users on server.
BearWare.SpeexCodec.bStereoPlayback
bool bStereoPlayback
Playback should be done in stereo. Doing so will disable 3d-positioning.
Definition: TeamTalk.cs:933
BearWare.WindowsMixer.GetWaveInMute
static int GetWaveInMute(int nWaveDeviceID)
See if microphone is muted.
Definition: TeamTalk.cs:8930
BearWare.TTType.__SPEEXCODEC
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_JOINED
A user has joined a channel.
BearWare.TeamTalkBase.OnCmdChannelNew
ChannelUpdate OnCmdChannelNew
A new channel has been created.
Definition: TeamTalk.cs:8351
BearWare.SoundSystem
SoundSystem
The supported sound systems.
Definition: TeamTalk.cs:106
BearWare.FileTransferStatus.FILETRANSFER_ERROR
Error during file transfer.
BearWare.TeamTalkBase.SetUserJitterControl
bool SetUserJitterControl(int nUserID, StreamType nStreamType, JitterConfig lpJitterConfig)
Set the configuration for de-jitter measures for a user.
Definition: TeamTalk.cs:7766
BearWare.DesktopProtocol.DESKTOPPROTOCOL_ZLIB_1
Desktop protocol based on ZLIB for image compression and UDP for data transmission.
BearWare.AudioBlock.nSamples
int nSamples
The number of samples in the raw audio array.
Definition: TeamTalk.cs:486
BearWare.EncryptionContext.szPrivateKeyFile
string szPrivateKeyFile
Path to certificate&#39;s private key.
Definition: TeamTalk.cs:2755
BearWare.ChannelType.CHANNEL_OPERATOR_RECVONLY
Only channel operators (and administrators) will receive audio/video/desktop transmissions. Default channel users will only see transmissions from operators and/or administrators.
BearWare.UnionData.nBytesRemain
int nBytesRemain
Definition: TeamTalk.cs:3955
BearWare.SoundSystem.SOUNDSYSTEM_AUDIOUNIT_IOS
Same as SoundSystem.SOUNDSYSTEM_AUDIOUNIT.
BearWare.TeamTalkBase.GetMyUserType
UserType GetMyUserType()
Get the client instance&#39;s user type.
Definition: TeamTalk.cs:7617
BearWare.TTType.__USER
BearWare.AudioConfig.AudioConfig
AudioConfig(bool set_defaults)
Definition: TeamTalk.cs:1608
BearWare.TeamTalkBase.OnUserMediaFileVideo
UserVideoFrame OnUserMediaFileVideo
A new video frame was received from a user.
Definition: TeamTalk.cs:8436
BearWare.UserRight.USERRIGHT_VIEW_ALL_USERS
User can see users in all other channels.
BearWare.TeamTalkBase.ReleaseUserVideoCaptureFrame
bool ReleaseUserVideoCaptureFrame(VideoFrame lpVideoFrame)
Delete a user&#39;s video frame, acquired through TeamTalkBase.AcquireUserVideoCaptureFrame(), so its allocated resources can be released.
Definition: TeamTalk.cs:5765
BearWare.ServerStatistics.nFilesRx
long nFilesRx
The number of bytes for file transmission received by the server.
Definition: TeamTalk.cs:1944
BearWare.ClientError.CMDERR_USER_NOT_FOUND
User not found.
BearWare.TeamTalkBase.OnConnectionFailed
Connection OnConnectionFailed
Failed to connect to server.
Definition: TeamTalk.cs:8161
BearWare.BitmapFormat.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...
BearWare.TTKeyTranslate.TTKEY_TTKEYCODE_TO_WINKEYCODE
Translate from TTKEYCODE to Windows scan-code.
BearWare.VideoFrame
A RGB32 image where the pixels can be accessed directly in an allocated imageBuffer.
Definition: TeamTalk.cs:648
BearWare.AudioFileFormat.AFF_WAVE_FORMAT
Store in PCM 16-bit wave format.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDOUT
A client logged out of the server.
BearWare.SpeexVBRCodec.nBandmode
int 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.cs:946
BearWare.User.nUserData
int nUserData
The nUserData of the user&#39;s BearWare.UserAccount. This field can be use to denote e...
Definition: TeamTalk.cs:2237
BearWare.MediaFileStatus.MFS_ERROR
Error while processing media file.
BearWare.Codec
Codec
The codecs supported.
Definition: TeamTalk.cs:1545
BearWare.WindowsMixer.GetMixerName
static bool GetMixerName(int nMixerIndex, ref string szMixerName)
Get the name of a Windows Mixer based on its name.
Definition: TeamTalk.cs:8749
BearWare.BanType.BANTYPE_NONE
Ban type not set.
BearWare.ClientError.INTERR_SNDOUTPUT_FAILURE
A sound output device failed.
BearWare.SpeexDSPConstants.DEFAULT_AGC_GAINMAXDB
const int DEFAULT_AGC_GAINMAXDB
Definition: TeamTalk.cs:1492
BearWare.ServerProperties.nMaxMediaFileTxPerSecond
int nMaxMediaFileTxPerSecond
The maximum number of bytes per second which the server will allow for media file packets...
Definition: TeamTalk.cs:1855
BearWare.UnionData.channel
Channel channel
Definition: TeamTalk.cs:3935
BearWare.VideoFormat.nHeight
int nHeight
The height in pixels of the video device supported video format.
Definition: TeamTalk.cs:627
BearWare.SpeexDSPConstants.DEFAULT_AGC_ENABLE
const bool DEFAULT_AGC_ENABLE
Definition: TeamTalk.cs:1488
BearWare.TeamTalkBase.StopRecordingMuxedAudioFile
bool StopRecordingMuxedAudioFile(int nChannelID)
Stop recording conversations from a channel to a single file.
Definition: TeamTalk.cs:5556
BearWare.ServerProperties.nMaxTotalTxPerSecond
int nMaxTotalTxPerSecond
The amount of bytes per second which the server will allow for packet forwarding. If this value is ex...
Definition: TeamTalk.cs:1863
BearWare.WindowsMixer.SetWaveInBoost
static bool SetWaveInBoost(int nWaveDeviceID, bool bEnable)
Enable and disable microphone boost.
Definition: TeamTalk.cs:8900
BearWare.ClientError.INTERR_TTMESSAGE_QUEUE_OVERFLOW
BearWare.TTMessage event queue overflowed.
BearWare.SoundDevice.outputSampleRates
int [] outputSampleRates
Supported sample rates by device for playback. A zero value terminates the list of supported sample r...
Definition: TeamTalk.cs:258
BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO
User is allowed to stream video files to channel.
BearWare.WindowsHelper.GetDesktopHWND
static System.IntPtr GetDesktopHWND()
Get the handle (HWND) of the Windows desktop (full desktop).
Definition: TeamTalk.cs:9098
BearWare.TeamTalkBase.ReleaseUserDesktopWindow
bool ReleaseUserDesktopWindow(DesktopWindow lpDesktopWindow)
Release memory allocated by the BearWare.DesktopWindow.
Definition: TeamTalk.cs:6314
BearWare.AudioConfig.nGainLevel
int nGainLevel
Reference gain level to be used by all users.
Definition: TeamTalk.cs:1606
BearWare.TeamTalkBase.OnUserFirstVoiceStreamPacket
UserStreamUpdate OnUserFirstVoiceStreamPacket
The first voice packet of a new voice stream has been received.
Definition: TeamTalk.cs:8416
BearWare.WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL
const int DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL
Definition: TeamTalk.cs:1445
BearWare.WebRTCConstants.DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE
const bool DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE
Definition: TeamTalk.cs:1446
BearWare.SoundDevice.uSoundDeviceFeatures
SoundDeviceFeature uSoundDeviceFeatures
Additional features available for this sound device. The sound device features can be used to enable ...
Definition: TeamTalk.cs:266
BearWare.TeamTalkBase.CloseSoundOutputDevice
bool CloseSoundOutputDevice()
Shutdown the output sound device.
Definition: TeamTalk.cs:4933
BearWare.TTType.__JITTERCONFIG
BearWare.ClientError.CMDERR_LOGINSERVICE_UNAVAILABLE
The login service is currently unavailable.
BearWare.User.nChannelID
int nChannelID
The channel which the user is currently participating in. 0 if none. This value can change as a resul...
Definition: TeamTalk.cs:2256
BearWare.TeamTalkBase.OnConnectionMaxPayloadUpdated
MaxPayloadUpdate OnConnectionMaxPayloadUpdated
The maximum size of the payload put into UDP packets has been updated.
Definition: TeamTalk.cs:8185
BearWare.AudioFileFormat.AFF_MP3_256KBIT_FORMAT
BearWare.TeamTalkBase.GetRootChannelID
int GetRootChannelID()
Get the root channel&#39;s ID.
Definition: TeamTalk.cs:7445
BearWare.TeamTalkBase.Dispose
void Dispose()
Definition: TeamTalk.cs:4302
BearWare.ClientStatistics.nTcpPingTimeMs
int nTcpPingTimeMs
Response time to server on TCP (based on ping/pong sent at a specified interval. Set to -1 if not cur...
Definition: TeamTalk.cs:2886
BearWare.ClientFlag.CLIENT_SNDINPUT_READY
If set the client instance&#39;s sound input device has been initialized, i.e. TeamTalkBase.InitSoundInputDevice() has been called successfully.
BearWare.FileTransferStatus
FileTransferStatus
Status of a file transfer.
Definition: TeamTalk.cs:2676
BearWare.TeamTalkBase.SetSoundInputPreprocess
bool SetSoundInputPreprocess(SpeexDSP lpSpeexDSP)
Enable sound preprocessor which should be used for processing audio recorded by the sound input devic...
Definition: TeamTalk.cs:5059
BearWare.ServerProperties.szMOTD
string szMOTD
The message of the day. Read-only property. Use szMOTDRaw to update this property.
Definition: TeamTalk.cs:1823
BearWare.TeamTalkBase.OnHotKeyTest
HotKeyTest OnHotKeyTest
A button was pressed or released on the user&#39;s keyboard or mouse.
Definition: TeamTalk.cs:8556
BearWare.TeamTalkBase.GetVoiceActivationStopDelay
int GetVoiceActivationStopDelay()
Get the delay of when voice active state should be disabled.
Definition: TeamTalk.cs:5408
BearWare.UnionData.mediafileinfo
MediaFileInfo mediafileinfo
Definition: TeamTalk.cs:3941
BearWare.ClientEvent.CLIENTEVENT_CMD_ERROR
The server rejected a command issued by the local client instance.
BearWare.AudioInputProgress.uElapsedMSec
uint uElapsedMSec
The duration of the audio that has been transmitted.
Definition: TeamTalk.cs:1703
BearWare.OpusCodec.nChannels
int nChannels
Mono = 1 or stereo = 2.
Definition: TeamTalk.cs:1045
BearWare.TeamTalkBase.SetClientKeepAlive
bool SetClientKeepAlive(ClientKeepAlive lpClientKeepAlive)
Update the client instance&#39;s default keep alive settings.
Definition: TeamTalk.cs:6499
BearWare.ServerProperties.nMaxLoginsPerIPAddress
int nMaxLoginsPerIPAddress
The maximum number of users allowed to log in with the same IP-address. 0 means disabled.
Definition: TeamTalk.cs:1842
BearWare.AudioFileFormat.AFF_MP3_32KBIT_FORMAT
BearWare.UserRight.USERRIGHT_MULTI_LOGIN
Allow multiple users to log on to the server with the same BearWare.UserAccount.
BearWare.DesktopInputConstants.DESKTOPINPUT_KEYCODE_IGNORE
const uint DESKTOPINPUT_KEYCODE_IGNORE
Definition: TeamTalk.cs:857
BearWare.UnionData.nStreamID
int nStreamID
Definition: TeamTalk.cs:3957
BearWare.ClientError.CMDERR_UNKNOWN_COMMAND
The server doesn&#39;t support the issued command.
BearWare.UserState.USERSTATE_MUTE_MEDIAFILE
If set the user&#39;s media file playback is muted.
BearWare.TeamTalkBase.SetEncryptionContext
bool SetEncryptionContext(EncryptionContext lpEncryptionContext)
Setup encryption properties prior to Connect().
Definition: TeamTalk.cs:6341
BearWare.AudioConfigConstants.DEFAULT_AGC_GAINLEVEL
const int DEFAULT_AGC_GAINLEVEL
Definition: TeamTalk.cs:1625
BearWare.ClientError.CMDERR_NOT_LOGGEDIN
Client instance has not been authenticated.
BearWare.ClientError
ClientError
Errors which can occur either as a result of client commands or as a result of internal errors...
Definition: TeamTalk.cs:2941
BearWare.User.uLocalSubscriptions
Subscription uLocalSubscriptions
A bitmask of what the local user subscribes to from this user. Invoking TeamTalkBase.DoSubscribe() and TeamTalkBase.DoUnsubscribe() on the local client instance can change this value. Event ClientEvent.CLIENTEVENT_CMD_USER_UPDATE is posted if this value changes.
Definition: TeamTalk.cs:2262
BearWare.ClientError.INTERR_SPEEXDSP_INIT_FAILED
Same as ClientError.INTERR_AUDIOPREPROCESSOR_INIT_FAILED.
BearWare.TeamTalkBase.GetSoundInputPreprocess
bool GetSoundInputPreprocess(ref AudioPreprocessor lpAudioPreprocessor)
Get the sound preprocessor settings which are currently in use for recorded sound input device (voice...
Definition: TeamTalk.cs:5099
BearWare.ClientStatistics.nVoiceBytesSent
long nVoiceBytesSent
Voice data sent (on UDP).
Definition: TeamTalk.cs:2860
BearWare.TeamTalkBase.GetServerProperties
bool GetServerProperties(ref ServerProperties lpServerProperties)
Get the server&#39;s properties.
Definition: TeamTalk.cs:7410
BearWare.UnionData.nPayloadSize
int nPayloadSize
Definition: TeamTalk.cs:3959
BearWare.WindowsMixer.GetWaveOutVolume
static int GetWaveOutVolume(int nWaveDeviceID, MixerControl nControl)
Get the volume of a Windows Mixer Wave-Out device from the &#39;enum&#39; of devices.
Definition: TeamTalk.cs:8843
BearWare.TeamTalkBase.StartRecordingMuxedStreams
bool StartRecordingMuxedStreams(StreamType uStreamTypes, AudioCodec lpAudioCodec, string szAudioFileName, AudioFileFormat uAFF)
Mix multiple BearWare.StreamType into a single audio file.
Definition: TeamTalk.cs:5526
BearWare.VideoCaptureDevice.nVideoFormatsCount
int nVideoFormatsCount
The number of capture formats available in captureFormats array.
Definition: TeamTalk.cs:711
BearWare.DesktopInput.uKeyCode
uint uKeyCode
The key-code (or mouse button) pressed. If used with TeamTalkBase.DesktopInput_Execute() and no key (...
Definition: TeamTalk.cs:825
BearWare.ClientError.CMDERR_INCORRECT_SERVER_PASSWORD
Invalid server password.
BearWare.ClientEvent.CLIENTEVENT_CMD_SUCCESS
The server successfully processed a command issued by the local client instance.
BearWare.TeamTalkBase.DoListBans
int DoListBans(int nChannelID, int nIndex, int nCount)
Issue a command to list the banned users.
Definition: TeamTalk.cs:7338
BearWare.ChannelType.CHANNEL_NO_RECORDING
Don&#39;t allow recording to files in the channel.
BearWare.FileTransfer.bInbound
bool bInbound
TRUE if download and FALSE if upload.
Definition: TeamTalk.cs:2711
BearWare.SoundLevel
An enum encapsulation the minimum, maximum and default sound levels for input and output sound device...
Definition: TeamTalk.cs:390
BearWare.UnionData.filetransfer
FileTransfer filetransfer
Definition: TeamTalk.cs:3939
BearWare.SpeexDSP.nMaxDecDBSec
int nMaxDecDBSec
Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second). Negative value! Default is -40. Value is ignored if bEnableAGC is FALSE.
Definition: TeamTalk.cs:1163
BearWare.SpeexCodec.nTxIntervalMSec
int nTxIntervalMSec
Milliseconds of audio data before each transmission.
Definition: TeamTalk.cs:926
BearWare.TTType.__USERSTATISTICS
BearWare.WebRTCAudioPreprocessor.Preamplifier
Configuration of WebRTC pre-amplifier.
Definition: TeamTalk.cs:1273
BearWare.TeamTalkBase.TT_TRANSMITQUEUE_MAX
const int TT_TRANSMITQUEUE_MAX
Definition: TeamTalk.cs:4183
BearWare.UserAccount.szUsername
string szUsername
The account&#39;s username.
Definition: TeamTalk.cs:2048
BearWare.ClientError.INTERR_SNDINPUT_FAILURE
A sound input device failed.
BearWare.User.nStoppedDelayMediaFile
int nStoppedDelayMediaFile
The delay of when a user should no longer be considered playing audio of a media file.
Definition: TeamTalk.cs:2312
BearWare.MediaFilePlayback.uOffsetMSec
uint uOffsetMSec
Offset in milliseconds in the media file where to start playback. Pass BearWare.TeamTalkBase.TT_MEDIAPLAYBACK_OFFSET_IGNORE to ignore this value when using TeamTalkBase.UpdateLocalPlayback() or TeamTalkBase.UpdateStreamingMediaFileToChannel(). uOffsetMSec must be less than uDurationMSec in BearWare.MediaFileInfo.
Definition: TeamTalk.cs:1684
BearWare.TeamTalkBase.OnUserStateChange
UserUpdate OnUserStateChange
A user&#39;s state has been updated.
Definition: TeamTalk.cs:8421
BearWare.DesktopWindow.nFrameBufferSize
int nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer. Typically nBytesPerLine * nHeight...
Definition: TeamTalk.cs:786
BearWare.TTType.__AUDIOPREPROCESSOR
BearWare.BitmapFormat
BitmapFormat
The bitmap format used for a BearWare.DesktopWindow.
Definition: TeamTalk.cs:721
BearWare.BitmapFormat.BMP_RGB16_555
The bitmap is a 16-bit colored bitmap. The maximum pixels.
BearWare.VideoFrame.frameBuffer
System.IntPtr frameBuffer
A buffer allocated internally by TeamTalkBase.
Definition: TeamTalk.cs:668
BearWare.OpusCodec.bVBRConstraint
bool bVBRConstraint
Enable constrained VBR. bVBR must be enabled to enable this.
Definition: TeamTalk.cs:1067
BearWare.TeamTalkBase.DoUnBanUser
int DoUnBanUser(string szIPAddress, int nChannelID)
Unban the user with the specified IP-address.
Definition: TeamTalk.cs:7299
BearWare.TeamTalkBase.Enable3DSoundPositioning
bool Enable3DSoundPositioning(bool bEnable)
Enable automatically position users using 3D-sound.
Definition: TeamTalk.cs:5145
BearWare.DesktopInput.uKeyState
DesktopKeyState uKeyState
The state of the key (or mouse button) pressed, i.e. if it&#39;s up or down.
Definition: TeamTalk.cs:828
BearWare.UserState.USERSTATE_MEDIAFILE_VIDEO
If set the user currently streams a video file. If this flag changes the event ClientEvent.CLIENTEVENT_USER_STATECHANGE is posted.
BearWare.UserRight.USERRIGHT_BAN_USERS
User can add and remove banned users.
BearWare.TeamTalkBase.OnUserDesktopInput
UserDesktopInput OnUserDesktopInput
Desktop input (mouse or keyboard input) has been received from a user.
Definition: TeamTalk.cs:8473
BearWare.TeamTalkBase.StartSoundLoopbackTest
static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID, int nSampleRate, int nChannels, bool bDuplexMode, AudioPreprocessor lpAudioPreprocessor, BearWare.SoundDeviceEffects lpSoundDeviceEffects)
Perform a record and playback test of specified sound devices along with an audio configuration and a...
Definition: TeamTalk.cs:4702
BearWare.TeamTalkBase.OnInternalError
ErrorOccured OnInternalError
A internal error occured.
Definition: TeamTalk.cs:8505
BearWare.TeamTalkBase.SetUserMediaStorageDir
bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars, AudioFileFormat uAFF)
Store user&#39;s audio to disk.
Definition: TeamTalk.cs:7860
BearWare.ClientEvent.CLIENTEVENT_CMD_CHANNEL_REMOVE
A channel has been removed.
BearWare.ServerProperties.szMOTDRaw
string szMOTDRaw
The message of the day including variables. The result of the szMOTDRaw string will be displayed in s...
Definition: TeamTalk.cs:1833
BearWare.DesktopInput.uMousePosX
ushort uMousePosX
The X coordinate of the mouse. If used with WindowsHelper.Execute() and the mouse position should be ...
Definition: TeamTalk.cs:815
BearWare.TTMessage.nClientEvent
ClientEvent nClientEvent
The event&#39;s message number.
Definition: TeamTalk.cs:3876
BearWare.SoundDevice.nSoundSystem
SoundSystem nSoundSystem
The sound system used by the sound device.
Definition: TeamTalk.cs:215
BearWare.TTType.__BANNEDUSER
BearWare.TTType.__AUDIOCONFIG
BearWare.TeamTalkBase.StopLocalPlayback
bool StopLocalPlayback(int nPlaybackSessionID)
Definition: TeamTalk.cs:5966
BearWare.SpeexVBRCodec.nQuality
int nQuality
A value from 0-10. If nBitRate is non-zero it will override this value.
Definition: TeamTalk.cs:949
BearWare.TeamTalkBase.GetSoundInputPreprocess
bool GetSoundInputPreprocess(ref SpeexDSP lpSpeexDSP)
Get the sound preprocessor settings which are currently in use for recorded sound input device (voice...
Definition: TeamTalk.cs:5072
BearWare.UserType.USERTYPE_DEFAULT
A default user who can join channels.
BearWare.TeamTalkBase.SendDesktopInput
bool SendDesktopInput(int nUserID, DesktopInput[] lpDesktopInputs)
Send a mouse or keyboard event to a shared desktop window.
Definition: TeamTalk.cs:6256
BearWare.TextMessage.nFromUserID
int nFromUserID
Will be set automatically on outgoing message.
Definition: TeamTalk.cs:2434
BearWare.WindowsMixer.GetWaveInControlCount
static int GetWaveInControlCount(int nWaveDeviceID)
Get the number of Windows Mixer Wave-In devices.
Definition: TeamTalk.cs:8942
BearWare.TeamTalkBase.OnUserDesktopCursor
UserDesktopInput OnUserDesktopCursor
A user has sent the position of the mouse cursor.
Definition: TeamTalk.cs:8466
BearWare.TeamTalkBase.SendDesktopWindow
int SendDesktopWindow(DesktopWindow lpDesktopWindow, BitmapFormat nConvertBmpFormat)
Transmit a desktop window (bitmap) to users in the same channel.
Definition: TeamTalk.cs:6080
BearWare.ClientFlag.CLIENT_VIDEOCAPTURE_READY
If set the client instance&#39;s video device has been initialized, i.e. TeamTalkBase.InitVideoCaptureDevice() has been called successfuly.
BearWare.ClientError.CMDERR_MAX_CHANNEL_USERS_EXCEEDED
Cannot join channel because it has maximum number of users.
BearWare.ShareWindow
A struct which describes the properties of a window which can be shared.
Definition: TeamTalk.cs:9068
BearWare.TeamTalkBase.SetSoundDeviceEffects
bool SetSoundDeviceEffects(SoundDeviceEffects lpSoundDeviceEffect)
Set up audio effects on a sound device.
Definition: TeamTalk.cs:4982
BearWare.TeamTalkBase.GetChannel
bool GetChannel(int nChannelID, ref Channel lpChannel)
Get the channel with a specific ID.
Definition: TeamTalk.cs:7470
BearWare.TeamTalkBase.GetMyUserData
int GetMyUserData()
If an account was used in TeamTalkBase.DoLogin() then this value will return the nUserData from the B...
Definition: TeamTalk.cs:7647
BearWare.TeamTalkBase.PaintDesktopWindowEx
bool PaintDesktopWindowEx(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight, int XSrc, int YSrc, int nSrcWidth, int nSrcHeight)
Paint user&#39;s desktop window using a Windows&#39; DC (device context).
Definition: TeamTalk.cs:6199
BearWare.ServerProperties.nMaxVideoCaptureTxPerSecond
int nMaxVideoCaptureTxPerSecond
The maximum number of bytes per second which the server will allow for video input packets...
Definition: TeamTalk.cs:1851
BearWare.TeamTalkBase.IsChannelOperator
bool IsChannelOperator(int nUserID, int nChannelID)
Check whether user is operator of a channel.
Definition: TeamTalk.cs:7550
BearWare.UserAccount.szPassword
string szPassword
The account&#39;s password.
Definition: TeamTalk.cs:2051
BearWare.StreamType.STREAMTYPE_CLASSROOM_ALL
Shortcut to allow voice, media files, desktop, webcamera and channel messages.
BearWare.SoundDeviceEffects
Set up audio effects supported by the sound device.
Definition: TeamTalk.cs:278
BearWare.TextMessage
A struct containing the properties of a text message sent by a user.
Definition: TeamTalk.cs:2429
BearWare.MediaFileStatus.MFS_PLAYING
Playing media file with updated uElapsedMSec of BearWare.MediaFileInfo.
BearWare.MediaFileStatus.MFS_STARTED
Started processing media file.
BearWare.TeamTalkBase.GetServerUsers
bool GetServerUsers(out User[] lpUsers)
Get all the users on the server.
Definition: TeamTalk.cs:7424
BearWare.WindowsFirewall.IsEnabled
static bool IsEnabled()
Check if the Windows Firewall is currently enabled.
Definition: TeamTalk.cs:9008
BearWare.AudioBlock
An audio block containing the raw audio from a user who was talking.
Definition: TeamTalk.cs:471
BearWare.Subscription.SUBSCRIBE_NONE
No subscriptions.
BearWare.TeamTalkBase.InitLocalPlayback
int InitLocalPlayback(string szMediaFilePath, MediaFilePlayback lpMediaFilePlayback)
Play media file using settings from TeamTalkBase instance.
Definition: TeamTalk.cs:5936
BearWare.ClientEvent.CLIENTEVENT_LOCAL_MEDIAFILE
Media file played locally is procesing.
BearWare.Channel.nParentID
int nParentID
Parent channel ID. 0 means no parent channel, i.e. it&#39;s the root channel.
Definition: TeamTalk.cs:2508
BearWare.TeamTalkBase.InitVideoCaptureDevice
bool InitVideoCaptureDevice(string szDeviceID, VideoFormat lpVideoFormat)
Initialize a video capture device.
Definition: TeamTalk.cs:5636
BearWare.TeamTalkBase.CloseSoundDuplexDevices
bool CloseSoundDuplexDevices()
Shut down sound devices running in duplex mode.
Definition: TeamTalk.cs:4943
System
BearWare.TeamTalkBase.OnUserVideoCapture
UserVideoFrame OnUserVideoCapture
A new video frame was received from a user.
Definition: TeamTalk.cs:8430
BearWare.RemoteFile.szUsername
string szUsername
Username of the person who uploaded the files.
Definition: TeamTalk.cs:2731
BearWare.UserRight.USERRIGHT_LOCKED_NICKNAME
User&#39;s nick name is locked. TeamTalkBase.DoChangeNickname() cannot be used and TeamTalkBase.DoLogin() will ignore szNickname parameter.
BearWare.SpeexVBRCodec.nTxIntervalMSec
int nTxIntervalMSec
Milliseconds of audio data before each transmission.
Definition: TeamTalk.cs:973
BearWare.BanType.BANTYPE_IPADDR
Ban szIPAddress specified in BearWare.BannedUser.
BearWare.StreamType.STREAMTYPE_DESKTOP
Desktop window stream type which is a window (or bitmap) being transmitted.
BearWare.UserRight.USERRIGHT_RECORD_VOICE
User can record voice in all channels. Even channels with ChannelType.CHANNEL_NO_RECORDING.
BearWare.UserRight.USERRIGHT_VIEW_HIDDEN_CHANNELS
User can see hidden channels, ChannelType.CHANNEL_HIDDEN.
BearWare.AbusePrevention.nCommandsLimit
int nCommandsLimit
Limit number of commands a user can send to the server.
Definition: TeamTalk.cs:2030
BearWare.MediaFilePlayback
Properties for initializing or updating a file for media streaming.
Definition: TeamTalk.cs:1678
BearWare.UserType
UserType
The types of users supported.
Definition: TeamTalk.cs:1999
BearWare.DesktopKeyState.DESKTOPKEYSTATE_UP
The key is released.
BearWare.ClientEvent.CLIENTEVENT_CMD_SERVERSTATISTICS
Server statistics available.
BearWare.WindowsFirewall
A wrapper for the Windows Firewall API.
Definition: TeamTalk.cs:9001
BearWare.TTType.__AUDIOFORMAT
BearWare.SoundSystem.SOUNDSYSTEM_WASAPI
Windows Audio Session API (WASAPI). Should be used on Windows Vista/7/8/10.
BearWare.Subscription.SUBSCRIBE_INTERCEPT_VOICE
Intercept all voice sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this...
BearWare.TeamTalk5Pro
Class used to load TeamTalk5Pro.dll and instantiate a TeamTalk client in TeamTalk 5 SDK Professional ...
Definition: TeamTalk.cs:8658
BearWare.TextMsgType.MSGTYPE_CUSTOM
A custom user to user text message. Works the same way as TextMsgType TextMsgType.MSGTYPE_USER.
BearWare.FourCC.FOURCC_RGB32
The image format with the highest bandwidth usage. A 640x480 pixel images takes up 1...
BearWare.TeamTalkBase.CloseSoundLoopbackTest
static bool CloseSoundLoopbackTest(IntPtr lpTTSoundLoop)
Stop recorder and playback test.
Definition: TeamTalk.cs:4717
BearWare.ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDOUT
The client instance logged out of the server.
BearWare.TeamTalkBase.UpdateStreamingMediaFileToChannel
bool UpdateStreamingMediaFileToChannel(MediaFilePlayback lpMediaFilePlayback, VideoCodec lpVideoCodec)
Update active media file being streamed to channel.
Definition: TeamTalk.cs:5894
BearWare.ClientKeepAlive.nUdpKeepAliveIntervalMSec
int nUdpKeepAliveIntervalMSec
Client instance&#39;s interval between sending UDP keep alive packets. The UDP keep alive packets are use...
Definition: TeamTalk.cs:2824
BearWare.WebMVP8Codec.nEncodeDeadline
uint nEncodeDeadline
Time that should be spent on encoding a frame.
Definition: TeamTalk.cs:1525
BearWare.ClientEvent.CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET
The first voice packet of a new voice stream has been received.
BearWare.TeamTalkBase.DoChannelOp
int DoChannelOp(int nUserID, int nChannelID, bool bMakeOperator)
Make another user operator of a channel.
Definition: TeamTalk.cs:6787
BearWare.TTType.__STREAMTYPE
BearWare.TeamTalkBase.GetSoundInputGainLevel
int GetSoundInputGainLevel()
Get voice gain level of outgoing audio.
Definition: TeamTalk.cs:5039
BearWare.ClientError.CMDERR_ALREADY_LOGGEDIN
Already logged in.
BearWare.BannedUser.szUsername
string szUsername
Username of banned user.
Definition: TeamTalk.cs:1990
BearWare.TeamTalkBase.CloseSoundInputDevice
bool CloseSoundInputDevice()
Shutdown the input sound device.
Definition: TeamTalk.cs:4911
BearWare.FileTransfer.nStatus
FileTransferStatus nStatus
Status of file transfer.
Definition: TeamTalk.cs:2695
BearWare.SpeexDSPConstants.DEFAULT_AGC_GAINLEVEL
const int DEFAULT_AGC_GAINLEVEL
Definition: TeamTalk.cs:1489
BearWare.TeamTalkBase.ConnectEx
bool ConnectEx(string szHostAddress, int nTcpPort, int nUdpPort, string szBindIPAddr, int nLocalTcpPort, int nLocalUdpPort, bool bEncrypted)
Bind to specific IP-address prior to connecting to server.
Definition: TeamTalk.cs:6441
BearWare.ClientKeepAlive.nUdpConnectRTXMSec
int nUdpConnectRTXMSec
Client instance&#39;s interval for retransmitting UDP connect packets. UDP connect packets are only sent ...
Definition: TeamTalk.cs:2837
BearWare.TeamTalkBase.SetUserStereo
bool SetUserStereo(int nUserID, StreamType nStreamType, bool bLeftSpeaker, bool bRightSpeaker)
Set whether a user should speak in the left, right or both speakers. This function only works if Bear...
Definition: TeamTalk.cs:7821
BearWare.MixerControl
MixerControl
The Windows mixer controls which can be queried by the BearWare.WindowsMixer class.
Definition: TeamTalk.cs:8717
BearWare.DesktopWindow
A struct containing the properties of a shared desktop window.
Definition: TeamTalk.cs:762
BearWare.MediaFilePlayback.bPaused
bool bPaused
Start or pause media file playback.
Definition: TeamTalk.cs:1686
BearWare.AudioPreprocessorType.SPEEXDSP_AUDIOPREPROCESSOR
Use the BearWare.SpeexDSP audio preprocessor.
BearWare.ServerStatistics.nDesktopBytesRX
long nDesktopBytesRX
The number of bytes in desktop packets received by the server from clients.
Definition: TeamTalk.cs:1934
BearWare.FileTransfer.szRemoteFileName
string szRemoteFileName
The filename in the channel.
Definition: TeamTalk.cs:2705
BearWare.TextMessage.szMessage
string szMessage
The actual text message. The message can be multi-line (include EOL)
Definition: TeamTalk.cs:2446
BearWare.OpusCodec.nComplexity
int nComplexity
Complexity of encoding (affects CPU usage). Value from 0-10.
Definition: TeamTalk.cs:1052
BearWare.TeamTalkBase.OnCmdUserJoinedChannel
UserUpdate OnCmdUserJoinedChannel
A user has joined a channel.
Definition: TeamTalk.cs:8319
BearWare.TeamTalkBase.GetServerChannels
bool GetServerChannels(out Channel[] lpChannels)
Get all the channels on the server.
Definition: TeamTalk.cs:7560
BearWare.ServerProperties.bAutoSave
bool bAutoSave
Whether the server automatically saves changes.
Definition: TeamTalk.cs:1865
BearWare.UnionData.user
User user
Definition: TeamTalk.cs:3949
BearWare.ClientEvent.CLIENTEVENT_CMD_SERVER_UPDATE
Server has updated its settings (server name, MOTD, etc.)
BearWare.UnionData.clienterrormsg
ClientErrorMsg clienterrormsg
Definition: TeamTalk.cs:3933
BearWare.TeamTalk5Pro.TeamTalk5Pro
TeamTalk5Pro(bool poll_based)
Simply calls TeamTalkBase.TeamTalkBase()
Definition: TeamTalk.cs:8664
BearWare.Subscription.SUBSCRIBE_INTERCEPT_MEDIAFILE
Intercept all media file data sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this...
BearWare.WebRTCAudioPreprocessor.NoiseSuppression.nLevel
int nLevel
Noise suppression level. 0 = Low, 1 = Moderate, 2 = High, 3 = VeryHigh. Default: 1.
Definition: TeamTalk.cs:1306
BearWare.TeamTalkBase.CloseVideoCaptureDevice
bool CloseVideoCaptureDevice()
Close a video capture device.
Definition: TeamTalk.cs:5645
BearWare.TextMsgType.MSGTYPE_USER
A User to user text message. A message of this type can be sent across channels.
BearWare.DesktopWindow.nSessionID
int nSessionID
The ID of the session which the bitmap belongs to. If the session ID changes it means the user has st...
Definition: TeamTalk.cs:779
BearWare.UserState
UserState
The possible states for a user. Used for BearWare.User&#39;s uUserState variable.
Definition: TeamTalk.cs:2176
BearWare.ServerStatistics.nMediaFileBytesRX
long nMediaFileBytesRX
The number of bytes in media file packets received by the server from clients.
Definition: TeamTalk.cs:1928
BearWare.Codec.SPEEX_VBR_CODEC
Speex audio codec in VBR mode, http://www.speex.org.
BearWare.TeamTalk5.TeamTalk5
TeamTalk5(bool poll_based)
Simply calls TeamTalkBase.TeamTalkBase()
Definition: TeamTalk.cs:8647
BearWare.ServerProperties.nMaxLoginAttempts
int nMaxLoginAttempts
The maximum number of logins with wrong password before banning user&#39;s IP-address.
Definition: TeamTalk.cs:1839
BearWare.TeamTalkBase.HotKey_IsActive
int HotKey_IsActive(int nHotKeyID)
Check whether hotkey is active.
Definition: TeamTalk.cs:8073
BearWare.WebRTCAudioPreprocessor.Preamplifier.fFixedGainFactor
float fFixedGainFactor
Gain factor. Default: 1.
Definition: TeamTalk.cs:1279
BearWare.DesktopInputConstants
Constants for BearWare.DesktopInput.
Definition: TeamTalk.cs:848
BearWare.RemoteFile.nFileID
int nFileID
The ID identifying the file.
Definition: TeamTalk.cs:2723
BearWare.TeamTalkBase.SetUserMediaStorageDir
bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars, AudioFileFormat uAFF, int nStopRecordingExtraDelayMSec)
Store user&#39;s audio to disk.
Definition: TeamTalk.cs:7890
BearWare.TeamTalkBase.OnConnectionSuccess
Connection OnConnectionSuccess
Connected successfully to the server.
Definition: TeamTalk.cs:8153
BearWare.OpusCodec.nBitRate
int nBitRate
Bitrate for encoded audio. Should be between BearWare.OpusConstants.OPUS_MIN_BITRATE and BearWare...
Definition: TeamTalk.cs:1062
BearWare.BannedUser.szNickname
string szNickname
Nickname of banned user. Read-only property.
Definition: TeamTalk.cs:1987
BearWare.ClientError.CMDERR_CHANNEL_BANNED
Banned from joining a channel.
BearWare.User.szIPAddress
string szIPAddress
The user&#39;s IP-address. This value is set by the server.
Definition: TeamTalk.cs:2244
BearWare.FileTransferStatus.FILETRANSFER_FINISHED
File transfer finished.
BearWare.TeamTalkBase.ReleaseUserMediaVideoFrame
bool ReleaseUserMediaVideoFrame(VideoFrame lpVideoFrame)
Delete a user&#39;s video frame, acquired through TeamTalkBase.AcquireUserMediaVideoFrame(), so its allocated resources can be released.
Definition: TeamTalk.cs:6025
BearWare.TeamTalkBase.StopRecordingMuxedAudioFile
bool StopRecordingMuxedAudioFile()
Stop an active muxed audio recording.
Definition: TeamTalk.cs:5545
BearWare.ServerStatistics.nVoiceBytesTX
long nVoiceBytesTX
The number of bytes in audio packets sent from the server to clients.
Definition: TeamTalk.cs:1913
BearWare.ClientError.CMDERR_BAN_NOT_FOUND
Banned IP-address does not exist.
BearWare.OpusCodec.nTxIntervalMSec
int nTxIntervalMSec
Duration of audio before each transmission. Minimum is 2 msec. Recommended is 40 msec. Maximum is 500 msec.
Definition: TeamTalk.cs:1074
BearWare.SoundSystem.SOUNDSYSTEM_ALSA
Advanced Linux Sound Architecture (ALSA). Should be used on Linux.
BearWare.TeamTalkBase.DoLogin
int DoLogin(string szNickname, string szUsername, string szPassword)
Same as DologinEx() but without the option to specify szClientName. Kept for backwards compatibility...
Definition: TeamTalk.cs:6552
BearWare.AudioCodec.opus
OpusCodec opus
Opus codec settings if nCodec is OPUS_CODEC.
Definition: TeamTalk.cs:1582
BearWare.ClientEvent.CLIENTEVENT_CMD_FILE_NEW
A new file is added to a channel.
BearWare.TeamTalkBase.PaintDesktopWindow
bool PaintDesktopWindow(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight)
Paint user&#39;s desktop window using a Windows&#39; DC (device context).
Definition: TeamTalk.cs:6157
BearWare.StreamType.STREAMTYPE_DESKTOPINPUT
Desktop input stream type which is keyboard or mouse input being transmitted.
BearWare.TeamTalkBase.OnFileTransfer
FileTransferUpdate OnFileTransfer
A file transfer is processing.
Definition: TeamTalk.cs:8574
BearWare.VideoCodec.nCodec
Codec nCodec
Specifies member holds the codec settings. So far there is only one video codec to choose from...
Definition: TeamTalk.cs:1637
BearWare.UserStatistics.nMediaFileAudioPacketsLost
long nMediaFileAudioPacketsLost
Number of media file audio packets lost from user.
Definition: TeamTalk.cs:2381
BearWare.FileTransfer.nFileSize
long nFileSize
The size of the file being transferred.
Definition: TeamTalk.cs:2707
BearWare.ClientFlag.CLIENT_SNDINOUTPUT_DUPLEX
If set the client instance is running in sound duplex mode where multiple audio output streams are mi...
BearWare.SoundDeviceFeature
SoundDeviceFeature
Features available on a sound device. Checkout uSoundDeviceFeatures on BearWare.SoundDevice.
Definition: TeamTalk.cs:162
BearWare.SoundDevice
A struct containing the properties of a sound device for either playback or recording.
Definition: TeamTalk.cs:206
BearWare.AudioConfig.bEnableAGC
bool bEnableAGC
Users should enable automatic gain control.
Definition: TeamTalk.cs:1603
BearWare.TeamTalkBase.DoDeleteUserAccount
int DoDeleteUserAccount(string szUsername)
Issue command to delete a user account on the server.
Definition: TeamTalk.cs:7179
BearWare.TeamTalkBase.Palette_GetColorTable
static System.Drawing.Color Palette_GetColorTable(BitmapFormat nBmpPalette, int nIndex)
Get RGB values of the palette for the bitmap format.
Definition: TeamTalk.cs:6114
BearWare.User.szStatusMsg
string szStatusMsg
The user&#39;s current status message. Invoke TeamTalkBase.DoChangeStatus() to change this value...
Definition: TeamTalk.cs:2285
BearWare.TeamTalkBase.HotKey_GetKeyString
bool HotKey_GetKeyString(int nVKCode, ref string szKeyName)
Get a string description of the virtual-key code.
Definition: TeamTalk.cs:8115
BearWare.UserRight.USERRIGHT_TRANSMIT_DESKTOPINPUT
User is allowed to forward desktop input packets through server.
BearWare.TeamTalkBase.OnCmdMyselfKicked
MyselfKicked OnCmdMyselfKicked
The client instance was kicked from a channel.
Definition: TeamTalk.cs:8277
BearWare.TTType.__WEBRTCAUDIOPREPROCESSOR
BearWare.AudioBlock.lpRawAudio
System.IntPtr lpRawAudio
The raw audio in 16-bit integer format array. The size of the array in bytes is sizeof(short) * nSamp...
Definition: TeamTalk.cs:484
BearWare.TeamTalkBase.GetClientKeepAlive
bool GetClientKeepAlive(ref ClientKeepAlive lpClientKeepAlive)
Get the client instance&#39;s current keep alive settings.
Definition: TeamTalk.cs:6510
BearWare.TeamTalkBase.TT_VIDEOFORMATS_MAX
const int TT_VIDEOFORMATS_MAX
Definition: TeamTalk.cs:4103
BearWare.UserStatistics.nMediaFileAudioPacketsRecv
long nMediaFileAudioPacketsRecv
Number of media file audio packets received from user.
Definition: TeamTalk.cs:2379
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_AEC
The BearWare.SoundDevice can enable Acoustic Echo Canceler (AEC). Enable AEC use property bEnableAEC ...
BearWare.UnionData.serverproperties
ServerProperties serverproperties
Definition: TeamTalk.cs:3945
BearWare.AudioConfig
Audio configuration for clients in a channel.
Definition: TeamTalk.cs:1599
BearWare.FourCC.FOURCC_YUY2
Image format where a 640x480 pixel images takes up 614.400 bytes.
BearWare.AudioFileFormat.AFF_MP3_16KBIT_FORMAT
Store in MP3-format.
BearWare.ServerProperties.nLoginDelayMSec
int nLoginDelayMSec
Number of msec before an IP-address can make another login attempt. If less than this amount then Tea...
Definition: TeamTalk.cs:1887
BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE
User is allowed to media files to channel.
BearWare.Codec.WEBM_VP8_CODEC
WebM video codec.
BearWare.TeamTalkBase.DoChangeNickname
int DoChangeNickname(string szNewNick)
Change the client instance&#39;s nick name.
Definition: TeamTalk.cs:6718
BearWare.TeamTalkBase.GetFileTransferInfo
bool GetFileTransferInfo(int nTransferID, ref FileTransfer lpFileTransfer)
Get information about an active file transfer.
Definition: TeamTalk.cs:7992
BearWare.UserStatistics.nMediaFileVideoFramesDropped
long nMediaFileVideoFramesDropped
Number of media file video frames dropped because user application didn&#39;t retrieve video frames in ti...
Definition: TeamTalk.cs:2392
BearWare.WebMVP8CodecConstants
Definition: TeamTalk.cs:1528
BearWare.TeamTalkBase.PaintVideoFrame
bool PaintVideoFrame(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight, ref VideoFrame lpVideoFrame)
Paint user&#39;s video frame using a Windows&#39; DC (device context).
Definition: TeamTalk.cs:5663
BearWare.ClientStatistics.nVoiceBytesRecv
long nVoiceBytesRecv
Voice data received (on UDP).
Definition: TeamTalk.cs:2862
BearWare.TeamTalkBase.StartStreamingMediaFileToChannel
bool StartStreamingMediaFileToChannel(string szMediaFilePath, VideoCodec lpVideoCodec)
Stream media file to channel, e.g. avi-, wav- or MP3-file.
Definition: TeamTalk.cs:5833
BearWare.ClientFlag.CLIENT_TX_DESKTOP
If set the client instance is currently transmitting a desktop window. A desktop window update is iss...
BearWare.TTType.__SERVERSTATISTICS
BearWare.ChannelType.CHANNEL_CLASSROOM
Voice and video transmission in the channel is controlled by a channel operator.
BearWare.TeamTalkBase.OnCmdUserUpdate
UserUpdate OnCmdUserUpdate
User changed properties.
Definition: TeamTalk.cs:8313
BearWare.ClientError.CMDERR_FILETRANSFER_NOT_FOUND
File transfer doesn&#39;t exists.
BearWare.TTMessage.DataToObject
object DataToObject()
Definition: TeamTalk.cs:3887
BearWare.MediaFileStatus.MFS_PAUSED
Paused processing of media file.
BearWare.TTType.__VIDEOFRAME
BearWare.SpeexDSP.nEchoSuppress
int nEchoSuppress
Set maximum attenuation of the residual echo in dB (negative number). Default is -40. Value is ignored if bEnableEchoCancellation is FALSE.
Definition: TeamTalk.cs:1202
BearWare.SoundSystem.SOUNDSYSTEM_AUDIOUNIT
iOS sound API.
BearWare.SpeexDSP.nMaxIncDBSec
int nMaxIncDBSec
Used so volume should not be amplified too quickly (maximal gain increase in dB/second). Default is 12.
Definition: TeamTalk.cs:1157
BearWare.SoundDevice.nWaveDeviceID
int nWaveDeviceID
A Windows specific ID to the sound device.
Definition: TeamTalk.cs:241
BearWare.UserAccount.uUserType
UserType uUserType
A bitmask of the type of user based on UserType.
Definition: TeamTalk.cs:2053
BearWare.Channel.transmitUsers
int [] transmitUsers
List of users who can transmit in a channel.
Definition: TeamTalk.cs:2601
BearWare.TeamTalkBase.DoQueryServerStats
int DoQueryServerStats()
Get the server&#39;s current statistics.
Definition: TeamTalk.cs:7379
BearWare.UserStatistics.nVideoCaptureFramesLost
long nVideoCaptureFramesLost
Video frames which couldn&#39;t be shown because packets were lost.
Definition: TeamTalk.cs:2374
BearWare.JitterConfig
Configuration parameters for the Jitter Buffer.
Definition: TeamTalk.cs:2913
BearWare.WebRTCConstants.DEFAULT_WEBRTC_SAT_PROT_ENABLE
const bool DEFAULT_WEBRTC_SAT_PROT_ENABLE
Definition: TeamTalk.cs:1439
BearWare.VideoCaptureDevice.szDeviceID
string szDeviceID
A string identifying the device.
Definition: TeamTalk.cs:688
BearWare.DesktopWindow.nHeight
int nHeight
The height in pixels of the bitmap.
Definition: TeamTalk.cs:767
BearWare.TTType.__CLIENTKEEPALIVE
BearWare.TTType
TTType
Definition: TeamTalk.cs:3814
BearWare.ServerProperties.nMaxVoiceTxPerSecond
int nMaxVoiceTxPerSecond
The maximum number of bytes per second which the server will allow for voice packets. If this value is exceeded the server will start dropping audio packets. 0 = disabled.
Definition: TeamTalk.cs:1846
BearWare.TeamTalkBase.GetChannelPath
bool GetChannelPath(int nChannelID, ref string szChannelPath)
Get the channel&#39;s path. Channels are separated by &#39;/&#39;.
Definition: TeamTalk.cs:7480
BearWare.TeamTalkBase.DoLogout
int DoLogout()
Logout of the server.
Definition: TeamTalk.cs:6604
BearWare.ClientFlag.CLIENT_TX_VOICE
If set the client instance is currently transmitting audio.
BearWare.Channel.RemoveTransmitUser
void RemoveTransmitUser(int nUserID, StreamType uStreamType)
Helper function for removing a StreamType for a user in transmitUsers.
Definition: TeamTalk.cs:2649
BearWare.SpeexDSP.bEnableEchoCancellation
bool bEnableEchoCancellation
Speex DSP is used for specifying how recorded audio from a sound input device should be preprocessed ...
Definition: TeamTalk.cs:1197
BearWare.MediaFileInfo.uDurationMSec
uint uDurationMSec
The duration of the media file in miliseconds.
Definition: TeamTalk.cs:1665
BearWare.UserRight.USERRIGHT_TRANSMIT_DESKTOP
User is allowed to forward desktop packets through server.
BearWare.TeamTalkBase.OnCmdChannelRemove
ChannelUpdate OnCmdChannelRemove
A channel has been removed. Event handler for ClientEvent.CLIENTEVENT_CMD_CHANNEL_REMOVE.
Definition: TeamTalk.cs:8362
BearWare.TeamTalkBase.GetSoundInputLevel
int GetSoundInputLevel()
Get the volume level of the current recorded audio.
Definition: TeamTalk.cs:5010
BearWare.ClientError.CMDERR_OPENFILE_FAILED
Server failed to open file.
BearWare.DesktopKeyState
DesktopKeyState
The state of a key (or mouse button), i.e. if it&#39;s pressed or released.
Definition: TeamTalk.cs:792
BearWare.ClientEvent.CLIENTEVENT_CON_SUCCESS
Connected successfully to the server.
BearWare.TTType.__VIDEOCODEC
BearWare.BanType.BANTYPE_USERNAME
Ban szUsername specified in BearWare.BannedUser.
BearWare.StreamType.STREAMTYPE_VOICE
Voice stream type which is audio recorded from a sound input device.
BearWare.ClientStatistics.nUdpBytesSent
long nUdpBytesSent
Bytes sent on UDP.
Definition: TeamTalk.cs:2856
BearWare.TeamTalkBase.InitSoundInputDevice
bool InitSoundInputDevice(int nInputDeviceID)
Initialize the sound input device (for recording audio).
Definition: TeamTalk.cs:4749
BearWare.TeamTalkBase.DBG_WriteAudioFileTone
bool DBG_WriteAudioFileTone(MediaFileInfo lpMediaFileInfo, int nFrequency)
Definition: TeamTalk.cs:8132
BearWare.BitmapFormat.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...
BearWare.User.soundPositionVoice
float [] soundPositionVoice
User&#39;s position when using 3D-sound (DirectSound option). Index 0 is x-axis, index 1 is y-axis and in...
Definition: TeamTalk.cs:2318
BearWare.TeamTalkBase.DoRemoveChannel
int DoRemoveChannel(int nChannelID)
Remove a channel from a server.
Definition: TeamTalk.cs:7060
BearWare.TTType.__AUDIOCODEC
BearWare.SpeexDSPConstants.DEFAULT_DENOISE_SUPPRESS
const int DEFAULT_DENOISE_SUPPRESS
Definition: TeamTalk.cs:1494
BearWare.EncryptionContext.szCertificateFile
string szCertificateFile
Path to SSL certificate in PEM format.
Definition: TeamTalk.cs:2752
BearWare.AudioBlock.nSampleRate
int nSampleRate
The sample rate of the raw audio.
Definition: TeamTalk.cs:478
BearWare.MixerControl.WAVEOUT_MICROPHONE
BearWare.OpusCodec.bDTX
bool bDTX
Discontinuous transmission. Enables "null" packets during silence.
Definition: TeamTalk.cs:1058
BearWare.TeamTalkBase.AcquireUserVideoCaptureFrame
VideoFrame AcquireUserVideoCaptureFrame(int nUserID, out Bitmap bmp)
Extract a user&#39;s video frame for display.
Definition: TeamTalk.cs:5741
BearWare.ClientStatistics.nMediaFileVideoBytesSent
long nMediaFileVideoBytesSent
Video from media file data sent (on UDP).
Definition: TeamTalk.cs:2872
BearWare.TeamTalkBase.DoUnBanUserEx
int DoUnBanUserEx(BannedUser lpBannedUser)
Unban the properties specified in BearWare.BannedUser.
Definition: TeamTalk.cs:7313
BearWare.WebRTCConstants.DEFAULT_WEBRTC_GAINDB
const float DEFAULT_WEBRTC_GAINDB
Definition: TeamTalk.cs:1438
BearWare.UserRight.USERRIGHT_UPDATE_SERVERPROPERTIES
User can update server properties.
BearWare.Channel.szName
string szName
Name of the channel.
Definition: TeamTalk.cs:2514
BearWare.FileTransfer.nChannelID
int nChannelID
The channel where the file is/will be located.
Definition: TeamTalk.cs:2699
BearWare.MediaFileStatus.MFS_FINISHED
Finished processing media file.
BearWare.WebRTCAudioPreprocessor.preamplifier
Preamplifier preamplifier
Definition: TeamTalk.cs:1281
BearWare.TTType.__TTAUDIOPREPROCESSOR
BearWare.TeamTalkBase.AcquireUserDesktopWindowEx
DesktopWindow AcquireUserDesktopWindowEx(int nUserID, BitmapFormat nBitmapFormat)
Same as TeamTalkBase.AcquireUserDesktopWindow() except an extra option for converting bitmap to a dif...
Definition: TeamTalk.cs:6301
BearWare.UserAccount.szInitChannel
string szInitChannel
User should (manually) join this channel after login. If an initial channel is specified in the user&#39;...
Definition: TeamTalk.cs:2070
BearWare.SoundDevice.nMaxOutputChannels
int nMaxOutputChannels
The maximum number of output channels.
Definition: TeamTalk.cs:248
BearWare.AudioBlock.uStreamTypes
StreamType uStreamTypes
The stream types used to generate the AudioBlock&#39;s raw audio.
Definition: TeamTalk.cs:507
BearWare.EncryptionContext.bVerifyClientOnce
bool bVerifyClientOnce
Whether to only verify client&#39;s certificate once during initial connection.
Definition: TeamTalk.cs:2783
BearWare.TeamTalkBase.GetClientStatistics
bool GetClientStatistics(ref ClientStatistics lpClientStatistics)
Retrieve client statistics of bandwidth usage and response times.
Definition: TeamTalk.cs:6480
BearWare.ClientStatistics.nMediaFileAudioBytesSent
long nMediaFileAudioBytesSent
Audio from media file data sent (on UDP).
Definition: TeamTalk.cs:2868
BearWare.TeamTalkBase.GetMediaFileInfo
static bool GetMediaFileInfo(string szMediaFilePath, ref MediaFileInfo lpMediaFileInfo)
Get the properties of a media file.
Definition: TeamTalk.cs:5978
BearWare.VideoCaptureDevice.szCaptureAPI
string szCaptureAPI
The name of the API used to capture video.
Definition: TeamTalk.cs:705
BearWare.User.nStoppedDelayVoice
int nStoppedDelayVoice
The delay of when a user should no longer be considered as talking.
Definition: TeamTalk.cs:2308
BearWare.JitterConfig.nFixedDelayMSec
int nFixedDelayMSec
The fixed delay in milliseconds. Default = 0.
Definition: TeamTalk.cs:2916
BearWare
Definition: modules-net.txt:1
BearWare.TeamTalkBase.SetSoundOutputMute
bool SetSoundOutputMute(bool bMuteAll)
Set all users mute.
Definition: TeamTalk.cs:5131
BearWare.TTAudioPreprocessor
Use TeamTalk&#39;s internal audio preprocessor for gain audio. Same as used for TeamTalkBase.SetSoundInputGainLevel().
Definition: TeamTalk.cs:1247
BearWare.TextMsgType.MSGTYPE_BROADCAST
A broadcast message. Requires UserRight.USERRIGHT_TEXTMESSAGE_BROADCAST.
BearWare.ClientFlag.CLIENT_SNDOUTPUT_READY
If set the client instance&#39;s sound output device has been initialized, i.e. TeamTalkBase.InitSoundOutputDevice() has been called successfully.
BearWare.WebRTCAudioPreprocessor.voicedetection
VoiceDetection voicedetection
Definition: TeamTalk.cs:1325
BearWare.TTType.__SPEEXDSP
BearWare.FourCC.FOURCC_NONE
Internal use to denote no supported formats.
BearWare.AudioCodec.speex_vbr
SpeexVBRCodec speex_vbr
Speex codec settings if nCodec is Codec.SPEEX_VBR_CODEC.
Definition: TeamTalk.cs:1578
BearWare.TeamTalkBase.SetUserAudioStreamBufferSize
bool SetUserAudioStreamBufferSize(int nUserID, StreamType uStreamType, int nMSec)
Change the amount of media data which can be buffered in the user&#39;s playback queue.
Definition: TeamTalk.cs:7920
BearWare.WebRTCAudioPreprocessor.noisesuppression
NoiseSuppression noisesuppression
Definition: TeamTalk.cs:1308
BearWare.ClientStatistics.nMediaFileAudioBytesRecv
long nMediaFileAudioBytesRecv
Audio from media file data received (on UDP).
Definition: TeamTalk.cs:2870
BearWare.OpusCodec.nSampleRate
int nSampleRate
The sample rate to use. Sample rate must be 8000, 12000, 16000, 24000 or 48000 Hz.
Definition: TeamTalk.cs:1043
BearWare.JitterConfig.bUseAdativeDejitter
bool bUseAdativeDejitter
Turns adaptive jitter buffering ON/OFF. Default is OFF.
Definition: TeamTalk.cs:2918
BearWare.ClientEvent.CLIENTEVENT_CON_FAILED
Failed to connect to server.
BearWare.ClientKeepAlive.nConnectionLostMSec
int nConnectionLostMSec
The duration before the TeamTalk instance should consider the client/server connection lost...
Definition: TeamTalk.cs:2814
BearWare.WebRTCAudioPreprocessor.GainController2.FixedDigital
Gain level for AGC. Only active when bEnable is true.
Definition: TeamTalk.cs:1338
BearWare.RemoteFile
A struct containing the properties of a file in a BearWare.Channel.
Definition: TeamTalk.cs:2718
BearWare.ClientEvent.CLIENTEVENT_CMD_CHANNEL_NEW
A new channel has been created.
BearWare.ClientEvent.CLIENTEVENT_USER_DESKTOPWINDOW
A new or updated desktop window has been received from a user.
BearWare.TeamTalkBase.DoQuit
int DoQuit()
Quit from server.
Definition: TeamTalk.cs:7395
BearWare.TTType.__CHANNEL
BearWare.WebRTCAudioPreprocessor.GainController2
Configuration of WebRTC&#39;s gain controller 2 for AGC.
Definition: TeamTalk.cs:1330
BearWare.UserType.USERTYPE_ADMIN
A user with administrator privileges.
BearWare.ClientError.CMDERR_CHANNEL_HAS_USERS
Cannot process command since channel is not empty.
BearWare.EncryptionContext.szCAFile
string szCAFile
Path to Certificate Authority (CA) Certificate in PEM format.
Definition: TeamTalk.cs:2761
BearWare.ClientEvent.CLIENTEVENT_USER_VIDEOCAPTURE
A new video frame from a video capture device was received from a user.
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital
Configuration for fine tuning gain level.
Definition: TeamTalk.cs:1348
BearWare.Channel.audiocodec
AudioCodec audiocodec
The audio codec used by users in the channel.
Definition: TeamTalk.cs:2541
BearWare.ClientError.CMDERR_MISSING_PARAMETER
Command cannot be performed due to missing parameter. Only used internally.
BearWare.UserRight.USERRIGHT_MODIFY_CHANNELS
User is allowed to create permanent channels which are stored in the server&#39;s configuration file...
BearWare.UserState.USERSTATE_NONE
The user is in initial state.
BearWare.TeamTalkBase.OnDesktopWindowTransfer
DesktopTransferUpdate OnDesktopWindowTransfer
Used for tracking when a desktop window has been transmitted to the server.
Definition: TeamTalk.cs:8596
BearWare.WindowsMixer.SetWaveOutMute
static bool SetWaveOutMute(int nWaveDeviceID, MixerControl nControl, bool bMute)
Mute or unmute a Windows Mixer Wave-Out device from the &#39;enum&#39; of devices.
Definition: TeamTalk.cs:8806
BearWare.WindowsMixer
A wrapper for the Windows Mixer API.
Definition: TeamTalk.cs:8731
BearWare.Subscription.SUBSCRIBE_INTERCEPT_CHANNEL_MSG
Intercept all channel messages sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this...
BearWare.Codec.SPEEX_CODEC
Speex audio codec, http://www.speex.org.
BearWare.SoundDevice.szDeviceID
string szDeviceID
An identifier uniquely identifying the sound device even when new sound devices are being added and r...
Definition: TeamTalk.cs:224
BearWare.TeamTalkBase.OnCmdError
CommandError OnCmdError
The server rejected a command issued by the local client instance.
Definition: TeamTalk.cs:8222
BearWare.WebRTCConstants.DEFAULT_WEBRTC_LEVELESTIMATION_ENABLE
const bool DEFAULT_WEBRTC_LEVELESTIMATION_ENABLE
Definition: TeamTalk.cs:1436
BearWare.BannedUser.uBanTypes
BanType uBanTypes
The type of ban that applies to this banned user.
Definition: TeamTalk.cs:1992
BearWare.TeamTalkBase.OnCmdUserLeftChannel
UserUpdate OnCmdUserLeftChannel
User has left a channel.
Definition: TeamTalk.cs:8325
BearWare.AudioPreprocessorType.WEBRTC_AUDIOPREPROCESSOR
Use WebRTC&#39;s audio preprocessor from BearWare.WebRTCAudioPreprocessor. https://webrtc.org.
BearWare.AudioBlock.nChannels
int nChannels
The number of channels used (1 for mono, 2 for stereo).
Definition: TeamTalk.cs:480
BearWare.BitmapFormat.BMP_RGB8_PALETTE
The bitmap is a 256-colored bitmap requiring a palette. The default 256 colored palette is the Netsca...
BearWare.StreamType.STREAMTYPE_CHANNELMSG
Channel text messages as stream type.
BearWare.AudioFormat.nChannels
int nChannels
Channels used by media file, mono = 1, stereo = 2.
Definition: TeamTalk.cs:585
BearWare.ClientEvent.CLIENTEVENT_CMD_FILE_REMOVE
A file has been removed from a channel.
BearWare.TeamTalkBase.GetSoundDeviceEffects
bool GetSoundDeviceEffects(ref SoundDeviceEffects lpSoundDeviceEffect)
Get the audio effects that are currently enabled.
Definition: TeamTalk.cs:4990
BearWare.SpeexVBRCodec.nMaxBitRate
int nMaxBitRate
The maximum bitrate at which the audio codec is allowed to output audio. Set to zero if it should be ...
Definition: TeamTalk.cs:960
BearWare.UnionData.textmessage
TextMessage textmessage
Definition: TeamTalk.cs:3947
BearWare.TeamTalkBase.InsertAudioBlock
bool InsertAudioBlock(AudioBlock lpAudioBlock)
Transmit application provided raw audio in BearWare.AudioBlock-structs as StreamType.STREAMTYPE_VOICE, i.e. microphone input.
Definition: TeamTalk.cs:5298
BearWare.ClientStatistics
Statistics of bandwidth usage and ping times in the local client instance.
Definition: TeamTalk.cs:2853
BearWare.Subscription.SUBSCRIBE_MEDIAFILE
Subscribing to StreamType.STREAMTYPE_MEDIAFILE_VIDEO and StreamType.STREAMTYPE_MEDIAFILE_AUDIO.
BearWare.SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS_ACTIVE
const int DEFAULT_ECHO_SUPPRESS_ACTIVE
Definition: TeamTalk.cs:1497
BearWare.TeamTalkBase.StopStreamingMediaFileToChannel
bool StopStreamingMediaFileToChannel()
Stop streaming media file to channel.
Definition: TeamTalk.cs:5907
BearWare.ClientStatistics.nVideoCaptureBytesSent
long nVideoCaptureBytesSent
Video data sent (on UDP).
Definition: TeamTalk.cs:2864
BearWare.TeamTalkBase.AutoPositionUsers
bool AutoPositionUsers()
Automatically position users using 3D-sound.
Definition: TeamTalk.cs:5158
BearWare.ChannelType.CHANNEL_NO_VOICEACTIVATION
Don&#39;t allow voice transmission if it&#39;s trigged by voice activation.
BearWare.ShareWindow.nWidth
int nWidth
The width in pixels of the window.
Definition: TeamTalk.cs:9077
BearWare.ClientFlag.CLIENT_CONNECTION
Helper for ClientFlag.CLIENT_CONNECTING and ClientFlag.CLIENT_CONNECTED to see if TeamTalkBase...
BearWare.SpeexDSPConstants.DEFAULT_DENOISE_ENABLE
const bool DEFAULT_DENOISE_ENABLE
Definition: TeamTalk.cs:1493
BearWare.TeamTalkBase.DoMoveUser
int DoMoveUser(int nUserID, int nChannelID)
Issue command to move a user from one channel to another.
Definition: TeamTalk.cs:7083
BearWare.Channel.nUserData
int nUserData
User specific data which will be stored on persistent storage on the server if the channel type is Ch...
Definition: TeamTalk.cs:2531
BearWare.SpeexDSP.nEchoSuppressActive
int nEchoSuppressActive
Set maximum attenuation of the residual echo in dB when near end is active (negative number)...
Definition: TeamTalk.cs:1207
BearWare.StreamType.STREAMTYPE_VIDEOCAPTURE
Video capture stream type which is video recorded from a webcam.
BearWare.WindowsMixer.GetWaveInBoost
static int GetWaveInBoost(int nWaveDeviceID)
See if microphone boost is enabled.
Definition: TeamTalk.cs:8910
BearWare.AudioPreprocessorType.TEAMTALK_AUDIOPREPROCESSOR
Use TeamTalk&#39;s internal audio preprocessor BearWare.TTAudioPreprocessor.
BearWare.ClientStatistics.nSoundInputDeviceDelayMSec
int nSoundInputDeviceDelayMSec
Delay of sound input device until the first audio frame is delivered (in msec).
Definition: TeamTalk.cs:2904
BearWare.TeamTalkBase.GetUserByUsername
bool GetUserByUsername(string szUsername, ref User lpUser)
Get the user with the specified username.
Definition: TeamTalk.cs:7684
BearWare.Channel.transmitUsersQueue
int [] transmitUsersQueue
The users currently queued for voice or media file transmission.
Definition: TeamTalk.cs:2607
BearWare.ClientStatistics.nDesktopBytesSent
long nDesktopBytesSent
Desktop data sent (on UDP).
Definition: TeamTalk.cs:2876
BearWare.AudioBlock.nStreamID
int nStreamID
The ID of the stream. The stream id changes every time the user enables a new transmission using Team...
Definition: TeamTalk.cs:476
BearWare.TeamTalkBase.TT_SAMPLERATES_MAX
const int TT_SAMPLERATES_MAX
Definition: TeamTalk.cs:4187
BearWare.TeamTalkBase.StopVideoCaptureTransmission
bool StopVideoCaptureTransmission()
Stop transmitting from video capture device.
Definition: TeamTalk.cs:5592
BearWare.ClientEvent.CLIENTEVENT_INTERNAL_ERROR
An internal error occurred in the client instance.
BearWare.SoundSystem.SOUNDSYSTEM_DSOUND
DirectSound audio system. Should be used on Windows.
BearWare.ServerStatistics.nTotalBytesRX
long nTotalBytesRX
The number of bytes received by the server from clients.
Definition: TeamTalk.cs:1910
BearWare.TextMessage.nChannelID
int nChannelID
Set to zero if nMsgType is TextMsgType TextMsgType.MSGTYPE_USER or TextMsgType TextMsgType.MSGTYPE_BROADCAST.
Definition: TeamTalk.cs:2442
BearWare.StreamType.STREAMTYPE_MEDIAFILE_AUDIO
Audio stream type from a media file which is being streamed.
BearWare.AudioInputProgress.uQueueMSec
uint uQueueMSec
The duration of the audio currently queued for transmission.
Definition: TeamTalk.cs:1700
BearWare.VideoFrame.nHeight
int nHeight
The height in pixels of the image contained in imageBuffer.
Definition: TeamTalk.cs:655
BearWare.FourCC.FOURCC_I420
Prefered image format with the lowest bandwidth usage. A 640x480 pixel image takes up 460...
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_NONE
BearWare.Channel.nMaxUsers
int nMaxUsers
Max number of users in channel.
Definition: TeamTalk.cs:2539
BearWare.User
A struct containing the properties of a user.
Definition: TeamTalk.cs:2221
BearWare.TeamTalkBase.EnableVoiceActivation
bool EnableVoiceActivation(bool bEnable)
Enable voice activation.
Definition: TeamTalk.cs:5350
BearWare.WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE
const bool DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE
Definition: TeamTalk.cs:1433
BearWare.TeamTalkBase.DoChannelOpEx
int DoChannelOpEx(int nUserID, int nChannelID, string szOpPassword, bool bMakeOperator)
Make another user operator of a channel using the szOpPassword of BearWare.Channel.
Definition: TeamTalk.cs:6810
BearWare.TeamTalkBase.Disconnect
bool Disconnect()
Disconnect from the server.
Definition: TeamTalk.cs:6458
BearWare.TeamTalkBase.HotKey_Register
bool HotKey_Register(int nHotKeyID, int[] lpnVKCodes)
Register a global hotkey.
Definition: TeamTalk.cs:8055
BearWare.ClientEvent.CLIENTEVENT_AUDIOINPUT
Progress is audio being injected as StreamType.STREAMTYPE_VOICE.
BearWare.ClientError.CMDERR_FILE_ALREADY_EXISTS
File already exist.
BearWare.DesktopKeyState.DESKTOPKEYSTATE_DOWN
The key is pressed.
BearWare.UserStatistics
Packet reception and data statistics for a user.
Definition: TeamTalk.cs:2361
BearWare.TeamTalkBase.SetSoundInputGainLevel
bool SetSoundInputGainLevel(int nLevel)
Set voice gaining of recorded audio.
Definition: TeamTalk.cs:5029
BearWare.ClientEvent.CLIENTEVENT_VOICE_ACTIVATION
Voice activation has triggered transmission.
BearWare.TeamTalkBase.GetVoiceActivationLevel
int GetVoiceActivationLevel()
Get voice activation level.
Definition: TeamTalk.cs:5378
BearWare.VideoCaptureDevice.szDeviceName
string szDeviceName
The name of the capture device.
Definition: TeamTalk.cs:691
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fMaxOutputNoiseLevelDBFS
float fMaxOutputNoiseLevelDBFS
Definition: TeamTalk.cs:1360
BearWare.WindowsMixer.GetWaveInVolume
static int GetWaveInVolume(int nWaveDeviceID, MixerControl nControl)
Get the volume of a Windows Mixer Wave-In device from the &#39;enum&#39; of devices.
Definition: TeamTalk.cs:8890
BearWare.TeamTalkBase.DoRecvFile
int DoRecvFile(int nChannelID, int nFileID, string szLocalFilePath)
Download a file from the specified channel.
Definition: TeamTalk.cs:6910
BearWare.TeamTalkBase.TT_STRLEN
const int TT_STRLEN
The maximum length of all strings used in TeamTalkBase. This value includes the zero terminator...
Definition: TeamTalk.cs:4091
BearWare.TeamTalkBase.SetUserStoppedPlaybackDelay
bool SetUserStoppedPlaybackDelay(int nUserID, StreamType nStreamType, int nDelayMSec)
Set the delay of when a user should no longer be considered as playing audio (either voice or audio f...
Definition: TeamTalk.cs:7735
BearWare.ClientFlag.CLIENT_MUX_AUDIOFILE
If set the client instance is currently muxing audio streams into a single file. This is enabled by c...
BearWare.TeamTalkBase.SetVoiceActivationStopDelay
bool SetVoiceActivationStopDelay(int nDelayMSec)
Set the delay of when voice activation should be stopped.
Definition: TeamTalk.cs:5394
BearWare.TTType.__CLIENTERRORMSG
BearWare.SpeexVBRCodec.nBitRate
int nBitRate
The bitrate at which the audio codec should output encoded audio data. Dividing it by 8 gives roughly...
Definition: TeamTalk.cs:956
BearWare.TeamTalkBase.InitSoundDuplexDevices
bool InitSoundDuplexDevices(int nInputDeviceID, int nOutputDeviceID)
Enable duplex mode where multiple audio streams are mixed into a single stream using software...
Definition: TeamTalk.cs:4888
BearWare.TTAudioPreprocessor.bMuteRightSpeaker
bool bMuteRightSpeaker
Whether to mute right speaker in stereo playback.
Definition: TeamTalk.cs:1256
BearWare.DesktopProtocol
DesktopProtocol
The protocols supported for transferring a BearWare.DesktopWindow.
Definition: TeamTalk.cs:748
BearWare.SpeexDSP.bEnableDenoise
bool bEnableDenoise
Whether clients who join the channel should automatically enable denoising.
Definition: TeamTalk.cs:1172
BearWare.ClientError.CMDERR_SYNTAX_ERROR
Command has syntax error. Only used internally.
BearWare.ClientError.CMDERR_FILESHARING_DISABLED
Server does not allow file transfers.
BearWare.ServerProperties.nTcpPort
int nTcpPort
The server&#39;s TCP port.
Definition: TeamTalk.cs:1867
BearWare.AudioFormat.nAudioFmt
AudioFileFormat nAudioFmt
The audio file format, e.g. wave or MP3.
Definition: TeamTalk.cs:581
BearWare.WindowsMixer.GetWaveOutName
static bool GetWaveOutName(int nWaveDeviceID, ref string szMixerName)
Get the name of the mixer associated with a wave-out device.
Definition: TeamTalk.cs:8784
BearWare.AudioInputProgress.nStreamID
int nStreamID
The stream ID provided in the BearWare.AudioBlock.
Definition: TeamTalk.cs:1697
BearWare.TTType.__AUDIOPREPROCESSORTYPE
BearWare.TeamTalkBase.OnStreamMediaFile
StreamMediaFile OnStreamMediaFile
Media file being streamed to a channel is processing.
Definition: TeamTalk.cs:8605
BearWare.WebRTCAudioPreprocessor.GainController2.bEnable
bool bEnable
Enable WebRTC&#39;s fixed digital gain. WebRTC&#39;s automatic gain control (AGC)
Definition: TeamTalk.cs:1334
BearWare.TeamTalkBase.GetSoundDevices
static bool GetSoundDevices(out SoundDevice[] lpSoundDevices)
Retrieve list of sound devices for recording and playback.
Definition: TeamTalk.cs:4631
BearWare.EncryptionContext
Configure peer verification for encrypted connection.
Definition: TeamTalk.cs:2744
BearWare.WebRTCConstants.DEFAULT_WEBRTC_EXTRA_SAT_MARGIN_DB
const float DEFAULT_WEBRTC_EXTRA_SAT_MARGIN_DB
Definition: TeamTalk.cs:1441
BearWare.TeamTalkBase.ReleaseUserAudioBlock
bool ReleaseUserAudioBlock(AudioBlock lpAudioBlock)
Release the shared memory of an BearWare.AudioBlock.
Definition: TeamTalk.cs:7969
BearWare.UserRight.USERRIGHT_TRANSMIT_VIDEOCAPTURE
User is allowed to forward video packets through server. TeamTalkBase.StartVideoCaptureTransmission()...
BearWare.User.stereoPlaybackVoice
bool [] stereoPlaybackVoice
Check what speaker a user is outputting to. If index 0 is TRUE then left speaker is playing...
Definition: TeamTalk.cs:2330
BearWare.ClientError.CMDERR_CHANNEL_CANNOT_BE_HIDDEN
Cannot apply ChannelType.CHANNEL_HIDDEN to BearWare.Channel&#39;s channel type.
BearWare.DesktopInput.DesktopInput
DesktopInput(bool set_defaults)
When true initializes the desktop input to ignore mouse and key values.
Definition: TeamTalk.cs:830
BearWare.ClientError.CMDERR_FILE_NOT_FOUND
File does not exist.
BearWare.WebRTCAudioPreprocessor.echocanceller
EchoCanceller echocanceller
Definition: TeamTalk.cs:1295
BearWare.ClientFlag.CLIENT_SNDINPUT_VOICEACTIVATED
If set the client instance will start transmitting audio if the sound level is above the voice activa...
BearWare.UserAccount.nUserData
int nUserData
A user data field which can be used for additional information. The nUserData field of the BearWare...
Definition: TeamTalk.cs:2061
BearWare.ClientStatistics.nUdpServerSilenceSec
int nUdpServerSilenceSec
The number of seconds nothing has been received by the client on UDP.
Definition: TeamTalk.cs:2892
BearWare.WebRTCAudioPreprocessor.EchoCanceller.bEnable
bool bEnable
Enable WebRTC echo canceller. The WebRTC echo canceller requires sound input and output devices are i...
Definition: TeamTalk.cs:1293
BearWare.WebRTCAudioPreprocessor
WebRTC&#39;s audio preprocessor.
Definition: TeamTalk.cs:1269
BearWare.OpusCodec.nApplication
int nApplication
Application of encoded audio, VoIP or music.
Definition: TeamTalk.cs:1049
BearWare.Subscription.SUBSCRIBE_VIDEOCAPTURE
Subscribing to StreamType.STREAMTYPE_VIDEOCAPTURE.
BearWare.ServerStatistics
A struct containing the server&#39;s statistics, i.e. bandwidth usage and user activity.
Definition: TeamTalk.cs:1903
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_TEXTMSG
A user has sent a text-message.
BearWare.ShareWindow.szWindowTitle
string szWindowTitle
The title of the window.
Definition: TeamTalk.cs:9082
BearWare.WindowsMixer.SetWaveInVolume
static bool SetWaveInVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
Set the volume of a Windows Mixer Wave-In device from the &#39;enum&#39; of devices.
Definition: TeamTalk.cs:8878
BearWare.ServerStatistics.nVideoCaptureBytesRX
long nVideoCaptureBytesRX
The number of bytes in video packets received by the server from clients.
Definition: TeamTalk.cs:1922
BearWare.FileTransferStatus.FILETRANSFER_CLOSED
BearWare.UnionData.desktopinput
DesktopInput desktopinput
Definition: TeamTalk.cs:3937
BearWare.TeamTalkBase.DoSubscribe
int DoSubscribe(int nUserID, Subscription uSubscriptions)
Subscribe to user events and/or data.
Definition: TeamTalk.cs:6954
BearWare.TTKeyTranslate.TTKEY_WINKEYCODE_TO_TTKEYCODE
Translate from Windows scan-code to TTKEYCODE. The Windows scan-code can be retrieved in Windows&#39; WM_...
BearWare.WebRTCAudioPreprocessor.EchoCanceller
Configuration of WebRTC&#39;s echo canceller. See also TT_SetSoundDeviceEffects()
Definition: TeamTalk.cs:1286
BearWare.StreamType.STREAMTYPE_MEDIAFILE_VIDEO
Video stream type from a media file which is being streamed.
BearWare.Channel.uChannelType
ChannelType uChannelType
A bitmask of the type of channel based on BearWare.ChannelType.
Definition: TeamTalk.cs:2527
BearWare.FileTransfer.nTransferID
int nTransferID
The ID identifying the file transfer.
Definition: TeamTalk.cs:2697
BearWare.TeamTalkBase.GetChannelUsers
bool GetChannelUsers(int nChannelID, out User[] lpUsers)
Get the IDs of all users in a channel.
Definition: TeamTalk.cs:7507
BearWare.Channel.GetTransmitUserCount
int GetTransmitUserCount()
Get the number of users who can currently transmit to the ChannelType.CHANNEL_CLASSROOM.
Definition: TeamTalk.cs:2638
BearWare.WindowsMixer.GetMixerCount
static int GetMixerCount()
Get the number of Windows Mixers available.
Definition: TeamTalk.cs:8739
BearWare.SoundDevice.nDeviceID
int nDeviceID
The ID of the sound device. Used for passing to TeamTalkBase.InitSoundInputDevice() and TeamTalkBase...
Definition: TeamTalk.cs:213
BearWare.WebRTCConstants.DEFAULT_WEBRTC_VAD_ENABLE
const bool DEFAULT_WEBRTC_VAD_ENABLE
Definition: TeamTalk.cs:1435
BearWare.TeamTalkBase.DoUpdateChannel
int DoUpdateChannel(Channel lpChannel)
Update a channel&#39;s properties.
Definition: TeamTalk.cs:7038
BearWare.MixerControl.WAVEIN_LINEIN
BearWare.OpusConstants
OPUS constants for BearWare.OpusCodec.
Definition: TeamTalk.cs:1082
BearWare.DesktopInput.uMousePosY
ushort uMousePosY
The Y coordinate of the mouse. If used with TeamTalkBase.DesktopInput_Execute() and the mouse positio...
Definition: TeamTalk.cs:819
BearWare.ClientStatistics.nVideoCaptureBytesRecv
long nVideoCaptureBytesRecv
Video data received (on UDP).
Definition: TeamTalk.cs:2866
BearWare.TextMsgType
TextMsgType
Text message types.
Definition: TeamTalk.cs:2403
BearWare.AudioInputProgress
The progress of the audio currently being processed as audio input.
Definition: TeamTalk.cs:1694
BearWare.SpeexDSP.nMaxGainDB
int nMaxGainDB
Ensure volume doesn&#39;t become too loud (maximal gain in dB). Default is 30. Value is ignored if bEnabl...
Definition: TeamTalk.cs:1168
BearWare.RemoteFile.nFileSize
long nFileSize
The size of the file.
Definition: TeamTalk.cs:2728
BearWare.TTType.__MEDIAFILESTATUS
BearWare.TeamTalkBase.OnConnectionLost
Connection OnConnectionLost
Connection to server has been lost.
Definition: TeamTalk.cs:8169
BearWare.UserRight.USERRIGHT_TEXTMESSAGE_BROADCAST
User can broadcast text message of type TextMsgType.MSGTYPE_BROADCAST to all users.
BearWare.StreamType.STREAMTYPE_MEDIAFILE
Shortcut to allow both audio and video media files.
BearWare.UserState.USERSTATE_MEDIAFILE
If set user is streaming a media file. If this flag changes the event ClientEvent.CLIENTEVENT_USER_STATECHANGE is posted.
BearWare.UserStatistics.nMediaFileVideoFramesLost
long nMediaFileVideoFramesLost
Media file video frames which couldn&#39;t be shown because packets were lost.
Definition: TeamTalk.cs:2389
BearWare.MediaFileInfo.nStatus
MediaFileStatus nStatus
Status of media file if it&#39;s being saved to disk.
Definition: TeamTalk.cs:1656
BearWare.Channel.szPassword
string szPassword
Password to join the channel. When extracted through TeamTalkBase.GetChannel() the password will only...
Definition: TeamTalk.cs:2522
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.bEnable
bool bEnable
Definition: TeamTalk.cs:1352
BearWare.VideoCaptureDevice.videoFormats
VideoFormat [] videoFormats
The supported capture formats.
Definition: TeamTalk.cs:708
BearWare.TeamTalkBase.OnCmdUserLoggedIn
UserUpdate OnCmdUserLoggedIn
A new user logged on to the server.
Definition: TeamTalk.cs:8297
BearWare.TeamTalkBase.DoBanIPAddress
int DoBanIPAddress(string szIPAddress, int nChannelID)
Issue a ban command on an IP-address user.
Definition: TeamTalk.cs:7274
BearWare.TeamTalkBase.GetDefaultSoundDevicesEx
static bool GetDefaultSoundDevicesEx(SoundSystem nSndSystem, ref int lpnInputDeviceID, ref int lpnOutputDeviceID)
Get the default sound devices for the specified sound system.
Definition: TeamTalk.cs:4617
BearWare.TTType.__REMOTEFILE
BearWare.TeamTalkBase.GetUserStatistics
bool GetUserStatistics(int nUserID, ref UserStatistics lpUserStatistics)
Get statistics for data and packet reception from a user.
Definition: TeamTalk.cs:7672
BearWare.MediaFileStatus.MFS_ABORTED
Aborted processing of media file.
BearWare.DesktopWindow.bmpFormat
BitmapFormat bmpFormat
The format of the bitmap.
Definition: TeamTalk.cs:769
BearWare.SoundDevice.nDefaultSampleRate
int nDefaultSampleRate
The default sample rate for the sound device.
Definition: TeamTalk.cs:260
BearWare.SpeexVBRCodec.bStereoPlayback
bool bStereoPlayback
Playback should be done in stereo. Doing so will disable 3d-positioning.
Definition: TeamTalk.cs:979
BearWare.AudioCodec.speex
SpeexCodec speex
Speex codec settings if nCodec is Codec.SPEEX_CODEC.
Definition: TeamTalk.cs:1574
BearWare.UserStatistics.nMediaFileVideoPacketsRecv
long nMediaFileVideoPacketsRecv
Number of media file video packets received from user. A video frame can consist of several video pac...
Definition: TeamTalk.cs:2384
BearWare.TeamTalkBase.HotKey_Unregister
bool HotKey_Unregister(int nHotKeyID)
Unregister a registered hotkey.
Definition: TeamTalk.cs:8064
BearWare.ClientStatistics.nUdpBytesRecv
long nUdpBytesRecv
Bytes received on UDP.
Definition: TeamTalk.cs:2858
BearWare.ClientFlag.CLIENT_SNDOUTPUT_MUTE
If set the client instance has muted all users.
BearWare.ClientEvent.CLIENTEVENT_USER_STATECHANGE
A user state has changed.
BearWare.VideoFrame.nStreamID
int nStreamID
A unique identifier for the frames which are part of the same video sequence. If the stream ID change...
Definition: TeamTalk.cs:661
BearWare.UserState.USERSTATE_MUTE_VOICE
If set the user&#39;s voice is muted.
BearWare.ClientEvent.CLIENTEVENT_HOTKEY_TEST
A button was pressed or released on the user&#39;s keyboard or mouse.
BearWare.ClientEvent.CLIENTEVENT_FILETRANSFER
A file transfer is processing.
BearWare.TTMessage.nSource
int nSource
The source of the event depends on wmMsg.
Definition: TeamTalk.cs:3878
BearWare.UserRight.USERRIGHT_MOVE_USERS
User can move users from one channel to another.
BearWare.SpeexDSP.nGainLevel
int nGainLevel
A value from 0 to 32768. Default is 8000. Value is ignored if bEnableAGC is FALSE.
Definition: TeamTalk.cs:1152
BearWare.ClientFlag.CLIENT_CLOSED
The client instance is in closed state, i.e. no operations has been performed on it.
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fInitialSaturationMarginDB
float fInitialSaturationMarginDB
Definition: TeamTalk.cs:1354
BearWare.EncryptionContext.bVerifyPeer
bool bVerifyPeer
Verify that peer (client or server) uses a certificate that has been generated by the Certificate Aut...
Definition: TeamTalk.cs:2772
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_DENOISE
The BearWare.SoundDevice can enable denoising. Enable denoising use property bEnableDenoising on Bear...
BearWare.AudioPreprocessor.nPreprocessor
AudioPreprocessorType nPreprocessor
The audio preprocessor to use in the union of audio preprocessors.
Definition: TeamTalk.cs:1473
BearWare.ServerStatistics.nUsersPeak
int nUsersPeak
The highest numbers of users online.
Definition: TeamTalk.cs:1938
BearWare.BannedUser.szChannelPath
string szChannelPath
Channel where user was located when banned.
Definition: TeamTalk.cs:1981
BearWare.BannedUser.szIPAddress
string szIPAddress
IP-address of banned user.
Definition: TeamTalk.cs:1978
BearWare.DesktopWindow.nProtocol
DesktopProtocol nProtocol
The desktop protocol used for transmitting the desktop window.
Definition: TeamTalk.cs:781
BearWare.ServerStatistics.nUsersServed
int nUsersServed
The number of users who have logged on to the server.
Definition: TeamTalk.cs:1936
BearWare.ClientError.CMDERR_ALREADY_IN_CHANNEL
Cannot join same channel twice.
BearWare.ShareWindow.nWndY
int nWndY
Y coordinate of the window relative to the Windows desktop.
Definition: TeamTalk.cs:9075
BearWare.Subscription.SUBSCRIBE_INTERCEPT_CUSTOM_MSG
Intercept all custom text messages sent by user. Only user-type UserType.USERTYPE_ADMIN can do this...
BearWare.ShareWindow.nHeight
int nHeight
The height in pixels of the window.
Definition: TeamTalk.cs:9079
BearWare.WebRTCConstants.DEFAULT_WEBRTC_MAXGAIN_DBSEC
const float DEFAULT_WEBRTC_MAXGAIN_DBSEC
Definition: TeamTalk.cs:1442
BearWare.TTAudioPreprocessor.bMuteLeftSpeaker
bool bMuteLeftSpeaker
Whether to mute left speaker in stereo playback.
Definition: TeamTalk.cs:1254
BearWare.UserType.USERTYPE_NONE
Used internally to denote an unauthenticated user.
BearWare.WindowsHelper.DesktopInputKeyTranslate
static int DesktopInputKeyTranslate(TTKeyTranslate nTranslate, DesktopInput[] lpDesktopInputs, out DesktopInput[] lpTranslatedDesktopInputs)
Translate platform key-code to and from TeamTalk&#39;s intermediate format.
Definition: TeamTalk.cs:9137
BearWare.TTType.__DESKTOPINPUT
BearWare.WebRTCConstants.DEFAULT_WEBRTC_MAX_OUT_NOISE
const float DEFAULT_WEBRTC_MAX_OUT_NOISE
Definition: TeamTalk.cs:1443
BearWare.ClientError.CMDERR_INCORRECT_OP_PASSWORD
Invalid password for becoming channel operator.
BearWare.User.uVersion
uint uVersion
The user&#39;s client version. This property is set by the server and will not change after login...
Definition: TeamTalk.cs:2250
BearWare.TeamTalkBase.GetVersion
static string GetVersion()
Get the DLL&#39;s version number.
Definition: TeamTalk.cs:4207
BearWare.Subscription.SUBSCRIBE_INTERCEPT_USER_MSG
Intercept all user text messages sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this...
BearWare.TeamTalkBase.OnCmdBannedUser
ListBannedUser OnCmdBannedUser
A new banned user has been listed by the server. Event handler for ClientEvent.CLIENTEVENT_CMD_BANNED...
Definition: TeamTalk.cs:8410
BearWare.TeamTalkBase.StartVideoCaptureTransmission
bool StartVideoCaptureTransmission(VideoCodec lpVideoCodec)
Start transmitting from video capture device.
Definition: TeamTalk.cs:5583
BearWare.ClientFlag.CLIENT_CONNECTED
If set the client instance is connected to a server, i.e. ClientEvent.CLIENTEVENT_CON_SUCCESS event h...
BearWare.TeamTalk5
Class used to load TeamTalk5.dll and instantiate a TeamTalk client in TeamTalk 5 SDK Standard Edition...
Definition: TeamTalk.cs:8641
BearWare.TeamTalkBase.DoListUserAccounts
int DoListUserAccounts(int nIndex, int nCount)
Issue command to list user accounts on the server.
Definition: TeamTalk.cs:7131
BearWare.TTKeyTranslate
TTKeyTranslate
Translate to and from TeamTalk&#39;s intermediate key-codes (TTKEYCODE).
Definition: TeamTalk.cs:8677
BearWare.TeamTalkBase.DoBanUserEx
int DoBanUserEx(int nUserID, BanType uBanTypes)
Ban the user with nUserID using the ban types specified.
Definition: TeamTalk.cs:7226
BearWare.Subscription.SUBSCRIBE_INTERCEPT_VIDEOCAPTURE
Intercept all video sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this...
BearWare.WindowsMixer.GetWaveOutMute
static int GetWaveOutMute(int nWaveDeviceID, MixerControl nControl)
Get the mute state of a Windows Mixer Wave-Out device from the &#39;enum&#39; of devices. ...
Definition: TeamTalk.cs:8819
BearWare.FileTransferStatus.FILETRANSFER_ACTIVE
File transfer active.
BearWare.Subscription.SUBSCRIBE_CHANNEL_MSG
Subscribing to channel texxt messages.
BearWare.Codec.NO_CODEC
No codec specified.
BearWare.DesktopWindow.frameBuffer
IntPtr frameBuffer
A buffer pointing to the bitmap data (often refered to as Scan0).
Definition: TeamTalk.cs:783
BearWare.TeamTalkBase.DoLoginEx
int DoLoginEx(string szNickname, string szUsername, string szPassword, string szClientName)
Logon to a server.
Definition: TeamTalk.cs:6586
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_UPDATE
User changed properties.
BearWare.AudioConfigConstants
Definition: TeamTalk.cs:1623
BearWare.ServerStatistics.nFilesTx
long nFilesTx
The number of bytes for file transmission transmitted from the server.
Definition: TeamTalk.cs:1941
BearWare.User.szNickname
string szNickname
The user&#39;s nickname. Invoking TeamTalkBase.DoChangeNickname() changes this value. Event ClientEvent...
Definition: TeamTalk.cs:2274
BearWare.UserStatistics.nVideoCapturePacketsRecv
long nVideoCapturePacketsRecv
Number of video packets received from user. A video frame can consist of several video packets...
Definition: TeamTalk.cs:2369
BearWare.MediaFileInfo.videoFmt
VideoFormat videoFmt
The video properties of the media file.
Definition: TeamTalk.cs:1663
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fExtraSaturationMarginDB
float fExtraSaturationMarginDB
Definition: TeamTalk.cs:1356
BearWare.TeamTalkBase.GetUserJitterControl
bool GetUserJitterControl(int nUserID, StreamType nStreamType, ref JitterConfig lpJitterConfig)
Get the de-jitter configuration for a user.
Definition: TeamTalk.cs:7783
BearWare.ClientErrorMsg
Definition: TeamTalk.cs:3238
BearWare.TeamTalkBase.EnableVoiceTransmission
bool EnableVoiceTransmission(bool bEnable)
Start/stop transmitting of voice data from sound input.
Definition: TeamTalk.cs:5320
BearWare.TeamTalkBase.OnCmdServerStatistics
ServerStats OnCmdServerStatistics
Server statistics available.
Definition: TeamTalk.cs:8381
BearWare.ServerProperties.szAccessToken
string szAccessToken
A randomly generated 256 bit access token created by the server to identify the login session...
Definition: TeamTalk.cs:1892
BearWare.ClientFlag.CLIENT_AUTHORIZED
If set the client instance is logged on to a server, i.e. got ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGG...
BearWare.VideoFormat.picFourCC
FourCC picFourCC
Picture format for capturing.
Definition: TeamTalk.cs:637
BearWare.ClientError.CMDERR_NOT_IN_CHANNEL
Cannot leave channel because not in channel.
BearWare.WebRTCAudioPreprocessor.GainController2.FixedDigital.fGainDB
float fGainDB
Gain level in dB. Range: 0 <= x < 50. Default: 0.
Definition: TeamTalk.cs:1342
BearWare.StreamType.STREAMTYPE_NONE
No stream.
BearWare.SpeexDSPConstants.DEFAULT_AGC_INC_MAXDB
const int DEFAULT_AGC_INC_MAXDB
Definition: TeamTalk.cs:1490
BearWare.ClientError.SUCCESS
BearWare.WindowsFirewall.AddAppException
static bool AddAppException(string szName, string szExecutable)
Add an application to the Windows Firewall exception list.
Definition: TeamTalk.cs:9044
BearWare.UserRight.USERRIGHT_TRANSMIT_VOICE
Users are allowed to forward audio packets through server. TeamTalkBase.EnableVoiceTransmission() ...
BearWare.TTType.__MEDIAFILEINFO
BearWare.VideoFormat.nWidth
int nWidth
The width in pixels of the video device supported video format.
Definition: TeamTalk.cs:624
BearWare.TeamTalkBase.TT_TRANSMITUSERS_MAX
const int TT_TRANSMITUSERS_MAX
The maximum number of users allowed to transmit when a BearWare.Channel is configured with ChannelTyp...
Definition: TeamTalk.cs:4110
BearWare.ServerProperties.nMaxDesktopTxPerSecond
int nMaxDesktopTxPerSecond
The maximum number of bytes per second which the server will allow for desktop packets. If this value is exceeded the server will start dropping desktop packets. 0 = disabled.
Definition: TeamTalk.cs:1859
BearWare.TeamTalkBase.DoLeaveChannel
int DoLeaveChannel()
Leave the current channel.
Definition: TeamTalk.cs:6697
BearWare.TeamTalkBase.AcquireUserMediaVideoFrame
VideoFrame AcquireUserMediaVideoFrame(int nUserID, out Bitmap bmp)
Extract a user&#39;s media video frame for display.
Definition: TeamTalk.cs:6003
BearWare.TeamTalkBase.OnAudioInput
AudioInput OnAudioInput
Audio input progress as result of TeamTalkBase.InsertAudioBlock()
Definition: TeamTalk.cs:8623
BearWare.AudioFormat.nSampleRate
int nSampleRate
Sample rate of media file.
Definition: TeamTalk.cs:583
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_DUPLEXMODE
The BearWare.SoundDevice can run in duplex mode.
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_AGC
The BearWare.SoundDevice can enable Automatic Gain Control (AGC). Enable AGC use property bEnableAGC ...
BearWare.AudioFileFormat.AFF_NONE
Used to denote nothing selected.
BearWare.ServerProperties.nUdpPort
int nUdpPort
The server&#39;s UDP port.
Definition: TeamTalk.cs:1869
BearWare.AudioPreprocessorType.NO_AUDIOPREPROCESSOR
Value for specifying that no audio preprocessing should occur.
BearWare.TextMsgType.MSGTYPE_CHANNEL
A User to channel text message. Users of type UserType.USERTYPE_DEFAULT can only send this text messa...
BearWare.UserAccount.autoOperatorChannels
int [] autoOperatorChannels
Channels where this user will automatically become channel operator when joining. The channels must b...
Definition: TeamTalk.cs:2075
BearWare.AudioPreprocessor.webrtc
WebRTCAudioPreprocessor webrtc
Used when nPreprocessor is AudioPreprocessorType.WEBRTC_AUDIOPREPROCESSOR.
Definition: TeamTalk.cs:1482
BearWare.ClientStatistics.nTcpServerSilenceSec
int nTcpServerSilenceSec
The number of seconds nothing has been received by the client on TCP.
Definition: TeamTalk.cs:2889
BearWare.WebRTCAudioPreprocessor.NoiseSuppression
Configuration of WebRTC&#39;s noise suppression. See also BearWare.SpeexDSP.
Definition: TeamTalk.cs:1300
BearWare.TTType.__AUDIOINPUTPROGRESS
BearWare.UnionData.useraccount
UserAccount useraccount
Definition: TeamTalk.cs:3951
BearWare.WebMVP8Codec.rc_target_bitrate
int rc_target_bitrate
Target bitrate in kbits/sec. This value must be greater than 0.
Definition: TeamTalk.cs:1516
BearWare.UserState.USERSTATE_VOICE
If set the user is currently talking. If this flag changes the event ClientEvent.CLIENTEVENT_USER_STA...
BearWare.JitterConfig.nMaxAdaptiveDelayMSec
int nMaxAdaptiveDelayMSec
A hard maximum delay on the adaptive delay. Only valid when higher than zero. Default = 0...
Definition: TeamTalk.cs:2921
BearWare.TeamTalkBase.AcquireUserAudioBlock
AudioBlock AcquireUserAudioBlock(StreamType uStreamTypes, int nUserID)
Extract the raw audio associated with the event TeamTalkBase.OnUserAudioBlock().
Definition: TeamTalk.cs:7944
BearWare.TeamTalkBase.OnCmdSuccess
CommandSuccess OnCmdSuccess
The server successfully processed a command issued by the local client instance.
Definition: TeamTalk.cs:8236
BearWare.TeamTalkBase.OnCmdChannelUpdate
ChannelUpdate OnCmdChannelUpdate
A channel&#39;s properties has been updated.
Definition: TeamTalk.cs:8357
BearWare.UserStatistics.nMediaFileVideoFramesRecv
long nMediaFileVideoFramesRecv
Number of media file video frames received from user.
Definition: TeamTalk.cs:2386
BearWare.TeamTalkBase.GetMyChannelID
int GetMyChannelID()
Get the channel which the local client instance is currently participating in.
Definition: TeamTalk.cs:7455
BearWare.TTType.__OPUSCODEC
BearWare.TTType.__ENCRYPTIONCONTEXT
BearWare.WebMVP8Codec
WebM video codec settings.
Definition: TeamTalk.cs:1505
BearWare.User.szUsername
string szUsername
The szUsername of the user&#39;s BearWare.UserAccount. A user account is created by calling TeamTalkBase...
Definition: TeamTalk.cs:2232
BearWare.WebRTCConstants.DEFAULT_WEBRTC_INIT_SAT_MARGIN_DB
const float DEFAULT_WEBRTC_INIT_SAT_MARGIN_DB
Definition: TeamTalk.cs:1440
BearWare.UserRight.USERRIGHT_LOCKED_STATUS
User&#39;s status is locked. TeamTalkBase.DoChangeStatus() cannot be used.
BearWare.User.nVolumeMediaFile
int nVolumeMediaFile
The user&#39;s voice volume level. Note that it&#39;s a virtual volume which is being set since the master vo...
Definition: TeamTalk.cs:2304
BearWare.WindowsMixer.SetWaveInSelected
static bool SetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
Set the selected state of a Windows Mixer Wave-In device from the &#39;enum&#39; of devices.
Definition: TeamTalk.cs:8854
BearWare.ServerProperties
A struct containing the properties of the server&#39;s settings.
Definition: TeamTalk.cs:1815
BearWare.UnionData.remotefile
RemoteFile remotefile
Definition: TeamTalk.cs:3943
BearWare.WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR
const float DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR
Definition: TeamTalk.cs:1434
BearWare.WebRTCAudioPreprocessor.NoiseSuppression.bEnable
bool bEnable
Enable WebRTC noise suppression.
Definition: TeamTalk.cs:1303
BearWare.Channel.audiocfg
AudioConfig audiocfg
The audio configuration which users who join the channel should use.
Definition: TeamTalk.cs:2544
BearWare.TeamTalkBase
Abstract class which encapsulates the TeamTalk 5 client. Instantiate either BearWare.TeamTalk5 (TeamTalk 5 SDK Standard Edition) or BearWare.TeamTalk5Pro (TeamTalk 5 SDK Professional Edition) to create the TeamTalk instance.
Definition: TeamTalk.cs:4081
BearWare.StreamType.STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO
Stream type for audio of local playback.
BearWare.TeamTalkBase.GetUser
bool GetUser(int nUserID, ref User lpUser)
Get the user with the specified ID.
Definition: TeamTalk.cs:7663
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_LEFT
User has left a channel.
BearWare.TeamTalkBase.SetVoiceActivationLevel
bool SetVoiceActivationLevel(int nLevel)
Set voice activation level.
Definition: TeamTalk.cs:5368
BearWare.Channel
A struct containing the properties of a channel.
Definition: TeamTalk.cs:2504
BearWare.TTType.__SERVERPROPERTIES
BearWare.User.uPeerSubscriptions
Subscription uPeerSubscriptions
A bitmask of what this user subscribes to from local client instance. Invoking TeamTalkBase.DoSubscribe() and TeamTalkBase.DoUnsubscribe() on the remoe client instance can change this value. Event ClientEvent.CLIENTEVENT_CMD_USER_UPDATE is posted if this value changes.
Definition: TeamTalk.cs:2268
BearWare.ClientError.CMDERR_SERVER_BANNED
IP-address has been banned from server.
BearWare.JitterConfig.nActiveAdaptiveDelayMSec
int nActiveAdaptiveDelayMSec
The current adaptive delay. When used with TeamTalkBase.SetUserJitterControl(), this value is used as...
Definition: TeamTalk.cs:2928
BearWare.TeamTalkBase.DoSaveConfig
int DoSaveConfig()
Save the server&#39;s current state to its settings file (typically the server&#39;s .xml file)...
Definition: TeamTalk.cs:7359
BearWare.TeamTalkBase.OnUserAudioBlock
NewAudioBlock OnUserAudioBlock
A new audio block can be extracted.
Definition: TeamTalk.cs:8496
BearWare.RemoteFile.nChannelID
int nChannelID
The ID of the channel where the file is located.
Definition: TeamTalk.cs:2721
BearWare.AudioPreprocessor.ttpreprocessor
TTAudioPreprocessor ttpreprocessor
Used when nPreprocessor is AudioPreprocessorType.TEAMTALK_AUDIOPREPROCESSOR.
Definition: TeamTalk.cs:1479
BearWare.DesktopWindow.nWidth
int nWidth
The width in pixels of the bitmap.
Definition: TeamTalk.cs:765
BearWare.ClientEvent.CLIENTEVENT_USER_RECORD_MEDIAFILE
A media file recording has changed status.
BearWare.User.szMediaStorageDir
string szMediaStorageDir
Store audio received from this user to this folder.
Definition: TeamTalk.cs:2292
BearWare.TeamTalkBase.TeamTalkBase
TeamTalkBase(bool poll_based)
Create a new TeamTalk client instance.
Definition: TeamTalk.cs:4219
BearWare.ClientStatistics.nDesktopBytesRecv
long nDesktopBytesRecv
Desktop data received (on UDP).
Definition: TeamTalk.cs:2878
BearWare.TeamTalkBase.OnCmdMyselfLoggedIn
MyselfLoggedIn OnCmdMyselfLoggedIn
The client instance successfully logged on to server.
Definition: TeamTalk.cs:8253
BearWare.Subscription.SUBSCRIBE_INTERCEPT_DESKTOP
Intercept all desktop data sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this...
BearWare.WebRTCAudioPreprocessor.GainController2.adaptivedigital
AdaptiveDigital adaptivedigital
Definition: TeamTalk.cs:1362
BearWare.TeamTalkBase.OnLocalMediaFile
LocalMediaFile OnLocalMediaFile
Media file is being played locally.
Definition: TeamTalk.cs:8614
BearWare.MediaFileInfo.szFileName
string szFileName
Name of file.
Definition: TeamTalk.cs:1659
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_3DPOSITION
The BearWare.SoundDevice can position user in 3D.
BearWare.TeamTalkBase.DoBan
int DoBan(BannedUser lpBannedUser)
Ban the properties specified in lpBannedUser.
Definition: TeamTalk.cs:7249
BearWare.User.szClientName
string szClientName
The name of the client application which the user is using. This is the value passed as szClientName ...
Definition: TeamTalk.cs:2353
BearWare.MixerControl.WAVEIN_MICROPHONE
BearWare.ClientFlag.CLIENT_CONNECTING
If set the client instance is currently try to connect to a server, i.e. TeamTalkBase.Connect() has been called.
BearWare.StreamType
StreamType
The types of streams which are available for transmission.
Definition: TeamTalk.cs:44
BearWare.TeamTalkBase.OnCmdUserLoggedOut
UserUpdate OnCmdUserLoggedOut
A user logged out of the server.
Definition: TeamTalk.cs:8307
BearWare.TTType.__SOUNDDEVICE
BearWare.ClientStatistics.nMediaFileVideoBytesRecv
long nMediaFileVideoBytesRecv
Video from media file data received (on UDP).
Definition: TeamTalk.cs:2874
BearWare.Channel.AddTransmitUser
void AddTransmitUser(int nUserID, StreamType uStreamType)
Helper function for adding a user and BearWare.StreamType to transmitUsers.
Definition: TeamTalk.cs:2611
BearWare.WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE
const bool DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE
Definition: TeamTalk.cs:1444
BearWare.ClientFlag.CLIENT_DESKTOP_ACTIVE
If set the client instance current have an active desktop session, i.e. TeamTalkBase.SendDesktopWindow() has been called. Call TeamTalkBase.CloseDesktopWindow() to close the desktop session.
BearWare.TTMessage
A struct containing the properties of an event.
Definition: TeamTalk.cs:3873
BearWare.ClientKeepAlive.nUdpConnectTimeoutMSec
int nUdpConnectTimeoutMSec
The duration before the client instance should give up trying to connect to the server on UDP...
Definition: TeamTalk.cs:2845
BearWare.SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS
const int DEFAULT_ECHO_SUPPRESS
Definition: TeamTalk.cs:1496
BearWare.VideoCodec
Struct used for specifying the video codec to use.
Definition: TeamTalk.cs:1631
BearWare.ClientError.CMDERR_CHANNEL_ALREADY_EXISTS
Channel already exists.
BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO
User is allowed to stream audio files to channel.
BearWare.UserStatistics.nVoicePacketsLost
long nVoicePacketsLost
Number of voice packets lost from user.
Definition: TeamTalk.cs:2366
BearWare.ClientEvent.CLIENTEVENT_CON_LOST
Connection to server has been lost.
BearWare.WebRTCAudioPreprocessor.VoiceDetection
Configuration of WebRTC&#39;s voice detection.
Definition: TeamTalk.cs:1312
BearWare.TeamTalkBase.OnCmdServerUpdate
ServerUpdate OnCmdServerUpdate
Server has updated its settings (server name, MOTD, etc.)
Definition: TeamTalk.cs:8372
BearWare.ClientFlag.CLIENT_STREAM_AUDIO
If set the client is currently streaming the audio of a media file. When streaming a video file the C...
BearWare.WebRTCAudioPreprocessor.VoiceDetection.bEnable
bool bEnable
Use WebRTC&#39;s voice detection to trigger BearWare.TeamTalkBase.OnVoiceActivation.
Definition: TeamTalk.cs:1323
BearWare.ChannelType.CHANNEL_HIDDEN
Hidden channel which can only be seen with UserRight.USERRIGHT_VIEW_HIDDEN_CHANNELS.
BearWare.SoundDeviceEffects.bEnableEchoCancellation
bool bEnableEchoCancellation
Enable echo cancellation.
Definition: TeamTalk.cs:328
BearWare.BannedUser
A struct containing the properties of a banned user.
Definition: TeamTalk.cs:1974
BearWare.TeamTalkBase.SetLicenseInformation
static bool SetLicenseInformation(string szRegName, string szRegKey)
Set license information to disable trial mode.
Definition: TeamTalk.cs:4402
BearWare.WebRTCAudioPreprocessor.levelestimation
LevelEstimation levelestimation
Definition: TeamTalk.cs:1377
BearWare.WindowsMixer.GetWaveInControlName
static bool GetWaveInControlName(int nWaveDeviceID, int nControlIndex, ref string szDeviceName)
Get the name of the Wave-In device with the specified index.
Definition: TeamTalk.cs:8956
BearWare.ClientError.CMDERR_INVALID_USERNAME
Invalid username for BearWare.UserAccount.
BearWare.TTType.__INT32
BearWare.ClientError.CMDERR_INCORRECT_CHANNEL_PASSWORD
Invalid channel password.
BearWare.TeamTalkBase.SetSoundOutputVolume
bool SetSoundOutputVolume(int nVolume)
Set master volume.
Definition: TeamTalk.cs:5110
BearWare.ChannelType
ChannelType
The types of channels supported.
Definition: TeamTalk.cs:2456
BearWare.TeamTalkBase.GetVideoCaptureDevices
static bool GetVideoCaptureDevices(out VideoCaptureDevice[] lpVideoDevices)
Get the list of devices available for video capture.
Definition: TeamTalk.cs:5608
BearWare.SpeexDSPConstants
Default values for BearWare.SpeexDSP.
Definition: TeamTalk.cs:1486
BearWare.ClientEvent.CLIENTEVENT_USER_AUDIOBLOCK
A new audio block can be extracted.
BearWare.MediaFileInfo
Struct describing the audio and video format used by a media file.
Definition: TeamTalk.cs:1652
BearWare.VideoCaptureDevice
A struct containing the properties of a video capture device.
Definition: TeamTalk.cs:684
BearWare.TeamTalkBase.GetMyUserAccount
bool GetMyUserAccount(ref UserAccount lpUserAccount)
Get the local client instance&#39;s BearWare.UserAccount.
Definition: TeamTalk.cs:7597
BearWare.TextMessage.nMsgType
TextMsgType nMsgType
The type of text message.
Definition: TeamTalk.cs:2432
BearWare.SpeexVBRCodec.bDTX
bool bDTX
Enable/disable discontinuous transmission. When enabled Speex will ignore silence, so the bitrate will become very low.
Definition: TeamTalk.cs:964
BearWare.Channel.nChannelID
int nChannelID
The channel&#39;s ID. A value from 1 - BearWare.TeamTalkBase.TT_CHANNELID_MAX.
Definition: TeamTalk.cs:2511
BearWare.TeamTalkBase.DoJoinChannelByID
int DoJoinChannelByID(int nChannelID, string szPassword)
Join an existing channel.
Definition: TeamTalk.cs:6674
BearWare.UserRight.USERRIGHT_CREATE_TEMPORARY_CHANNEL
User is allowed to create temporary channels which disappear when last user leaves the channel...
BearWare.SpeexDSP.bEnableAGC
bool bEnableAGC
Whether clients who join a BearWare.Channel should enable AGC with the settings specified nGainLevel...
Definition: TeamTalk.cs:1148
BearWare.WindowsFirewall.AppExceptionExists
static bool AppExceptionExists(string szExecutable)
Check if an executable is already in the Windows Firewall exception list.
Definition: TeamTalk.cs:9031
BearWare.FileTransfer
A struct containing the properties of a file transfer.
Definition: TeamTalk.cs:2692
BearWare.TeamTalkBase.GetChannelFiles
bool GetChannelFiles(int nChannelID, out RemoteFile[] lpRemoteFiles)
Get the list of the files in a channel which can be downloaded.
Definition: TeamTalk.cs:7524
BearWare.UserRight.USERRIGHT_UPLOAD_FILES
User can upload files to channels.
BearWare.TeamTalkBase.GetMyUserID
int GetMyUserID()
Get the local client instance&#39;s user ID.
Definition: TeamTalk.cs:7582
BearWare.TeamTalkBase.SendDesktopWindowFromHWND
int SendDesktopWindowFromHWND(System.IntPtr hWnd, BitmapFormat nBitmapFormat, DesktopProtocol nDesktopProtocol)
Transmit the specified window in a desktop session.
Definition: TeamTalk.cs:6136
BearWare.ClientError.CMDERR_NOT_AUTHORIZED
Command not authorized.
BearWare.TeamTalkBase.InitSoundOutputSharedDevice
bool InitSoundOutputSharedDevice(int nSampleRate, int nChannels, int nFrameSize)
Setup sample rate, channels and frame size of shared sound output device.
Definition: TeamTalk.cs:4851
BearWare.UserState.USERSTATE_DESKTOP
If set the user currently has an active desktop session. If this flag changes the event ClientEvent...
BearWare.TTMessage.data
byte [] data
Definition: TeamTalk.cs:3884
BearWare.TeamTalkBase.OnVoiceActivation
VoiceActivation OnVoiceActivation
Voice activation has triggered transmission.
Definition: TeamTalk.cs:8515
BearWare.ShareWindow.hWnd
IntPtr hWnd
The Windows handle of the window.
Definition: TeamTalk.cs:9071
BearWare.ClientEvent.CLIENTEVENT_HOTKEY
A hotkey has been acticated or deactivated.
BearWare.TeamTalkBase.DoUpdateServer
int DoUpdateServer(ServerProperties lpServerProperties)
Update server properties.
Definition: TeamTalk.cs:7103
BearWare.ClientEvent.CLIENTEVENT_USER_DESKTOPINPUT
Desktop input (mouse or keyboard input) has been received from a user.
BearWare.TTType.__CLIENTSTATISTICS
BearWare.VideoFormat.nFPS_Numerator
int nFPS_Numerator
The numerator of the video capture device&#39;s video format. Divinding nFPS_Numerator with nFPS_Denomina...
Definition: TeamTalk.cs:631
BearWare.ClientError.CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED
The maximum number of logins allowed per IP-address has been exceeded.
BearWare.TeamTalkBase.UpdateLocalPlayback
bool UpdateLocalPlayback(int nPlaybackSessionID, MediaFilePlayback lpMediaFilePlayback)
Definition: TeamTalk.cs:5952
BearWare.TeamTalkBase.DoDeleteFile
int DoDeleteFile(int nChannelID, int nFileID)
Delete a file from a channel.
Definition: TeamTalk.cs:6936
BearWare.TeamTalkBase.SetUserVolume
bool SetUserVolume(int nUserID, StreamType nStreamType, int nVolume)
Set the volume of a user.
Definition: TeamTalk.cs:7704
BearWare.ClientError.CMDERR_UNKNOWN_AUDIOCODEC
The server does not support the audio codec specified by the client. Introduced in version 4...
BearWare.TeamTalkBase.DoSendFile
int DoSendFile(int nChannelID, string szLocalFilePath)
Send a file to the specified channel.
Definition: TeamTalk.cs:6877
BearWare.TeamTalkBase.SetUserMute
bool SetUserMute(int nUserID, StreamType nStreamType, bool bMute)
Mute a user.
Definition: TeamTalk.cs:7719
BearWare.SpeexDSPConstants.DEFAULT_ECHO_ENABLE
const bool DEFAULT_ECHO_ENABLE
Definition: TeamTalk.cs:1495
BearWare.TTType.__NONE
BearWare.ClientError.CMDERR_INVALID_ACCOUNT
Invalid username or password for account.
BearWare.SoundDevice.inputSampleRates
int [] inputSampleRates
Supported sample rates by device for recording. A zero value terminates the list of supported sample ...
Definition: TeamTalk.cs:253
BearWare.Channel.szOpPassword
string szOpPassword
Password to become channel operator.
Definition: TeamTalk.cs:2537
BearWare.TeamTalkBase.GetChannelIDFromPath
int GetChannelIDFromPath(string szChannelPath)
Get the channel ID of the supplied path. Channels are separated by &#39;/&#39;.
Definition: TeamTalk.cs:7495
BearWare.TextMessage.szFromUsername
string szFromUsername
The originators username.
Definition: TeamTalk.cs:2437
BearWare.SpeexDSP.SpeexDSP
SpeexDSP(bool set_defaults)
Definition: TeamTalk.cs:1209
BearWare.TeamTalkBase.GetErrorMessage
static string GetErrorMessage(ClientError nError)
Get textual discription of an error message.
Definition: TeamTalk.cs:8020
BearWare.TeamTalkBase.DoMakeChannel
int DoMakeChannel(Channel lpChannel)
Make a new channel on the server.
Definition: TeamTalk.cs:7002
BearWare.ClientEvent.CLIENTEVENT_NONE
BearWare.MixerControl.WAVEOUT_WAVE
BearWare.ServerStatistics.nUptimeMSec
long nUptimeMSec
The server&#39;s uptime in msec.
Definition: TeamTalk.cs:1946
BearWare.TTAudioPreprocessor.nGainLevel
int nGainLevel
Gain level between BearWare.SoundLevel.SOUND_GAIN_MIN and BearWare.SoundLevel.SOUND_GAIN_MAX. Default is BearWare.SoundLevel.SOUND_GAIN_DEFAULT (no gain).
Definition: TeamTalk.cs:1252
BearWare.TeamTalkBase.DoKickUser
int DoKickUser(int nUserID, int nChannelID)
Kick user from either channel or server.
Definition: TeamTalk.cs:6839
BearWare.VideoFrame.bKeyFrame
bool 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.cs:666
BearWare.SoundSystem.SOUNDSYSTEM_WINMM
Windows legacy audio system. Should be used on Windows Mobile.
BearWare.WindowsMixer.GetWaveInControlSelected
static bool GetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
Get the selected state of a Wave-In device in the Windows Mixer.
Definition: TeamTalk.cs:8988
BearWare.Subscription.SUBSCRIBE_CUSTOM_MSG
Subscribing to custom user messages.
BearWare.SoundDevice.nMaxInputChannels
int nMaxInputChannels
The maximum number of input channels.
Definition: TeamTalk.cs:246
BearWare.TeamTalkBase.OnCmdUserAccount
ListUserAccount OnCmdUserAccount
A new user account has been listed by the server. Event handler for ClientEvent.CLIENTEVENT_CMD_USERA...
Definition: TeamTalk.cs:8403
BearWare.User.nUserID
int nUserID
The user&#39;s ID. A value from 1 - BearWare.TeamTalkBase.TT_USERID_MAX. This property is set by the serv...
Definition: TeamTalk.cs:2226
BearWare.TeamTalkBase.ProcessMsg
void ProcessMsg(TTMessage msg)
Event handler for BearWare.TTMessage.
Definition: TeamTalk.cs:4411
BearWare.TTKeyTranslate.TTKEY_NO_TRANSLATE
Perform no translation.
BearWare.TeamTalkBase.TT_CHANNELS_OPERATOR_MAX
const int TT_CHANNELS_OPERATOR_MAX
Definition: TeamTalk.cs:4178
BearWare.TeamTalkBase.PumpMessage
bool PumpMessage(ClientEvent nClientEvent, int nIdentifier)
Cause client instance event thread to schedule an update event.
Definition: TeamTalk.cs:4366
BearWare.TTMessage.uReserved
uint uReserved
Reserved. To preserve alignment.
Definition: TeamTalk.cs:3882
BearWare.SoundDevice.szDeviceName
string szDeviceName
The name of the sound device.
Definition: TeamTalk.cs:218
BearWare.TeamTalkBase.OnCmdFileRemove
FileUpdate OnCmdFileRemove
A file has been removed from a channel.
Definition: TeamTalk.cs:8396
BearWare.TTType.__USERACCOUNT
BearWare.AbusePrevention
Properties to prevent server abuse.
Definition: TeamTalk.cs:2019
BearWare.MediaFilePlayback.audioPreprocessor
AudioPreprocessor audioPreprocessor
Option to activate audio preprocessor on local media file playback.
Definition: TeamTalk.cs:1688
BearWare.UserAccount.szNote
string szNote
Additional notes about this user.
Definition: TeamTalk.cs:2064
BearWare.TeamTalkBase.Connect
bool Connect(string szHostAddress, int nTcpPort, int nUdpPort, int nLocalTcpPort, int nLocalUdpPort, bool bEncrypted)
Connect to a server.
Definition: TeamTalk.cs:6374
BearWare.DesktopKeyState.DESKTOPKEYSTATE_NONE
The key is ignored.
BearWare.TeamTalkBase.GetMyUserRights
BearWare.UserRight GetMyUserRights()
Convenience method for TeamTalkBase.GetMyUserAccount()
Definition: TeamTalk.cs:7633
BearWare.Channel.szTopic
string szTopic
Topic of the channel.
Definition: TeamTalk.cs:2517
BearWare.WindowsHelper
Helper class for extracting Windows HWND handles and controlling mouse and keyboard.
Definition: TeamTalk.cs:9088
BearWare.ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDIN
The client instance successfully logged on to server.
BearWare.OpusCodec
OPUS audio codec settings. For detailed information about the OPUS codec check out http://www...
Definition: TeamTalk.cs:1039
BearWare.AudioFormat
Struct describing the audio format used by a.
Definition: TeamTalk.cs:578
BearWare.MixerControl.WAVEOUT_MASTER
BearWare.TeamTalkBase.DoNewUserAccount
int DoNewUserAccount(UserAccount lpUserAccount)
Issue command to create a new user account on the server.
Definition: TeamTalk.cs:7157
BearWare.WebRTCAudioPreprocessor.WebRTCAudioPreprocessor
WebRTCAudioPreprocessor(bool set_defaults)
Definition: TeamTalk.cs:1379
BearWare.User.uUserType
UserType uUserType
The uUserType of the user&#39;s BearWare.UserAccount. This property is set by the server and will not cha...
Definition: TeamTalk.cs:2241
BearWare.SpeexCodec
Speex audio codec settings for Constant Bitrate mode (CBR).
Definition: TeamTalk.cs:906
BearWare.AudioFileFormat
AudioFileFormat
Media file formats supported for muxed audio recordings.
Definition: TeamTalk.cs:539
BearWare.AbusePrevention.nCommandsIntervalMSec
int nCommandsIntervalMSec
Commands within given interval.
Definition: TeamTalk.cs:2032
BearWare.SoundDeviceEffects.bEnableDenoise
bool bEnableDenoise
Enable noise suppression.
Definition: TeamTalk.cs:312
BearWare.ServerStatistics.nVoiceBytesRX
long nVoiceBytesRX
The number of bytes in audio packets received by the server from clients.
Definition: TeamTalk.cs:1916
BearWare.ClientErrorMsg.nErrorNo
int nErrorNo
Error number based on ClientError.
Definition: TeamTalk.cs:3241
BearWare.TTType.__AUDIOBLOCK
BearWare.TTType.__TTBOOL
BearWare.ClientEvent.CLIENTEVENT_CMD_USERACCOUNT
A user account has been received from the server.
BearWare.User.nBufferMSecMediaFile
int nBufferMSecMediaFile
The size of the buffer (in msec) to hold media file content.
Definition: TeamTalk.cs:2344
BearWare.Codec.OPUS_CODEC
OPUS audio codec.
BearWare.User.stereoPlaybackMediaFile
bool [] stereoPlaybackMediaFile
Check what speaker a user is outputting to. If index 0 is TRUE then left speaker is playing...
Definition: TeamTalk.cs:2336
BearWare.EncryptionContext.nVerifyDepth
int nVerifyDepth
Set limit to depth in the certificate chain during the verification procedure.
Definition: TeamTalk.cs:2791
BearWare.ClientEvent.CLIENTEVENT_CMD_MYSELF_KICKED
The client instance was kicked from a channel.
BearWare.UserStatistics.nVoicePacketsRecv
long nVoicePacketsRecv
Number of voice packets received from user.
Definition: TeamTalk.cs:2364
BearWare.ClientError.CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED
The selected BearWare.AudioCodec exceeds what the server allows.
BearWare.ShareWindow.nWndX
int nWndX
X coordinate of the window relative to the Windows desktop.
Definition: TeamTalk.cs:9073
BearWare.Subscription.SUBSCRIBE_USER_MSG
Subscribing to user text messages.
BearWare.TTType.__VIDEOFORMAT
BearWare.ClientEvent.CLIENTEVENT_USER_DESKTOPCURSOR
A user has sent the position of the mouse cursor.
BearWare.ClientFlag.CLIENT_SNDOUTPUT_AUTO3DPOSITION
If set the client instance will auto position users in a 180 degree circle using 3D-sound. This option is only available with SoundSystem.SOUNDSYSTEM_DSOUND.
BearWare.MediaFileInfo.audioFmt
AudioFormat audioFmt
The audio properties of the media file.
Definition: TeamTalk.cs:1661
BearWare.AudioFileFormat.AFF_CHANNELCODEC_FORMAT
Store audio in the same format as the BearWare.Channel&#39;s configured audio codec.
BearWare.ServerProperties.nUserTimeout
int nUserTimeout
The number of seconds before a user who hasn&#39;t responded to keepalives will be kicked off the server...
Definition: TeamTalk.cs:1872
BearWare.ClientError.CMDERR_MAX_DISKUSAGE_EXCEEDED
Cannot upload file because disk quota will be exceeded.
BearWare.ClientEvent.CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED
The maximum size of the payload put into UDP packets has been updated.
BearWare.TTType.__TTMESSAGE
BearWare.ClientEvent.CLIENTEVENT_CMD_PROCESSING
A command issued by TeamTalkBase.Do* methods is being processed.
BearWare.TeamTalkBase.PaintVideoFrameEx
bool PaintVideoFrameEx(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight, int XSrc, int YSrc, int nSrcWidth, int nSrcHeight, ref VideoFrame lpVideoFrame)
Paint user&#39;s video frame using a Windows&#39; DC (device context).
Definition: TeamTalk.cs:5706
BearWare.TeamTalkBase.EnableAudioBlockEvent
bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes, AudioFormat lpAudioFormat, bool bEnable)
Same as TeamTalkBase.EnableAudioBlockEvent() but option to specify audio output format.
Definition: TeamTalk.cs:5259
BearWare.OpusCodec.bFEC
bool bFEC
Forward error correction. Corrects errors if there&#39;s packetloss.
Definition: TeamTalk.cs:1055
c_tt
BearWare.WebMVP8Codec.nRcTargetBitrate
int nRcTargetBitrate
Same as rc_target_bitrate.
Definition: TeamTalk.cs:1509
BearWare.ServerProperties.nMaxUsers
int nMaxUsers
The maximum number of users allowed on the server. A user with admin account can ignore this...
Definition: TeamTalk.cs:1836
BearWare.ClientStatistics.nUdpPingTimeMs
int nUdpPingTimeMs
Response time to server on UDP (based on ping/pong sent at a specified interval. Set to -1 if not cur...
Definition: TeamTalk.cs:2882
BearWare.AudioPreprocessorType
AudioPreprocessorType
The types of supported audio preprocessors.
Definition: TeamTalk.cs:1453
BearWare.VideoFrame.nFrameBufferSize
int nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer.
Definition: TeamTalk.cs:671
BearWare.UnionData
Definition: TeamTalk.cs:3930
BearWare.ClientErrorMsg.szErrorMsg
string szErrorMsg
Text message describing the error.
Definition: TeamTalk.cs:3244
BearWare.TTType.__FILETRANSFER
BearWare.TeamTalkBase.StartRecordingMuxedAudioFile
bool StartRecordingMuxedAudioFile(AudioCodec lpAudioCodec, string szAudioFileName, AudioFileFormat uAFF)
Store all audio conversations with specific BearWare.AudioCodec settings to a single file...
Definition: TeamTalk.cs:5455
BearWare.TeamTalkBase.OnCmdProcessing
CommandProcessing OnCmdProcessing
A command issued by Do* methods is being processed.
Definition: TeamTalk.cs:8206
BearWare.TextMessage.nToUserID
int nToUserID
Set to zero if channel message.
Definition: TeamTalk.cs:2439
BearWare.VideoFormat.nFPS_Denominator
int nFPS_Denominator
The denominator of the video capture device&#39;s video format. Divinding nFPS_Numerator with nFPS_Denomi...
Definition: TeamTalk.cs:635
BearWare.ChannelType.CHANNEL_DEFAULT
A default channel is a channel which disappears after the last user leaves the channel.
BearWare.ServerStatistics.nTotalBytesTX
long nTotalBytesTX
The number of bytes sent from the server to clients.
Definition: TeamTalk.cs:1907
BearWare.WebRTCConstants.DEFAULT_WEBRTC_GAINCTL_ENABLE
const bool DEFAULT_WEBRTC_GAINCTL_ENABLE
Definition: TeamTalk.cs:1437
BearWare.Subscription.SUBSCRIBE_VOICE
Subscribing to StreamType.STREAMTYPE_VOICE.
BearWare.TTType.__WEBMVP8CODEC
BearWare.ClientError.INTERR_SNDEFFECT_FAILURE
BearWare.SoundDeviceEffects failed to initialize.
BearWare.UserState.USERSTATE_VIDEOCAPTURE
If set the user currently has an active video stream. If this flag changes the event ClientEvent...
BearWare.MediaFileStatus
MediaFileStatus
Status of media file being written to disk.
Definition: TeamTalk.cs:518
BearWare.TeamTalkBase.RestartSoundSystem
static bool RestartSoundSystem()
Reinitialize sound system (in order to detect new/removed devices).
Definition: TeamTalk.cs:4655
BearWare.TeamTalkBase.HotKey_RemoveTestHook
bool HotKey_RemoveTestHook()
Remove the test hook again so the OnHotKeyTest event will no longer be notified.
Definition: TeamTalk.cs:8105
BearWare.TeamTalkBase.GetDefaultSoundDevices
static bool GetDefaultSoundDevices(ref int lpnInputDeviceID, ref int lpnOutputDeviceID)
Get the default sound devices.
Definition: TeamTalk.cs:4608
BearWare.TeamTalkBase.QueryMaxPayload
bool QueryMaxPayload(int nUserID)
Query the maximum size of UDP data packets to the user or server.
Definition: TeamTalk.cs:6471
BearWare.TeamTalkBase.OnCmdFileNew
FileUpdate OnCmdFileNew
A new file is added to a channel.
Definition: TeamTalk.cs:8390
BearWare.UserRight.USERRIGHT_DOWNLOAD_FILES
User can download files from channels.
BearWare.ClientEvent.CLIENTEVENT_STREAM_MEDIAFILE
Media file being streamed to a channel is processing.
BearWare.TeamTalkBase.StartStreamingMediaFileToChannel
bool StartStreamingMediaFileToChannel(string szMediaFilePath, MediaFilePlayback lpMediaFilePlayback, VideoCodec lpVideoCodec)
Stream media file to channel, e.g. avi-, wav- or MP3-file.
Definition: TeamTalk.cs:5869
BearWare.WebRTCAudioPreprocessor.GainController2.fixeddigital
FixedDigital fixeddigital
Definition: TeamTalk.cs:1344
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fMaxGainChangeDBPerSecond
float fMaxGainChangeDBPerSecond
Definition: TeamTalk.cs:1358
BearWare.FourCC
FourCC
The picture format used by a capture device.
Definition: TeamTalk.cs:598
BearWare.TeamTalkBase.DoPing
int DoPing()
Ping server and wait for server to reply.
Definition: TeamTalk.cs:6536
BearWare.TeamTalkBase.CancelFileTranfer
bool CancelFileTranfer(int nTransferID)
Cancel an active file transfer.
Definition: TeamTalk.cs:8005
BearWare.AudioBlock.uSampleIndex
uint uSampleIndex
The index of the first sample in lpRawAudio. Its value will be a multiple of nSamples. The sample index can be used to detect overflows of the internal buffer. When a user initially starts talking the nSampleIndex will be 0 and while the user is talking nSampleIndex will be greater than 0. When the user stops talking nSampleIndex will be reset to 0 again.
Definition: TeamTalk.cs:494
BearWare.TeamTalkBase.DoUnsubscribe
int DoUnsubscribe(int nUserID, Subscription uSubscriptions)
Unsubscribe to user events/data. This can be used to ignore messages or voice data from a specific us...
Definition: TeamTalk.cs:6973
BearWare.ClientError.CMDERR_INCOMPATIBLE_PROTOCOLS
The server uses a protocol which is incompatible with the client instance.
BearWare.Subscription.SUBSCRIBE_DESKTOP
Subscribing to StreamType.STREAMTYPE_DESKTOP.
BearWare.DesktopInput
A struct containing a mouse or keyboard event.
Definition: TeamTalk.cs:810
BearWare.TeamTalkBase.DoBanUser
int DoBanUser(int nUserID, int nChannelID)
Issue a ban command on a user in a specific channel.
Definition: TeamTalk.cs:7210
BearWare.TeamTalkBase.ConnectSysID
bool ConnectSysID(string szHostAddress, int nTcpPort, int nUdpPort, int nLocalTcpPort, int nLocalUdpPort, bool bEncrypted, string szSystemID)
Same as Connect() but the option of providing a unique system-ID.
Definition: TeamTalk.cs:6408
BearWare.MediaFileInfo.uElapsedMSec
uint uElapsedMSec
The elapsed time of the media file in miliseconds.
Definition: TeamTalk.cs:1667
BearWare.User.nStatusMode
int nStatusMode
The user&#39;s current status mode. Invoke TeamTalkBase.DoChangeStatus() to change this value...
Definition: TeamTalk.cs:2279
BearWare.UnionData.bActive
bool bActive
Definition: TeamTalk.cs:3953
BearWare.TTType.__MEDIAFILEPLAYBACK
BearWare.TTKeyTranslate.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...
BearWare.UserStatistics.nVideoCaptureFramesRecv
long nVideoCaptureFramesRecv
Number of video frames received from user.
Definition: TeamTalk.cs:2371
BearWare.AudioCodec
Struct used for specifying which audio codec a channel uses.
Definition: TeamTalk.cs:1565
BearWare.SpeexCodec.nQuality
int nQuality
A value from 1-10. As of DLL version 4.2 also 0 is supported.
Definition: TeamTalk.cs:915
BearWare.User.nActiveAdaptiveDelayMSec
int nActiveAdaptiveDelayMSec
The currently active adaptive jitter delay for received voice streams for this user.
Definition: TeamTalk.cs:2348
BearWare.VideoFormat
A struct containing the properties of a video capture format.
Definition: TeamTalk.cs:620
BearWare.WindowsMixer.SetWaveInControlSelected
static bool SetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
Set the selected state of a Wave-In device in the Windows Mixer.
Definition: TeamTalk.cs:8975
BearWare.WindowsMixer.SetWaveOutVolume
static bool SetWaveOutVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
Set the volume of a Windows Mixer Wave-Out device from the &#39;enum&#39; of devices.
Definition: TeamTalk.cs:8831
BearWare.TeamTalkBase.GetFlags
BearWare.ClientFlag GetFlags()
Get a bitmask describing the client&#39;s current state.
Definition: TeamTalk.cs:4380
BearWare.ServerStatistics.nVideoCaptureBytesTX
long nVideoCaptureBytesTX
The number of bytes in video packets sent from the server to clients.
Definition: TeamTalk.cs:1919
BearWare.ChannelType.CHANNEL_SOLO_TRANSMIT
Only one user can transmit at a time.
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE
The BearWare.SoundDevice is the default communication device. This feature is only supported on Sound...
BearWare.TeamTalkBase.OnUserRecordMediaFile
UserRecordMediaFile OnUserRecordMediaFile
An media file recording has changed status.
Definition: TeamTalk.cs:8482
BearWare.SpeexDSP
Audio configuration specifying how recorded audio from sound input device should be preprocessed befo...
Definition: TeamTalk.cs:1138
BearWare.ClientEvent.CLIENTEVENT_USER_MEDIAFILE_VIDEO
A new video frame from a video media file was received from a user.
BearWare.Subscription.SUBSCRIBE_BROADCAST_MSG
Subscribing to broadcast text messsages.
BearWare.AudioPreprocessor.speexdsp
SpeexDSP speexdsp
Used when nPreprocessor is AudioPreprocessorType.SPEEXDSP_AUDIOPREPROCESSOR.
Definition: TeamTalk.cs:1476
BearWare.FileTransfer.szLocalFilePath
string szLocalFilePath
The file path on local disk.
Definition: TeamTalk.cs:2702
BearWare.ServerProperties.szServerProtocolVersion
string szServerProtocolVersion
The version of the server&#39;s protocol.
Definition: TeamTalk.cs:1878
BearWare.Channel.nDiskQuota
long nDiskQuota
Number of bytes available for file storage.
Definition: TeamTalk.cs:2533
BearWare.TeamTalkBase.SendDesktopCursorPosition
bool SendDesktopCursorPosition(ushort nPosX, ushort nPosY)
Send the position of mouse cursor to users in the same channel.
Definition: TeamTalk.cs:6227
BearWare.ClientEvent.CLIENTEVENT_CMD_CHANNEL_UPDATE
A channel&#39;s properties has been updated.
BearWare.User.soundPositionMediaFile
float [] soundPositionMediaFile
User&#39;s position when using 3D-sound (DirectSound option). Index 0 is x-axis, index 1 is y-axis and in...
Definition: TeamTalk.cs:2324
BearWare.TeamTalkBase.GetChannelFile
bool GetChannelFile(int nChannelID, int nFileID, ref RemoteFile lpRemoteFile)
Get information about a file which can be downloaded.
Definition: TeamTalk.cs:7540
BearWare.TeamTalkBase.HotKey_InstallTestHook
bool HotKey_InstallTestHook()
Install a test hook which calls the event OnHotKeyTest whenever a key or mouse button is pressed...
Definition: TeamTalk.cs:8086
BearWare.WindowsMixer.SetWaveInMute
static bool SetWaveInMute(int nWaveDeviceID, bool bEnable)
Mute/unmute microphone input.
Definition: TeamTalk.cs:8920
BearWare.Channel.GetTransmitStreamTypes
StreamType GetTransmitStreamTypes(int nUserID)
Helper function for getting the StreamType a user can transmit by querying transmitUsers.
Definition: TeamTalk.cs:2627
BearWare.SpeexConstants
Speex constants for BearWare.SpeexCodec and BearWare.SpeexVBRCodec.
Definition: TeamTalk.cs:983
BearWare.ClientKeepAlive.nTcpKeepAliveIntervalMSec
int nTcpKeepAliveIntervalMSec
Client instance&#39;s interval between TeamTalkBase.DoPing() command. Read-only value. Will be half of BearWare.ServerProperties&#39; nUserTimeout.
Definition: TeamTalk.cs:2818
BearWare.WebRTCAudioPreprocessor.LevelEstimation.bEnable
bool bEnable
Enable level estimater. When enabled TeamTalkBase.GetSoundInputLevel() will return a value based on W...
Definition: TeamTalk.cs:1375
BearWare.AudioFileFormat.AFF_MP3_64KBIT_FORMAT
BearWare.MixerControl.WAVEIN_WAVEOUT
BearWare.WebRTCAudioPreprocessor.gaincontroller2
GainController2 gaincontroller2
Definition: TeamTalk.cs:1364
BearWare.SoundSystem.SOUNDSYSTEM_OPENSLES_ANDROID
Android sound API.
BearWare.TeamTalkBase.GetMessage
bool GetMessage(ref TTMessage pMsg, int nWaitMs)
Poll for events in the client instance.
Definition: TeamTalk.cs:4335
BearWare.ClientError.CMDERR_COMMAND_FLOOD
Command flooding prevented by server.
BearWare.ServerStatistics.nDesktopBytesTX
long nDesktopBytesTX
The number of bytes in desktop packets sent from the server to clients.
Definition: TeamTalk.cs:1931
BearWare.MediaFileStatus.MFS_CLOSED
BearWare.SoundDeviceEffects.bEnableAGC
bool bEnableAGC
Enable Automatic Gain Control.
Definition: TeamTalk.cs:295
BearWare.SoundSystem.SOUNDSYSTEM_NONE
Sound system denoting invalid or not found.
BearWare.WindowsHelper.GetDesktopActiveHWND
static System.IntPtr GetDesktopActiveHWND()
Get the handle (HWND) of the window which is currently active (focused) on the Windows desktop...
Definition: TeamTalk.cs:9092
BearWare.TTMessage.ttType
TTType ttType
Specifies which member to access in the union.
Definition: TeamTalk.cs:3880
BearWare.SoundDeviceConstants
IDs for sound devices.
Definition: TeamTalk.cs:333
BearWare.ServerStatistics.nMediaFileBytesTX
long nMediaFileBytesTX
The number of bytes in media file packets sent from the server to clients.
Definition: TeamTalk.cs:1925
BearWare.SoundDevice.bSupports3D
bool bSupports3D
Whether the sound device supports 3D-sound effects.
Definition: TeamTalk.cs:244
BearWare.TeamTalkBase.OnCmdMyselfLoggedOut
MyselfLoggedOut OnCmdMyselfLoggedOut
The client instance logged out of a server.
Definition: TeamTalk.cs:8264
BearWare.TeamTalkBase.DoTextMessage
int DoTextMessage(TextMessage lpTextMessage)
Send a text message to either a user or a channel.
Definition: TeamTalk.cs:6763
BearWare.Subscription.SUBSCRIBE_DESKTOPINPUT
Subscribing to StreamType.STREAMTYPE_DESKTOPINPUT.
BearWare.WebRTCAudioPreprocessor.Preamplifier.bEnable
bool bEnable
Enable pre-amplifier. Replacement for TT_SetSoundInputGainLevel()
Definition: TeamTalk.cs:1277
BearWare.TTKeyTranslate.TTKEY_TTKEYCODE_TO_MACKEYCODE
Translate from TTKEYCODE to Mac OS X Carbon kVK_* key-code.
BearWare.TeamTalkBase.DoJoinChannel
int DoJoinChannel(Channel lpChannel)
Create a new channel and join it.
Definition: TeamTalk.cs:6647
BearWare.ClientFlag
ClientFlag
Flags used to describe the the client instance current state.
Definition: TeamTalk.cs:3980
BearWare.VideoFrame.nWidth
int nWidth
The width in pixels of the image contained in frameBuffer.
Definition: TeamTalk.cs:652
BearWare.ServerProperties.szServerName
string szServerName
The server&#39;s name.
Definition: TeamTalk.cs:1819
BearWare.ClientError.CMDERR_ACCOUNT_NOT_FOUND
Cannot find user account.
BearWare.TeamTalkBase.DoChangeStatus
int DoChangeStatus(int nStatusMode, string szStatusMessage)
Change the client instance&#39;s currect status.
Definition: TeamTalk.cs:6741
BearWare.ClientFlag.CLIENT_SNDINPUT_VOICEACTIVE
If set GetSoundInputLevel() is higher than the voice activation level. To enable voice transmission i...
BearWare.User.nVolumeVoice
int nVolumeVoice
The user&#39;s voice volume level. Note that it&#39;s a virtual volume which is being set since the master vo...
Definition: TeamTalk.cs:2298
BearWare.TeamTalkBase.StartSoundLoopbackTest
static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID, int nSampleRate, int nChannels, bool bDuplexMode, SpeexDSP lpSpeexDSP)
Perform a record and playback test of specified sound devices along with an audio configuration and a...
Definition: TeamTalk.cs:4663
BearWare.UserAccount.nAudioCodecBpsLimit
int nAudioCodecBpsLimit
Bandwidth restriction for audio codecs created by this user. This value will hold the highest bitrate...
Definition: TeamTalk.cs:2079
BearWare.Subscription
Subscription
A user by default accepts audio, video and text messages from all users. Using subscribtions can...
Definition: TeamTalk.cs:2110
BearWare.WindowsHelper.GetDesktopWindowHWND
static bool GetDesktopWindowHWND(int nIndex, ref System.IntPtr lpHWnd)
Get the all the handles (HWND) of visible windows.
Definition: TeamTalk.cs:9104
BearWare.UserState.USERSTATE_MEDIAFILE_AUDIO
If set the user currently streams an audio file. If user is streaming a video file with audio then th...
BearWare.TTType.__UINT32
BearWare.TeamTalkBase.EnableAudioBlockEvent
bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes, bool bEnable)
Enable/disable access to raw audio from individual users, local microphone input or muxed stream of a...
Definition: TeamTalk.cs:5226
BearWare.WindowsHelper.GetWindow
static bool GetWindow(System.IntPtr hWnd, ref ShareWindow lpShareWindow)
Get the properties of a window from its window handle (HWND).
Definition: TeamTalk.cs:9112
BearWare.ClientEvent.CLIENTEVENT_CMD_BANNEDUSER
A banned user has been received from the server.
BearWare.User.uUserState
UserState uUserState
A bitmask of the user&#39;s current state, e.g. talking, muted, etc.
Definition: TeamTalk.cs:2288
BearWare.TeamTalkBase.OnUserDesktopWindow
NewDesktopWindow OnUserDesktopWindow
A new or updated desktop window has been received from a user.
Definition: TeamTalk.cs:8456
BearWare.WebRTCAudioPreprocessor.LevelEstimation
Configuration of WebRTC&#39;s level estimater.
Definition: TeamTalk.cs:1368
BearWare.WindowsHelper.DesktopInputExecute
static int DesktopInputExecute(DesktopInput[] lpDesktopInputs)
Execute desktop (mouse or keyboard) input.
Definition: TeamTalk.cs:9167
BearWare.ClientError.CMDERR_MAX_CHANNELS_EXCEEDED
The maximum number of channels has been exceeded.
BearWare.UserRight
UserRight
The rights users have once they have logged on to the server.
Definition: TeamTalk.cs:1723
BearWare.UserAccount
A struct containing the properties of a user account.
Definition: TeamTalk.cs:2044
BearWare.SoundSystem.SOUNDSYSTEM_COREAUDIO
Core Audio. Should be used on MacOS.
BearWare.ClientError.INTERR_AUDIOPREPROCESSOR_INIT_FAILED
BearWare.AudioPreprocessor failed to initialize.
BearWare.UserRight.USERRIGHT_NONE
Users who log onto the server has none of the rights below.
BearWare.ClientKeepAlive.nUdpKeepAliveRTXMSec
int nUdpKeepAliveRTXMSec
Client instance&#39;s interval for retransmitting UDP keep alive packets. If server hasn&#39;t responded to U...
Definition: TeamTalk.cs:2830
BearWare.UserRight.USERRIGHT_KICK_USERS
User can kick users off the server.
BearWare.FileTransfer.nTransferred
long nTransferred
The number of bytes transferred so far.
Definition: TeamTalk.cs:2709
BearWare.EncryptionContext.szCADir
string szCADir
Path to directory containing Certificate Authority (CA) Certificates in PEM format.
Definition: TeamTalk.cs:2765
BearWare.ClientFlag.CLIENT_TX_VIDEOCAPTURE
If set the client instance is currently transmitting video.
BearWare.UserRight.USERRIGHT_OPERATOR_ENABLE
User can make other users channel operator.
BearWare.SpeexVBRCodec
Speex audio codec settings for Variable Bitrate mode (VBR).
Definition: TeamTalk.cs:942
BearWare.ClientError.CMDERR_CHANNEL_NOT_FOUND
Channel does not exist.
BearWare.TeamTalkBase.GetSoundOutputVolume
int GetSoundOutputVolume()
Get master volume.
Definition: TeamTalk.cs:5120
BearWare.TeamTalkBase.SetUserPosition
bool SetUserPosition(int nUserID, StreamType nStreamType, float x, float y, float z)
Set the position of a user.
Definition: TeamTalk.cs:7805
BearWare.TeamTalkBase.InitSoundInputSharedDevice
bool InitSoundInputSharedDevice(int nSampleRate, int nChannels, int nFrameSize)
Setup sample rate, channels and frame size of shared sound input device.
Definition: TeamTalk.cs:4784
BearWare.DesktopInputConstants.DESKTOPINPUT_MOUSEPOS_IGNORE
const ushort DESKTOPINPUT_MOUSEPOS_IGNORE
Definition: TeamTalk.cs:866
BearWare.OpusCodec.nFrameSizeMSec
int nFrameSizeMSec
OPUS supports 2.5, 5, 10, 20, 40, 60, 80, 100 and 120 msec. If nFrameSizeMSec is 0 then nFrameSizeMSe...
Definition: TeamTalk.cs:1078
BearWare.UserRight.USERRIGHT_ALL
User with all rights.
BearWare.SpeexDSPConstants.DEFAULT_AGC_DEC_MAXDB
const int DEFAULT_AGC_DEC_MAXDB
Definition: TeamTalk.cs:1491
BearWare.TeamTalkBase.StartRecordingMuxedAudioFile
bool StartRecordingMuxedAudioFile(int nChannelID, string szAudioFileName, AudioFileFormat uAFF)
Store audio conversations from a specific channel into a single file.
Definition: TeamTalk.cs:5484
BearWare.WindowsMixer.GetWaveInName
static bool GetWaveInName(int nWaveDeviceID, ref string szMixerName)
Get the name of the mixer associated with a wave-in device.
Definition: TeamTalk.cs:8767
BearWare.RemoteFile.szFileName
string szFileName
The name of the file.
Definition: TeamTalk.cs:2726
BearWare.BannedUser.szBanTime
string szBanTime
Date and time when user was banned. Read-only property.
Definition: TeamTalk.cs:1984
BearWare.WindowsFirewall.RemoveAppException
static bool RemoveAppException(string szExecutable)
Remove an application from the Windows Firewall exception list.
Definition: TeamTalk.cs:9057
BearWare.AudioCodec.nCodec
Codec nCodec
Specifies whether the member speex, speex_vbr or opus holds the codec settings.
Definition: TeamTalk.cs:1570
BearWare.ClientEvent
ClientEvent
TeamTalk client event messages.
Definition: TeamTalk.cs:3256
BearWare.DesktopWindow.nBytesPerLine
int nBytesPerLine
The number of bytes for each scan-line in the bitmap. Zero means 4-byte aligned.
Definition: TeamTalk.cs:772
BearWare.ServerProperties.szServerVersion
string szServerVersion
The server version.
Definition: TeamTalk.cs:1875
BearWare.TeamTalkBase.CloseDesktopWindow
bool CloseDesktopWindow()
Close the current desktop session.
Definition: TeamTalk.cs:6093
BearWare.AudioPreprocessor
Configure the audio preprocessor specified by nPreprocessor.
Definition: TeamTalk.cs:1469