TeamTalk 5 Java DLL Version 5.22A

Loading...
Searching...
No Matches
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,
157 SOUNDSYSTEM_PULSEAUDIO = 10,
158 }
159
164 [Flags]
165 public enum SoundDeviceFeature : uint
166 {
167 SOUNDDEVICEFEATURE_NONE = 0x0000,
173 SOUNDDEVICEFEATURE_AEC = 0x0001,
179 SOUNDDEVICEFEATURE_AGC = 0x0002,
184 SOUNDDEVICEFEATURE_DENOISE = 0x0004,
195 SOUNDDEVICEFEATURE_3DPOSITION = 0x0008,
198 SOUNDDEVICEFEATURE_DUPLEXMODE = 0x0010,
201 SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE = 0x0020,
202 }
203
216 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
217 public struct SoundDevice
218 {
224 public int nDeviceID;
226 public SoundSystem nSoundSystem;
228 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
229 public string szDeviceName;
234 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
235 public string szDeviceID;
252 public int nWaveDeviceID;
255 public bool bSupports3D;
257 public int nMaxInputChannels;
259 public int nMaxOutputChannels;
263 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_SAMPLERATES_MAX)]
264 public int[] inputSampleRates;
268 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_SAMPLERATES_MAX)]
269 public int[] outputSampleRates;
271 public int nDefaultSampleRate;
277 public SoundDeviceFeature uSoundDeviceFeatures;
278 }
279
280
289 public struct SoundDeviceEffects
290 {
306 public bool bEnableAGC;
323 public bool bEnableDenoise;
339 public bool bEnableEchoCancellation;
340 }
341
344 public struct SoundDeviceConstants
345 {
348 public const int TT_SOUNDDEVICE_ID_REMOTEIO = 0;
354 public const int TT_SOUNDDEVICE_ID_VOICEPREPROCESSINGIO = (1 | (int)TT_SOUNDDEVICE_ID_SHARED_FLAG);
359 public const int TT_SOUNDDEVICE_ID_OPENSLES_DEFAULT = 0;
364 public const int TT_SOUNDDEVICE_ID_OPENSLES_VOICECOM = 1;
373 public const int TT_SOUNDDEVICE_ID_TEAMTALK_VIRTUAL = 1978;
374
375
389 public const uint TT_SOUNDDEVICE_ID_SHARED_FLAG = 0x00000800;
390
395 public const uint TT_SOUNDDEVICE_ID_MASK = 0x000007FF;
396 }
397
401 public struct SoundLevel
402 {
408 public const int SOUND_VU_MAX = 100;
414 public const int SOUND_VU_MIN = 0;
422 public const int SOUND_VOLUME_MAX = 32000;
430 public const int SOUND_VOLUME_DEFAULT = 1000;
436 public const int SOUND_VOLUME_MIN = 0;
445 public const int SOUND_GAIN_MAX = 32000;
455 public const int SOUND_GAIN_DEFAULT = 1000;
464 public const int SOUND_GAIN_MIN = 0;
465 }
466
481 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
482 public struct AudioBlock
483 {
487 public int nStreamID;
489 public int nSampleRate;
491 public int nChannels;
495 public System.IntPtr lpRawAudio;
497 public int nSamples;
505 public uint uSampleIndex;
518 StreamType uStreamTypes;
519 }
520
529 public enum MediaFileStatus : uint
530 {
531 MFS_CLOSED = 0,
533 MFS_ERROR = 1,
535 MFS_STARTED = 2,
537 MFS_FINISHED = 3,
539 MFS_ABORTED = 4,
541 MFS_PAUSED = 5,
544 MFS_PLAYING = 6
545 }
546
550 public enum AudioFileFormat : uint
551 {
553 AFF_NONE = 0,
564 AFF_CHANNELCODEC_FORMAT = 1,
566 AFF_WAVE_FORMAT = 2,
568 AFF_MP3_16KBIT_FORMAT = 3,
570 AFF_MP3_32KBIT_FORMAT = 4,
572 AFF_MP3_64KBIT_FORMAT = 5,
574 AFF_MP3_128KBIT_FORMAT = 6,
576 AFF_MP3_256KBIT_FORMAT = 7,
578 AFF_MP3_320KBIT_FORMAT = 8,
579 }
580
588 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
589 public struct AudioFormat
590 {
592 public AudioFileFormat nAudioFmt;
594 public int nSampleRate;
596 public int nChannels;
597 }
598
609 public enum FourCC : uint
610 {
612 FOURCC_NONE = 0,
615 FOURCC_I420 = 100,
618 FOURCC_YUY2 = 101,
621 FOURCC_RGB32 = 102
622 }
623
630 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
631 public struct VideoFormat
632 {
635 public int nWidth;
638 public int nHeight;
642 public int nFPS_Numerator;
646 public int nFPS_Denominator;
648 public FourCC picFourCC;
649 }
650
658 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
659 public struct VideoFrame
660 {
663 public int nWidth;
666 public int nHeight;
672 public int nStreamID;
677 public bool bKeyFrame;
679 public System.IntPtr frameBuffer;
682 public int nFrameBufferSize;
683 }
684
694 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
695 public struct VideoCaptureDevice
696 {
698 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
699 public string szDeviceID;
701 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
702 public string szDeviceName;
715 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
716 public string szCaptureAPI;
718 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_VIDEOFORMATS_MAX)]
719 public VideoFormat[] videoFormats;
722 public int nVideoFormatsCount;
723 }
724
732 public enum BitmapFormat : uint
733 {
735 BMP_NONE = 0,
741 BMP_RGB8_PALETTE = 1,
744 BMP_RGB16_555 = 2,
748 BMP_RGB24 = 3,
752 BMP_RGB32 = 4
753 }
754
759 public enum DesktopProtocol : uint
760 {
763 DESKTOPPROTOCOL_ZLIB_1 = 1
764 }
765
772 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
773 public struct DesktopWindow
774 {
776 public int nWidth;
778 public int nHeight;
780 public BitmapFormat bmpFormat;
783 public int nBytesPerLine;
790 public int nSessionID;
792 public DesktopProtocol nProtocol;
794 public IntPtr frameBuffer;
797 public int nFrameBufferSize;
798 }
799
803 public enum DesktopKeyState : uint
804 {
806 DESKTOPKEYSTATE_NONE = 0x00000000,
808 DESKTOPKEYSTATE_DOWN = 0x00000001,
810 DESKTOPKEYSTATE_UP = 0x00000002,
811 }
812
820 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
821 public struct DesktopInput
822 {
826 public ushort uMousePosX;
830 public ushort uMousePosY;
836 public uint uKeyCode;
839 public DesktopKeyState uKeyState;
841 public DesktopInput(bool set_defaults)
842 {
843 if (set_defaults)
844 {
845 uMousePosX = uMousePosY = (ushort)DesktopInputConstants.DESKTOPINPUT_MOUSEPOS_IGNORE;
846 uKeyCode = DesktopInputConstants.DESKTOPINPUT_KEYCODE_IGNORE;
847 uKeyState = DesktopKeyState.DESKTOPKEYSTATE_NONE;
848 }
849 else
850 {
851 uMousePosX = uMousePosY = 0;
852 uKeyCode = 0;
853 uKeyState = DesktopKeyState.DESKTOPKEYSTATE_NONE;
854 }
855 }
856 }
857
859 public struct DesktopInputConstants
860 {
868 public const uint DESKTOPINPUT_KEYCODE_IGNORE = 0xFFFFFFFF;
869
877 public const ushort DESKTOPINPUT_MOUSEPOS_IGNORE = 0xFFFF;
878
885 public const uint DESKTOPINPUT_KEYCODE_LMOUSEBTN = 0x1000;
886
893 public const uint DESKTOPINPUT_KEYCODE_RMOUSEBTN = 0x1001;
894
901 public const uint DESKTOPINPUT_KEYCODE_MMOUSEBTN = 0x1002;
902 }
903
916 [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
917 public struct SpeexCodec
918 {
921 [FieldOffset(0)]
922 public int nBandmode;
925 [FieldOffset(4)]
926 public int nQuality;
936 [FieldOffset(8)]
937 public int nTxIntervalMSec;
942 [FieldOffset(12)]
943 public bool bStereoPlayback;
944 }
945
951 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
952 public struct SpeexVBRCodec
953 {
956 public int nBandmode;
959 public int nQuality;
966 public int nBitRate;
970 public int nMaxBitRate;
974 public bool bDTX;
983 public int nTxIntervalMSec;
988 public bool bStereoPlayback;
989 }
990
992 public struct SpeexConstants
993 {
995 public const int SPEEX_BANDMODE_NARROW = 0;
997 public const int SPEEX_BANDMODE_WIDE = 1;
999 public const int SPEEX_BANDMODE_UWIDE = 2;
1001 public const int SPEEX_QUALITY_MIN = 0;
1003 public const int SPEEX_QUALITY_MAX = 10;
1006 public const int SPEEX_NB_MIN_BITRATE = 2150;
1009 public const int SPEEX_NB_MAX_BITRATE = 24600;
1012 public const int SPEEX_WB_MIN_BITRATE = 3950;
1015 public const int SPEEX_WB_MAX_BITRATE = 42200;
1018 public const int SPEEX_UWB_MIN_BITRATE = 4150;
1021 public const int SPEEX_UWB_MAX_BITRATE = 44000;
1024 public const int DEFAULT_SPEEX_BANDMODE = 1;
1027 public const int DEFAULT_SPEEX_QUALITY = 4;
1030 public const int DEFAULT_SPEEX_DELAY = 40;
1033 public const bool DEFAULT_SPEEX_SIMSTEREO = false;
1036 public const int DEFAULT_SPEEX_BITRATE = 0;
1039 public const int DEFAULT_SPEEX_MAXBITRATE = 0;
1042 public const bool DEFAULT_SPEEX_DTX = true;
1043 }
1044
1047 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1048 public struct OpusCodec
1049 {
1052 public int nSampleRate;
1054 public int nChannels;
1058 public int nApplication;
1061 public int nComplexity;
1064 public bool bFEC;
1067 public bool bDTX;
1071 public int nBitRate;
1073 public bool bVBR;
1076 public bool bVBRConstraint;
1083 public int nTxIntervalMSec;
1087 public int nFrameSizeMSec;
1088 }
1089
1091 public struct OpusConstants
1092 {
1095 public const int OPUS_APPLICATION_VOIP = 2048;
1098 public const int OPUS_APPLICATION_AUDIO = 2049;
1101 public const int OPUS_MIN_BITRATE = 6000;
1104 public const int OPUS_MAX_BITRATE = 510000;
1105
1108 public const int OPUS_MIN_FRAMESIZE = 2; /* Actually it's 2.5 */
1111 public const int OPUS_MAX_FRAMESIZE = 60;
1115 public const int OPUS_REALMAX_FRAMESIZE = 120;
1116
1117 public const int DEFAULT_OPUS_APPLICATION = OPUS_APPLICATION_VOIP;
1118 public const int DEFAULT_OPUS_SAMPLERATE = 48000;
1119 public const int DEFAULT_OPUS_CHANNELS = 1;
1120 public const int DEFAULT_OPUS_COMPLEXITY = 10;
1121 public const bool DEFAULT_OPUS_FEC = true;
1122 public const bool DEFAULT_OPUS_DTX = false;
1123 public const bool DEFAULT_OPUS_VBR = true;
1124 public const bool DEFAULT_OPUS_VBRCONSTRAINT = false;
1125 public const int DEFAULT_OPUS_BITRATE = 32000;
1126 public const int DEFAULT_OPUS_DELAY = 20;
1127 }
1128
1146 [StructLayout(LayoutKind.Explicit)]
1147 public struct SpeexDSP
1148 {
1156 [FieldOffset(0)]
1157 public bool bEnableAGC;
1160 [FieldOffset(4)]
1161 public int nGainLevel;
1165 [FieldOffset(8)]
1166 public int nMaxIncDBSec;
1171 [FieldOffset(12)]
1172 public int nMaxDecDBSec;
1176 [FieldOffset(16)]
1177 public int nMaxGainDB;
1180 [FieldOffset(20)]
1181 public bool bEnableDenoise;
1185 [FieldOffset(24)]
1186 public int nMaxNoiseSuppressDB;
1205 [FieldOffset(28)]
1206 public bool bEnableEchoCancellation;
1210 [FieldOffset(32)]
1211 public int nEchoSuppress;
1215 [FieldOffset(36)]
1216 public int nEchoSuppressActive;
1217
1218 public SpeexDSP(bool set_defaults)
1219 {
1220 if (set_defaults)
1221 {
1222 bEnableAGC = SpeexDSPConstants.DEFAULT_AGC_ENABLE;
1223 nGainLevel = SpeexDSPConstants.DEFAULT_AGC_GAINLEVEL;
1224 nMaxIncDBSec = SpeexDSPConstants.DEFAULT_AGC_INC_MAXDB;
1225 nMaxDecDBSec = SpeexDSPConstants.DEFAULT_AGC_DEC_MAXDB;
1226 nMaxGainDB = SpeexDSPConstants.DEFAULT_AGC_GAINMAXDB;
1227
1228 bEnableDenoise = SpeexDSPConstants.DEFAULT_DENOISE_ENABLE;
1229 nMaxNoiseSuppressDB = SpeexDSPConstants.DEFAULT_DENOISE_SUPPRESS;
1230
1231 bEnableEchoCancellation = SpeexDSPConstants.DEFAULT_ECHO_ENABLE;
1232 nEchoSuppress = SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS;
1233 nEchoSuppressActive = SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS_ACTIVE;
1234 }
1235 else
1236 {
1237 bEnableAGC = false;
1238 nGainLevel = 0;
1239 nMaxIncDBSec = 0;
1240 nMaxDecDBSec = 0;
1241 nMaxGainDB = 0;
1242
1243 bEnableDenoise = false;
1244 nMaxNoiseSuppressDB = 0;
1245
1246 bEnableEchoCancellation = false;
1247 nEchoSuppress = 0;
1248 nEchoSuppressActive = 0;
1249 }
1250 }
1251 }
1252
1255 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1256 public struct TTAudioPreprocessor
1257 {
1261 public int nGainLevel;
1263 public bool bMuteLeftSpeaker;
1265 public bool bMuteRightSpeaker;
1266 }
1267
1277 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1278 public struct WebRTCAudioPreprocessor
1279 {
1281 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1282 public struct Preamplifier
1283 {
1286 public bool bEnable;
1288 public float fFixedGainFactor;
1289 }
1290 public Preamplifier preamplifier;
1291
1294 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1295 public struct EchoCanceller
1296 {
1302 public bool bEnable;
1303 }
1304 public EchoCanceller echocanceller;
1305
1308 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1309 public struct NoiseSuppression
1310 {
1312 public bool bEnable;
1315 public int nLevel;
1316 }
1317 public NoiseSuppression noisesuppression;
1318
1321 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1322 public struct GainController2
1323 {
1326 public bool bEnable;
1329 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1330 public struct FixedDigital
1331 {
1334 public float fGainDB;
1335 }
1336 public FixedDigital fixeddigital;
1337
1339 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1340 public struct AdaptiveDigital
1341 {
1342 /* @brief Configuration for fine tuning gain level after echo
1343 * cancellation and noise suppression. */
1344 public bool bEnable;
1346 public float fHeadRoomDB;
1348 public float fMaxGainDB;
1350 public float fInitialGainDB;
1351 /* Range: 0 < x < infinite. Default: 6 dB/sec */
1352 public float fMaxGainChangeDBPerSecond;
1353 /* Range: -infinite < x < 0. Default: -50 */
1354 public float fMaxOutputNoiseLevelDBFS;
1355 }
1356 public AdaptiveDigital adaptivedigital;
1357 }
1358 public GainController2 gaincontroller2;
1359
1360 public WebRTCAudioPreprocessor(bool set_defaults)
1361 {
1362 if (set_defaults)
1363 {
1364 preamplifier.bEnable = WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE;
1365 preamplifier.fFixedGainFactor = WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR;
1366
1367 echocanceller.bEnable = WebRTCConstants.DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE;
1368
1369 noisesuppression.bEnable = WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE;
1370 noisesuppression.nLevel = WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL;
1371
1372 gaincontroller2.bEnable = WebRTCConstants.DEFAULT_WEBRTC_GAINCTL_ENABLE;
1373 gaincontroller2.fixeddigital.fGainDB = WebRTCConstants.DEFAULT_WEBRTC_GAINDB;
1374
1375 gaincontroller2.adaptivedigital.bEnable = WebRTCConstants.DEFAULT_WEBRTC_SAT_PROT_ENABLE;
1376 gaincontroller2.adaptivedigital.fHeadRoomDB = WebRTCConstants.DEFAULT_WEBRTC_HEADROOM_DB;
1377 gaincontroller2.adaptivedigital.fMaxGainDB = WebRTCConstants.DEFAULT_WEBRTC_MAXGAIN_DB;
1378 gaincontroller2.adaptivedigital.fInitialGainDB = WebRTCConstants.DEFAULT_WEBRTC_INITIAL_GAIN_DB;
1379 gaincontroller2.adaptivedigital.fMaxGainChangeDBPerSecond = WebRTCConstants.DEFAULT_WEBRTC_MAXGAIN_DBSEC;
1380 gaincontroller2.adaptivedigital.fMaxOutputNoiseLevelDBFS = WebRTCConstants.DEFAULT_WEBRTC_MAX_OUT_NOISE;
1381 }
1382 else
1383 {
1384 preamplifier.bEnable = false;
1385 preamplifier.fFixedGainFactor = 0.0f;
1386
1387 echocanceller.bEnable = false;
1388
1389 noisesuppression.bEnable = false;
1390 noisesuppression.nLevel = 0;
1391
1392 gaincontroller2.bEnable = false;
1393 gaincontroller2.fixeddigital.fGainDB = 0.0f;
1394
1395 gaincontroller2.adaptivedigital.bEnable = false;
1396 gaincontroller2.adaptivedigital.fHeadRoomDB = 0.0f;
1397 gaincontroller2.adaptivedigital.fMaxGainDB = 0.0f;
1398 gaincontroller2.adaptivedigital.fInitialGainDB = 0.0f;
1399 gaincontroller2.adaptivedigital.fMaxGainChangeDBPerSecond = 0.0f;
1400 gaincontroller2.adaptivedigital.fMaxOutputNoiseLevelDBFS = 0.0f;
1401 }
1402 }
1403 }
1404
1406 public struct WebRTCConstants
1407 {
1408 public const bool DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE = false;
1409 public const float DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR = 1.0f;
1410 public const bool DEFAULT_WEBRTC_GAINCTL_ENABLE = false;
1411 public const float DEFAULT_WEBRTC_GAINDB = 15;
1412 public const bool DEFAULT_WEBRTC_SAT_PROT_ENABLE = false;
1413 public const float DEFAULT_WEBRTC_HEADROOM_DB = 5;
1414 public const float DEFAULT_WEBRTC_MAXGAIN_DB = 50;
1415 public const float DEFAULT_WEBRTC_INITIAL_GAIN_DB = 15;
1416 public const float DEFAULT_WEBRTC_MAXGAIN_DBSEC = 6;
1417 public const float DEFAULT_WEBRTC_MAX_OUT_NOISE = -50;
1418 public const bool DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE = false;
1419 public const int DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL = 2;
1420 public const bool DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE = false;
1421 public const float WEBRTC_GAINCONTROLLER2_FIXEDGAIN_MAX = 49.9f;
1422 }
1423
1427 public enum AudioPreprocessorType : uint
1428 {
1431 NO_AUDIOPREPROCESSOR = 0,
1433 SPEEXDSP_AUDIOPREPROCESSOR = 1,
1435 TEAMTALK_AUDIOPREPROCESSOR = 2,
1438 WEBRTC_AUDIOPREPROCESSOR = 3,
1439 };
1440
1442 [StructLayout(LayoutKind.Explicit)]
1443 public struct AudioPreprocessor
1444 {
1446 [FieldOffset(0)]
1447 public AudioPreprocessorType nPreprocessor;
1449 [FieldOffset(4)]
1450 public SpeexDSP speexdsp;
1452 [FieldOffset(4)]
1453 public TTAudioPreprocessor ttpreprocessor;
1455 [FieldOffset(4)]
1456 public WebRTCAudioPreprocessor webrtc;
1457 }
1458
1460 public struct SpeexDSPConstants
1461 {
1462 public const bool DEFAULT_AGC_ENABLE = true;
1463 public const int DEFAULT_AGC_GAINLEVEL = 8000;
1464 public const int DEFAULT_AGC_INC_MAXDB = 12;
1465 public const int DEFAULT_AGC_DEC_MAXDB = -40;
1466 public const int DEFAULT_AGC_GAINMAXDB = 30;
1467 public const bool DEFAULT_DENOISE_ENABLE = true;
1468 public const int DEFAULT_DENOISE_SUPPRESS = -30;
1469 public const bool DEFAULT_ECHO_ENABLE = true;
1470 public const int DEFAULT_ECHO_SUPPRESS = -40;
1471 public const int DEFAULT_ECHO_SUPPRESS_ACTIVE = -15;
1472 }
1473
1478 [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
1479 public struct WebMVP8Codec
1480 {
1482 [FieldOffset(0)]
1483 public int nRcTargetBitrate;
1489 [FieldOffset(0)]
1490 public int rc_target_bitrate;
1498 [FieldOffset(4)]
1499 public uint nEncodeDeadline;
1500 }
1501
1502 public struct WebMVP8CodecConstants
1503 {
1506 public const int WEBM_VPX_DL_REALTIME = 1;
1509 public const int WEBM_VPX_DL_GOOD_QUALITY = 1000000;
1512 public const int WEBM_VPX_DL_BEST_QUALITY = 0;
1513 }
1514
1519 public enum Codec : uint
1520 {
1522 NO_CODEC = 0,
1525 SPEEX_CODEC = 1,
1528 SPEEX_VBR_CODEC = 2,
1530 OPUS_CODEC = 3,
1532 WEBM_VP8_CODEC = 128
1533 }
1534
1538 [StructLayout(LayoutKind.Explicit)]
1539 public struct AudioCodec
1540 {
1543 [FieldOffset(0)]
1544 public Codec nCodec;
1547 [FieldOffset(4)]
1548 public SpeexCodec speex;
1551 [FieldOffset(4)]
1552 public SpeexVBRCodec speex_vbr;
1555 [FieldOffset(4)]
1556 public OpusCodec opus;
1557 }
1558
1572 [StructLayout(LayoutKind.Explicit)]
1573 public struct AudioConfig
1574 {
1576 [FieldOffset(0)]
1577 public bool bEnableAGC;
1579 [FieldOffset(4)]
1580 public int nGainLevel;
1581
1582 public AudioConfig(bool set_defaults)
1583 {
1584 if (set_defaults)
1585 {
1586 bEnableAGC = true;
1587 nGainLevel = AudioConfigConstants.DEFAULT_AGC_GAINLEVEL;
1588 }
1589 else
1590 {
1591 bEnableAGC = false;
1592 nGainLevel = 0;
1593 }
1594 }
1595 }
1596
1597 public struct AudioConfigConstants
1598 {
1599 public const int DEFAULT_AGC_GAINLEVEL = 8000;
1600 public const int DEFAULT_AGC_INC_MAXDB = 12;
1601 }
1602
1604 [StructLayout(LayoutKind.Explicit)]
1605 public struct VideoCodec
1606 {
1610 [FieldOffset(0)]
1611 public Codec nCodec;
1612 [FieldOffset(4)]
1613 public WebMVP8Codec webm_vp8;
1614 }
1625 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1626 public struct MediaFileInfo
1627 {
1630 public MediaFileStatus nStatus;
1632 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1633 public string szFileName;
1635 public AudioFormat audioFmt;
1637 public VideoFormat videoFmt;
1639 public uint uDurationMSec;
1641 public uint uElapsedMSec;
1642 }
1651 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1652 public struct MediaFilePlayback
1653 {
1658 public uint uOffsetMSec;
1660 public bool bPaused;
1662 public AudioPreprocessor audioPreprocessor;
1663 }
1664
1667 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1668 public struct AudioInputProgress
1669 {
1671 public int nStreamID;
1674 public uint uQueueMSec;
1677 public uint uElapsedMSec;
1678 }
1679
1696 [Flags]
1697 public enum UserRight : uint
1698 {
1701 USERRIGHT_NONE = 0x00000000,
1704 USERRIGHT_MULTI_LOGIN = 0x00000001,
1706 USERRIGHT_VIEW_ALL_USERS = 0x00000002,
1710 USERRIGHT_CREATE_TEMPORARY_CHANNEL = 0x00000004,
1714 USERRIGHT_MODIFY_CHANNELS = 0x00000008,
1717 USERRIGHT_TEXTMESSAGE_BROADCAST = 0x00000010,
1719 USERRIGHT_KICK_USERS = 0x00000020,
1722 USERRIGHT_BAN_USERS = 0x00000040,
1725 USERRIGHT_MOVE_USERS = 0x00000080,
1728 USERRIGHT_OPERATOR_ENABLE = 0x00000100,
1730 USERRIGHT_UPLOAD_FILES = 0x00000200,
1733 USERRIGHT_DOWNLOAD_FILES = 0x00000400,
1736 USERRIGHT_UPDATE_SERVERPROPERTIES = 0x00000800,
1739 USERRIGHT_TRANSMIT_VOICE = 0x00001000,
1742 USERRIGHT_TRANSMIT_VIDEOCAPTURE = 0x00002000,
1745 USERRIGHT_TRANSMIT_DESKTOP = 0x00004000,
1748 USERRIGHT_TRANSMIT_DESKTOPINPUT = 0x00008000,
1751 USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO = 0x00010000,
1754 USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO = 0x00020000,
1757 USERRIGHT_TRANSMIT_MEDIAFILE = USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO | USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO,
1764 USERRIGHT_LOCKED_NICKNAME = 0x00040000,
1767 USERRIGHT_LOCKED_STATUS = 0x00080000,
1770 USERRIGHT_RECORD_VOICE = 0x00100000,
1772 USERRIGHT_VIEW_HIDDEN_CHANNELS = 0x00200000,
1775 USERRIGHT_TEXTMESSAGE_USER = 0x00400000,
1778 USERRIGHT_TEXTMESSAGE_CHANNEL = 0x00800000,
1779
1781 USERRIGHT_ALL = 0xFFFFFFFF & ~USERRIGHT_LOCKED_NICKNAME & ~USERRIGHT_LOCKED_STATUS
1782 }
1783
1790 [Flags]
1791 public enum ServerLogEvent : uint
1792 {
1794 SERVERLOGEVENT_NONE = 0x00000000,
1796 SERVERLOGEVENT_USER_CONNECTED = 0x00000001,
1798 SERVERLOGEVENT_USER_DISCONNECTED = 0x00000002,
1800 SERVERLOGEVENT_USER_LOGGEDIN = 0x00000004,
1802 SERVERLOGEVENT_USER_LOGGEDOUT = 0x00000008,
1804 SERVERLOGEVENT_USER_LOGINFAILED = 0x00000010,
1806 SERVERLOGEVENT_USER_TIMEDOUT = 0x00000020,
1808 SERVERLOGEVENT_USER_KICKED = 0x00000040,
1810 SERVERLOGEVENT_USER_BANNED = 0x00000080,
1812 SERVERLOGEVENT_USER_UNBANNED = 0x00000100,
1814 SERVERLOGEVENT_USER_UPDATED = 0x00000200,
1816 SERVERLOGEVENT_USER_JOINEDCHANNEL = 0x00000400,
1818 SERVERLOGEVENT_USER_LEFTCHANNEL = 0x00000800,
1820 SERVERLOGEVENT_USER_MOVED = 0x00001000,
1822 SERVERLOGEVENT_USER_TEXTMESSAGE_PRIVATE = 0x00002000,
1824 SERVERLOGEVENT_USER_TEXTMESSAGE_CUSTOM = 0x00004000,
1826 SERVERLOGEVENT_USER_TEXTMESSAGE_CHANNEL = 0x00008000,
1828 SERVERLOGEVENT_USER_TEXTMESSAGE_BROADCAST = 0x00010000,
1830 SERVERLOGEVENT_CHANNEL_CREATED = 0x00020000,
1832 SERVERLOGEVENT_CHANNEL_UPDATED = 0x00040000,
1834 SERVERLOGEVENT_CHANNEL_REMOVED = 0x00080000,
1836 SERVERLOGEVENT_FILE_UPLOADED = 0x00100000,
1838 SERVERLOGEVENT_FILE_DOWNLOADED = 0x00200000,
1840 SERVERLOGEVENT_FILE_DELETED = 0x00400000,
1842 SERVERLOGEVENT_SERVER_UPDATED = 0x00800000,
1844 SERVERLOGEVENT_SERVER_SAVECONFIG = 0x01000000,
1845 }
1846
1858 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1859 public struct ServerProperties
1860 {
1862 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1863 public string szServerName;
1866 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1867 public string szMOTD;
1876 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1877 public string szMOTDRaw;
1880 public int nMaxUsers;
1883 public int nMaxLoginAttempts;
1886 public int nMaxLoginsPerIPAddress;
1890 public int nMaxVoiceTxPerSecond;
1895 public int nMaxVideoCaptureTxPerSecond;
1899 public int nMaxMediaFileTxPerSecond;
1903 public int nMaxDesktopTxPerSecond;
1907 public int nMaxTotalTxPerSecond;
1909 public bool bAutoSave;
1911 public int nTcpPort;
1913 public int nUdpPort;
1916 public int nUserTimeout;
1918 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1919 public string szServerVersion;
1921 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1922 public string szServerProtocolVersion;
1931 public int nLoginDelayMSec;
1935 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
1936 public string szAccessToken;
1942 public ServerLogEvent uServerLogEvents;
1943 }
1944
1952 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1953 public struct ServerStatistics
1954 {
1957 public long nTotalBytesTX;
1960 public long nTotalBytesRX;
1963 public long nVoiceBytesTX;
1966 public long nVoiceBytesRX;
1969 public long nVideoCaptureBytesTX;
1972 public long nVideoCaptureBytesRX;
1975 public long nMediaFileBytesTX;
1978 public long nMediaFileBytesRX;
1981 public long nDesktopBytesTX;
1984 public long nDesktopBytesRX;
1986 public int nUsersServed;
1988 public int nUsersPeak;
1991 public long nFilesTx;
1994 public long nFilesRx;
1996 public long nUptimeMSec;
1997 }
1998
2004 [Flags]
2005 public enum BanType : uint
2006 {
2008 BANTYPE_NONE = 0x00,
2012 BANTYPE_CHANNEL = 0x01,
2014 BANTYPE_IPADDR = 0x02,
2016 BANTYPE_USERNAME = 0x04
2017 };
2018
2023 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2024 public struct BannedUser
2025 {
2027 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2028 public string szIPAddress;
2030 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2031 public string szChannelPath;
2033 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2034 public string szBanTime;
2036 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2037 public string szNickname;
2039 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2040 public string szUsername;
2042 public BanType uBanTypes;
2044 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2045 public string szOwner;
2046 }
2047
2051 [Flags]
2052 public enum UserType : uint
2053 {
2056 USERTYPE_NONE = 0x0,
2058 USERTYPE_DEFAULT = 0x01,
2060 USERTYPE_ADMIN = 0x02
2061 }
2062
2071 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2072 public struct AbusePrevention
2073 {
2083 public int nCommandsLimit;
2085 public int nCommandsIntervalMSec;
2086 }
2087
2096 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2097 public struct UserAccount
2098 {
2100 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2101 public string szUsername;
2103 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2104 public string szPassword;
2106 public UserType uUserType;
2110 public UserRight uUserRights;
2114 public int nUserData;
2116 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2117 public string szNote;
2122 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2123 public string szInitChannel;
2127 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_CHANNELS_OPERATOR_MAX)]
2128 public int[] autoOperatorChannels;
2132 public int nAudioCodecBpsLimit;
2137 public AbusePrevention abusePrevent;
2140 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2141 public string szLastModified;
2144 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2145 public string szLastLoginTime;
2146 }
2170 [Flags]
2171 public enum Subscription : uint
2172 {
2174 SUBSCRIBE_NONE = 0x00000000,
2177 SUBSCRIBE_USER_MSG = 0x00000001,
2180 SUBSCRIBE_CHANNEL_MSG = 0x00000002,
2183 SUBSCRIBE_BROADCAST_MSG = 0x00000004,
2186 SUBSCRIBE_CUSTOM_MSG = 0x00000008,
2188 SUBSCRIBE_VOICE = 0x00000010,
2190 SUBSCRIBE_VIDEOCAPTURE = 0x00000020,
2192 SUBSCRIBE_DESKTOP = 0x00000040,
2196 SUBSCRIBE_DESKTOPINPUT = 0x00000080,
2199 SUBSCRIBE_MEDIAFILE = 0x00000100,
2202 SUBSCRIBE_INTERCEPT_USER_MSG = 0x00010000,
2205 SUBSCRIBE_INTERCEPT_CHANNEL_MSG = 0x00020000,
2206 /* unused SUBSCRIBE_INTERCEPT_BROADCAST_MSG = 0x00040000 */
2209 SUBSCRIBE_INTERCEPT_CUSTOM_MSG = 0x00080000,
2214 SUBSCRIBE_INTERCEPT_VOICE = 0x00100000,
2219 SUBSCRIBE_INTERCEPT_VIDEOCAPTURE = 0x00200000,
2224 SUBSCRIBE_INTERCEPT_DESKTOP = 0x00400000,
2225 /* unused SUBSCRIBE_INTERCEPT_DESKTOPINPUT = 0x00800000, */
2230 SUBSCRIBE_INTERCEPT_MEDIAFILE = 0x01000000,
2231 }
2232
2236 [Flags]
2237 public enum UserState : uint
2238 {
2240 USERSTATE_NONE = 0x0000000,
2244 USERSTATE_VOICE = 0x00000001,
2246 USERSTATE_MUTE_VOICE = 0x00000002,
2249 USERSTATE_MUTE_MEDIAFILE = 0x00000004,
2254 USERSTATE_DESKTOP = 0x00000008,
2259 USERSTATE_VIDEOCAPTURE = 0x00000010,
2265 USERSTATE_MEDIAFILE_AUDIO = 0x00000020,
2269 USERSTATE_MEDIAFILE_VIDEO = 0x00000040,
2273 USERSTATE_MEDIAFILE = USERSTATE_MEDIAFILE_AUDIO |
2274 USERSTATE_MEDIAFILE_VIDEO
2275 }
2276
2281 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2282 public struct User
2283 {
2287 public int nUserID;
2292 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2293 public string szUsername;
2298 public int nUserData;
2302 public UserType uUserType;
2304 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2305 public string szIPAddress;
2311 public uint uVersion;
2317 public int nChannelID;
2323 public Subscription uLocalSubscriptions;
2329 public Subscription uPeerSubscriptions;
2334 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2335 public string szNickname;
2340 public int nStatusMode;
2345 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2346 public string szStatusMsg;
2349 public UserState uUserState;
2352 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2353 public string szMediaStorageDir;
2359 public int nVolumeVoice;
2365 public int nVolumeMediaFile;
2369 public int nStoppedDelayVoice;
2373 public int nStoppedDelayMediaFile;
2379 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
2380 public float[] soundPositionVoice;
2386 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
2387 public float[] soundPositionMediaFile;
2392 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
2393 public bool[] stereoPlaybackVoice;
2398 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
2399 public bool[] stereoPlaybackMediaFile;
2403 public int nBufferMSecVoice;
2407 public int nBufferMSecMediaFile;
2411 public int nActiveAdaptiveDelayMSec;
2415 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2416 public string szClientName;
2417 }
2418
2423 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2424 public struct UserStatistics
2425 {
2427 public long nVoicePacketsRecv;
2429 public long nVoicePacketsLost;
2432 public long nVideoCapturePacketsRecv;
2434 public long nVideoCaptureFramesRecv;
2437 public long nVideoCaptureFramesLost;
2440 public long nVideoCaptureFramesDropped;
2442 public long nMediaFileAudioPacketsRecv;
2444 public long nMediaFileAudioPacketsLost;
2447 public long nMediaFileVideoPacketsRecv;
2449 public long nMediaFileVideoFramesRecv;
2452 public long nMediaFileVideoFramesLost;
2455 public long nMediaFileVideoFramesDropped;
2456 }
2457
2466 public enum TextMsgType : uint
2467 {
2470 MSGTYPE_USER = 1,
2475 MSGTYPE_CHANNEL = 2,
2478 MSGTYPE_BROADCAST = 3,
2481 MSGTYPE_CUSTOM = 4
2482 }
2483
2491 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2492 public struct TextMessage
2493 {
2495 public TextMsgType nMsgType;
2497 public int nFromUserID;
2499 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2500 public string szFromUsername;
2502 public int nToUserID;
2505 public int nChannelID;
2508 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2509 public string szMessage;
2512 public bool bMore;
2513 }
2521 [Flags]
2522 public enum ChannelType : uint
2523 {
2526 CHANNEL_DEFAULT = 0x0000,
2529 CHANNEL_PERMANENT = 0x0001,
2531 CHANNEL_SOLO_TRANSMIT = 0x0002,
2542 CHANNEL_CLASSROOM = 0x0004,
2547 CHANNEL_OPERATOR_RECVONLY = 0x0008,
2550 CHANNEL_NO_VOICEACTIVATION = 0x0010,
2552 CHANNEL_NO_RECORDING = 0x0020,
2555 CHANNEL_HIDDEN = 0x0040,
2556 }
2557
2569 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2570 public struct Channel
2571 {
2574 public int nParentID;
2577 public int nChannelID;
2579 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2580 public string szName;
2582 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2583 public string szTopic;
2587 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2588 public string szPassword;
2591 public bool bPassword;
2593 public ChannelType uChannelType;
2597 public int nUserData;
2599 public long nDiskQuota;
2602 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2603 public string szOpPassword;
2605 public int nMaxUsers;
2607 public AudioCodec audiocodec;
2610 public AudioConfig audiocfg;
2666 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_TRANSMITUSERS_MAX * 2)]
2667 public int[] transmitUsers;
2672 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TeamTalkBase.TT_TRANSMITQUEUE_MAX)]
2673 public int[] transmitUsersQueue;
2674
2682 public int nTransmitUsersQueueDelayMSec;
2683
2687 public int nTimeOutTimerVoiceMSec;
2688
2692 public int nTimeOutTimerMediaFileMSec;
2693
2696 public void AddTransmitUser(int nUserID, StreamType uStreamType)
2697 {
2698 int i;
2699 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2700 {
2701 if (transmitUsers[i * 2] == 0 || transmitUsers[i * 2] == nUserID)
2702 break;
2703 }
2704 if (i < TeamTalkBase.TT_TRANSMITUSERS_MAX)
2705 {
2706 transmitUsers[i * 2] = nUserID;
2707 transmitUsers[i * 2 + 1] |= (int)uStreamType;
2708 }
2709 }
2712 public StreamType GetTransmitStreamTypes(int nUserID)
2713 {
2714 int i;
2715 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2716 {
2717 if (transmitUsers[i * 2] == nUserID)
2718 return (StreamType)transmitUsers[i * 2 + 1];
2719 }
2720 return StreamType.STREAMTYPE_NONE;
2721 }
2723 public int GetTransmitUserCount()
2724 {
2725 int i;
2726 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2727 {
2728 if (transmitUsers[i * 2] == 0)
2729 break;
2730 }
2731 return i;
2732 }
2734 public void RemoveTransmitUser(int nUserID, StreamType uStreamType)
2735 {
2736 int i;
2737 for (i = 0; i < TeamTalkBase.TT_TRANSMITUSERS_MAX; i++)
2738 {
2739 if (transmitUsers[i * 2] == nUserID)
2740 break;
2741 }
2742 if (i < TeamTalkBase.TT_TRANSMITUSERS_MAX)
2743 {
2744 transmitUsers[i * 2] = nUserID;
2745 transmitUsers[i * 2 + 1] &= (int)~uStreamType;
2746
2747 if (transmitUsers[i * 2 + 1] == (int)StreamType.STREAMTYPE_NONE)
2748 {
2749 for (; i < TeamTalkBase.TT_TRANSMITUSERS_MAX - 1; i++)
2750 {
2751 transmitUsers[i * 2] = transmitUsers[(i + 1) * 2 + 1];
2752 transmitUsers[i * 2 + 1] = transmitUsers[(i + 1) * 2 + 1];
2753 }
2754 }
2755 }
2756 }
2757 }
2758
2761 public enum FileTransferStatus : uint
2762 {
2764 FILETRANSFER_CLOSED = 0,
2766 FILETRANSFER_ERROR = 1,
2768 FILETRANSFER_ACTIVE = 2,
2770 FILETRANSFER_FINISHED = 3
2771 }
2772
2776 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2777 public struct FileTransfer
2778 {
2780 public FileTransferStatus nStatus;
2782 public int nTransferID;
2784 public int nChannelID;
2786 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2787 public string szLocalFilePath;
2789 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2790 public string szRemoteFileName;
2792 public long nFileSize;
2794 public long nTransferred;
2796 public bool bInbound;
2797 }
2798
2802 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2803 public struct RemoteFile
2804 {
2806 public int nChannelID;
2808 public int nFileID;
2810 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2811 public string szFileName;
2813 public long nFileSize;
2815 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2816 public string szUsername;
2819 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2820 public string szUploadTime;
2821 }
2832 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2833 public struct EncryptionContext
2834 {
2840 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2841 public string szCertificateFile;
2843 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2844 public string szPrivateKeyFile;
2849 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2850 public string szCAFile;
2853 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
2854 public string szCADir;
2861 public bool bVerifyPeer;
2872 public bool bVerifyClientOnce;
2880 public int nVerifyDepth;
2881 }
2882
2890 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2891 public struct ClientKeepAlive
2892 {
2903 public int nConnectionLostMSec;
2907 public int nTcpKeepAliveIntervalMSec;
2913 public int nUdpKeepAliveIntervalMSec;
2919 public int nUdpKeepAliveRTXMSec;
2926 public int nUdpConnectRTXMSec;
2934 public int nUdpConnectTimeoutMSec;
2935 }
2936
2941 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2942 public struct ClientStatistics
2943 {
2945 public long nUdpBytesSent;
2947 public long nUdpBytesRecv;
2949 public long nVoiceBytesSent;
2951 public long nVoiceBytesRecv;
2953 public long nVideoCaptureBytesSent;
2955 public long nVideoCaptureBytesRecv;
2957 public long nMediaFileAudioBytesSent;
2959 public long nMediaFileAudioBytesRecv;
2961 public long nMediaFileVideoBytesSent;
2963 public long nMediaFileVideoBytesRecv;
2965 public long nDesktopBytesSent;
2967 public long nDesktopBytesRecv;
2971 public int nUdpPingTimeMs;
2975 public int nTcpPingTimeMs;
2978 public int nTcpServerSilenceSec;
2981 public int nUdpServerSilenceSec;
2993 public int nSoundInputDeviceDelayMSec;
2994 }
2995
3001 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
3002 public struct JitterConfig
3003 {
3005 public int nFixedDelayMSec;
3007 public bool bUseAdativeDejitter;
3010 public int nMaxAdaptiveDelayMSec;
3017 public int nActiveAdaptiveDelayMSec;
3018 }
3019
3020
3030 public enum ClientError : uint
3031 {
3033 CMDERR_SUCCESS = 0,
3034 SUCCESS = 0,
3035
3036 /* COMMAND ERRORS 1000-1999 ARE DUE TO INVALID OR UNSUPPORTED
3037 * COMMANDS */
3038
3040 CMDERR_SYNTAX_ERROR = 1000,
3045 CMDERR_UNKNOWN_COMMAND = 1001,
3048 CMDERR_MISSING_PARAMETER = 1002,
3051 CMDERR_INCOMPATIBLE_PROTOCOLS = 1003,
3056 CMDERR_UNKNOWN_AUDIOCODEC = 1004,
3059 CMDERR_INVALID_USERNAME = 1005,
3060
3061 /* COMMAND ERRORS 2000-2999 ARE DUE TO INSUFFICIENT RIGHTS */
3062
3067 CMDERR_INCORRECT_SERVER_PASSWORD = 2000,
3073 CMDERR_INCORRECT_CHANNEL_PASSWORD = 2001,
3079 CMDERR_INVALID_ACCOUNT = 2002,
3085 CMDERR_MAX_SERVER_USERS_EXCEEDED = 2003,
3091 CMDERR_MAX_CHANNEL_USERS_EXCEEDED = 2004,
3096 CMDERR_SERVER_BANNED = 2005,
3128 CMDERR_NOT_AUTHORIZED = 2006,
3135 CMDERR_MAX_DISKUSAGE_EXCEEDED = 2008,
3136
3142 CMDERR_INCORRECT_OP_PASSWORD = 2010,
3143
3149 CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED = 2011,
3150
3156 CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED = 2012,
3157
3160 CMDERR_MAX_CHANNELS_EXCEEDED = 2013,
3161
3166 CMDERR_COMMAND_FLOOD = 2014,
3167
3173 CMDERR_CHANNEL_BANNED = 2015,
3174
3179 CMDERR_MAX_FILETRANSFERS_EXCEEDED = 2016,
3180
3181 /* COMMAND ERRORS 3000-3999 ARE DUE TO INVALID STATE OF CLIENT INSTANCE */
3182
3188 CMDERR_NOT_LOGGEDIN = 3000,
3189
3193 CMDERR_ALREADY_LOGGEDIN = 3001,
3197 CMDERR_NOT_IN_CHANNEL = 3002,
3202 CMDERR_ALREADY_IN_CHANNEL = 3003,
3206 CMDERR_CHANNEL_ALREADY_EXISTS = 3004,
3224 CMDERR_CHANNEL_NOT_FOUND = 3005,
3235 CMDERR_USER_NOT_FOUND = 3006,
3240 CMDERR_BAN_NOT_FOUND = 3007,
3245 CMDERR_FILETRANSFER_NOT_FOUND = 3008,
3250 CMDERR_OPENFILE_FAILED = 3009,
3255 CMDERR_ACCOUNT_NOT_FOUND = 3010,
3260 CMDERR_FILE_NOT_FOUND = 3011,
3265 CMDERR_FILE_ALREADY_EXISTS = 3012,
3270 CMDERR_FILESHARING_DISABLED = 3013,
3271
3275 CMDERR_CHANNEL_HAS_USERS = 3015,
3276
3280 CMDERR_LOGINSERVICE_UNAVAILABLE = 3016,
3281
3286 CMDERR_CHANNEL_CANNOT_BE_HIDDEN = 3017,
3287
3288 /* ERRORS 10000-10999 ARE NOT COMMAND ERRORS BUT INSTEAD
3289 * ERRORS IN THE CLIENT INSTANCE. */
3290
3295 INTERR_SNDINPUT_FAILURE = 10000,
3300 INTERR_SNDOUTPUT_FAILURE = 10001,
3304 INTERR_AUDIOCODEC_INIT_FAILED = 10002,
3306 INTERR_SPEEXDSP_INIT_FAILED = 10003,
3314 INTERR_AUDIOPREPROCESSOR_INIT_FAILED = 10003,
3322 INTERR_TTMESSAGE_QUEUE_OVERFLOW = 10004,
3329 INTERR_SNDEFFECT_FAILURE = 10005,
3330 }
3331
3332 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
3333 public struct ClientErrorMsg
3334 {
3336 public int nErrorNo;
3338 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
3339 public string szErrorMsg;
3340 }
3341
3351 public enum ClientEvent : uint
3352 {
3353 CLIENTEVENT_NONE = 0,
3365 CLIENTEVENT_CON_SUCCESS = CLIENTEVENT_NONE + 10,
3375 CLIENTEVENT_CON_FAILED = CLIENTEVENT_NONE + 20,
3391 CLIENTEVENT_CON_LOST = CLIENTEVENT_NONE + 30,
3402 CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED = CLIENTEVENT_NONE + 40,
3416 CLIENTEVENT_CMD_PROCESSING = CLIENTEVENT_NONE + 200,
3430 CLIENTEVENT_CMD_ERROR = CLIENTEVENT_NONE + 210,
3442 CLIENTEVENT_CMD_SUCCESS = CLIENTEVENT_NONE + 220,
3460 CLIENTEVENT_CMD_MYSELF_LOGGEDIN = CLIENTEVENT_NONE + 230,
3469 CLIENTEVENT_CMD_MYSELF_LOGGEDOUT = CLIENTEVENT_NONE + 240,
3479 CLIENTEVENT_CMD_MYSELF_KICKED = CLIENTEVENT_NONE + 250,
3490 CLIENTEVENT_CMD_USER_LOGGEDIN = CLIENTEVENT_NONE + 260,
3504 CLIENTEVENT_CMD_USER_LOGGEDOUT = CLIENTEVENT_NONE + 270,
3513 CLIENTEVENT_CMD_USER_UPDATE = CLIENTEVENT_NONE + 280,
3522 CLIENTEVENT_CMD_USER_JOINED = CLIENTEVENT_NONE + 290,
3529 CLIENTEVENT_CMD_USER_LEFT = CLIENTEVENT_NONE + 300,
3539 CLIENTEVENT_CMD_USER_TEXTMSG = CLIENTEVENT_NONE + 310,
3548 CLIENTEVENT_CMD_CHANNEL_NEW = CLIENTEVENT_NONE + 320,
3557 CLIENTEVENT_CMD_CHANNEL_UPDATE = CLIENTEVENT_NONE + 330,
3567 CLIENTEVENT_CMD_CHANNEL_REMOVE = CLIENTEVENT_NONE + 340,
3578 CLIENTEVENT_CMD_SERVER_UPDATE = CLIENTEVENT_NONE + 350,
3587 CLIENTEVENT_CMD_SERVERSTATISTICS = CLIENTEVENT_NONE + 360,
3599 CLIENTEVENT_CMD_FILE_NEW = CLIENTEVENT_NONE + 370,
3606 CLIENTEVENT_CMD_FILE_REMOVE = CLIENTEVENT_NONE + 380,
3615 CLIENTEVENT_CMD_USERACCOUNT = CLIENTEVENT_NONE + 390,
3624 CLIENTEVENT_CMD_BANNEDUSER = CLIENTEVENT_NONE + 400,
3644 CLIENTEVENT_USER_STATECHANGE = CLIENTEVENT_NONE + 500,
3657 CLIENTEVENT_USER_VIDEOCAPTURE = CLIENTEVENT_NONE + 510,
3670 CLIENTEVENT_USER_MEDIAFILE_VIDEO = CLIENTEVENT_NONE + 520,
3685 CLIENTEVENT_USER_DESKTOPWINDOW = CLIENTEVENT_NONE + 530,
3696 CLIENTEVENT_USER_DESKTOPCURSOR = CLIENTEVENT_NONE + 540,
3719 CLIENTEVENT_USER_DESKTOPINPUT = CLIENTEVENT_NONE + 550,
3732 CLIENTEVENT_USER_RECORD_MEDIAFILE = CLIENTEVENT_NONE + 560,
3746 CLIENTEVENT_USER_AUDIOBLOCK = CLIENTEVENT_NONE + 570,
3760 CLIENTEVENT_INTERNAL_ERROR = CLIENTEVENT_NONE + 1000,
3774 CLIENTEVENT_VOICE_ACTIVATION = CLIENTEVENT_NONE + 1010,
3785 CLIENTEVENT_HOTKEY = CLIENTEVENT_NONE + 1020,
3804 CLIENTEVENT_HOTKEY_TEST = CLIENTEVENT_NONE + 1030,
3821 CLIENTEVENT_FILETRANSFER = CLIENTEVENT_NONE + 1040,
3837 CLIENTEVENT_DESKTOPWINDOW_TRANSFER = CLIENTEVENT_NONE + 1050,
3850 CLIENTEVENT_STREAM_MEDIAFILE = CLIENTEVENT_NONE + 1060,
3862 CLIENTEVENT_LOCAL_MEDIAFILE = CLIENTEVENT_NONE + 1070,
3884 CLIENTEVENT_AUDIOINPUT = CLIENTEVENT_NONE + 1080,
3904 CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET = CLIENTEVENT_NONE + 1090,
3905 }
3906
3907
3908 /* List of structures used internally by TeamTalkBase. */
3909 public enum TTType : uint
3910 {
3911 __NONE = 0,
3912 __AUDIOCODEC = 1,
3913 __BANNEDUSER = 2,
3914 __VIDEOFORMAT = 3,
3915 __OPUSCODEC = 4,
3916 __CHANNEL = 5,
3917 __CLIENTSTATISTICS = 6,
3918 __REMOTEFILE = 7,
3919 __FILETRANSFER = 8,
3920 __MEDIAFILESTATUS = 9,
3921 __SERVERPROPERTIES = 10,
3922 __SERVERSTATISTICS = 11,
3923 __SOUNDDEVICE = 12,
3924 __SPEEXCODEC = 13,
3925 __TEXTMESSAGE = 14,
3926 __WEBMVP8CODEC = 15,
3927 __TTMESSAGE = 16,
3928 __USER = 17,
3929 __USERACCOUNT = 18,
3930 __USERSTATISTICS = 19,
3931 __VIDEOCAPTUREDEVICE = 20,
3932 __VIDEOCODEC = 21,
3933 __AUDIOCONFIG = 22,
3934 __SPEEXVBRCODEC = 23,
3935 __VIDEOFRAME = 24,
3936 __AUDIOBLOCK = 25,
3937 __AUDIOFORMAT = 26,
3938 __MEDIAFILEINFO = 27,
3939 __CLIENTERRORMSG = 28,
3940 __TTBOOL = 29,
3941 __INT32 = 30,
3942 __DESKTOPINPUT = 31,
3943 __SPEEXDSP = 32,
3944 __STREAMTYPE = 33,
3945 __AUDIOPREPROCESSORTYPE = 34,
3946 __AUDIOPREPROCESSOR = 35,
3947 __TTAUDIOPREPROCESSOR = 36,
3948 __MEDIAFILEPLAYBACK = 37,
3949 __CLIENTKEEPALIVE = 38,
3950 __UINT32 = 39,
3951 __AUDIOINPUTPROGRESS = 40,
3952 __JITTERCONFIG = 41,
3953 __WEBRTCAUDIOPREPROCESSOR = 42,
3954 __ENCRYPTIONCONTEXT = 43,
3955 __SOUNDDEVICEEFFECTS = 44,
3956 __DESKTOPWINDOW = 45,
3957 __ABUSEPREVENTION = 46,
3958 }
3959
3970 [StructLayout(LayoutKind.Sequential)]
3971 public struct TTMessage
3972 {
3974 public ClientEvent nClientEvent;
3976 public int nSource;
3978 public TTType ttType;
3980 public uint uReserved;
3981 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TTDLL.SIZEOF_TTMESSAGE_DATA)]
3982 public byte[] data;
3983 //UnionData data;
3984
3985 public object DataToObject()
3986 {
3987 switch (ttType)
3988 {
3989 case TTType.__CHANNEL:
3990 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(Channel));
3991 case TTType.__CLIENTERRORMSG:
3992 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(ClientErrorMsg));
3993 case TTType.__DESKTOPINPUT:
3994 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(DesktopInput));
3995 case TTType.__FILETRANSFER:
3996 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(FileTransfer));
3997 case TTType.__MEDIAFILEINFO:
3998 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(MediaFileInfo));
3999 case TTType.__REMOTEFILE:
4000 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(RemoteFile));
4001 case TTType.__SERVERPROPERTIES:
4002 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(ServerProperties));
4003 case TTType.__SERVERSTATISTICS:
4004 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(ServerStatistics));
4005 case TTType.__TEXTMESSAGE:
4006 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(TextMessage));
4007 case TTType.__USER:
4008 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(User));
4009 case TTType.__USERACCOUNT:
4010 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(UserAccount));
4011 case TTType.__BANNEDUSER :
4012 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(BannedUser));
4013 case TTType.__TTBOOL:
4014 return Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref this)) != 0;
4015 case TTType.__INT32:
4016 return Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref this));
4017 case TTType.__STREAMTYPE :
4018 return (StreamType)Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref this));
4019 case TTType.__AUDIOINPUTPROGRESS :
4020 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref this), typeof(AudioInputProgress));
4021 default:
4022 return null;
4023 }
4024 }
4025 }
4026
4027 [StructLayout(LayoutKind.Explicit, Size = 5224)]
4028 struct UnionData
4029 {
4030 [FieldOffset(0)]
4031 public ClientErrorMsg clienterrormsg;
4032 [FieldOffset(0)]
4033 public Channel channel;
4034 [FieldOffset(0)]
4035 public DesktopInput desktopinput;
4036 [FieldOffset(0)]
4037 public FileTransfer filetransfer;
4038 [FieldOffset(0)]
4039 public MediaFileInfo mediafileinfo;
4040 [FieldOffset(0)]
4041 public RemoteFile remotefile;
4042 [FieldOffset(0)]
4043 public ServerProperties serverproperties;
4044 [FieldOffset(0)]
4045 public TextMessage textmessage;
4046 [FieldOffset(0)]
4047 public User user;
4048 [FieldOffset(0)]
4049 public UserAccount useraccount;
4050 [FieldOffset(0)]
4051 public bool bActive;
4052 [FieldOffset(0)]
4053 public int nBytesRemain;
4054 [FieldOffset(0)]
4055 public int nStreamID;
4056 [FieldOffset(0)]
4057 public int nPayloadSize;
4058 }
4059
4077 [Flags]
4078 public enum ClientFlag : uint
4079 {
4082 CLIENT_CLOSED = 0x00000000,
4086 CLIENT_SNDINPUT_READY = 0x00000001,
4090 CLIENT_SNDOUTPUT_READY = 0x00000002,
4096 CLIENT_SNDINOUTPUT_DUPLEX = 0x00000004,
4103 CLIENT_SNDINPUT_VOICEACTIVATED = 0x00000008,
4110 CLIENT_SNDINPUT_VOICEACTIVE = 0x00000010,
4113 CLIENT_SNDOUTPUT_MUTE = 0x00000020,
4120 CLIENT_SNDOUTPUT_AUTO3DPOSITION = 0x00000040,
4124 CLIENT_VIDEOCAPTURE_READY = 0x00000080,
4127 CLIENT_TX_VOICE = 0x00000100,
4130 CLIENT_TX_VIDEOCAPTURE = 0x00000200,
4136 CLIENT_TX_DESKTOP = 0x00000400,
4141 CLIENT_DESKTOP_ACTIVE = 0x00000800,
4145 CLIENT_MUX_AUDIOFILE = 0x00001000,
4148 CLIENT_CONNECTING = 0x00002000,
4153 CLIENT_CONNECTED = 0x00004000,
4156 CLIENT_CONNECTION = CLIENT_CONNECTING | CLIENT_CONNECTED,
4160 CLIENT_AUTHORIZED = 0x00008000,
4165 CLIENT_STREAM_AUDIO = 0x00010000,
4170 CLIENT_STREAM_VIDEO = 0x00020000
4171 }
4172
4180 public abstract class TeamTalkBase : IDisposable
4181 {
4190 public const int TT_STRLEN = 512;
4191
4193 public const int TT_USERID_MAX = 0xFFF;
4194
4197 public const int TT_CHANNELID_MAX = 0xFFF;
4198
4202 public const int TT_VIDEOFORMATS_MAX = 1024;
4203
4209 public const int TT_TRANSMITUSERS_MAX = 128;
4210
4218 public const int TT_CLASSROOM_FREEFORALL = 0xFFF;
4219
4222 public const int TT_CLASSROOM_USERID_INDEX = 0;
4223
4226 public const int TT_CLASSROOM_STREAMTYPE_INDEX = 1;
4227
4230 public const int TT_TRANSMITUSERS_FREEFORALL = 0xFFF;
4231
4234 public const int TT_TRANSMITUSERS_USERID_INDEX = 0;
4235
4238 public const int TT_TRANSMITUSERS_STREAMTYPE_INDEX = 1;
4239
4253 public const int TT_LOCAL_USERID = 0;
4254
4262 public const int TT_LOCAL_TX_USERID = 0x1002;
4263
4271 public const int TT_MUXED_USERID = 0x1001; /* TT_USERID_MAX + 2 */
4272
4277 public const int TT_CHANNELS_OPERATOR_MAX = 16;
4278
4282 public const int TT_TRANSMITQUEUE_MAX = 16;
4283
4286 public const int TT_SAMPLERATES_MAX = 16;
4287
4292 public const int TT_DESKTOPINPUT_MAX = 16;
4293
4302 public const uint TT_MEDIAPLAYBACK_OFFSET_IGNORE = 0xFFFFFFFF;
4303
4304
4306 public static string GetVersion() { return Marshal.PtrToStringAuto(TTDLL.TT_GetVersion()); }
4307
4318 protected TeamTalkBase(bool poll_based)
4319 {
4320 Assembly assembly = Assembly.GetExecutingAssembly();
4321 AssemblyName name = assembly.GetName();
4322 Version dllversion = new Version(Marshal.PtrToStringUni((c_tt.TTDLL.TT_GetVersion())));
4323 if (!name.Version.Equals(dllversion))
4324 {
4325 string errmsg = String.Format("Invalid {2} version loaded. {2} is version {0} and {3} is version {1}",
4326 dllversion.ToString(), name.Version.ToString(), c_tt.TTDLL.dllname, c_tt.TTDLL.mgtdllname);
4327
4328 // throw new Exception(errmsg);
4329
4330 System.Diagnostics.Debug.WriteLine(errmsg);
4331 }
4332
4333 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOCODEC) == Marshal.SizeOf(new AudioCodec()));
4334 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__BANNEDUSER) == Marshal.SizeOf(new BannedUser()));
4335 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOFORMAT) == Marshal.SizeOf(new VideoFormat()));
4336 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__OPUSCODEC) == Marshal.SizeOf(new OpusCodec()));
4337 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CHANNEL) == Marshal.SizeOf(new Channel()));
4338 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CLIENTSTATISTICS) == Marshal.SizeOf(new ClientStatistics()));
4339 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__REMOTEFILE) == Marshal.SizeOf(new RemoteFile()));
4340 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__FILETRANSFER) == Marshal.SizeOf(new FileTransfer()));
4341 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__MEDIAFILESTATUS) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(MediaFileStatus))));
4342 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SERVERPROPERTIES) == Marshal.SizeOf(new ServerProperties()));
4343 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SERVERSTATISTICS) == Marshal.SizeOf(new ServerStatistics()));
4344 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SOUNDDEVICE) == Marshal.SizeOf(new SoundDevice()));
4345 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SPEEXCODEC) == Marshal.SizeOf(new SpeexCodec()));
4346 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__TEXTMESSAGE) == Marshal.SizeOf(new TextMessage()));
4347 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__WEBMVP8CODEC) == Marshal.SizeOf(new WebMVP8Codec()));
4348 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__TTMESSAGE) == Marshal.SizeOf(new TTMessage()));
4349 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__USER) == Marshal.SizeOf(new User()));
4350 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__USERACCOUNT) == Marshal.SizeOf(new UserAccount()));
4351 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__USERSTATISTICS) == Marshal.SizeOf(new UserStatistics()));
4352 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOCAPTUREDEVICE) == Marshal.SizeOf(new VideoCaptureDevice()));
4353 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOCODEC) == Marshal.SizeOf(new VideoCodec()));
4354 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOCONFIG) == Marshal.SizeOf(new AudioConfig()));
4355 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SPEEXVBRCODEC) == Marshal.SizeOf(new SpeexVBRCodec()));
4356 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__VIDEOFRAME) == Marshal.SizeOf(new VideoFrame()));
4357 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOBLOCK) == Marshal.SizeOf(new AudioBlock()));
4358 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOFORMAT) == Marshal.SizeOf(new AudioFormat()));
4359 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__MEDIAFILEINFO) == Marshal.SizeOf(new MediaFileInfo()));
4360 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CLIENTERRORMSG) == Marshal.SizeOf(new ClientErrorMsg()));
4361 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__DESKTOPINPUT) == Marshal.SizeOf(new DesktopInput()));
4362 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__SPEEXDSP) == Marshal.SizeOf(new SpeexDSP()));
4363 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__STREAMTYPE) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(StreamType))));
4364 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOPREPROCESSORTYPE) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(AudioPreprocessorType))));
4365 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__WEBRTCAUDIOPREPROCESSOR) == Marshal.SizeOf(new WebRTCAudioPreprocessor()));
4366 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__TTAUDIOPREPROCESSOR) == Marshal.SizeOf(new TTAudioPreprocessor()));
4367 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOPREPROCESSOR) == Marshal.SizeOf(new AudioPreprocessor()));
4368 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__MEDIAFILEPLAYBACK) == Marshal.SizeOf(new MediaFilePlayback()));
4369 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__CLIENTKEEPALIVE) == Marshal.SizeOf(new ClientKeepAlive()));
4370 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__AUDIOINPUTPROGRESS) == Marshal.SizeOf(new AudioInputProgress()));
4371 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__JITTERCONFIG) == Marshal.SizeOf(new JitterConfig()));
4372 Debug.Assert(TTDLL.TT_DBG_SIZEOF(TTType.__ENCRYPTIONCONTEXT) == Marshal.SizeOf(new EncryptionContext()));
4373
4374 if (poll_based)
4375 m_ttInst = TTDLL.TT_InitTeamTalkPoll();
4376 else
4377 {
4378 m_eventhandler = new MyEventHandler(this);
4379#if PocketPC
4380 IntPtr hWnd = m_eventhandler.Hwnd;
4381#else
4382 m_eventhandler.CreateControl();
4383 IntPtr hWnd = m_eventhandler.Handle;
4384#endif
4385 m_ttInst = TTDLL.TT_InitTeamTalk(hWnd, MyEventHandler.WM_TEAMTALK_CLIENTEVENT);
4386 }
4387 }
4388
4393 ~TeamTalkBase()
4394 {
4395 DeleteMe();
4396 }
4397
4398
4399 #region IDisposable Members
4400
4401 public void Dispose()
4402 {
4403 DeleteMe();
4404 }
4405
4406 private void DeleteMe()
4407 {
4408 if (m_ttInst != IntPtr.Zero)
4409 {
4410 TTDLL.TT_CloseTeamTalk(m_ttInst);
4411 m_ttInst = IntPtr.Zero;
4412 }
4413 }
4414
4415 #endregion
4416
4434 public bool GetMessage(ref TTMessage pMsg, int nWaitMs)
4435 {
4436 return TTDLL.TT_GetMessage(m_ttInst, ref pMsg, ref nWaitMs);
4437 }
4438
4465 public bool PumpMessage(ClientEvent nClientEvent,
4466 int nIdentifier)
4467 {
4468 return TTDLL.TT_PumpMessage(m_ttInst, nClientEvent, nIdentifier);
4469 }
4470
4479 public BearWare.ClientFlag GetFlags()
4480 {
4481 return TTDLL.TT_GetFlags(m_ttInst);
4482 }
4483
4487 public ClientFlag Flags
4488 {
4489 get { return GetFlags(); }
4490 }
4491
4501 public static bool SetLicenseInformation(string szRegName, string szRegKey)
4502 {
4503 return TTDLL.TT_SetLicenseInformation(szRegName, szRegKey);
4504 }
4505
4510 public void ProcessMsg(TTMessage msg)
4511 {
4512 switch (msg.nClientEvent)
4513 {
4514 case ClientEvent.CLIENTEVENT_CON_SUCCESS:
4515 if(OnConnectionSuccess != null)
4516 OnConnectionSuccess();
4517 break;
4518 case ClientEvent.CLIENTEVENT_CON_FAILED:
4519 if (OnConnectionFailed != null)
4520 OnConnectionFailed();
4521 break;
4522 case ClientEvent.CLIENTEVENT_CON_LOST:
4523 if (OnConnectionLost != null)
4524 OnConnectionLost();
4525 break;
4526 case ClientEvent.CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED :
4527 if (OnConnectionMaxPayloadUpdated != null)
4528 OnConnectionMaxPayloadUpdated((int)msg.DataToObject());
4529 break;
4530 case ClientEvent.CLIENTEVENT_CMD_PROCESSING:
4531 if (OnCmdProcessing != null)
4532 OnCmdProcessing(msg.nSource, (bool)msg.DataToObject());
4533 break;
4534 case ClientEvent.CLIENTEVENT_CMD_ERROR:
4535 if (OnCmdError != null)
4536 OnCmdError((int)msg.nSource, (ClientErrorMsg)msg.DataToObject());
4537 break;
4538 case ClientEvent.CLIENTEVENT_CMD_SUCCESS :
4539 if (OnCmdSuccess != null)
4540 OnCmdSuccess((int)msg.nSource);
4541 break;
4542 case ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDIN:
4543 if (OnCmdMyselfLoggedIn != null)
4544 OnCmdMyselfLoggedIn((int)msg.nSource, (UserAccount)msg.DataToObject());
4545 break;
4546 case ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDOUT:
4547 if (OnCmdMyselfLoggedOut != null)
4548 OnCmdMyselfLoggedOut();
4549 break;
4550 case ClientEvent.CLIENTEVENT_CMD_MYSELF_KICKED:
4551 if (msg.ttType == TTType.__USER)
4552 {
4553 if (OnCmdMyselfKicked != null)
4554 OnCmdMyselfKicked((User)msg.DataToObject());
4555 }
4556 else if (OnCmdMyselfKicked != null)
4557 OnCmdMyselfKicked(new User());
4558 break;
4559 case ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDIN:
4560 if (OnCmdUserLoggedIn != null)
4561 OnCmdUserLoggedIn((User)msg.DataToObject());
4562 break;
4563 case ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDOUT:
4564 if (OnCmdUserLoggedOut != null)
4565 OnCmdUserLoggedOut((User)msg.DataToObject());
4566 break;
4567 case ClientEvent.CLIENTEVENT_CMD_USER_UPDATE:
4568 if (OnCmdUserUpdate != null)
4569 OnCmdUserUpdate((User)msg.DataToObject());
4570 break;
4571 case ClientEvent.CLIENTEVENT_CMD_USER_JOINED:
4572 if (OnCmdUserJoinedChannel != null)
4573 OnCmdUserJoinedChannel((User)msg.DataToObject());
4574 break;
4575 case ClientEvent.CLIENTEVENT_CMD_USER_LEFT:
4576 if (OnCmdUserLeftChannel != null)
4577 OnCmdUserLeftChannel((User)msg.DataToObject());
4578 break;
4579 case ClientEvent.CLIENTEVENT_CMD_USER_TEXTMSG:
4580 if (OnCmdUserTextMessage != null)
4581 OnCmdUserTextMessage((TextMessage)msg.DataToObject());
4582 break;
4583 case ClientEvent.CLIENTEVENT_CMD_CHANNEL_NEW:
4584 if (OnCmdChannelNew != null)
4585 OnCmdChannelNew((Channel)msg.DataToObject());
4586 break;
4587 case ClientEvent.CLIENTEVENT_CMD_CHANNEL_UPDATE:
4588 if (OnCmdChannelUpdate != null)
4589 OnCmdChannelUpdate((Channel)msg.DataToObject());
4590 break;
4591 case ClientEvent.CLIENTEVENT_CMD_CHANNEL_REMOVE:
4592 if (OnCmdChannelRemove != null)
4593 OnCmdChannelRemove((Channel)msg.DataToObject());
4594 break;
4595 case ClientEvent.CLIENTEVENT_CMD_SERVER_UPDATE:
4596 if (OnCmdServerUpdate != null)
4597 OnCmdServerUpdate((ServerProperties)msg.DataToObject());
4598 break;
4599 case ClientEvent.CLIENTEVENT_CMD_SERVERSTATISTICS :
4600 if (OnCmdServerStatistics != null)
4601 OnCmdServerStatistics((ServerStatistics)msg.DataToObject());
4602 break;
4603 case ClientEvent.CLIENTEVENT_CMD_FILE_NEW:
4604 if (OnCmdFileNew != null)
4605 OnCmdFileNew((RemoteFile)msg.DataToObject());
4606 break;
4607 case ClientEvent.CLIENTEVENT_CMD_FILE_REMOVE:
4608 if (OnCmdFileRemove != null)
4609 OnCmdFileRemove((RemoteFile)msg.DataToObject());
4610 break;
4611 case ClientEvent.CLIENTEVENT_CMD_USERACCOUNT :
4612 if (OnCmdUserAccount != null)
4613 OnCmdUserAccount((UserAccount)msg.DataToObject());
4614 break;
4615 case ClientEvent.CLIENTEVENT_CMD_BANNEDUSER :
4616 if (OnCmdBannedUser != null)
4617 OnCmdBannedUser((BannedUser)msg.DataToObject());
4618 break;
4619
4620 case ClientEvent.CLIENTEVENT_USER_STATECHANGE :
4621 if (OnUserStateChange != null)
4622 OnUserStateChange((User)msg.DataToObject());
4623 break;
4624 case ClientEvent.CLIENTEVENT_USER_VIDEOCAPTURE:
4625 if (OnUserVideoCapture != null)
4626 OnUserVideoCapture(msg.nSource, (int)msg.DataToObject());
4627 break;
4628 case ClientEvent.CLIENTEVENT_USER_MEDIAFILE_VIDEO:
4629 if (OnUserMediaFileVideo != null)
4630 OnUserMediaFileVideo((int)msg.nSource, (int)msg.DataToObject());
4631 break;
4632 case ClientEvent.CLIENTEVENT_USER_DESKTOPWINDOW:
4633 if (OnUserDesktopWindow != null)
4634 OnUserDesktopWindow((int)msg.nSource, (int)msg.DataToObject());
4635 break;
4636 case ClientEvent.CLIENTEVENT_USER_DESKTOPCURSOR:
4637 if (OnUserDesktopCursor != null)
4638 OnUserDesktopCursor((int)msg.nSource, (DesktopInput)msg.DataToObject());
4639 break;
4640 case ClientEvent.CLIENTEVENT_USER_DESKTOPINPUT :
4641 if (OnUserDesktopInput != null)
4642 OnUserDesktopInput((int)msg.nSource, (DesktopInput)msg.DataToObject());
4643 break;
4644 case ClientEvent.CLIENTEVENT_USER_RECORD_MEDIAFILE :
4645 if(OnUserRecordMediaFile != null)
4646 OnUserRecordMediaFile((int)msg.nSource, (MediaFileInfo)msg.DataToObject());
4647 break;
4648 case ClientEvent.CLIENTEVENT_USER_AUDIOBLOCK :
4649 if(OnUserAudioBlock != null)
4650 OnUserAudioBlock((int)msg.nSource, (StreamType)msg.DataToObject());
4651 break;
4652 case ClientEvent.CLIENTEVENT_INTERNAL_ERROR :
4653 if(OnInternalError!= null)
4654 OnInternalError((ClientErrorMsg)msg.DataToObject());
4655 break;
4656 case ClientEvent.CLIENTEVENT_VOICE_ACTIVATION :
4657 if(OnVoiceActivation != null)
4658 OnVoiceActivation((bool)msg.DataToObject());
4659 break;
4660 case ClientEvent.CLIENTEVENT_HOTKEY :
4661 if(OnHotKeyToggle != null)
4662 OnHotKeyToggle(msg.nSource, (bool)msg.DataToObject());
4663 break;
4664 case ClientEvent.CLIENTEVENT_HOTKEY_TEST :
4665 if(OnHotKeyTest != null)
4666 OnHotKeyTest(msg.nSource, (bool)msg.DataToObject());
4667 break;
4668 case ClientEvent.CLIENTEVENT_FILETRANSFER :
4669 if(OnFileTransfer != null)
4670 OnFileTransfer((FileTransfer)msg.DataToObject());
4671 break;
4672 case ClientEvent.CLIENTEVENT_DESKTOPWINDOW_TRANSFER :
4673 if(OnDesktopWindowTransfer != null)
4674 OnDesktopWindowTransfer(msg.nSource, (int)msg.DataToObject());
4675 break;
4676 case ClientEvent.CLIENTEVENT_STREAM_MEDIAFILE :
4677 if(OnStreamMediaFile != null)
4678 OnStreamMediaFile((MediaFileInfo)msg.DataToObject());
4679 break;
4680 case ClientEvent.CLIENTEVENT_LOCAL_MEDIAFILE:
4681 if (OnLocalMediaFile != null)
4682 OnLocalMediaFile((MediaFileInfo)msg.DataToObject());
4683 break;
4684 case ClientEvent.CLIENTEVENT_AUDIOINPUT:
4685 if (OnAudioInput != null)
4686 OnAudioInput((AudioInputProgress)msg.DataToObject());
4687 break;
4688 case ClientEvent.CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET:
4689 if (OnUserFirstVoiceStreamPacket != null)
4690 OnUserFirstVoiceStreamPacket((User)msg.DataToObject(), msg.nSource);
4691 break;
4692 }
4693 }
4694
4707 public static bool GetDefaultSoundDevices(ref int lpnInputDeviceID,
4708 ref int lpnOutputDeviceID)
4709 {
4710 return TTDLL.TT_GetDefaultSoundDevices(ref lpnInputDeviceID, ref lpnOutputDeviceID);
4711 }
4716 public static bool GetDefaultSoundDevicesEx(SoundSystem nSndSystem,
4717 ref int lpnInputDeviceID,
4718 ref int lpnOutputDeviceID)
4719 {
4720 return TTDLL.TT_GetDefaultSoundDevicesEx(nSndSystem, ref lpnInputDeviceID, ref lpnOutputDeviceID);
4721 }
4730 public static bool GetSoundDevices(out SoundDevice[] lpSoundDevices)
4731 {
4732 int count = 0;
4733 bool b = TTDLL.TT_GetSoundDevices_NULL(IntPtr.Zero, ref count);
4734 SoundDevice[] devs = new SoundDevice[count];
4735 b = TTDLL.TT_GetSoundDevices(devs, ref count);
4736 lpSoundDevices = b ? devs : null;
4737 return b;
4738 }
4754 public static bool RestartSoundSystem()
4755 {
4756 return TTDLL.TT_RestartSoundSystem();
4757 }
4762 public static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID,
4763 int nSampleRate, int nChannels,
4764 bool bDuplexMode, SpeexDSP lpSpeexDSP)
4765 {
4766 return TTDLL.TT_StartSoundLoopbackTest(nInputDeviceID, nOutputDeviceID,
4767 nSampleRate, nChannels, bDuplexMode,
4768 ref lpSpeexDSP);
4769 }
4801 public static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID,
4802 int nSampleRate, int nChannels,
4803 bool bDuplexMode, AudioPreprocessor lpAudioPreprocessor,
4804 BearWare.SoundDeviceEffects lpSoundDeviceEffects)
4805 {
4806 return TTDLL.TT_StartSoundLoopbackTestEx(nInputDeviceID, nOutputDeviceID,
4807 nSampleRate, nChannels, bDuplexMode,
4808 ref lpAudioPreprocessor, ref lpSoundDeviceEffects);
4809 }
4816 public static bool CloseSoundLoopbackTest(IntPtr lpTTSoundLoop)
4817 {
4818 return TTDLL.TT_CloseSoundLoopbackTest(lpTTSoundLoop);
4819 }
4848 public bool InitSoundInputDevice(int nInputDeviceID)
4849 {
4850 return TTDLL.TT_InitSoundInputDevice(m_ttInst, nInputDeviceID);
4851 }
4852
4883 public bool InitSoundInputSharedDevice(int nSampleRate,int nChannels, int nFrameSize)
4884 {
4885 return TTDLL.TT_InitSoundInputSharedDevice(nSampleRate, nChannels, nFrameSize);
4886 }
4887
4916 public bool InitSoundOutputDevice(int nOutputDeviceID)
4917 {
4918 return TTDLL.TT_InitSoundOutputDevice(m_ttInst, nOutputDeviceID);
4919 }
4950 public bool InitSoundOutputSharedDevice(int nSampleRate, int nChannels,int nFrameSize)
4951 {
4952 return TTDLL.TT_InitSoundOutputSharedDevice(nSampleRate, nChannels, nFrameSize);
4953 }
4987 public bool InitSoundDuplexDevices(int nInputDeviceID, int nOutputDeviceID)
4988 {
4989 return TTDLL.TT_InitSoundDuplexDevices(m_ttInst, nInputDeviceID, nOutputDeviceID);
4990 }
5010 public bool CloseSoundInputDevice()
5011 {
5012 return TTDLL.TT_CloseSoundInputDevice(m_ttInst);
5013 }
5032 public bool CloseSoundOutputDevice()
5033 {
5034 return TTDLL.TT_CloseSoundOutputDevice(m_ttInst);
5035 }
5042 public bool CloseSoundDuplexDevices()
5043 {
5044 return TTDLL.TT_CloseSoundDuplexDevices(m_ttInst);
5045 }
5081 public bool SetSoundDeviceEffects(SoundDeviceEffects lpSoundDeviceEffect)
5082 {
5083 return TTDLL.TT_SetSoundDeviceEffects(m_ttInst, ref lpSoundDeviceEffect);
5084 }
5089 public bool GetSoundDeviceEffects(ref SoundDeviceEffects lpSoundDeviceEffect)
5090 {
5091 return TTDLL.TT_GetSoundDeviceEffects(m_ttInst, ref lpSoundDeviceEffect);
5092 }
5109 public int GetSoundInputLevel()
5110 {
5111 return TTDLL.TT_GetSoundInputLevel(m_ttInst);
5112 }
5128 public bool SetSoundInputGainLevel(int nLevel)
5129 {
5130 return TTDLL.TT_SetSoundInputGainLevel(m_ttInst, nLevel);
5131 }
5138 public int GetSoundInputGainLevel()
5139 {
5140 return TTDLL.TT_GetSoundInputGainLevel(m_ttInst);
5141 }
5142
5158 public bool SetSoundInputPreprocess(SpeexDSP lpSpeexDSP)
5159 {
5160 return TTDLL.TT_SetSoundInputPreprocess(m_ttInst, ref lpSpeexDSP);
5161 }
5162
5171 public bool GetSoundInputPreprocess(ref SpeexDSP lpSpeexDSP)
5172 {
5173 return TTDLL.TT_GetSoundInputPreprocess(m_ttInst, ref lpSpeexDSP);
5174 }
5186 public bool SetSoundInputPreprocess(AudioPreprocessor lpAudioPreprocessor)
5187 {
5188 return TTDLL.TT_SetSoundInputPreprocessEx(m_ttInst, ref lpAudioPreprocessor);
5189 }
5190
5198 public bool GetSoundInputPreprocess(ref AudioPreprocessor lpAudioPreprocessor)
5199 {
5200 return TTDLL.TT_GetSoundInputPreprocessEx(m_ttInst, ref lpAudioPreprocessor);
5201 }
5209 public bool SetSoundOutputVolume(int nVolume)
5210 {
5211 return TTDLL.TT_SetSoundOutputVolume(m_ttInst, nVolume);
5212 }
5219 public int GetSoundOutputVolume()
5220 {
5221 return TTDLL.TT_GetSoundOutputVolume(m_ttInst);
5222 }
5230 public bool SetSoundOutputMute(bool bMuteAll)
5231 {
5232 return TTDLL.TT_SetSoundOutputMute(m_ttInst, bMuteAll);
5233 }
5241 public bool Enable3DSoundPositioning(bool bEnable)
5242 {
5243 return TTDLL.TT_Enable3DSoundPositioning(m_ttInst, bEnable);
5244 }
5251 public bool AutoPositionUsers()
5252 {
5253 return TTDLL.TT_AutoPositionUsers(m_ttInst);
5254 }
5255
5319 public bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes,
5320 bool bEnable)
5321 {
5322 return TTDLL.TT_EnableAudioBlockEvent(m_ttInst, nUserID, uStreamTypes, bEnable);
5323 }
5352 public bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes,
5353 AudioFormat lpAudioFormat, bool bEnable)
5354 {
5355 return TTDLL.TT_EnableAudioBlockEventEx(m_ttInst, nUserID, uStreamTypes, ref lpAudioFormat, bEnable);
5356 }
5391 public bool InsertAudioBlock(AudioBlock lpAudioBlock)
5392 {
5393 return TTDLL.TT_InsertAudioBlock(m_ttInst, ref lpAudioBlock);
5394 }
5395
5413 public bool EnableVoiceTransmission(bool bEnable)
5414 {
5415 return TTDLL.TT_EnableVoiceTransmission(m_ttInst, bEnable);
5416 }
5417
5443 public bool EnableVoiceActivation(bool bEnable)
5444 {
5445 return TTDLL.TT_EnableVoiceActivation(m_ttInst, bEnable);
5446 }
5458 public bool SetVoiceActivationLevel(int nLevel)
5459 {
5460 return TTDLL.TT_SetVoiceActivationLevel(m_ttInst, nLevel);
5461 }
5468 public int GetVoiceActivationLevel()
5469 {
5470 return TTDLL.TT_GetVoiceActivationLevel(m_ttInst);
5471 }
5484 public bool SetVoiceActivationStopDelay(int nDelayMSec)
5485 {
5486 return TTDLL.TT_SetVoiceActivationStopDelay(m_ttInst, nDelayMSec);
5487 }
5488
5498 public int GetVoiceActivationStopDelay()
5499 {
5500 return TTDLL.TT_GetVoiceActivationStopDelay(m_ttInst);
5501 }
5502
5545 public bool StartRecordingMuxedAudioFile(AudioCodec lpAudioCodec,
5546 string szAudioFileName,
5547 AudioFileFormat uAFF)
5548 {
5549 return TTDLL.TT_StartRecordingMuxedAudioFile(m_ttInst,
5550 ref lpAudioCodec,
5551 szAudioFileName,
5552 uAFF);
5553 }
5554
5574 public bool StartRecordingMuxedAudioFile(int nChannelID,
5575 string szAudioFileName,
5576 AudioFileFormat uAFF)
5577 {
5578 return TTDLL.TT_StartRecordingMuxedAudioFileEx(m_ttInst,
5579 nChannelID,
5580 szAudioFileName,
5581 uAFF);
5582 }
5583
5584
5616 public bool StartRecordingMuxedStreams(StreamType uStreamTypes,
5617 AudioCodec lpAudioCodec,
5618 string szAudioFileName,
5619 AudioFileFormat uAFF)
5620 {
5621 return TTDLL.TT_StartRecordingMuxedStreams(m_ttInst, uStreamTypes, ref lpAudioCodec, szAudioFileName, uAFF);
5622 }
5623
5635 public bool StopRecordingMuxedAudioFile()
5636 {
5637 return TTDLL.TT_StopRecordingMuxedAudioFile(m_ttInst);
5638 }
5639
5646 public bool StopRecordingMuxedAudioFile(int nChannelID)
5647 {
5648 return TTDLL.TT_StopRecordingMuxedAudioFileEx(m_ttInst, nChannelID);
5649 }
5650
5673 public bool StartVideoCaptureTransmission(VideoCodec lpVideoCodec)
5674 {
5675 return TTDLL.TT_StartVideoCaptureTransmission(m_ttInst, ref lpVideoCodec);
5676 }
5677
5682 public bool StopVideoCaptureTransmission()
5683 {
5684 return TTDLL.TT_StopVideoCaptureTransmission(m_ttInst);
5685 }
5686
5698 public static bool GetVideoCaptureDevices(out VideoCaptureDevice[] lpVideoDevices)
5699 {
5700 //To speed up query we only query for a max of 25.
5701 //Hopefully no one has more than 25 capture devices.
5702 VideoCaptureDevice[] devs = new VideoCaptureDevice[25];
5703 int count = devs.Length;
5704 bool b = TTDLL.TT_GetVideoCaptureDevices(devs, ref count);
5705 if (b)
5706 {
5707 lpVideoDevices = new VideoCaptureDevice[count];
5708 for (int i = 0; i < count; i++)
5709 lpVideoDevices[i] = devs[i];
5710 }
5711 else lpVideoDevices = null;
5712
5713 return b;
5714 }
5726 public bool InitVideoCaptureDevice(string szDeviceID,
5727 VideoFormat lpVideoFormat)
5728 {
5729 return TTDLL.TT_InitVideoCaptureDevice(m_ttInst, szDeviceID, ref lpVideoFormat);
5730 }
5735 public bool CloseVideoCaptureDevice()
5736 {
5737 return TTDLL.TT_CloseVideoCaptureDevice(m_ttInst);
5738 }
5753 public bool PaintVideoFrame(int nUserID,
5754 System.IntPtr hDC,
5755 int XDest,
5756 int YDest,
5757 int nDestWidth,
5758 int nDestHeight,
5759 ref VideoFrame lpVideoFrame)
5760 {
5761 return TTDLL.TT_PaintVideoFrame(nUserID, hDC, XDest, YDest, nDestWidth,
5762 nDestHeight, ref lpVideoFrame);
5763 }
5764
5796 public bool PaintVideoFrameEx(int nUserID,
5797 System.IntPtr hDC,
5798 int XDest,
5799 int YDest,
5800 int nDestWidth,
5801 int nDestHeight,
5802 int XSrc,
5803 int YSrc,
5804 int nSrcWidth,
5805 int nSrcHeight,
5806 ref VideoFrame lpVideoFrame)
5807 {
5808 return TTDLL.TT_PaintVideoFrameEx(nUserID, hDC, XDest, YDest, nDestWidth, nDestHeight,
5809 XSrc, YSrc, nSrcWidth, nSrcHeight,
5810 ref lpVideoFrame);
5811 }
5812
5831 public VideoFrame AcquireUserVideoCaptureFrame(int nUserID, out Bitmap bmp)
5832 {
5833 bmp = null;
5834 IntPtr ptr = TTDLL.TT_AcquireUserVideoCaptureFrame(m_ttInst, nUserID);
5835 if(ptr == IntPtr.Zero)
5836 return new VideoFrame();
5837
5838 VideoFrame frm = (VideoFrame)Marshal.PtrToStructure(ptr, typeof(VideoFrame));
5839 vidcapframes.Add(frm.frameBuffer, ptr);
5840
5841 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
5842 bmp = new Bitmap(frm.nWidth, frm.nHeight, frm.nWidth*4, pixelformat, frm.frameBuffer);
5843 return frm;
5844 }
5845
5846 Dictionary<IntPtr, IntPtr> vidcapframes = new Dictionary<IntPtr, IntPtr>();
5847
5855 public bool ReleaseUserVideoCaptureFrame(VideoFrame lpVideoFrame)
5856 {
5857 IntPtr ptr;
5858 if (vidcapframes.TryGetValue(lpVideoFrame.frameBuffer, out ptr))
5859 {
5860 vidcapframes.Remove(lpVideoFrame.frameBuffer);
5861 return TTDLL.TT_ReleaseUserVideoCaptureFrame(m_ttInst, ptr);
5862 }
5863 return false;
5864 }
5865
5878 /*
5879 public bool GetUserVideoFrame(int nUserID,
5880 ref System.Drawing.Bitmap lpPicture)
5881 {
5882 CaptureFormat cap;
5883 if (!TTDLL.TT_GetUserVideoFrame(m_ttInst, nUserID, IntPtr.Zero, 0, out cap))
5884 return false;
5885
5886 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
5887
5888 if (lpPicture == null ||
5889 lpPicture.Width != cap.nWidth ||
5890 lpPicture.Height != cap.nHeight
5891#if PocketPC
5892 )
5893#else
5894 || lpPicture.PixelFormat != pixelformat)
5895#endif
5896 {
5897 lpPicture = new Bitmap(cap.nWidth, cap.nHeight,
5898 pixelformat);
5899 }
5900
5901 // Lock the bitmap's bits.
5902 System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, lpPicture.Width, lpPicture.Height);
5903 BitmapData bmpData = lpPicture.LockBits(rect, ImageLockMode.ReadWrite, pixelformat);
5904
5905 // Get the address of the first line.
5906 IntPtr ptr = bmpData.Scan0;
5907
5908 bool b = TTDLL.TT_GetUserVideoFrame(m_ttInst, nUserID, ptr,
5909 cap.nWidth * cap.nHeight * 4, out cap);
5910 // Unlock the bits.
5911 lpPicture.UnlockBits(bmpData);
5912 return b;
5913 }
5914 * */
5915
5923 public bool StartStreamingMediaFileToChannel(string szMediaFilePath,
5924 VideoCodec lpVideoCodec)
5925 {
5926 return TTDLL.TT_StartStreamingMediaFileToChannel(m_ttInst, szMediaFilePath,
5927 ref lpVideoCodec);
5928 }
5929
5959 public bool StartStreamingMediaFileToChannel(string szMediaFilePath,
5960 MediaFilePlayback lpMediaFilePlayback,
5961 VideoCodec lpVideoCodec)
5962 {
5963 return TTDLL.TT_StartStreamingMediaFileToChannelEx(m_ttInst, szMediaFilePath,
5964 ref lpMediaFilePlayback,
5965 ref lpVideoCodec);
5966 }
5967
5984 public bool UpdateStreamingMediaFileToChannel(MediaFilePlayback lpMediaFilePlayback,
5985 VideoCodec lpVideoCodec)
5986 {
5987 return TTDLL.TT_UpdateStreamingMediaFileToChannel(m_ttInst, ref lpMediaFilePlayback, ref lpVideoCodec);
5988 }
5989
5997 public bool StopStreamingMediaFileToChannel()
5998 {
5999 return TTDLL.TT_StopStreamingMediaFileToChannel(m_ttInst);
6000 }
6001
6026 public int InitLocalPlayback(string szMediaFilePath, MediaFilePlayback lpMediaFilePlayback)
6027 {
6028 return TTDLL.TT_InitLocalPlayback(m_ttInst, szMediaFilePath, ref lpMediaFilePlayback);
6029 }
6030
6042 public bool UpdateLocalPlayback(int nPlaybackSessionID,
6043 MediaFilePlayback lpMediaFilePlayback)
6044 {
6045 return TTDLL.TT_UpdateLocalPlayback(m_ttInst, nPlaybackSessionID, ref lpMediaFilePlayback);
6046 }
6047
6056 public bool StopLocalPlayback(int nPlaybackSessionID)
6057 {
6058 return TTDLL.TT_StopLocalPlayback(m_ttInst, nPlaybackSessionID);
6059 }
6060
6068 public static bool GetMediaFileInfo(string szMediaFilePath,
6069 ref MediaFileInfo lpMediaFileInfo)
6070 {
6071 return TTDLL.TT_GetMediaFileInfo(szMediaFilePath, ref lpMediaFileInfo);
6072 }
6073
6093 public VideoFrame AcquireUserMediaVideoFrame(int nUserID, out Bitmap bmp)
6094 {
6095 bmp = null;
6096 IntPtr ptr = TTDLL.TT_AcquireUserMediaVideoFrame(m_ttInst, nUserID);
6097 if (ptr == IntPtr.Zero)
6098 return new VideoFrame();
6099
6100 VideoFrame frm = (VideoFrame)Marshal.PtrToStructure(ptr, typeof(VideoFrame));
6101 mediaframes.Add(frm.frameBuffer, ptr);
6102
6103 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
6104 bmp = new Bitmap(frm.nWidth, frm.nHeight, frm.nWidth * 4, pixelformat, frm.frameBuffer);
6105 return frm;
6106 }
6107
6115 public bool ReleaseUserMediaVideoFrame(VideoFrame lpVideoFrame)
6116 {
6117 IntPtr ptr;
6118 if (mediaframes.TryGetValue(lpVideoFrame.frameBuffer, out ptr))
6119 {
6120 mediaframes.Remove(lpVideoFrame.frameBuffer);
6121 return TTDLL.TT_ReleaseUserMediaVideoFrame(m_ttInst, ptr);
6122 }
6123 return false;
6124 }
6125
6126 Dictionary<IntPtr, IntPtr> mediaframes = new Dictionary<IntPtr, IntPtr>();
6127
6170 public int SendDesktopWindow(DesktopWindow lpDesktopWindow,
6171 BitmapFormat nConvertBmpFormat)
6172 {
6173 return TTDLL.TT_SendDesktopWindow(m_ttInst, ref lpDesktopWindow, nConvertBmpFormat);
6174 }
6175
6183 public bool CloseDesktopWindow()
6184 {
6185 return TTDLL.TT_CloseDesktopWindow(m_ttInst);
6186 }
6187
6204 public static System.Drawing.Color Palette_GetColorTable(BitmapFormat nBmpPalette,
6205 int nIndex)
6206 {
6207 IntPtr ptr = TTDLL.TT_Palette_GetColorTable(nBmpPalette, nIndex);
6208 switch(nBmpPalette)
6209 {
6210 case BitmapFormat.BMP_RGB8_PALETTE:
6211 return Color.FromArgb(Marshal.ReadInt32(ptr));
6212 }
6213 return new Color();
6214 }
6215
6226 public int SendDesktopWindowFromHWND(System.IntPtr hWnd,
6227 BitmapFormat nBitmapFormat,
6228 DesktopProtocol nDesktopProtocol)
6229 {
6230 return TTDLL.TT_SendDesktopWindowFromHWND(m_ttInst, hWnd, nBitmapFormat, nDesktopProtocol);
6231 }
6232
6247 public bool PaintDesktopWindow(int nUserID,
6248 System.IntPtr hDC,
6249 int XDest,
6250 int YDest,
6251 int nDestWidth,
6252 int nDestHeight)
6253 {
6254 return TTDLL.TT_PaintDesktopWindow(m_ttInst, nUserID, hDC, XDest, YDest, nDestWidth, nDestHeight);
6255 }
6256
6289 public bool PaintDesktopWindowEx(int nUserID,
6290 System.IntPtr hDC,
6291 int XDest,
6292 int YDest,
6293 int nDestWidth,
6294 int nDestHeight,
6295 int XSrc,
6296 int YSrc,
6297 int nSrcWidth,
6298 int nSrcHeight)
6299 {
6300 return TTDLL.TT_PaintDesktopWindowEx(m_ttInst, nUserID, hDC, XDest,
6301 YDest, nDestWidth, nDestHeight,
6302 XSrc, YSrc, nSrcWidth, nSrcHeight);
6303 }
6304
6317 public bool SendDesktopCursorPosition(ushort nPosX,
6318 ushort nPosY)
6319 {
6320 return TTDLL.TT_SendDesktopCursorPosition(m_ttInst, nPosX, nPosY);
6321 }
6322
6346 public bool SendDesktopInput(int nUserID,
6347 DesktopInput[] lpDesktopInputs)
6348 {
6349 return TTDLL.TT_SendDesktopInput(m_ttInst, nUserID, lpDesktopInputs, lpDesktopInputs.Length);
6350 }
6351
6375 public DesktopWindow AcquireUserDesktopWindow(int nUserID)
6376 {
6377 IntPtr ptr = TTDLL.TT_AcquireUserDesktopWindow(m_ttInst, nUserID);
6378 if (ptr == IntPtr.Zero)
6379 return new DesktopWindow();
6380 DesktopWindow lpDesktopWindow = (DesktopWindow)Marshal.PtrToStructure(ptr, typeof(DesktopWindow));
6381 desktopwindows.Add(lpDesktopWindow.frameBuffer, ptr);
6382 return lpDesktopWindow;
6383 }
6384
6391 public DesktopWindow AcquireUserDesktopWindowEx(int nUserID, BitmapFormat nBitmapFormat)
6392 {
6393 IntPtr ptr = TTDLL.TT_AcquireUserDesktopWindowEx(m_ttInst, nUserID, nBitmapFormat);
6394 if (ptr == IntPtr.Zero)
6395 return new DesktopWindow();
6396 DesktopWindow lpDesktopWindow = (DesktopWindow)Marshal.PtrToStructure(ptr, typeof(DesktopWindow));
6397 desktopwindows.Add(lpDesktopWindow.frameBuffer, ptr);
6398 return lpDesktopWindow;
6399 }
6400
6401 Dictionary<IntPtr, IntPtr> desktopwindows = new Dictionary<IntPtr, IntPtr>();
6404 public bool ReleaseUserDesktopWindow(DesktopWindow lpDesktopWindow)
6405 {
6406 IntPtr ptr;
6407 if (desktopwindows.TryGetValue(lpDesktopWindow.frameBuffer, out ptr))
6408 {
6409 desktopwindows.Remove(lpDesktopWindow.frameBuffer);
6410 return TTDLL.TT_ReleaseUserDesktopWindow(m_ttInst, ptr);
6411 }
6412 return false;
6413 }
6414
6431 public bool SetEncryptionContext(EncryptionContext lpEncryptionContext)
6432 {
6433 return TTDLL.TT_SetEncryptionContext(m_ttInst, ref lpEncryptionContext);
6434 }
6435
6464 public bool Connect(string szHostAddress,
6465 int nTcpPort,
6466 int nUdpPort,
6467 int nLocalTcpPort,
6468 int nLocalUdpPort,
6469 bool bEncrypted)
6470 {
6471 return TTDLL.TT_Connect(m_ttInst, szHostAddress, nTcpPort, nUdpPort,
6472 nLocalTcpPort, nLocalUdpPort, bEncrypted);
6473 }
6474
6498 public bool ConnectSysID(string szHostAddress,
6499 int nTcpPort,
6500 int nUdpPort,
6501 int nLocalTcpPort,
6502 int nLocalUdpPort,
6503 bool bEncrypted,
6504 string szSystemID)
6505 {
6506 return TTDLL.TT_ConnectSysID(m_ttInst, szHostAddress,
6507 nTcpPort, nUdpPort, nLocalTcpPort,
6508 nLocalUdpPort, bEncrypted, szSystemID);
6509 }
6510
6531 public bool ConnectEx(string szHostAddress,
6532 int nTcpPort,
6533 int nUdpPort,
6534 string szBindIPAddr,
6535 int nLocalTcpPort,
6536 int nLocalUdpPort,
6537 bool bEncrypted)
6538 {
6539 return TTDLL.TT_ConnectEx(m_ttInst, szHostAddress, nTcpPort, nUdpPort,
6540 szBindIPAddr, nLocalTcpPort, nLocalUdpPort,
6541 bEncrypted);
6542 }
6543
6548 public bool Disconnect()
6549 {
6550 return TTDLL.TT_Disconnect(m_ttInst);
6551 }
6561 public bool QueryMaxPayload(int nUserID)
6562 {
6563 return TTDLL.TT_QueryMaxPayload(m_ttInst, nUserID);
6564 }
6570 public bool GetClientStatistics(ref ClientStatistics lpClientStatistics)
6571 {
6572 return TTDLL.TT_GetClientStatistics(m_ttInst, ref lpClientStatistics);
6573 }
6574
6589 public bool SetClientKeepAlive(ClientKeepAlive lpClientKeepAlive)
6590 {
6591 return TTDLL.TT_SetClientKeepAlive(m_ttInst, ref lpClientKeepAlive);
6592 }
6593
6600 public bool GetClientKeepAlive(ref ClientKeepAlive lpClientKeepAlive)
6601 {
6602 return TTDLL.TT_GetClientKeepAlive(m_ttInst, ref lpClientKeepAlive);
6603 }
6626 public int DoPing()
6627 {
6628 return TTDLL.TT_DoPing(m_ttInst);
6629 }
6630
6642 public int DoLogin(string szNickname, string szUsername, string szPassword)
6643 {
6644 return TTDLL.TT_DoLogin(m_ttInst, szNickname, szUsername, szPassword);
6645 }
6646
6676 public int DoLoginEx(string szNickname, string szUsername, string szPassword,
6677 string szClientName)
6678 {
6679 return TTDLL.TT_DoLoginEx(m_ttInst, szNickname, szUsername, szPassword, szClientName);
6680 }
6694 public int DoLogout()
6695 {
6696 return TTDLL.TT_DoLogout(m_ttInst);
6697 }
6737 public int DoJoinChannel(Channel lpChannel)
6738 {
6739 return TTDLL.TT_DoJoinChannel(m_ttInst, ref lpChannel);
6740 }
6764 public int DoJoinChannelByID(int nChannelID, string szPassword)
6765 {
6766 return TTDLL.TT_DoJoinChannelByID(m_ttInst, nChannelID, szPassword);
6767 }
6787 public int DoLeaveChannel()
6788 {
6789 return TTDLL.TT_DoLeaveChannel(m_ttInst);
6790 }
6808 public int DoChangeNickname(string szNewNick)
6809 {
6810 return TTDLL.TT_DoChangeNickname(m_ttInst, szNewNick);
6811 }
6831 public int DoChangeStatus(int nStatusMode, string szStatusMessage)
6832 {
6833 return TTDLL.TT_DoChangeStatus(m_ttInst, nStatusMode, szStatusMessage);
6834 }
6853 public int DoTextMessage(TextMessage lpTextMessage)
6854 {
6855 return TTDLL.TT_DoTextMessage(m_ttInst, ref lpTextMessage);
6856 }
6877 public int DoChannelOp(int nUserID, int nChannelID, bool bMakeOperator)
6878 {
6879 return TTDLL.TT_DoChannelOp(m_ttInst, nUserID, nChannelID, bMakeOperator);
6880 }
6900 public int DoChannelOpEx(int nUserID,
6901 int nChannelID,
6902 string szOpPassword,
6903 bool bMakeOperator)
6904 {
6905 return TTDLL.TT_DoChannelOpEx(m_ttInst, nUserID, nChannelID, szOpPassword, bMakeOperator);
6906 }
6929 public int DoKickUser(int nUserID, int nChannelID)
6930 {
6931 return TTDLL.TT_DoKickUser(m_ttInst, nUserID, nChannelID);
6932 }
6967 public int DoSendFile(int nChannelID, string szLocalFilePath)
6968 {
6969 return TTDLL.TT_DoSendFile(m_ttInst, nChannelID, szLocalFilePath);
6970 }
7000 public int DoRecvFile(int nChannelID, int nFileID, string szLocalFilePath)
7001 {
7002 return TTDLL.TT_DoRecvFile(m_ttInst, nChannelID, nFileID, szLocalFilePath);
7003 }
7026 public int DoDeleteFile(int nChannelID, int nFileID)
7027 {
7028 return TTDLL.TT_DoDeleteFile(m_ttInst, nChannelID, nFileID);
7029 }
7044 public int DoSubscribe(int nUserID, Subscription uSubscriptions)
7045 {
7046 return TTDLL.TT_DoSubscribe(m_ttInst, nUserID, uSubscriptions);
7047 }
7063 public int DoUnsubscribe(int nUserID, Subscription uSubscriptions)
7064 {
7065 return TTDLL.TT_DoUnsubscribe(m_ttInst, nUserID, uSubscriptions);
7066 }
7092 public int DoMakeChannel(Channel lpChannel)
7093 {
7094 return TTDLL.TT_DoMakeChannel(m_ttInst, ref lpChannel);
7095 }
7128 public int DoUpdateChannel(Channel lpChannel)
7129 {
7130 return TTDLL.TT_DoUpdateChannel(m_ttInst, ref lpChannel);
7131 }
7150 public int DoRemoveChannel(int nChannelID)
7151 {
7152 return TTDLL.TT_DoRemoveChannel(m_ttInst, nChannelID);
7153 }
7173 public int DoMoveUser(int nUserID, int nChannelID)
7174 {
7175 return TTDLL.TT_DoMoveUser(m_ttInst, nUserID, nChannelID);
7176 }
7193 public int DoUpdateServer(ServerProperties lpServerProperties)
7194 {
7195 return TTDLL.TT_DoUpdateServer(m_ttInst, ref lpServerProperties);
7196 }
7221 public int DoListUserAccounts(int nIndex, int nCount)
7222 {
7223 return TTDLL.TT_DoListUserAccounts(m_ttInst, nIndex, nCount);
7224 }
7247 public int DoNewUserAccount(UserAccount lpUserAccount)
7248 {
7249 return TTDLL.TT_DoNewUserAccount(m_ttInst, ref lpUserAccount);
7250 }
7269 public int DoDeleteUserAccount(string szUsername)
7270 {
7271 return TTDLL.TT_DoDeleteUserAccount(m_ttInst, szUsername);
7272 }
7300 public int DoBanUser(int nUserID, int nChannelID)
7301 {
7302 return TTDLL.TT_DoBanUser(m_ttInst, nUserID, nChannelID);
7303 }
7304
7316 public int DoBanUserEx(int nUserID, BanType uBanTypes)
7317 {
7318 return TTDLL.TT_DoBanUserEx(m_ttInst, nUserID, uBanTypes);
7319 }
7320
7339 public int DoBan(BannedUser lpBannedUser)
7340 {
7341 return TTDLL.TT_DoBan(m_ttInst, ref lpBannedUser);
7342 }
7343
7364 public int DoBanIPAddress(string szIPAddress, int nChannelID)
7365 {
7366 return TTDLL.TT_DoBanIPAddress(m_ttInst, szIPAddress, nChannelID);
7367 }
7368
7389 public int DoUnBanUser(string szIPAddress, int nChannelID)
7390 {
7391 return TTDLL.TT_DoUnBanUser(m_ttInst, szIPAddress, nChannelID);
7392 }
7393
7403 public int DoUnBanUserEx(BannedUser lpBannedUser)
7404 {
7405 return TTDLL.TT_DoUnBanUserEx(m_ttInst, ref lpBannedUser);
7406 }
7407
7428 public int DoListBans(int nChannelID, int nIndex, int nCount)
7429 {
7430 return TTDLL.TT_DoListBans(m_ttInst, nChannelID, nIndex, nCount);
7431 }
7449 public int DoSaveConfig()
7450 {
7451 return TTDLL.TT_DoSaveConfig(m_ttInst);
7452 }
7469 public int DoQueryServerStats()
7470 {
7471 return TTDLL.TT_DoQueryServerStats(m_ttInst);
7472 }
7485 public int DoQuit()
7486 {
7487 return TTDLL.TT_DoQuit(m_ttInst);
7488 }
7500 public bool GetServerProperties(ref ServerProperties lpServerProperties)
7501 {
7502 return TTDLL.TT_GetServerProperties(m_ttInst, ref lpServerProperties);
7503 }
7514 public bool GetServerUsers(out User[] lpUsers)
7515 {
7516 int count = 0;
7517 bool b = TTDLL.TT_GetServerUsers_NULL(m_ttInst, IntPtr.Zero, ref count);
7518 User[] users = new User[count];
7519 b = TTDLL.TT_GetServerUsers(m_ttInst, users, ref count);
7520 lpUsers = b ? users : null;
7521 return b;
7522 }
7535 public int GetRootChannelID()
7536 {
7537 return TTDLL.TT_GetRootChannelID(m_ttInst);
7538 }
7545 public int GetMyChannelID()
7546 {
7547 return TTDLL.TT_GetMyChannelID(m_ttInst);
7548 }
7552 public int ChannelID { get { return GetMyChannelID(); } }
7560 public bool GetChannel(int nChannelID, ref Channel lpChannel)
7561 {
7562 return TTDLL.TT_GetChannel(m_ttInst, nChannelID, ref lpChannel);
7563 }
7570 public bool GetChannelPath(int nChannelID, ref string szChannelPath)
7571 {
7572 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
7573 bool b = TTDLL.TT_GetChannelPath(m_ttInst, nChannelID, ptr);
7574 if(b)
7575 szChannelPath = Marshal.PtrToStringUni(ptr);
7576 Marshal.FreeHGlobal(ptr);
7577 return b;
7578 }
7585 public int GetChannelIDFromPath(string szChannelPath)
7586 {
7587 return TTDLL.TT_GetChannelIDFromPath(m_ttInst, szChannelPath);
7588 }
7597 public bool GetChannelUsers(int nChannelID, out User[] lpUsers)
7598 {
7599 int count = 0;
7600 bool b = TTDLL.TT_GetChannelUsers_NULL(m_ttInst, nChannelID, IntPtr.Zero, ref count);
7601 User[] users = new User[count];
7602 b = TTDLL.TT_GetChannelUsers(m_ttInst, nChannelID, users, ref count);
7603 lpUsers = b ? users : null;
7604 return b;
7605 }
7614 public bool GetChannelFiles(int nChannelID, out RemoteFile[] lpRemoteFiles)
7615 {
7616 int count = 0;
7617 bool b = TTDLL.TT_GetChannelFiles_NULL(m_ttInst, nChannelID, IntPtr.Zero, ref count);
7618 RemoteFile[] files = new RemoteFile[count];
7619 b = TTDLL.TT_GetChannelFiles(m_ttInst, nChannelID, files, ref count);
7620 lpRemoteFiles = b ? files : null;
7621 return b;
7622 }
7630 public bool GetChannelFile(int nChannelID, int nFileID, ref RemoteFile lpRemoteFile)
7631 {
7632 return TTDLL.TT_GetChannelFile(m_ttInst, nChannelID, nFileID, ref lpRemoteFile);
7633 }
7640 public bool IsChannelOperator(int nUserID, int nChannelID)
7641 {
7642 return TTDLL.TT_IsChannelOperator(m_ttInst, nUserID, nChannelID);
7643 }
7650 public bool GetServerChannels(out Channel[] lpChannels)
7651 {
7652 int count = 0;
7653 bool b = TTDLL.TT_GetServerChannels_NULL(m_ttInst, IntPtr.Zero, ref count);
7654 Channel[] channels = new Channel[count];
7655 b = TTDLL.TT_GetServerChannels(m_ttInst, channels, ref count);
7656 lpChannels = b ? channels : null;
7657 return b;
7658 }
7672 public int GetMyUserID()
7673 {
7674 return TTDLL.TT_GetMyUserID(m_ttInst);
7675 }
7676
7687 public bool GetMyUserAccount(ref UserAccount lpUserAccount)
7688 {
7689 return TTDLL.TT_GetMyUserAccount(m_ttInst, ref lpUserAccount);
7690 }
7691
7695 public int UserID { get { return GetMyUserID(); } }
7696
7707 public UserType GetMyUserType()
7708 {
7709 return TTDLL.TT_GetMyUserType(m_ttInst);
7710 }
7711
7715 public BearWare.UserType UserType { get { return GetMyUserType(); } }
7716
7720 public BearWare.UserRight UserRights { get { return GetMyUserRights(); } }
7721
7723 public BearWare.UserRight GetMyUserRights()
7724 {
7725 return TTDLL.TT_GetMyUserRights(m_ttInst);
7726 }
7727
7737 public int GetMyUserData()
7738 {
7739 return TTDLL.TT_GetMyUserData(m_ttInst);
7740 }
7741
7745 public int UserData { get { return GetMyUserData(); } }
7746
7753 public bool GetUser(int nUserID, ref User lpUser)
7754 {
7755 return TTDLL.TT_GetUser(m_ttInst, nUserID, ref lpUser);
7756 }
7762 public bool GetUserStatistics(int nUserID, ref UserStatistics lpUserStatistics)
7763 {
7764 return TTDLL.TT_GetUserStatistics(m_ttInst, nUserID, ref lpUserStatistics);
7765 }
7774 public bool GetUserByUsername(string szUsername, ref User lpUser)
7775 {
7776 return TTDLL.TT_GetUserByUsername(m_ttInst, szUsername, ref lpUser);
7777 }
7794 public bool SetUserVolume(int nUserID, StreamType nStreamType, int nVolume)
7795 {
7796 return TTDLL.TT_SetUserVolume(m_ttInst, nUserID, nStreamType, nVolume);
7797 }
7809 public bool SetUserMute(int nUserID, StreamType nStreamType, bool bMute)
7810 {
7811 return TTDLL.TT_SetUserMute(m_ttInst, nUserID, nStreamType, bMute);
7812 }
7825 public bool SetUserStoppedPlaybackDelay(int nUserID,
7826 StreamType nStreamType,
7827 int nDelayMSec)
7828 {
7829 return TTDLL.TT_SetUserStoppedPlaybackDelay(m_ttInst, nUserID, nStreamType, nDelayMSec);
7830 }
7831
7856 public bool SetUserJitterControl(int nUserID,
7857 StreamType nStreamType,
7858 JitterConfig lpJitterConfig)
7859 {
7860 return TTDLL.TT_SetUserJitterControl(m_ttInst, nUserID, nStreamType, ref lpJitterConfig);
7861 }
7862
7873 public bool GetUserJitterControl(int nUserID,
7874 StreamType nStreamType,
7875 ref JitterConfig lpJitterConfig)
7876 {
7877 return TTDLL.TT_GetUserJitterControl(m_ttInst, nUserID, nStreamType, ref lpJitterConfig);
7878 }
7879
7891 public bool SetUserPosition(int nUserID, StreamType nStreamType,
7892 float x, float y, float z)
7893 {
7894 return TTDLL.TT_SetUserPosition(m_ttInst, nUserID, nStreamType, x, y, z);
7895 }
7907 public bool SetUserStereo(int nUserID, StreamType nStreamType, bool bLeftSpeaker, bool bRightSpeaker)
7908 {
7909 return TTDLL.TT_SetUserStereo(m_ttInst, nUserID, nStreamType, bLeftSpeaker, bRightSpeaker);
7910 }
7946 public bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars,
7947 AudioFileFormat uAFF)
7948 {
7949 return TTDLL.TT_SetUserMediaStorageDir(m_ttInst, nUserID, szFolderPath, szFileNameVars, uAFF);
7950 }
7951
7976 public bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars,
7977 AudioFileFormat uAFF, int nStopRecordingExtraDelayMSec)
7978 {
7979 return TTDLL.TT_SetUserMediaStorageDirEx(m_ttInst, nUserID, szFolderPath, szFileNameVars, uAFF, nStopRecordingExtraDelayMSec);
7980 }
7981
8006 public bool SetUserAudioStreamBufferSize(int nUserID, StreamType uStreamType,
8007 int nMSec)
8008 {
8009 return TTDLL.TT_SetUserAudioStreamBufferSize(m_ttInst, nUserID, uStreamType, nMSec);
8010 }
8030 public AudioBlock AcquireUserAudioBlock(StreamType uStreamTypes, int nUserID)
8031 {
8032 IntPtr ptr = TTDLL.TT_AcquireUserAudioBlock(m_ttInst, uStreamTypes, nUserID);
8033 if (ptr == IntPtr.Zero)
8034 return new AudioBlock();
8035 AudioBlock lpAudioBlock = (AudioBlock)Marshal.PtrToStructure(ptr, typeof(AudioBlock));
8036 audioblocks.Add(lpAudioBlock.lpRawAudio, ptr);
8037 return lpAudioBlock;
8038 }
8039
8040 Dictionary<IntPtr, IntPtr> audioblocks = new Dictionary<IntPtr, IntPtr>();
8041
8055 public bool ReleaseUserAudioBlock(AudioBlock lpAudioBlock)
8056 {
8057 IntPtr ptr;
8058 if (audioblocks.TryGetValue(lpAudioBlock.lpRawAudio, out ptr))
8059 {
8060 audioblocks.Remove(lpAudioBlock.lpRawAudio);
8061 return TTDLL.TT_ReleaseUserAudioBlock(m_ttInst, ptr);
8062 }
8063 return false;
8064 }
8078 public bool GetFileTransferInfo(int nTransferID, ref FileTransfer lpFileTransfer)
8079 {
8080 return TTDLL.TT_GetFileTransferInfo(m_ttInst, nTransferID, ref lpFileTransfer);
8081 }
8082
8091 public bool CancelFileTranfer(int nTransferID)
8092 {
8093 return TTDLL.TT_CancelFileTransfer(m_ttInst, nTransferID);
8094 }
8095
8106 public static string GetErrorMessage(ClientError nError)
8107 {
8108 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8109 TTDLL.TT_GetErrorMessage((int)nError, ptr);
8110 string s = Marshal.PtrToStringUni(ptr);
8111 Marshal.FreeHGlobal(ptr);
8112 return s;
8113 }
8114
8141 public bool HotKey_Register(int nHotKeyID, int[] lpnVKCodes)
8142 {
8143 return TTDLL.TT_HotKey_Register(m_ttInst, nHotKeyID, lpnVKCodes, lpnVKCodes.Length);
8144 }
8150 public bool HotKey_Unregister(int nHotKeyID)
8151 {
8152 return TTDLL.TT_HotKey_Unregister(m_ttInst, nHotKeyID);
8153 }
8159 public int HotKey_IsActive(int nHotKeyID)
8160 {
8161 return TTDLL.TT_HotKey_IsActive(m_ttInst, nHotKeyID);
8162 }
8172 public bool HotKey_InstallTestHook()
8173 {
8174 if (m_eventhandler != null)
8175 {
8176#if PocketPC
8177 IntPtr hWnd = m_eventhandler.Hwnd;
8178#else
8179 IntPtr hWnd = m_eventhandler.Handle;
8180#endif
8181 return TTDLL.TT_HotKey_InstallTestHook(m_ttInst, hWnd,
8182 MyEventHandler.WM_TEAMTALK_CLIENTEVENT);
8183 }
8184 return false;
8185 }
8191 public bool HotKey_RemoveTestHook()
8192 {
8193 return TTDLL.TT_HotKey_RemoveTestHook(m_ttInst);
8194 }
8201 public bool HotKey_GetKeyString(int nVKCode, ref string szKeyName)
8202 {
8203 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8204 bool b = TTDLL.TT_HotKey_GetKeyString(m_ttInst, nVKCode, ptr);
8205 if(b)
8206 szKeyName = Marshal.PtrToStringUni(ptr);
8207 Marshal.FreeHGlobal(ptr);
8208 return b;
8209 }
8212 public bool DBG_SetSoundInputTone(StreamType uStreamTypes, int nFrequency)
8213 {
8214 return TTDLL.TT_DBG_SetSoundInputTone(m_ttInst, uStreamTypes, nFrequency);
8215 }
8216
8217
8218 public bool DBG_WriteAudioFileTone(MediaFileInfo lpMediaFileInfo,
8219 int nFrequency)
8220 {
8221 return TTDLL.TT_DBG_WriteAudioFileTone(ref lpMediaFileInfo, nFrequency);
8222 }
8223
8230 public delegate void Connection();
8239 public event Connection OnConnectionSuccess;
8247 public event Connection OnConnectionFailed;
8255 public event Connection OnConnectionLost;
8256
8262 public delegate void MaxPayloadUpdate(int nPayloadSize);
8263
8271 public event MaxPayloadUpdate OnConnectionMaxPayloadUpdated;
8272
8280 public delegate void CommandProcessing(int nCmdID, bool bActive);
8281
8292 public event CommandProcessing OnCmdProcessing;
8293
8298 public delegate void CommandError(int nCmdID, ClientErrorMsg clienterrormsg);
8299
8308 public event CommandError OnCmdError;
8309
8313 public delegate void CommandSuccess(int nCmdID);
8314
8322 public event CommandSuccess OnCmdSuccess;
8323
8329 public delegate void MyselfLoggedIn(int nMyUserID, UserAccount useraccount);
8330
8339 public event MyselfLoggedIn OnCmdMyselfLoggedIn;
8340
8342 public delegate void MyselfLoggedOut();
8350 public event MyselfLoggedOut OnCmdMyselfLoggedOut;
8351
8357 public delegate void MyselfKicked(User user);
8363 public event MyselfKicked OnCmdMyselfKicked;
8364
8369 public delegate void UserUpdate(User user);
8370
8374 public delegate void UserStreamUpdate(User user, int nStreamID);
8375
8383 public event UserUpdate OnCmdUserLoggedIn;
8384
8393 public event UserUpdate OnCmdUserLoggedOut;
8394
8399 public event UserUpdate OnCmdUserUpdate;
8400
8405 public event UserUpdate OnCmdUserJoinedChannel;
8406
8411 public event UserUpdate OnCmdUserLeftChannel;
8412
8418 public delegate void UserTextMessage(TextMessage textmessage);
8419
8424 public event UserTextMessage OnCmdUserTextMessage;
8425
8426
8429 public delegate void ChannelUpdate(Channel channel);
8430
8437 public event ChannelUpdate OnCmdChannelNew;
8438
8443 public event ChannelUpdate OnCmdChannelUpdate;
8444
8448 public event ChannelUpdate OnCmdChannelRemove;
8449
8451 public delegate void ServerUpdate(ServerProperties serverproperties);
8452
8458 public event ServerUpdate OnCmdServerUpdate;
8459
8461 public delegate void ServerStats(ServerStatistics serverstatistics);
8462
8467 public event ServerStats OnCmdServerStatistics;
8468
8470 public delegate void FileUpdate(RemoteFile remotefile);
8471
8476 public event FileUpdate OnCmdFileNew;
8477
8482 public event FileUpdate OnCmdFileRemove;
8483
8485 public delegate void ListUserAccount(UserAccount useraccount);
8486
8489 public event ListUserAccount OnCmdUserAccount;
8490
8492 public delegate void ListBannedUser(BannedUser banneduser);
8493
8496 public event ListBannedUser OnCmdBannedUser;
8497
8502 public event UserStreamUpdate OnUserFirstVoiceStreamPacket;
8503
8507 public event UserUpdate OnUserStateChange;
8508
8510 public delegate void UserVideoFrame(int nUserID, int nStreamID);
8511
8516 public event UserVideoFrame OnUserVideoCapture;
8517
8522 public event UserVideoFrame OnUserMediaFileVideo;
8523
8532 public delegate void NewDesktopWindow(int nUserID, int nStreamID);
8533
8542 public event NewDesktopWindow OnUserDesktopWindow;
8543
8545 public delegate void UserDesktopInput(int nSrcUserID, DesktopInput desktopinput);
8546
8552 public event UserDesktopInput OnUserDesktopCursor;
8553
8559 public event UserDesktopInput OnUserDesktopInput;
8560
8562 public delegate void UserRecordMediaFile(int nUserID, MediaFileInfo mediafileinfo);
8563
8568 public event UserRecordMediaFile OnUserRecordMediaFile;
8569
8571 public delegate void NewAudioBlock(int nUserID, StreamType nStreamType);
8572
8582 public event NewAudioBlock OnUserAudioBlock;
8583
8585 public delegate void ErrorOccured(ClientErrorMsg clienterrormsg);
8586
8591 public event ErrorOccured OnInternalError;
8592
8595 public delegate void VoiceActivation(bool bVoiceActive);
8596
8601 public event VoiceActivation OnVoiceActivation;
8602
8608 public delegate void HotKeyToggle(int nHotKeyID, bool bActive);
8609
8618 public event HotKeyToggle OnHotKeyToggle;
8619
8624 public delegate void HotKeyTest(int nVkCode, bool bActive);
8625
8642 public event HotKeyTest OnHotKeyTest;
8643
8647 public delegate void FileTransferUpdate(FileTransfer filetransfer);
8648
8660 public event FileTransferUpdate OnFileTransfer;
8661
8671 public delegate void DesktopTransferUpdate(int nSessionID, int nBytesRemain);
8672
8682 public event DesktopTransferUpdate OnDesktopWindowTransfer;
8683
8685 public delegate void StreamMediaFile(MediaFileInfo mediafileinfo);
8686
8691 public event StreamMediaFile OnStreamMediaFile;
8692
8694 public delegate void LocalMediaFile(MediaFileInfo mediafileinfo);
8695
8700 public event LocalMediaFile OnLocalMediaFile;
8701
8703 public delegate void AudioInput(AudioInputProgress aip);
8704
8709 public event AudioInput OnAudioInput;
8710
8713 //TTDLL instance
8714 private IntPtr m_ttInst;
8715 //TTDLL event handler
8716 c_tt.MyEventHandler m_eventhandler;
8717 }
8718
8727 public class TeamTalk5 : TeamTalkBase
8728 {
8729 public const int DEFAULT_TCPPORT = 10333;
8730 public const int DEFAULT_UDPPORT = 10333;
8731
8733 public TeamTalk5(bool poll_based)
8734 : base(poll_based)
8735 {
8736 }
8737 }
8738
8744 public class TeamTalk5Pro : TeamTalkBase
8745 {
8746 public const int DEFAULT_TCPPORT = 10443;
8747 public const int DEFAULT_UDPPORT = 10443;
8748
8750 public TeamTalk5Pro(bool poll_based)
8751 : base(poll_based)
8752 {
8753 }
8754 }
8763 public enum TTKeyTranslate : uint
8764 {
8766 TTKEY_NO_TRANSLATE = 0,
8770 TTKEY_WINKEYCODE_TO_TTKEYCODE = 1,
8772 TTKEY_TTKEYCODE_TO_WINKEYCODE = 2,
8776 TTKEY_MACKEYCODE_TO_TTKEYCODE = 3,
8779 TTKEY_TTKEYCODE_TO_MACKEYCODE = 4
8780 }
8781
8803 public enum MixerControl : uint
8804 {
8805 WAVEOUT_MASTER,
8806 WAVEOUT_WAVE,
8807 WAVEOUT_MICROPHONE,
8808
8809 WAVEIN_MICROPHONE,
8810 WAVEIN_LINEIN,
8811 WAVEIN_WAVEOUT,
8812 }
8813
8817 public class WindowsMixer
8818 {
8825 public static int GetMixerCount()
8826 {
8827 return TTDLL.TT_Mixer_GetMixerCount();
8828 }
8835 public static bool GetMixerName(int nMixerIndex,
8836 ref string szMixerName)
8837 {
8838 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8839 bool b = TTDLL.TT_Mixer_GetMixerName(nMixerIndex, ptr);
8840 if(b)
8841 szMixerName = Marshal.PtrToStringUni(ptr);
8842
8843 Marshal.FreeHGlobal(ptr);
8844 return b;
8845 }
8853 public static bool GetWaveInName(int nWaveDeviceID,
8854 ref string szMixerName)
8855 {
8856 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8857 bool b = TTDLL.TT_Mixer_GetWaveInName(nWaveDeviceID, ptr);
8858 if(b)
8859 szMixerName = Marshal.PtrToStringUni(ptr);
8860 Marshal.FreeHGlobal(ptr);
8861 return b;
8862 }
8870 public static bool GetWaveOutName(int nWaveDeviceID,
8871 ref string szMixerName)
8872 {
8873 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
8874 bool b = TTDLL.TT_Mixer_GetWaveOutName(nWaveDeviceID, ptr);
8875 if(b)
8876 szMixerName = Marshal.PtrToStringUni(ptr);
8877
8878 Marshal.FreeHGlobal(ptr);
8879 return b;
8880 }
8881
8892 public static bool SetWaveOutMute(int nWaveDeviceID, MixerControl nControl, bool bMute)
8893 {
8894 return TTDLL.TT_Mixer_SetWaveOutMute(nWaveDeviceID, nControl, bMute);
8895 }
8905 public static int GetWaveOutMute(int nWaveDeviceID, MixerControl nControl)
8906 {
8907 return TTDLL.TT_Mixer_GetWaveOutMute(nWaveDeviceID, nControl);
8908 }
8917 public static bool SetWaveOutVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
8918 {
8919 return TTDLL.TT_Mixer_SetWaveOutVolume(nWaveDeviceID, nControl, nVolume);
8920 }
8929 public static int GetWaveOutVolume(int nWaveDeviceID, MixerControl nControl)
8930 {
8931 return TTDLL.TT_Mixer_GetWaveOutVolume(nWaveDeviceID, nControl);
8932 }
8940 public static bool SetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
8941 {
8942 return TTDLL.TT_Mixer_SetWaveInSelected(nWaveDeviceID, nControl);
8943 }
8952 public static int GetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
8953 {
8954 return TTDLL.TT_Mixer_GetWaveInSelected(nWaveDeviceID, nControl);
8955 }
8964 public static bool SetWaveInVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
8965 {
8966 return TTDLL.TT_Mixer_SetWaveInVolume(nWaveDeviceID, nControl, nVolume);
8967 }
8976 public static int GetWaveInVolume(int nWaveDeviceID, MixerControl nControl)
8977 {
8978 return TTDLL.TT_Mixer_GetWaveInVolume(nWaveDeviceID, nControl);
8979 }
8986 public static bool SetWaveInBoost(int nWaveDeviceID, bool bEnable)
8987 {
8988 return TTDLL.TT_Mixer_SetWaveInBoost(nWaveDeviceID, bEnable);
8989 }
8996 public static int GetWaveInBoost(int nWaveDeviceID)
8997 {
8998 return TTDLL.TT_Mixer_GetWaveInBoost(nWaveDeviceID);
8999 }
9006 public static bool SetWaveInMute(int nWaveDeviceID, bool bEnable)
9007 {
9008 return TTDLL.TT_Mixer_SetWaveInMute(nWaveDeviceID, bEnable);
9009 }
9016 public static int GetWaveInMute(int nWaveDeviceID)
9017 {
9018 return TTDLL.TT_Mixer_GetWaveInMute(nWaveDeviceID);
9019 }
9028 public static int GetWaveInControlCount(int nWaveDeviceID)
9029 {
9030 return TTDLL.TT_Mixer_GetWaveInControlCount(nWaveDeviceID);
9031 }
9042 public static bool GetWaveInControlName(int nWaveDeviceID, int nControlIndex,
9043 ref string szDeviceName)
9044 {
9045 IntPtr ptr = Marshal.AllocHGlobal(TeamTalkBase.TT_STRLEN * 2);
9046 bool b = TTDLL.TT_Mixer_GetWaveInControlName(nWaveDeviceID, nControlIndex, ptr);
9047 if(b)
9048 szDeviceName = Marshal.PtrToStringUni(ptr);
9049 Marshal.FreeHGlobal(ptr);
9050 return b;
9051 }
9061 public static bool SetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
9062 {
9063 return TTDLL.TT_Mixer_SetWaveInControlSelected(nWaveDeviceID, nControlIndex);
9064 }
9074 public static bool GetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
9075 {
9076 return TTDLL.TT_Mixer_GetWaveInControlSelected(nWaveDeviceID, nControlIndex);
9077 }
9078 }
9087 public class WindowsFirewall
9088 {
9094 public static bool IsEnabled()
9095 {
9096 return TTDLL.TT_Firewall_IsEnabled();
9097 }
9107 public static bool Enable(bool bEnable)
9108 {
9109 return TTDLL.TT_Firewall_Enable(bEnable);
9110 }
9117 public static bool AppExceptionExists(string szExecutable)
9118 {
9119 return TTDLL.TT_Firewall_AppExceptionExists(szExecutable);
9120 }
9130 public static bool AddAppException(string szName, string szExecutable)
9131 {
9132 return TTDLL.TT_Firewall_AddAppException(szName, szExecutable);
9133 }
9143 public static bool RemoveAppException(string szExecutable)
9144 {
9145 return TTDLL.TT_Firewall_RemoveAppException(szExecutable);
9146 }
9147 }
9153 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
9154 public struct ShareWindow
9155 {
9157 public IntPtr hWnd;
9159 public int nWndX;
9161 public int nWndY;
9163 public int nWidth;
9165 public int nHeight;
9167 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = TeamTalkBase.TT_STRLEN)]
9168 public string szWindowTitle;
9169 }
9170
9174 public class WindowsHelper
9175 {
9178 public static System.IntPtr GetDesktopActiveHWND()
9179 {
9180 return TTDLL.TT_Windows_GetDesktopActiveHWND();
9181 }
9182
9184 public static System.IntPtr GetDesktopHWND()
9185 {
9186 return TTDLL.TT_Windows_GetDesktopHWND();
9187 }
9188
9190 public static bool GetDesktopWindowHWND(int nIndex,
9191 ref System.IntPtr lpHWnd)
9192 {
9193 return TTDLL.TT_Windows_GetDesktopWindowHWND(nIndex, ref lpHWnd);
9194 }
9195
9198 public static bool GetWindow(System.IntPtr hWnd,
9199 ref ShareWindow lpShareWindow)
9200 {
9201 return TTDLL.TT_Windows_GetWindow(hWnd, ref lpShareWindow);
9202 }
9203
9223 public static int DesktopInputKeyTranslate(TTKeyTranslate nTranslate,
9224 DesktopInput[] lpDesktopInputs,
9225 out DesktopInput[] lpTranslatedDesktopInputs)
9226 {
9227 lpTranslatedDesktopInputs = new DesktopInput[lpDesktopInputs.Length];
9228 return TTDLL.TT_DesktopInput_KeyTranslate(nTranslate, lpDesktopInputs,
9229 lpTranslatedDesktopInputs,
9230 lpDesktopInputs.Length);
9231 }
9232
9253 public static int DesktopInputExecute(DesktopInput[] lpDesktopInputs)
9254 {
9255 return TTDLL.TT_DesktopInput_Execute(lpDesktopInputs, lpDesktopInputs.Length);
9256 }
9257
9258 }
9259}
BearWare.TeamTalk5
Class used to load TeamTalk5.dll and instantiate a TeamTalk client in TeamTalk 5 SDK Standard Edition...
Definition TeamTalk.cs:8728
BearWare.TeamTalk5.TeamTalk5
TeamTalk5(bool poll_based)
Simply calls TeamTalkBase.TeamTalkBase()
Definition TeamTalk.cs:8733
BearWare.TeamTalk5.DEFAULT_TCPPORT
const int DEFAULT_TCPPORT
Definition TeamTalk.cs:8729
BearWare.TeamTalk5.DEFAULT_UDPPORT
const int DEFAULT_UDPPORT
Definition TeamTalk.cs:8730
BearWare.TeamTalk5Pro
Class used to load TeamTalk5Pro.dll and instantiate a TeamTalk client in TeamTalk 5 SDK Professional ...
Definition TeamTalk.cs:8745
BearWare.TeamTalk5Pro.DEFAULT_UDPPORT
const int DEFAULT_UDPPORT
Definition TeamTalk.cs:8747
BearWare.TeamTalk5Pro.DEFAULT_TCPPORT
const int DEFAULT_TCPPORT
Definition TeamTalk.cs:8746
BearWare.TeamTalk5Pro.TeamTalk5Pro
TeamTalk5Pro(bool poll_based)
Simply calls TeamTalkBase.TeamTalkBase()
Definition TeamTalk.cs:8750
BearWare.TeamTalkBase
Abstract class which encapsulates the TeamTalk 5 client. Instantiate either BearWare....
Definition TeamTalk.cs:4181
BearWare.TeamTalkBase.DBG_WriteAudioFileTone
bool DBG_WriteAudioFileTone(MediaFileInfo lpMediaFileInfo, int nFrequency)
Definition TeamTalk.cs:8218
BearWare.TeamTalkBase.DBG_SetSoundInputTone
bool DBG_SetSoundInputTone(StreamType uStreamTypes, int nFrequency)
Definition TeamTalk.cs:8212
BearWare.WindowsFirewall
A wrapper for the Windows Firewall API.
Definition TeamTalk.cs:9088
BearWare.WindowsFirewall.Enable
static bool Enable(bool bEnable)
Enable/disable the Windows Firewall.
Definition TeamTalk.cs:9107
BearWare.WindowsFirewall.RemoveAppException
static bool RemoveAppException(string szExecutable)
Remove an application from the Windows Firewall exception list.
Definition TeamTalk.cs:9143
BearWare.WindowsFirewall.IsEnabled
static bool IsEnabled()
Check if the Windows Firewall is currently enabled.
Definition TeamTalk.cs:9094
BearWare.WindowsFirewall.AddAppException
static bool AddAppException(string szName, string szExecutable)
Add an application to the Windows Firewall exception list.
Definition TeamTalk.cs:9130
BearWare.WindowsFirewall.AppExceptionExists
static bool AppExceptionExists(string szExecutable)
Check if an executable is already in the Windows Firewall exception list.
Definition TeamTalk.cs:9117
BearWare.WindowsHelper
Helper class for extracting Windows HWND handles and controlling mouse and keyboard.
Definition TeamTalk.cs:9175
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:9198
BearWare.WindowsHelper.GetDesktopWindowHWND
static bool GetDesktopWindowHWND(int nIndex, ref System.IntPtr lpHWnd)
Get the all the handles (HWND) of visible windows.
Definition TeamTalk.cs:9190
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:9178
BearWare.WindowsHelper.DesktopInputKeyTranslate
static int DesktopInputKeyTranslate(TTKeyTranslate nTranslate, DesktopInput[] lpDesktopInputs, out DesktopInput[] lpTranslatedDesktopInputs)
Translate platform key-code to and from TeamTalk's intermediate format.
Definition TeamTalk.cs:9223
BearWare.WindowsHelper.DesktopInputExecute
static int DesktopInputExecute(DesktopInput[] lpDesktopInputs)
Execute desktop (mouse or keyboard) input.
Definition TeamTalk.cs:9253
BearWare.WindowsHelper.GetDesktopHWND
static System.IntPtr GetDesktopHWND()
Get the handle (HWND) of the Windows desktop (full desktop).
Definition TeamTalk.cs:9184
BearWare.WindowsMixer
A wrapper for the Windows Mixer API.
Definition TeamTalk.cs:8818
BearWare.WindowsMixer.SetWaveOutVolume
static bool SetWaveOutVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
Set the volume of a Windows Mixer Wave-Out device from the 'enum' of devices.
Definition TeamTalk.cs:8917
BearWare.WindowsMixer.GetWaveInVolume
static int GetWaveInVolume(int nWaveDeviceID, MixerControl nControl)
Get the volume of a Windows Mixer Wave-In device from the 'enum' of devices.
Definition TeamTalk.cs:8976
BearWare.WindowsMixer.SetWaveOutMute
static bool SetWaveOutMute(int nWaveDeviceID, MixerControl nControl, bool bMute)
Mute or unmute a Windows Mixer Wave-Out device from the 'enum' of devices.
Definition TeamTalk.cs:8892
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:8870
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:9061
BearWare.WindowsMixer.SetWaveInBoost
static bool SetWaveInBoost(int nWaveDeviceID, bool bEnable)
Enable and disable microphone boost.
Definition TeamTalk.cs:8986
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:9074
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:8853
BearWare.WindowsMixer.SetWaveInSelected
static bool SetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
Set the selected state of a Windows Mixer Wave-In device from the 'enum' of devices.
Definition TeamTalk.cs:8940
BearWare.WindowsMixer.GetWaveInBoost
static int GetWaveInBoost(int nWaveDeviceID)
See if microphone boost is enabled.
Definition TeamTalk.cs:8996
BearWare.WindowsMixer.SetWaveInMute
static bool SetWaveInMute(int nWaveDeviceID, bool bEnable)
Mute/unmute microphone input.
Definition TeamTalk.cs:9006
BearWare.WindowsMixer.GetMixerCount
static int GetMixerCount()
Get the number of Windows Mixers available.
Definition TeamTalk.cs:8825
BearWare.WindowsMixer.GetWaveOutVolume
static int GetWaveOutVolume(int nWaveDeviceID, MixerControl nControl)
Get the volume of a Windows Mixer Wave-Out device from the 'enum' of devices.
Definition TeamTalk.cs:8929
BearWare.WindowsMixer.SetWaveInVolume
static bool SetWaveInVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
Set the volume of a Windows Mixer Wave-In device from the 'enum' of devices.
Definition TeamTalk.cs:8964
BearWare.WindowsMixer.GetWaveInSelected
static int GetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
Get the selected state of a Windows Mixer Wave-In device from the 'enum' of devices.
Definition TeamTalk.cs:8952
BearWare.WindowsMixer.GetWaveInMute
static int GetWaveInMute(int nWaveDeviceID)
See if microphone is muted.
Definition TeamTalk.cs:9016
BearWare.WindowsMixer.GetWaveInControlCount
static int GetWaveInControlCount(int nWaveDeviceID)
Get the number of Windows Mixer Wave-In devices.
Definition TeamTalk.cs:9028
BearWare.WindowsMixer.GetWaveOutMute
static int GetWaveOutMute(int nWaveDeviceID, MixerControl nControl)
Get the mute state of a Windows Mixer Wave-Out device from the 'enum' of devices.
Definition TeamTalk.cs:8905
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:9042
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:8835
BearWare.TeamTalkBase.GetRootChannelID
int GetRootChannelID()
Get the root channel's ID.
Definition TeamTalk.cs:7535
BearWare.TeamTalkBase.TT_TRANSMITUSERS_STREAMTYPE_INDEX
const int TT_TRANSMITUSERS_STREAMTYPE_INDEX
Definition TeamTalk.cs:4238
BearWare.FileTransferStatus
FileTransferStatus
Status of a file transfer.
Definition TeamTalk.cs:2762
BearWare.TeamTalkBase.GetChannelFile
bool GetChannelFile(int nChannelID, int nFileID, ref RemoteFile lpRemoteFile)
Get information about a file which can be downloaded.
Definition TeamTalk.cs:7630
BearWare.TeamTalkBase.TT_TRANSMITQUEUE_MAX
const int TT_TRANSMITQUEUE_MAX
Definition TeamTalk.cs:4282
BearWare.TeamTalkBase.ChannelID
int ChannelID
Same as GetMyChannelID().
Definition TeamTalk.cs:7552
BearWare.TeamTalkBase.TT_CLASSROOM_STREAMTYPE_INDEX
const int TT_CLASSROOM_STREAMTYPE_INDEX
Definition TeamTalk.cs:4226
BearWare.TeamTalkBase.TT_CLASSROOM_FREEFORALL
const int TT_CLASSROOM_FREEFORALL
Definition TeamTalk.cs:4218
BearWare.TeamTalkBase.GetChannelIDFromPath
int GetChannelIDFromPath(string szChannelPath)
Get the channel ID of the supplied path. Channels are separated by '/'.
Definition TeamTalk.cs:7585
BearWare.TeamTalkBase.TT_TRANSMITUSERS_USERID_INDEX
const int TT_TRANSMITUSERS_USERID_INDEX
Definition TeamTalk.cs:4234
BearWare.ChannelType
ChannelType
The types of channels supported.
Definition TeamTalk.cs:2523
BearWare.TeamTalkBase.IsChannelOperator
bool IsChannelOperator(int nUserID, int nChannelID)
Check whether user is operator of a channel.
Definition TeamTalk.cs:7640
BearWare.TeamTalkBase.GetMyChannelID
int GetMyChannelID()
Get the channel which the local client instance is currently participating in.
Definition TeamTalk.cs:7545
BearWare.TeamTalkBase.GetServerChannels
bool GetServerChannels(out Channel[] lpChannels)
Get all the channels on the server.
Definition TeamTalk.cs:7650
BearWare.TeamTalkBase.GetChannelUsers
bool GetChannelUsers(int nChannelID, out User[] lpUsers)
Get the IDs of all users in a channel.
Definition TeamTalk.cs:7597
BearWare.TeamTalkBase.GetChannel
bool GetChannel(int nChannelID, ref Channel lpChannel)
Get the channel with a specific ID.
Definition TeamTalk.cs:7560
BearWare.TeamTalkBase.TT_CLASSROOM_USERID_INDEX
const int TT_CLASSROOM_USERID_INDEX
Definition TeamTalk.cs:4222
BearWare.TeamTalkBase.TT_TRANSMITUSERS_FREEFORALL
const int TT_TRANSMITUSERS_FREEFORALL
Definition TeamTalk.cs:4230
BearWare.TeamTalkBase.GetChannelPath
bool GetChannelPath(int nChannelID, ref string szChannelPath)
Get the channel's path. Channels are separated by '/'.
Definition TeamTalk.cs:7570
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:7614
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 BearWare....
Definition TeamTalk.cs:4209
BearWare.TeamTalkBase.CancelFileTranfer
bool CancelFileTranfer(int nTransferID)
Cancel an active file transfer.
Definition TeamTalk.cs:8091
BearWare.TeamTalkBase.GetFileTransferInfo
bool GetFileTransferInfo(int nTransferID, ref FileTransfer lpFileTransfer)
Get information about an active file transfer.
Definition TeamTalk.cs:8078
BearWare.FileTransferStatus.FILETRANSFER_CLOSED
@ FILETRANSFER_CLOSED
BearWare.FileTransferStatus.FILETRANSFER_ACTIVE
@ FILETRANSFER_ACTIVE
File transfer active.
BearWare.FileTransferStatus.FILETRANSFER_FINISHED
@ FILETRANSFER_FINISHED
File transfer finished.
BearWare.FileTransferStatus.FILETRANSFER_ERROR
@ FILETRANSFER_ERROR
Error during file transfer.
BearWare.ChannelType.CHANNEL_NO_VOICEACTIVATION
@ CHANNEL_NO_VOICEACTIVATION
Don't allow voice transmission if it's trigged by voice activation.
BearWare.ChannelType.CHANNEL_PERMANENT
@ CHANNEL_PERMANENT
A channel which persists even when the last user leaves the channel.
BearWare.ChannelType.CHANNEL_OPERATOR_RECVONLY
@ CHANNEL_OPERATOR_RECVONLY
Only channel operators (and administrators) will receive audio/video/desktop transmissions....
BearWare.ChannelType.CHANNEL_DEFAULT
@ CHANNEL_DEFAULT
A default channel is a channel which disappears after the last user leaves the channel.
BearWare.ChannelType.CHANNEL_CLASSROOM
@ CHANNEL_CLASSROOM
Voice and video transmission in the channel is controlled by a channel operator.
BearWare.ChannelType.CHANNEL_NO_RECORDING
@ CHANNEL_NO_RECORDING
Don't allow recording to files in the channel.
BearWare.ChannelType.CHANNEL_SOLO_TRANSMIT
@ CHANNEL_SOLO_TRANSMIT
Only one user can transmit at a time.
BearWare.ChannelType.CHANNEL_HIDDEN
@ CHANNEL_HIDDEN
Hidden channel which can only be seen with BearWare.UserRight.USERRIGHT_VIEW_HIDDEN_CHANNELS.
BearWare.Codec
Codec
The codecs supported.
Definition TeamTalk.cs:1520
BearWare.AudioPreprocessorType
AudioPreprocessorType
The types of supported audio preprocessors.
Definition TeamTalk.cs:1428
BearWare.Codec.WEBM_VP8_CODEC
@ WEBM_VP8_CODEC
WebM video codec.
BearWare.Codec.SPEEX_VBR_CODEC
@ SPEEX_VBR_CODEC
Speex audio codec in VBR mode, http://www.speex.org.
BearWare.Codec.NO_CODEC
@ NO_CODEC
No codec specified.
BearWare.Codec.SPEEX_CODEC
@ SPEEX_CODEC
Speex audio codec, http://www.speex.org.
BearWare.Codec.OPUS_CODEC
@ OPUS_CODEC
OPUS audio codec.
BearWare.AudioPreprocessorType.SPEEXDSP_AUDIOPREPROCESSOR
@ SPEEXDSP_AUDIOPREPROCESSOR
Use the BearWare.SpeexDSP audio preprocessor.
BearWare.AudioPreprocessorType.WEBRTC_AUDIOPREPROCESSOR
@ WEBRTC_AUDIOPREPROCESSOR
Use WebRTC's audio preprocessor from BearWare.WebRTCAudioPreprocessor. https://webrtc....
BearWare.AudioPreprocessorType.TEAMTALK_AUDIOPREPROCESSOR
@ TEAMTALK_AUDIOPREPROCESSOR
Use TeamTalk's internal audio preprocessor BearWare.TTAudioPreprocessor.
BearWare.AudioPreprocessorType.NO_AUDIOPREPROCESSOR
@ NO_AUDIOPREPROCESSOR
Value for specifying that no audio preprocessing should occur.
BearWare.TeamTalkBase.DoRecvFile
int DoRecvFile(int nChannelID, int nFileID, string szLocalFilePath)
Download a file from the specified channel.
Definition TeamTalk.cs:7000
BearWare.TeamTalkBase.DoPing
int DoPing()
Ping server and wait for server to reply.
Definition TeamTalk.cs:6626
BearWare.TeamTalkBase.DoJoinChannel
int DoJoinChannel(Channel lpChannel)
Create a new channel and join it.
Definition TeamTalk.cs:6737
BearWare.TeamTalkBase.DoListBans
int DoListBans(int nChannelID, int nIndex, int nCount)
Issue a command to list the banned users.
Definition TeamTalk.cs:7428
BearWare.TeamTalkBase.DoUnBanUser
int DoUnBanUser(string szIPAddress, int nChannelID)
Unban the user with the specified IP-address.
Definition TeamTalk.cs:7389
BearWare.TeamTalkBase.DoMoveUser
int DoMoveUser(int nUserID, int nChannelID)
Issue command to move a user from one channel to another.
Definition TeamTalk.cs:7173
BearWare.TeamTalkBase.DoBanUser
int DoBanUser(int nUserID, int nChannelID)
Issue a ban command on a user in a specific channel.
Definition TeamTalk.cs:7300
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:6900
BearWare.TeamTalkBase.DoBanUserEx
int DoBanUserEx(int nUserID, BanType uBanTypes)
Ban the user with nUserID using the ban types specified.
Definition TeamTalk.cs:7316
BearWare.TeamTalkBase.DoChangeStatus
int DoChangeStatus(int nStatusMode, string szStatusMessage)
Change the client instance's currect status.
Definition TeamTalk.cs:6831
BearWare.TeamTalkBase.DoSendFile
int DoSendFile(int nChannelID, string szLocalFilePath)
Send a file to the specified channel.
Definition TeamTalk.cs:6967
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:6642
BearWare.TeamTalkBase.DoChannelOp
int DoChannelOp(int nUserID, int nChannelID, bool bMakeOperator)
Make another user operator of a channel.
Definition TeamTalk.cs:6877
BearWare.TeamTalkBase.DoDeleteUserAccount
int DoDeleteUserAccount(string szUsername)
Issue command to delete a user account on the server.
Definition TeamTalk.cs:7269
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:7063
BearWare.TeamTalkBase.DoQueryServerStats
int DoQueryServerStats()
Get the server's current statistics.
Definition TeamTalk.cs:7469
BearWare.TeamTalkBase.DoMakeChannel
int DoMakeChannel(Channel lpChannel)
Make a new channel on the server.
Definition TeamTalk.cs:7092
BearWare.TeamTalkBase.DoKickUser
int DoKickUser(int nUserID, int nChannelID)
Kick user from either channel or server.
Definition TeamTalk.cs:6929
BearWare.TeamTalkBase.DoSaveConfig
int DoSaveConfig()
Save the server's current state to its settings file (typically the server's .xml file).
Definition TeamTalk.cs:7449
BearWare.TeamTalkBase.DoDeleteFile
int DoDeleteFile(int nChannelID, int nFileID)
Delete a file from a channel.
Definition TeamTalk.cs:7026
BearWare.TeamTalkBase.DoQuit
int DoQuit()
Quit from server.
Definition TeamTalk.cs:7485
BearWare.TeamTalkBase.DoUpdateChannel
int DoUpdateChannel(Channel lpChannel)
Update a channel's properties.
Definition TeamTalk.cs:7128
BearWare.TeamTalkBase.DoLeaveChannel
int DoLeaveChannel()
Leave the current channel.
Definition TeamTalk.cs:6787
BearWare.TeamTalkBase.DoUnBanUserEx
int DoUnBanUserEx(BannedUser lpBannedUser)
Unban the properties specified in BearWare.BannedUser.
Definition TeamTalk.cs:7403
BearWare.TeamTalkBase.DoNewUserAccount
int DoNewUserAccount(UserAccount lpUserAccount)
Issue command to create a new user account on the server.
Definition TeamTalk.cs:7247
BearWare.TeamTalkBase.DoSubscribe
int DoSubscribe(int nUserID, Subscription uSubscriptions)
Subscribe to user events and/or data.
Definition TeamTalk.cs:7044
BearWare.TeamTalkBase.DoBanIPAddress
int DoBanIPAddress(string szIPAddress, int nChannelID)
Issue a ban command on an IP-address user.
Definition TeamTalk.cs:7364
BearWare.TeamTalkBase.DoLoginEx
int DoLoginEx(string szNickname, string szUsername, string szPassword, string szClientName)
Logon to a server.
Definition TeamTalk.cs:6676
BearWare.TeamTalkBase.DoBan
int DoBan(BannedUser lpBannedUser)
Ban the properties specified in lpBannedUser.
Definition TeamTalk.cs:7339
BearWare.TeamTalkBase.DoJoinChannelByID
int DoJoinChannelByID(int nChannelID, string szPassword)
Join an existing channel.
Definition TeamTalk.cs:6764
BearWare.TeamTalkBase.DoLogout
int DoLogout()
Logout of the server.
Definition TeamTalk.cs:6694
BearWare.TeamTalkBase.DoChangeNickname
int DoChangeNickname(string szNewNick)
Change the client instance's nick name.
Definition TeamTalk.cs:6808
BearWare.TeamTalkBase.DoListUserAccounts
int DoListUserAccounts(int nIndex, int nCount)
Issue command to list user accounts on the server.
Definition TeamTalk.cs:7221
BearWare.TeamTalkBase.DoUpdateServer
int DoUpdateServer(ServerProperties lpServerProperties)
Update server properties.
Definition TeamTalk.cs:7193
BearWare.TeamTalkBase.DoRemoveChannel
int DoRemoveChannel(int nChannelID)
Remove a channel from a server.
Definition TeamTalk.cs:7150
BearWare.TeamTalkBase.DoTextMessage
int DoTextMessage(TextMessage lpTextMessage)
Send a text message to either a user or a channel.
Definition TeamTalk.cs:6853
BearWare.TeamTalkBase.Connect
bool Connect(string szHostAddress, int nTcpPort, int nUdpPort, int nLocalTcpPort, int nLocalUdpPort, bool bEncrypted)
Connect to a server.
Definition TeamTalk.cs:6464
BearWare.TeamTalkBase.SetClientKeepAlive
bool SetClientKeepAlive(ClientKeepAlive lpClientKeepAlive)
Update the client instance's default keep alive settings.
Definition TeamTalk.cs:6589
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:6498
BearWare.TeamTalkBase.GetClientStatistics
bool GetClientStatistics(ref ClientStatistics lpClientStatistics)
Retrieve client statistics of bandwidth usage and response times.
Definition TeamTalk.cs:6570
BearWare.TeamTalkBase.QueryMaxPayload
bool QueryMaxPayload(int nUserID)
Query the maximum size of UDP data packets to the user or server.
Definition TeamTalk.cs:6561
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:6531
BearWare.TeamTalkBase.SetEncryptionContext
bool SetEncryptionContext(EncryptionContext lpEncryptionContext)
Setup encryption properties prior to Connect().
Definition TeamTalk.cs:6431
BearWare.TeamTalkBase.Disconnect
bool Disconnect()
Disconnect from the server.
Definition TeamTalk.cs:6548
BearWare.TeamTalkBase.GetClientKeepAlive
bool GetClientKeepAlive(ref ClientKeepAlive lpClientKeepAlive)
Get the client instance's current keep alive settings.
Definition TeamTalk.cs:6600
BearWare.DesktopInputConstants.DESKTOPINPUT_MOUSEPOS_IGNORE
const ushort DESKTOPINPUT_MOUSEPOS_IGNORE
Definition TeamTalk.cs:877
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:6391
BearWare.TeamTalkBase.SendDesktopWindow
int SendDesktopWindow(DesktopWindow lpDesktopWindow, BitmapFormat nConvertBmpFormat)
Transmit a desktop window (bitmap) to users in the same channel.
Definition TeamTalk.cs:6170
BearWare.DesktopInputConstants.DESKTOPINPUT_KEYCODE_IGNORE
const uint DESKTOPINPUT_KEYCODE_IGNORE
Definition TeamTalk.cs:868
BearWare.TTKeyTranslate
TTKeyTranslate
Translate to and from TeamTalk's intermediate key-codes (TTKEYCODE).
Definition TeamTalk.cs:8764
BearWare.DesktopKeyState
DesktopKeyState
The state of a key (or mouse button), i.e. if it's pressed or released.
Definition TeamTalk.cs:804
BearWare.TeamTalkBase.AcquireUserDesktopWindow
DesktopWindow AcquireUserDesktopWindow(int nUserID)
Get a user's desktop window (bitmap image).
Definition TeamTalk.cs:6375
BearWare.TeamTalkBase.PaintDesktopWindow
bool PaintDesktopWindow(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight)
Paint user's desktop window using a Windows' DC (device context).
Definition TeamTalk.cs:6247
BearWare.TeamTalkBase.SendDesktopWindowFromHWND
int SendDesktopWindowFromHWND(System.IntPtr hWnd, BitmapFormat nBitmapFormat, DesktopProtocol nDesktopProtocol)
Transmit the specified window in a desktop session.
Definition TeamTalk.cs:6226
BearWare.DesktopInputConstants.DESKTOPINPUT_KEYCODE_LMOUSEBTN
const uint DESKTOPINPUT_KEYCODE_LMOUSEBTN
Definition TeamTalk.cs:885
BearWare.DesktopProtocol
DesktopProtocol
The protocols supported for transferring a BearWare.DesktopWindow.
Definition TeamTalk.cs:760
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's desktop window using a Windows' DC (device context).
Definition TeamTalk.cs:6289
BearWare.DesktopInputConstants.DESKTOPINPUT_KEYCODE_RMOUSEBTN
const uint DESKTOPINPUT_KEYCODE_RMOUSEBTN
Definition TeamTalk.cs:893
BearWare.TeamTalkBase.CloseDesktopWindow
bool CloseDesktopWindow()
Close the current desktop session.
Definition TeamTalk.cs:6183
BearWare.TeamTalkBase.TT_DESKTOPINPUT_MAX
const int TT_DESKTOPINPUT_MAX
Definition TeamTalk.cs:4292
BearWare.TeamTalkBase.SendDesktopInput
bool SendDesktopInput(int nUserID, DesktopInput[] lpDesktopInputs)
Send a mouse or keyboard event to a shared desktop window.
Definition TeamTalk.cs:6346
BearWare.TeamTalkBase.ReleaseUserDesktopWindow
bool ReleaseUserDesktopWindow(DesktopWindow lpDesktopWindow)
Release memory allocated by the BearWare.DesktopWindow.
Definition TeamTalk.cs:6404
BearWare.BitmapFormat
BitmapFormat
The bitmap format used for a BearWare.DesktopWindow.
Definition TeamTalk.cs:733
BearWare.DesktopInputConstants.DESKTOPINPUT_KEYCODE_MMOUSEBTN
const uint DESKTOPINPUT_KEYCODE_MMOUSEBTN
Definition TeamTalk.cs:901
BearWare.TeamTalkBase.SendDesktopCursorPosition
bool SendDesktopCursorPosition(ushort nPosX, ushort nPosY)
Send the position of mouse cursor to users in the same channel.
Definition TeamTalk.cs:6317
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:6204
BearWare.TTKeyTranslate.TTKEY_MACKEYCODE_TO_TTKEYCODE
@ TTKEY_MACKEYCODE_TO_TTKEYCODE
Translate from Mac OS X Carbon kVK_* key-code to TTKEYCODE. The Mac OS X key-codes are defined in Car...
BearWare.TTKeyTranslate.TTKEY_TTKEYCODE_TO_WINKEYCODE
@ TTKEY_TTKEYCODE_TO_WINKEYCODE
Translate from TTKEYCODE to Windows scan-code.
BearWare.TTKeyTranslate.TTKEY_WINKEYCODE_TO_TTKEYCODE
@ TTKEY_WINKEYCODE_TO_TTKEYCODE
Translate from Windows scan-code to TTKEYCODE. The Windows scan-code can be retrieved in Windows' WM_...
BearWare.TTKeyTranslate.TTKEY_TTKEYCODE_TO_MACKEYCODE
@ TTKEY_TTKEYCODE_TO_MACKEYCODE
Translate from TTKEYCODE to Mac OS X Carbon kVK_* key-code.
BearWare.TTKeyTranslate.TTKEY_NO_TRANSLATE
@ TTKEY_NO_TRANSLATE
Perform no translation.
BearWare.DesktopKeyState.DESKTOPKEYSTATE_DOWN
@ DESKTOPKEYSTATE_DOWN
The key is pressed.
BearWare.DesktopKeyState.DESKTOPKEYSTATE_NONE
@ DESKTOPKEYSTATE_NONE
The key is ignored.
BearWare.DesktopKeyState.DESKTOPKEYSTATE_UP
@ DESKTOPKEYSTATE_UP
The key is released.
BearWare.DesktopProtocol.DESKTOPPROTOCOL_ZLIB_1
@ DESKTOPPROTOCOL_ZLIB_1
Desktop protocol based on ZLIB for image compression and UDP for data transmission.
BearWare.BitmapFormat.BMP_RGB8_PALETTE
@ BMP_RGB8_PALETTE
The bitmap is a 256-colored bitmap requiring a palette. The default 256 colored palette is the Netsca...
BearWare.BitmapFormat.BMP_RGB24
@ BMP_RGB24
The bitmap is a 24-bit colored bitmap. The maximum size of a 24-bit bitmap is 4095 blocks of 85 by 16...
BearWare.BitmapFormat.BMP_RGB32
@ BMP_RGB32
The bitmap is a 32-bit colored bitmap. The maximum size of a 32-bit bitmap is 4095 blocks of 51 by 20...
BearWare.BitmapFormat.BMP_NONE
@ BMP_NONE
Used to denote nothing selected.
BearWare.BitmapFormat.BMP_RGB16_555
@ BMP_RGB16_555
The bitmap is a 16-bit colored bitmap. The maximum pixels.
BearWare.TeamTalkBase.GetErrorMessage
static string GetErrorMessage(ClientError nError)
Get textual discription of an error message.
Definition TeamTalk.cs:8106
BearWare.ClientError
ClientError
Errors which can occur either as a result of client commands or as a result of internal errors.
Definition TeamTalk.cs:3031
BearWare.ClientError.CMDERR_CHANNEL_ALREADY_EXISTS
@ CMDERR_CHANNEL_ALREADY_EXISTS
Channel already exists.
BearWare.ClientError.CMDERR_MAX_DISKUSAGE_EXCEEDED
@ CMDERR_MAX_DISKUSAGE_EXCEEDED
Cannot upload file because disk quota will be exceeded.
BearWare.ClientError.CMDERR_BAN_NOT_FOUND
@ CMDERR_BAN_NOT_FOUND
Banned IP-address does not exist.
BearWare.ClientError.CMDERR_MISSING_PARAMETER
@ CMDERR_MISSING_PARAMETER
Command cannot be performed due to missing parameter. Only used internally.
BearWare.ClientError.INTERR_SNDEFFECT_FAILURE
@ INTERR_SNDEFFECT_FAILURE
BearWare.SoundDeviceEffects failed to initialize.
BearWare.ClientError.CMDERR_COMMAND_FLOOD
@ CMDERR_COMMAND_FLOOD
Command flooding prevented by server.
BearWare.ClientError.CMDERR_INCORRECT_OP_PASSWORD
@ CMDERR_INCORRECT_OP_PASSWORD
Invalid password for becoming channel operator.
BearWare.ClientError.CMDERR_INCOMPATIBLE_PROTOCOLS
@ CMDERR_INCOMPATIBLE_PROTOCOLS
The server uses a protocol which is incompatible with the client instance.
BearWare.ClientError.CMDERR_CHANNEL_CANNOT_BE_HIDDEN
@ CMDERR_CHANNEL_CANNOT_BE_HIDDEN
Cannot apply BearWare.ChannelType.CHANNEL_HIDDEN to BearWare.Channel's channel type.
BearWare.ClientError.CMDERR_OPENFILE_FAILED
@ CMDERR_OPENFILE_FAILED
Server failed to open file.
BearWare.ClientError.CMDERR_CHANNEL_BANNED
@ CMDERR_CHANNEL_BANNED
Banned from joining a channel.
BearWare.ClientError.CMDERR_SUCCESS
@ CMDERR_SUCCESS
Command indicating success.
BearWare.ClientError.CMDERR_ALREADY_LOGGEDIN
@ CMDERR_ALREADY_LOGGEDIN
Already logged in.
BearWare.ClientError.INTERR_TTMESSAGE_QUEUE_OVERFLOW
@ INTERR_TTMESSAGE_QUEUE_OVERFLOW
BearWare.TTMessage event queue overflowed.
BearWare.ClientError.CMDERR_INCORRECT_CHANNEL_PASSWORD
@ CMDERR_INCORRECT_CHANNEL_PASSWORD
Invalid channel password.
BearWare.ClientError.CMDERR_MAX_SERVER_USERS_EXCEEDED
@ CMDERR_MAX_SERVER_USERS_EXCEEDED
Login failed due to maximum number of users on server.
BearWare.ClientError.INTERR_SNDOUTPUT_FAILURE
@ INTERR_SNDOUTPUT_FAILURE
A sound output device failed.
BearWare.ClientError.INTERR_AUDIOPREPROCESSOR_INIT_FAILED
@ INTERR_AUDIOPREPROCESSOR_INIT_FAILED
BearWare.AudioPreprocessor failed to initialize.
BearWare.ClientError.CMDERR_INVALID_USERNAME
@ CMDERR_INVALID_USERNAME
Invalid username for BearWare.UserAccount.
BearWare.ClientError.CMDERR_USER_NOT_FOUND
@ CMDERR_USER_NOT_FOUND
User not found.
BearWare.ClientError.CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED
@ CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED
The selected BearWare.AudioCodec exceeds what the server allows.
BearWare.ClientError.INTERR_AUDIOCODEC_INIT_FAILED
@ INTERR_AUDIOCODEC_INIT_FAILED
Audio codec used by channel failed to initialize. Ensure the settings specified in BearWare....
BearWare.ClientError.CMDERR_FILE_ALREADY_EXISTS
@ CMDERR_FILE_ALREADY_EXISTS
File already exist.
BearWare.ClientError.CMDERR_MAX_CHANNEL_USERS_EXCEEDED
@ CMDERR_MAX_CHANNEL_USERS_EXCEEDED
Cannot join channel because it has maximum number of users.
BearWare.ClientError.CMDERR_FILE_NOT_FOUND
@ CMDERR_FILE_NOT_FOUND
File does not exist.
BearWare.ClientError.INTERR_SNDINPUT_FAILURE
@ INTERR_SNDINPUT_FAILURE
A sound input device failed.
BearWare.ClientError.CMDERR_NOT_LOGGEDIN
@ CMDERR_NOT_LOGGEDIN
Client instance has not been authenticated.
BearWare.ClientError.CMDERR_SERVER_BANNED
@ CMDERR_SERVER_BANNED
IP-address has been banned from server.
BearWare.ClientError.CMDERR_ACCOUNT_NOT_FOUND
@ CMDERR_ACCOUNT_NOT_FOUND
Cannot find user account.
BearWare.ClientError.CMDERR_SYNTAX_ERROR
@ CMDERR_SYNTAX_ERROR
Command has syntax error. Only used internally.
BearWare.ClientError.CMDERR_CHANNEL_HAS_USERS
@ CMDERR_CHANNEL_HAS_USERS
Cannot process command since channel is not empty.
BearWare.ClientError.CMDERR_FILETRANSFER_NOT_FOUND
@ CMDERR_FILETRANSFER_NOT_FOUND
File transfer doesn't exists.
BearWare.ClientError.CMDERR_UNKNOWN_COMMAND
@ CMDERR_UNKNOWN_COMMAND
The server doesn't support the issued command.
BearWare.ClientError.CMDERR_ALREADY_IN_CHANNEL
@ CMDERR_ALREADY_IN_CHANNEL
Cannot join same channel twice.
BearWare.ClientError.CMDERR_FILESHARING_DISABLED
@ CMDERR_FILESHARING_DISABLED
Server does not allow file transfers.
BearWare.ClientError.SUCCESS
@ SUCCESS
BearWare.ClientError.CMDERR_INVALID_ACCOUNT
@ CMDERR_INVALID_ACCOUNT
Invalid username or password for account.
BearWare.ClientError.CMDERR_MAX_FILETRANSFERS_EXCEEDED
@ CMDERR_MAX_FILETRANSFERS_EXCEEDED
Maximum number of file transfers exceeded.
BearWare.ClientError.CMDERR_MAX_CHANNELS_EXCEEDED
@ CMDERR_MAX_CHANNELS_EXCEEDED
The maximum number of channels has been exceeded.
BearWare.ClientError.CMDERR_UNKNOWN_AUDIOCODEC
@ CMDERR_UNKNOWN_AUDIOCODEC
The server does not support the audio codec specified by the client. Introduced in version 4....
BearWare.ClientError.INTERR_SPEEXDSP_INIT_FAILED
@ INTERR_SPEEXDSP_INIT_FAILED
Same as BearWare.ClientError.INTERR_AUDIOPREPROCESSOR_INIT_FAILED.
BearWare.ClientError.CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED
@ CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED
The maximum number of logins allowed per IP-address has been exceeded.
BearWare.ClientError.CMDERR_NOT_IN_CHANNEL
@ CMDERR_NOT_IN_CHANNEL
Cannot leave channel because not in channel.
BearWare.ClientError.CMDERR_CHANNEL_NOT_FOUND
@ CMDERR_CHANNEL_NOT_FOUND
Channel does not exist.
BearWare.ClientError.CMDERR_NOT_AUTHORIZED
@ CMDERR_NOT_AUTHORIZED
Command not authorized.
BearWare.ClientError.CMDERR_LOGINSERVICE_UNAVAILABLE
@ CMDERR_LOGINSERVICE_UNAVAILABLE
The login service is currently unavailable.
BearWare.ClientError.CMDERR_INCORRECT_SERVER_PASSWORD
@ CMDERR_INCORRECT_SERVER_PASSWORD
Invalid server password.
BearWare.TeamTalkBase.ServerStats
delegate void ServerStats(ServerStatistics serverstatistics)
Delegate for event #OnCmdServerStatistics.
BearWare.TeamTalkBase.UserUpdate
delegate void UserUpdate(User user)
Delegate for events #OnCmdUserLoggedIn, #OnCmdUserLoggedOut, #OnCmdUserUpdate, #OnCmdUserJoinedChanne...
BearWare.TeamTalkBase.OnUserDesktopCursor
UserDesktopInput OnUserDesktopCursor
A user has sent the position of the mouse cursor.
Definition TeamTalk.cs:8552
BearWare.TeamTalkBase.OnCmdUserJoinedChannel
UserUpdate OnCmdUserJoinedChannel
A user has joined a channel.
Definition TeamTalk.cs:8405
BearWare.TeamTalkBase.OnCmdProcessing
CommandProcessing OnCmdProcessing
A command issued by Do* methods is being processed.
Definition TeamTalk.cs:8292
BearWare.TeamTalkBase.OnHotKeyTest
HotKeyTest OnHotKeyTest
A button was pressed or released on the user's keyboard or mouse.
Definition TeamTalk.cs:8642
BearWare.TeamTalkBase.NewAudioBlock
delegate void NewAudioBlock(int nUserID, StreamType nStreamType)
Delegate for event #OnUserAudioBlock.
BearWare.TeamTalkBase.OnConnectionLost
Connection OnConnectionLost
Connection to server has been lost.
Definition TeamTalk.cs:8255
BearWare.TeamTalkBase.OnDesktopWindowTransfer
DesktopTransferUpdate OnDesktopWindowTransfer
Used for tracking when a desktop window has been transmitted to the server.
Definition TeamTalk.cs:8682
BearWare.TeamTalkBase.UserRecordMediaFile
delegate void UserRecordMediaFile(int nUserID, MediaFileInfo mediafileinfo)
Delegate for event #OnUserRecordMediaFile.
BearWare.TeamTalkBase.OnCmdError
CommandError OnCmdError
The server rejected a command issued by the local client instance.
Definition TeamTalk.cs:8308
BearWare.TeamTalkBase.OnConnectionMaxPayloadUpdated
MaxPayloadUpdate OnConnectionMaxPayloadUpdated
The maximum size of the payload put into UDP packets has been updated.
Definition TeamTalk.cs:8271
BearWare.TeamTalkBase.StreamMediaFile
delegate void StreamMediaFile(MediaFileInfo mediafileinfo)
Delegate for event #OnStreamMediaFile.
BearWare.TeamTalkBase.OnCmdUserUpdate
UserUpdate OnCmdUserUpdate
User changed properties.
Definition TeamTalk.cs:8399
BearWare.TeamTalkBase.MyselfLoggedOut
delegate void MyselfLoggedOut()
Delegate for event #OnCmdMyselfLoggedOut.
BearWare.TeamTalkBase.CommandSuccess
delegate void CommandSuccess(int nCmdID)
Delegate for event #CommandSuccess.
BearWare.TeamTalkBase.UserVideoFrame
delegate void UserVideoFrame(int nUserID, int nStreamID)
A delegate for the event #OnUserVideoCapture.
BearWare.TeamTalkBase.OnCmdChannelUpdate
ChannelUpdate OnCmdChannelUpdate
A channel's properties has been updated.
Definition TeamTalk.cs:8443
BearWare.TeamTalkBase.ErrorOccured
delegate void ErrorOccured(ClientErrorMsg clienterrormsg)
Delegate for event #OnInternalError.
BearWare.TeamTalkBase.OnUserAudioBlock
NewAudioBlock OnUserAudioBlock
A new audio block can be extracted.
Definition TeamTalk.cs:8582
BearWare.TeamTalkBase.OnVoiceActivation
VoiceActivation OnVoiceActivation
Voice activation has triggered transmission.
Definition TeamTalk.cs:8601
BearWare.TeamTalkBase.OnCmdMyselfLoggedOut
MyselfLoggedOut OnCmdMyselfLoggedOut
The client instance logged out of a server.
Definition TeamTalk.cs:8350
BearWare.TeamTalkBase.OnCmdMyselfLoggedIn
MyselfLoggedIn OnCmdMyselfLoggedIn
The client instance successfully logged on to server.
Definition TeamTalk.cs:8339
BearWare.TeamTalkBase.DesktopTransferUpdate
delegate void DesktopTransferUpdate(int nSessionID, int nBytesRemain)
Delegate for event OnDesktopWindowTransfer().
BearWare.TeamTalkBase.VoiceActivation
delegate void VoiceActivation(bool bVoiceActive)
Delegate for event #OnVoiceActivation.
BearWare.TeamTalkBase.ServerUpdate
delegate void ServerUpdate(ServerProperties serverproperties)
Delegate for event #OnCmdServerUpdate.
BearWare.TeamTalkBase.UserTextMessage
delegate void UserTextMessage(TextMessage textmessage)
Delegate for events #OnCmdUserTextMessage.
BearWare.TeamTalkBase.OnHotKeyToggle
HotKeyToggle OnHotKeyToggle
A hotkey has been acticated or deactivated.
Definition TeamTalk.cs:8618
BearWare.TeamTalkBase.MyselfKicked
delegate void MyselfKicked(User user)
Delegate for event #OnCmdMyselfKicked.
BearWare.TeamTalkBase.OnLocalMediaFile
LocalMediaFile OnLocalMediaFile
Media file is being played locally.
Definition TeamTalk.cs:8700
BearWare.TeamTalkBase.MaxPayloadUpdate
delegate void MaxPayloadUpdate(int nPayloadSize)
Delegate for event OnConnectionMaxPayloadUpdated().
BearWare.TeamTalkBase.OnCmdUserTextMessage
UserTextMessage OnCmdUserTextMessage
A user has sent a text-message.
Definition TeamTalk.cs:8424
BearWare.TeamTalkBase.ChannelUpdate
delegate void ChannelUpdate(Channel channel)
Delegate for #OnCmdChannelNew, #OnCmdChannelUpdate and #OnCmdChannelRemove.
BearWare.TeamTalkBase.HotKeyToggle
delegate void HotKeyToggle(int nHotKeyID, bool bActive)
Delegate for event #OnHotKeyToggle.
BearWare.TeamTalkBase.OnAudioInput
AudioInput OnAudioInput
Audio input progress as result of TeamTalkBase.InsertAudioBlock()
Definition TeamTalk.cs:8709
BearWare.TeamTalkBase.OnConnectionSuccess
Connection OnConnectionSuccess
Connected successfully to the server.
Definition TeamTalk.cs:8239
BearWare.TeamTalkBase.OnCmdUserLoggedOut
UserUpdate OnCmdUserLoggedOut
A user logged out of the server.
Definition TeamTalk.cs:8393
BearWare.TeamTalkBase.UserStreamUpdate
delegate void UserStreamUpdate(User user, int nStreamID)
Delegate for events #OnUserFirstVoiceStreamPacket.
BearWare.TeamTalkBase.OnInternalError
ErrorOccured OnInternalError
A internal error occured.
Definition TeamTalk.cs:8591
BearWare.TeamTalkBase.OnCmdSuccess
CommandSuccess OnCmdSuccess
The server successfully processed a command issued by the local client instance.
Definition TeamTalk.cs:8322
BearWare.TeamTalkBase.OnStreamMediaFile
StreamMediaFile OnStreamMediaFile
Media file being streamed to a channel is processing.
Definition TeamTalk.cs:8691
BearWare.TeamTalkBase.UserDesktopInput
delegate void UserDesktopInput(int nSrcUserID, DesktopInput desktopinput)
Delegate for event OnUserDesktopCursor().
BearWare.TeamTalkBase.HotKeyTest
delegate void HotKeyTest(int nVkCode, bool bActive)
Delegate for event #OnHotKeyTest.
BearWare.TeamTalkBase.OnCmdMyselfKicked
MyselfKicked OnCmdMyselfKicked
The client instance was kicked from a channel.
Definition TeamTalk.cs:8363
BearWare.TeamTalkBase.OnUserMediaFileVideo
UserVideoFrame OnUserMediaFileVideo
A new video frame was received from a user.
Definition TeamTalk.cs:8522
BearWare.TeamTalkBase.OnUserVideoCapture
UserVideoFrame OnUserVideoCapture
A new video frame was received from a user.
Definition TeamTalk.cs:8516
BearWare.TeamTalkBase.OnCmdChannelNew
ChannelUpdate OnCmdChannelNew
A new channel has been created.
Definition TeamTalk.cs:8437
BearWare.TeamTalkBase.FileTransferUpdate
delegate void FileTransferUpdate(FileTransfer filetransfer)
Delegate for event #OnFileTransfer.
BearWare.TeamTalkBase.OnCmdUserAccount
ListUserAccount OnCmdUserAccount
A new user account has been listed by the server. Event handler for BearWare.ClientEvent....
Definition TeamTalk.cs:8489
BearWare.TeamTalkBase.OnUserFirstVoiceStreamPacket
UserStreamUpdate OnUserFirstVoiceStreamPacket
The first voice packet of a new voice stream has been received.
Definition TeamTalk.cs:8502
BearWare.TeamTalkBase.OnCmdFileNew
FileUpdate OnCmdFileNew
A new file is added to a channel.
Definition TeamTalk.cs:8476
BearWare.TeamTalkBase.NewDesktopWindow
delegate void NewDesktopWindow(int nUserID, int nStreamID)
Delegate for event #OnUserDesktopWindow.
BearWare.TeamTalkBase.CommandProcessing
delegate void CommandProcessing(int nCmdID, bool bActive)
Delegate for event #OnCmdProcessing.
BearWare.TeamTalkBase.OnCmdBannedUser
ListBannedUser OnCmdBannedUser
A new banned user has been listed by the server. Event handler for BearWare.ClientEvent....
Definition TeamTalk.cs:8496
BearWare.TeamTalkBase.AudioInput
delegate void AudioInput(AudioInputProgress aip)
Delegate for event #OnAudioInput.
BearWare.TTType
TTType
Definition TeamTalk.cs:3910
BearWare.TeamTalkBase.OnCmdServerStatistics
ServerStats OnCmdServerStatistics
Server statistics available.
Definition TeamTalk.cs:8467
BearWare.TeamTalkBase.OnUserStateChange
UserUpdate OnUserStateChange
A user's state has been updated.
Definition TeamTalk.cs:8507
BearWare.TeamTalkBase.ListBannedUser
delegate void ListBannedUser(BannedUser banneduser)
A delegate for event #OnCmdUserAccount.
BearWare.TeamTalkBase.OnUserRecordMediaFile
UserRecordMediaFile OnUserRecordMediaFile
An media file recording has changed status.
Definition TeamTalk.cs:8568
BearWare.TeamTalkBase.LocalMediaFile
delegate void LocalMediaFile(MediaFileInfo mediafileinfo)
Delegate for event #OnLocalMediaFile.
BearWare.TeamTalkBase.CommandError
delegate void CommandError(int nCmdID, ClientErrorMsg clienterrormsg)
Delegate for event #OnCmdError.
BearWare.TeamTalkBase.FileUpdate
delegate void FileUpdate(RemoteFile remotefile)
A delegate for events #OnCmdFileNew and #OnCmdFileRemove.
BearWare.ClientEvent
ClientEvent
TeamTalk client event messages.
Definition TeamTalk.cs:3352
BearWare.TeamTalkBase.ListUserAccount
delegate void ListUserAccount(UserAccount useraccount)
A delegate for event #OnCmdUserAccount.
BearWare.TeamTalkBase.OnUserDesktopWindow
NewDesktopWindow OnUserDesktopWindow
A new or updated desktop window has been received from a user.
Definition TeamTalk.cs:8542
BearWare.TeamTalkBase.OnCmdUserLoggedIn
UserUpdate OnCmdUserLoggedIn
A new user logged on to the server.
Definition TeamTalk.cs:8383
BearWare.TeamTalkBase.OnCmdFileRemove
FileUpdate OnCmdFileRemove
A file has been removed from a channel.
Definition TeamTalk.cs:8482
BearWare.TeamTalkBase.OnCmdServerUpdate
ServerUpdate OnCmdServerUpdate
Server has updated its settings (server name, MOTD, etc.)
Definition TeamTalk.cs:8458
BearWare.TeamTalkBase.OnCmdUserLeftChannel
UserUpdate OnCmdUserLeftChannel
User has left a channel.
Definition TeamTalk.cs:8411
BearWare.TeamTalkBase.OnFileTransfer
FileTransferUpdate OnFileTransfer
A file transfer is processing.
Definition TeamTalk.cs:8660
BearWare.TeamTalkBase.OnConnectionFailed
Connection OnConnectionFailed
Failed to connect to server.
Definition TeamTalk.cs:8247
BearWare.TeamTalkBase.Connection
delegate void Connection()
Delegate for events #OnConnectionSuccess, #OnConnectionFailed and #OnConnectionLost.
BearWare.TeamTalkBase.OnUserDesktopInput
UserDesktopInput OnUserDesktopInput
Desktop input (mouse or keyboard input) has been received from a user.
Definition TeamTalk.cs:8559
BearWare.TeamTalkBase.OnCmdChannelRemove
ChannelUpdate OnCmdChannelRemove
A channel has been removed. Event handler for BearWare.ClientEvent.CLIENTEVENT_CMD_CHANNEL_REMOVE.
Definition TeamTalk.cs:8448
BearWare.TeamTalkBase.MyselfLoggedIn
delegate void MyselfLoggedIn(int nMyUserID, UserAccount useraccount)
Delegate for event #OnCmdMyselfLoggedIn.
BearWare.TTType.__ABUSEPREVENTION
@ __ABUSEPREVENTION
BearWare.TTType.__UINT32
@ __UINT32
BearWare.TTType.__USERSTATISTICS
@ __USERSTATISTICS
BearWare.TTType.__MEDIAFILESTATUS
@ __MEDIAFILESTATUS
BearWare.TTType.__SOUNDDEVICEEFFECTS
@ __SOUNDDEVICEEFFECTS
BearWare.TTType.__TTMESSAGE
@ __TTMESSAGE
BearWare.TTType.__DESKTOPINPUT
@ __DESKTOPINPUT
BearWare.TTType.__SOUNDDEVICE
@ __SOUNDDEVICE
BearWare.TTType.__VIDEOCAPTUREDEVICE
@ __VIDEOCAPTUREDEVICE
BearWare.TTType.__STREAMTYPE
@ __STREAMTYPE
BearWare.TTType.__CLIENTSTATISTICS
@ __CLIENTSTATISTICS
BearWare.TTType.__USER
@ __USER
BearWare.TTType.__AUDIOCONFIG
@ __AUDIOCONFIG
BearWare.TTType.__OPUSCODEC
@ __OPUSCODEC
BearWare.TTType.__AUDIOFORMAT
@ __AUDIOFORMAT
BearWare.TTType.__AUDIOCODEC
@ __AUDIOCODEC
BearWare.TTType.__DESKTOPWINDOW
@ __DESKTOPWINDOW
BearWare.TTType.__MEDIAFILEPLAYBACK
@ __MEDIAFILEPLAYBACK
BearWare.TTType.__SERVERPROPERTIES
@ __SERVERPROPERTIES
BearWare.TTType.__VIDEOFRAME
@ __VIDEOFRAME
BearWare.TTType.__AUDIOPREPROCESSORTYPE
@ __AUDIOPREPROCESSORTYPE
BearWare.TTType.__SPEEXVBRCODEC
@ __SPEEXVBRCODEC
BearWare.TTType.__CLIENTERRORMSG
@ __CLIENTERRORMSG
BearWare.TTType.__INT32
@ __INT32
BearWare.TTType.__CLIENTKEEPALIVE
@ __CLIENTKEEPALIVE
BearWare.TTType.__JITTERCONFIG
@ __JITTERCONFIG
BearWare.TTType.__TEXTMESSAGE
@ __TEXTMESSAGE
BearWare.TTType.__TTAUDIOPREPROCESSOR
@ __TTAUDIOPREPROCESSOR
BearWare.TTType.__SPEEXCODEC
@ __SPEEXCODEC
BearWare.TTType.__SPEEXDSP
@ __SPEEXDSP
BearWare.TTType.__FILETRANSFER
@ __FILETRANSFER
BearWare.TTType.__CHANNEL
@ __CHANNEL
BearWare.TTType.__REMOTEFILE
@ __REMOTEFILE
BearWare.TTType.__WEBRTCAUDIOPREPROCESSOR
@ __WEBRTCAUDIOPREPROCESSOR
BearWare.TTType.__AUDIOPREPROCESSOR
@ __AUDIOPREPROCESSOR
BearWare.TTType.__MEDIAFILEINFO
@ __MEDIAFILEINFO
BearWare.TTType.__AUDIOINPUTPROGRESS
@ __AUDIOINPUTPROGRESS
BearWare.TTType.__SERVERSTATISTICS
@ __SERVERSTATISTICS
BearWare.TTType.__AUDIOBLOCK
@ __AUDIOBLOCK
BearWare.TTType.__USERACCOUNT
@ __USERACCOUNT
BearWare.TTType.__NONE
@ __NONE
BearWare.TTType.__BANNEDUSER
@ __BANNEDUSER
BearWare.TTType.__VIDEOCODEC
@ __VIDEOCODEC
BearWare.TTType.__TTBOOL
@ __TTBOOL
BearWare.TTType.__WEBMVP8CODEC
@ __WEBMVP8CODEC
BearWare.TTType.__VIDEOFORMAT
@ __VIDEOFORMAT
BearWare.TTType.__ENCRYPTIONCONTEXT
@ __ENCRYPTIONCONTEXT
BearWare.ClientEvent.CLIENTEVENT_CMD_FILE_REMOVE
@ CLIENTEVENT_CMD_FILE_REMOVE
A file has been removed from a channel.
BearWare.ClientEvent.CLIENTEVENT_CMD_CHANNEL_UPDATE
@ CLIENTEVENT_CMD_CHANNEL_UPDATE
A channel's properties has been updated.
BearWare.ClientEvent.CLIENTEVENT_USER_DESKTOPCURSOR
@ CLIENTEVENT_USER_DESKTOPCURSOR
A user has sent the position of the mouse cursor.
BearWare.ClientEvent.CLIENTEVENT_STREAM_MEDIAFILE
@ CLIENTEVENT_STREAM_MEDIAFILE
Media file being streamed to a channel is processing.
BearWare.ClientEvent.CLIENTEVENT_CMD_SUCCESS
@ CLIENTEVENT_CMD_SUCCESS
The server successfully processed a command issued by the local client instance.
BearWare.ClientEvent.CLIENTEVENT_CMD_MYSELF_KICKED
@ CLIENTEVENT_CMD_MYSELF_KICKED
The client instance was kicked from a channel.
BearWare.ClientEvent.CLIENTEVENT_USER_STATECHANGE
@ CLIENTEVENT_USER_STATECHANGE
A user state has changed.
BearWare.ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDOUT
@ CLIENTEVENT_CMD_MYSELF_LOGGEDOUT
The client instance logged out of the server.
BearWare.ClientEvent.CLIENTEVENT_FILETRANSFER
@ CLIENTEVENT_FILETRANSFER
A file transfer is processing.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_JOINED
@ CLIENTEVENT_CMD_USER_JOINED
A user has joined a channel.
BearWare.ClientEvent.CLIENTEVENT_HOTKEY
@ CLIENTEVENT_HOTKEY
A hotkey has been acticated or deactivated.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_UPDATE
@ CLIENTEVENT_CMD_USER_UPDATE
User changed properties.
BearWare.ClientEvent.CLIENTEVENT_LOCAL_MEDIAFILE
@ CLIENTEVENT_LOCAL_MEDIAFILE
Media file played locally is procesing.
BearWare.ClientEvent.CLIENTEVENT_HOTKEY_TEST
@ CLIENTEVENT_HOTKEY_TEST
A button was pressed or released on the user's keyboard or mouse.
BearWare.ClientEvent.CLIENTEVENT_USER_AUDIOBLOCK
@ CLIENTEVENT_USER_AUDIOBLOCK
A new audio block can be extracted.
BearWare.ClientEvent.CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED
@ CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED
The maximum size of the payload put into UDP packets has been updated.
BearWare.ClientEvent.CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET
@ CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET
The first voice packet of a new voice stream has been received.
BearWare.ClientEvent.CLIENTEVENT_CMD_SERVER_UPDATE
@ CLIENTEVENT_CMD_SERVER_UPDATE
Server has updated its settings (server name, MOTD, etc.)
BearWare.ClientEvent.CLIENTEVENT_USER_MEDIAFILE_VIDEO
@ CLIENTEVENT_USER_MEDIAFILE_VIDEO
A new video frame from a video media file was received from a user.
BearWare.ClientEvent.CLIENTEVENT_CON_LOST
@ CLIENTEVENT_CON_LOST
Connection to server has been lost.
BearWare.ClientEvent.CLIENTEVENT_CMD_FILE_NEW
@ CLIENTEVENT_CMD_FILE_NEW
A new file is added to a channel.
BearWare.ClientEvent.CLIENTEVENT_USER_DESKTOPINPUT
@ CLIENTEVENT_USER_DESKTOPINPUT
Desktop input (mouse or keyboard input) has been received from a user.
BearWare.ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDIN
@ CLIENTEVENT_CMD_MYSELF_LOGGEDIN
The client instance successfully logged on to server.
BearWare.ClientEvent.CLIENTEVENT_CON_SUCCESS
@ CLIENTEVENT_CON_SUCCESS
Connected successfully to the server.
BearWare.ClientEvent.CLIENTEVENT_USER_RECORD_MEDIAFILE
@ CLIENTEVENT_USER_RECORD_MEDIAFILE
A media file recording has changed status.
BearWare.ClientEvent.CLIENTEVENT_NONE
@ CLIENTEVENT_NONE
BearWare.ClientEvent.CLIENTEVENT_USER_DESKTOPWINDOW
@ CLIENTEVENT_USER_DESKTOPWINDOW
A new or updated desktop window has been received from a user.
BearWare.ClientEvent.CLIENTEVENT_CMD_ERROR
@ CLIENTEVENT_CMD_ERROR
The server rejected a command issued by the local client instance.
BearWare.ClientEvent.CLIENTEVENT_AUDIOINPUT
@ CLIENTEVENT_AUDIOINPUT
Progress is audio being injected as BearWare.StreamType.STREAMTYPE_VOICE.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_LEFT
@ CLIENTEVENT_CMD_USER_LEFT
User has left a channel.
BearWare.ClientEvent.CLIENTEVENT_CMD_PROCESSING
@ CLIENTEVENT_CMD_PROCESSING
A command issued by TeamTalkBase.Do* methods is being processed.
BearWare.ClientEvent.CLIENTEVENT_CMD_BANNEDUSER
@ CLIENTEVENT_CMD_BANNEDUSER
A banned user has been received from the server.
BearWare.ClientEvent.CLIENTEVENT_CON_FAILED
@ CLIENTEVENT_CON_FAILED
Failed to connect to server.
BearWare.ClientEvent.CLIENTEVENT_CMD_CHANNEL_NEW
@ CLIENTEVENT_CMD_CHANNEL_NEW
A new channel has been created.
BearWare.ClientEvent.CLIENTEVENT_CMD_SERVERSTATISTICS
@ CLIENTEVENT_CMD_SERVERSTATISTICS
Server statistics available.
BearWare.ClientEvent.CLIENTEVENT_USER_VIDEOCAPTURE
@ CLIENTEVENT_USER_VIDEOCAPTURE
A new video frame from a video capture device was received from a user.
BearWare.ClientEvent.CLIENTEVENT_CMD_USERACCOUNT
@ CLIENTEVENT_CMD_USERACCOUNT
A user account has been received from the server.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_TEXTMSG
@ CLIENTEVENT_CMD_USER_TEXTMSG
A user has sent a text-message.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDOUT
@ CLIENTEVENT_CMD_USER_LOGGEDOUT
A client logged out of the server.
BearWare.ClientEvent.CLIENTEVENT_INTERNAL_ERROR
@ CLIENTEVENT_INTERNAL_ERROR
An internal error occurred in the client instance.
BearWare.ClientEvent.CLIENTEVENT_CMD_USER_LOGGEDIN
@ CLIENTEVENT_CMD_USER_LOGGEDIN
A new user logged on to the server.
BearWare.ClientEvent.CLIENTEVENT_CMD_CHANNEL_REMOVE
@ CLIENTEVENT_CMD_CHANNEL_REMOVE
A channel has been removed.
BearWare.ClientEvent.CLIENTEVENT_VOICE_ACTIVATION
@ CLIENTEVENT_VOICE_ACTIVATION
Voice activation has triggered transmission.
BearWare.ClientEvent.CLIENTEVENT_DESKTOPWINDOW_TRANSFER
@ CLIENTEVENT_DESKTOPWINDOW_TRANSFER
Used for tracking when a desktop window has been transmitted to the server.
BearWare.TeamTalkBase.HotKey_Register
bool HotKey_Register(int nHotKeyID, int[] lpnVKCodes)
Register a global hotkey.
Definition TeamTalk.cs:8141
BearWare.TeamTalkBase.HotKey_GetKeyString
bool HotKey_GetKeyString(int nVKCode, ref string szKeyName)
Get a string description of the virtual-key code.
Definition TeamTalk.cs:8201
BearWare.TeamTalkBase.HotKey_IsActive
int HotKey_IsActive(int nHotKeyID)
Check whether hotkey is active.
Definition TeamTalk.cs:8159
BearWare.TeamTalkBase.HotKey_Unregister
bool HotKey_Unregister(int nHotKeyID)
Unregister a registered hotkey.
Definition TeamTalk.cs:8150
BearWare.TeamTalkBase.HotKey_RemoveTestHook
bool HotKey_RemoveTestHook()
Remove the test hook again so the #OnHotKeyTest event will no longer be notified.
Definition TeamTalk.cs:8191
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:8172
BearWare.TeamTalkBase.GetMessage
bool GetMessage(ref TTMessage pMsg, int nWaitMs)
Poll for events in the client instance.
Definition TeamTalk.cs:4434
BearWare.TeamTalkBase.TT_CHANNELID_MAX
const int TT_CHANNELID_MAX
The highest channel ID. Also used for BearWare.TeamTalkBase.TT_CLASSROOM_FREEFORALL.
Definition TeamTalk.cs:4197
BearWare.TeamTalkBase.TT_LOCAL_USERID
const int TT_LOCAL_USERID
User ID passed to TeamTalkBase.EnableAudioBlockEvent() in order to receive BearWare....
Definition TeamTalk.cs:4253
BearWare.TeamTalkBase.Dispose
void Dispose()
Definition TeamTalk.cs:4401
BearWare.TeamTalkBase.GetFlags
BearWare.ClientFlag GetFlags()
Get a bitmask describing the client's current state.
Definition TeamTalk.cs:4479
BearWare.TeamTalkBase.TT_MUXED_USERID
const int TT_MUXED_USERID
User ID used to identify muxed audio that has been mixed into a single stream.
Definition TeamTalk.cs:4271
BearWare.TeamTalkBase.TeamTalkBase
TeamTalkBase(bool poll_based)
Create a new TeamTalk client instance.
Definition TeamTalk.cs:4318
BearWare.ClientFlag
ClientFlag
Flags used to describe the the client instance current state.
Definition TeamTalk.cs:4079
BearWare.TeamTalkBase.PumpMessage
bool PumpMessage(ClientEvent nClientEvent, int nIdentifier)
Cause client instance event thread to schedule an update event.
Definition TeamTalk.cs:4465
BearWare.TeamTalkBase.TT_USERID_MAX
const int TT_USERID_MAX
The highest user ID.
Definition TeamTalk.cs:4193
BearWare.TeamTalkBase.TT_LOCAL_TX_USERID
const int TT_LOCAL_TX_USERID
User ID passed to TeamTalkBase.EnableAudioBlockEvent() in order to receive BearWare....
Definition TeamTalk.cs:4262
BearWare.TeamTalkBase.ProcessMsg
void ProcessMsg(TTMessage msg)
Event handler for BearWare.TTMessage.
Definition TeamTalk.cs:4510
BearWare.TeamTalkBase.GetVersion
static string GetVersion()
Get the DLL's version number.
Definition TeamTalk.cs:4306
BearWare.TeamTalkBase.Flags
ClientFlag Flags
Same as GetFlags().
Definition TeamTalk.cs:4488
BearWare.TeamTalkBase.SetLicenseInformation
static bool SetLicenseInformation(string szRegName, string szRegKey)
Set license information to disable trial mode.
Definition TeamTalk.cs:4501
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:4190
BearWare.ClientFlag.CLIENT_CLOSED
@ CLIENT_CLOSED
The client instance is in closed state, i.e. no operations has been performed on it.
BearWare.ClientFlag.CLIENT_VIDEOCAPTURE_READY
@ CLIENT_VIDEOCAPTURE_READY
If set the client instance's video device has been initialized, i.e. TeamTalkBase....
BearWare.ClientFlag.CLIENT_CONNECTION
@ CLIENT_CONNECTION
Helper for BearWare.ClientFlag.CLIENT_CONNECTING and BearWare.ClientFlag.CLIENT_CONNECTED to see if T...
BearWare.ClientFlag.CLIENT_CONNECTED
@ CLIENT_CONNECTED
If set the client instance is connected to a server, i.e. BearWare.ClientEvent.CLIENTEVENT_CON_SUCCES...
BearWare.ClientFlag.CLIENT_SNDINOUTPUT_DUPLEX
@ CLIENT_SNDINOUTPUT_DUPLEX
If set the client instance is running in sound duplex mode where multiple audio output streams are mi...
BearWare.ClientFlag.CLIENT_SNDOUTPUT_READY
@ CLIENT_SNDOUTPUT_READY
If set the client instance's sound output device has been initialized, i.e. TeamTalkBase....
BearWare.ClientFlag.CLIENT_CONNECTING
@ CLIENT_CONNECTING
If set the client instance is currently try to connect to a server, i.e. TeamTalkBase....
BearWare.ClientFlag.CLIENT_STREAM_VIDEO
@ CLIENT_STREAM_VIDEO
If set the client is currently streaming the video of a media file. When streaming a video file the B...
BearWare.ClientFlag.CLIENT_MUX_AUDIOFILE
@ CLIENT_MUX_AUDIOFILE
If set the client instance is currently muxing audio streams into a single file. This is enabled by c...
BearWare.ClientFlag.CLIENT_SNDOUTPUT_AUTO3DPOSITION
@ CLIENT_SNDOUTPUT_AUTO3DPOSITION
If set the client instance will auto position users in a 180 degree circle using 3D-sound....
BearWare.ClientFlag.CLIENT_DESKTOP_ACTIVE
@ CLIENT_DESKTOP_ACTIVE
If set the client instance current have an active desktop session, i.e. TeamTalkBase....
BearWare.ClientFlag.CLIENT_SNDINPUT_READY
@ CLIENT_SNDINPUT_READY
If set the client instance's sound input device has been initialized, i.e. TeamTalkBase....
BearWare.ClientFlag.CLIENT_STREAM_AUDIO
@ CLIENT_STREAM_AUDIO
If set the client is currently streaming the audio of a media file. When streaming a video file the B...
BearWare.ClientFlag.CLIENT_SNDINPUT_VOICEACTIVATED
@ CLIENT_SNDINPUT_VOICEACTIVATED
If set the client instance will start transmitting audio if the sound level is above the voice activa...
BearWare.ClientFlag.CLIENT_TX_VOICE
@ CLIENT_TX_VOICE
If set the client instance is currently transmitting audio.
BearWare.ClientFlag.CLIENT_TX_VIDEOCAPTURE
@ CLIENT_TX_VIDEOCAPTURE
If set the client instance is currently transmitting video.
BearWare.ClientFlag.CLIENT_SNDINPUT_VOICEACTIVE
@ CLIENT_SNDINPUT_VOICEACTIVE
If set GetSoundInputLevel() is higher than the voice activation level. To enable voice transmission i...
BearWare.ClientFlag.CLIENT_TX_DESKTOP
@ CLIENT_TX_DESKTOP
If set the client instance is currently transmitting a desktop window. A desktop window update is iss...
BearWare.ClientFlag.CLIENT_AUTHORIZED
@ CLIENT_AUTHORIZED
If set the client instance is logged on to a server, i.e. got BearWare.ClientEvent....
BearWare.ClientFlag.CLIENT_SNDOUTPUT_MUTE
@ CLIENT_SNDOUTPUT_MUTE
If set the client instance has muted all users.
BearWare.TeamTalkBase.UpdateStreamingMediaFileToChannel
bool UpdateStreamingMediaFileToChannel(MediaFilePlayback lpMediaFilePlayback, VideoCodec lpVideoCodec)
Update active media file being streamed to channel.
Definition TeamTalk.cs:5984
BearWare.TeamTalkBase.StartStreamingMediaFileToChannel
bool StartStreamingMediaFileToChannel(string szMediaFilePath, VideoCodec lpVideoCodec)
Stream media file to channel, e.g. avi-, wav- or MP3-file.
Definition TeamTalk.cs:5923
BearWare.TeamTalkBase.AcquireUserMediaVideoFrame
VideoFrame AcquireUserMediaVideoFrame(int nUserID, out Bitmap bmp)
Extract a user's media video frame for display.
Definition TeamTalk.cs:6093
BearWare.TeamTalkBase.InitLocalPlayback
int InitLocalPlayback(string szMediaFilePath, MediaFilePlayback lpMediaFilePlayback)
Play media file using settings from BearWare.TeamTalkBase instance.
Definition TeamTalk.cs:6026
BearWare.TeamTalkBase.UpdateLocalPlayback
bool UpdateLocalPlayback(int nPlaybackSessionID, MediaFilePlayback lpMediaFilePlayback)
Definition TeamTalk.cs:6042
BearWare.TeamTalkBase.StopLocalPlayback
bool StopLocalPlayback(int nPlaybackSessionID)
Definition TeamTalk.cs:6056
BearWare.TeamTalkBase.StopStreamingMediaFileToChannel
bool StopStreamingMediaFileToChannel()
Stop streaming media file to channel.
Definition TeamTalk.cs:5997
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:5959
BearWare.MediaFileStatus
MediaFileStatus
Status of media file being written to disk.
Definition TeamTalk.cs:530
BearWare.TeamTalkBase.GetMediaFileInfo
static bool GetMediaFileInfo(string szMediaFilePath, ref MediaFileInfo lpMediaFileInfo)
Get the properties of a media file.
Definition TeamTalk.cs:6068
BearWare.TeamTalkBase.ReleaseUserMediaVideoFrame
bool ReleaseUserMediaVideoFrame(VideoFrame lpVideoFrame)
Delete a user's video frame, acquired through TeamTalkBase.AcquireUserMediaVideoFrame(),...
Definition TeamTalk.cs:6115
BearWare.TeamTalkBase.TT_MEDIAPLAYBACK_OFFSET_IGNORE
const uint TT_MEDIAPLAYBACK_OFFSET_IGNORE
Definition TeamTalk.cs:4302
BearWare.AudioFileFormat
AudioFileFormat
Media file formats supported for muxed audio recordings.
Definition TeamTalk.cs:551
BearWare.MediaFileStatus.MFS_PLAYING
@ MFS_PLAYING
Playing media file with updated uElapsedMSec of BearWare.MediaFileInfo.
BearWare.MediaFileStatus.MFS_FINISHED
@ MFS_FINISHED
Finished processing media file.
BearWare.MediaFileStatus.MFS_STARTED
@ MFS_STARTED
Started processing media file.
BearWare.MediaFileStatus.MFS_PAUSED
@ MFS_PAUSED
Paused processing of media file.
BearWare.MediaFileStatus.MFS_CLOSED
@ MFS_CLOSED
BearWare.MediaFileStatus.MFS_ERROR
@ MFS_ERROR
Error while processing media file.
BearWare.MediaFileStatus.MFS_ABORTED
@ MFS_ABORTED
Aborted processing of media file.
BearWare.AudioFileFormat.AFF_MP3_128KBIT_FORMAT
@ AFF_MP3_128KBIT_FORMAT
BearWare.AudioFileFormat.AFF_MP3_256KBIT_FORMAT
@ AFF_MP3_256KBIT_FORMAT
BearWare.AudioFileFormat.AFF_MP3_16KBIT_FORMAT
@ AFF_MP3_16KBIT_FORMAT
Store in MP3-format.
BearWare.AudioFileFormat.AFF_WAVE_FORMAT
@ AFF_WAVE_FORMAT
Store in PCM 16-bit wave format.
BearWare.AudioFileFormat.AFF_MP3_64KBIT_FORMAT
@ AFF_MP3_64KBIT_FORMAT
BearWare.AudioFileFormat.AFF_CHANNELCODEC_FORMAT
@ AFF_CHANNELCODEC_FORMAT
Store audio in the same format as the BearWare.Channel's configured audio codec.
BearWare.AudioFileFormat.AFF_MP3_320KBIT_FORMAT
@ AFF_MP3_320KBIT_FORMAT
BearWare.AudioFileFormat.AFF_NONE
@ AFF_NONE
Used to denote nothing selected.
BearWare.AudioFileFormat.AFF_MP3_32KBIT_FORMAT
@ AFF_MP3_32KBIT_FORMAT
BearWare.MixerControl
MixerControl
The Windows mixer controls which can be queried by the BearWare.WindowsMixer class.
Definition TeamTalk.cs:8804
BearWare.MixerControl.WAVEIN_MICROPHONE
@ WAVEIN_MICROPHONE
BearWare.MixerControl.WAVEOUT_MICROPHONE
@ WAVEOUT_MICROPHONE
BearWare.MixerControl.WAVEIN_LINEIN
@ WAVEIN_LINEIN
BearWare.MixerControl.WAVEOUT_MASTER
@ WAVEOUT_MASTER
BearWare.MixerControl.WAVEIN_WAVEOUT
@ WAVEIN_WAVEOUT
BearWare.MixerControl.WAVEOUT_WAVE
@ WAVEOUT_WAVE
BearWare.UserRight
UserRight
The rights users have once they have logged on to the server.
Definition TeamTalk.cs:1698
BearWare.ServerLogEvent
ServerLogEvent
Events that are logged by the server, i.e. written to server's log file.
Definition TeamTalk.cs:1792
BearWare.TeamTalkBase.GetServerUsers
bool GetServerUsers(out User[] lpUsers)
Get all the users on the server.
Definition TeamTalk.cs:7514
BearWare.TeamTalkBase.GetServerProperties
bool GetServerProperties(ref ServerProperties lpServerProperties)
Get the server's properties.
Definition TeamTalk.cs:7500
BearWare.BanType
BanType
Way to ban a user from either login or joining a channel.
Definition TeamTalk.cs:2006
BearWare.UserRight.USERRIGHT_TRANSMIT_DESKTOP
@ USERRIGHT_TRANSMIT_DESKTOP
User is allowed to forward desktop packets through server.
BearWare.UserRight.USERRIGHT_MULTI_LOGIN
@ USERRIGHT_MULTI_LOGIN
Allow multiple users to log on to the server with the same BearWare.UserAccount.
BearWare.UserRight.USERRIGHT_TRANSMIT_VOICE
@ USERRIGHT_TRANSMIT_VOICE
Users are allowed to forward audio packets through server. TeamTalkBase.EnableVoiceTransmission()
BearWare.UserRight.USERRIGHT_CREATE_TEMPORARY_CHANNEL
@ USERRIGHT_CREATE_TEMPORARY_CHANNEL
User is allowed to create temporary channels which disappear when last user leaves the channel.
BearWare.UserRight.USERRIGHT_TRANSMIT_VIDEOCAPTURE
@ USERRIGHT_TRANSMIT_VIDEOCAPTURE
User is allowed to forward video packets through server. TeamTalkBase.StartVideoCaptureTransmission()
BearWare.UserRight.USERRIGHT_KICK_USERS
@ USERRIGHT_KICK_USERS
User can kick users off the server.
BearWare.UserRight.USERRIGHT_UPDATE_SERVERPROPERTIES
@ USERRIGHT_UPDATE_SERVERPROPERTIES
User can update server properties.
BearWare.UserRight.USERRIGHT_ALL
@ USERRIGHT_ALL
User with all rights.
BearWare.UserRight.USERRIGHT_LOCKED_NICKNAME
@ USERRIGHT_LOCKED_NICKNAME
User's nick name is locked. TeamTalkBase.DoChangeNickname() cannot be used and TeamTalkBase....
BearWare.UserRight.USERRIGHT_TEXTMESSAGE_USER
@ USERRIGHT_TEXTMESSAGE_USER
User can send private text messages, i.e. BearWare.TextMsgType.MSGTYPE_USER.
BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE
@ USERRIGHT_TRANSMIT_MEDIAFILE
User is allowed to media files to channel.
BearWare.UserRight.USERRIGHT_BAN_USERS
@ USERRIGHT_BAN_USERS
User can add and remove banned users.
BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO
@ USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO
User is allowed to stream video files to channel.
BearWare.UserRight.USERRIGHT_TEXTMESSAGE_BROADCAST
@ USERRIGHT_TEXTMESSAGE_BROADCAST
User can broadcast text message of type BearWare.TextMsgType.MSGTYPE_BROADCAST to all users.
BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO
@ USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO
User is allowed to stream audio files to channel.
BearWare.UserRight.USERRIGHT_TEXTMESSAGE_CHANNEL
@ USERRIGHT_TEXTMESSAGE_CHANNEL
User can send private text messages, i.e. BearWare.TextMsgType.MSGTYPE_CHANNEL.
BearWare.UserRight.USERRIGHT_OPERATOR_ENABLE
@ USERRIGHT_OPERATOR_ENABLE
User can make other users channel operator.
BearWare.UserRight.USERRIGHT_TRANSMIT_DESKTOPINPUT
@ USERRIGHT_TRANSMIT_DESKTOPINPUT
User is allowed to forward desktop input packets through server.
BearWare.UserRight.USERRIGHT_MOVE_USERS
@ USERRIGHT_MOVE_USERS
User can move users from one channel to another.
BearWare.UserRight.USERRIGHT_LOCKED_STATUS
@ USERRIGHT_LOCKED_STATUS
User's status is locked. TeamTalkBase.DoChangeStatus() cannot be used.
BearWare.UserRight.USERRIGHT_VIEW_ALL_USERS
@ USERRIGHT_VIEW_ALL_USERS
User can see users in all other channels.
BearWare.UserRight.USERRIGHT_DOWNLOAD_FILES
@ USERRIGHT_DOWNLOAD_FILES
User can download files from channels.
BearWare.UserRight.USERRIGHT_UPLOAD_FILES
@ USERRIGHT_UPLOAD_FILES
User can upload files to channels.
BearWare.UserRight.USERRIGHT_VIEW_HIDDEN_CHANNELS
@ USERRIGHT_VIEW_HIDDEN_CHANNELS
User can see hidden channels, BearWare.ChannelType.CHANNEL_HIDDEN.
BearWare.UserRight.USERRIGHT_MODIFY_CHANNELS
@ USERRIGHT_MODIFY_CHANNELS
User is allowed to create permanent channels which are stored in the server's configuration file.
BearWare.UserRight.USERRIGHT_RECORD_VOICE
@ USERRIGHT_RECORD_VOICE
User can record voice in all channels. Even channels with BearWare.ChannelType.CHANNEL_NO_RECORDING.
BearWare.UserRight.USERRIGHT_NONE
@ USERRIGHT_NONE
Users who log onto the server has none of the rights below.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_MOVED
@ SERVERLOGEVENT_USER_MOVED
User was moved to another channel is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LEFTCHANNEL
@ SERVERLOGEVENT_USER_LEFTCHANNEL
User left a channel is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LOGGEDIN
@ SERVERLOGEVENT_USER_LOGGEDIN
User logged in is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_DISCONNECTED
@ SERVERLOGEVENT_USER_DISCONNECTED
User disconnected from server is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_SERVER_SAVECONFIG
@ SERVERLOGEVENT_SERVER_SAVECONFIG
User saved server's configuration is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_CHANNEL_REMOVED
@ SERVERLOGEVENT_CHANNEL_REMOVED
User removed a channel is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_FILE_DELETED
@ SERVERLOGEVENT_FILE_DELETED
User deleted a file is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_FILE_DOWNLOADED
@ SERVERLOGEVENT_FILE_DOWNLOADED
User downloaded a file is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_KICKED
@ SERVERLOGEVENT_USER_KICKED
User was kicked is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_JOINEDCHANNEL
@ SERVERLOGEVENT_USER_JOINEDCHANNEL
User joined a channel is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_BROADCAST
@ SERVERLOGEVENT_USER_TEXTMESSAGE_BROADCAST
User's broadcast text messages are logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_CHANNEL
@ SERVERLOGEVENT_USER_TEXTMESSAGE_CHANNEL
User's channel text messages are logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_SERVER_UPDATED
@ SERVERLOGEVENT_SERVER_UPDATED
User updated server's properties is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_CONNECTED
@ SERVERLOGEVENT_USER_CONNECTED
User's IP-address is logged to file by serer.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TIMEDOUT
@ SERVERLOGEVENT_USER_TIMEDOUT
User disconnected due to connection timeout is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LOGINFAILED
@ SERVERLOGEVENT_USER_LOGINFAILED
User failed to log in is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LOGGEDOUT
@ SERVERLOGEVENT_USER_LOGGEDOUT
User logged out is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_NONE
@ SERVERLOGEVENT_NONE
Nothing is logged to file by server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_PRIVATE
@ SERVERLOGEVENT_USER_TEXTMESSAGE_PRIVATE
User's private text messages are logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_CHANNEL_UPDATED
@ SERVERLOGEVENT_CHANNEL_UPDATED
User updated a channel is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_BANNED
@ SERVERLOGEVENT_USER_BANNED
User was banned is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_UPDATED
@ SERVERLOGEVENT_USER_UPDATED
User's status is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_UNBANNED
@ SERVERLOGEVENT_USER_UNBANNED
User was removed from ban list is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_CHANNEL_CREATED
@ SERVERLOGEVENT_CHANNEL_CREATED
User created new channel is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_FILE_UPLOADED
@ SERVERLOGEVENT_FILE_UPLOADED
User uploaded a file is logged to file by the server.
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_CUSTOM
@ SERVERLOGEVENT_USER_TEXTMESSAGE_CUSTOM
User's custom text messages are logged to file by the server.
BearWare.BanType.BANTYPE_NONE
@ BANTYPE_NONE
Ban type not set.
BearWare.BanType.BANTYPE_CHANNEL
@ BANTYPE_CHANNEL
The ban applies to the channel specified in the szChannel of BearWare.BannedUser. Otherwise the ban a...
BearWare.BanType.BANTYPE_USERNAME
@ BANTYPE_USERNAME
Ban szUsername specified in BearWare.BannedUser.
BearWare.BanType.BANTYPE_IPADDR
@ BANTYPE_IPADDR
Ban szIPAddress specified in BearWare.BannedUser.
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:4762
BearWare.TeamTalkBase.SetUserMediaStorageDir
bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars, AudioFileFormat uAFF)
Store user's audio to disk.
Definition TeamTalk.cs:7946
BearWare.TeamTalkBase.SetUserMediaStorageDir
bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars, AudioFileFormat uAFF, int nStopRecordingExtraDelayMSec)
Store user's audio to disk.
Definition TeamTalk.cs:7976
BearWare.TeamTalkBase.Enable3DSoundPositioning
bool Enable3DSoundPositioning(bool bEnable)
Enable automatically position users using 3D-sound.
Definition TeamTalk.cs:5241
BearWare.TeamTalkBase.ReleaseUserAudioBlock
bool ReleaseUserAudioBlock(AudioBlock lpAudioBlock)
Release the shared memory of an BearWare.AudioBlock.
Definition TeamTalk.cs:8055
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:5158
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:7907
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:5352
BearWare.TeamTalkBase.CloseSoundDuplexDevices
bool CloseSoundDuplexDevices()
Shut down sound devices running in duplex mode.
Definition TeamTalk.cs:5042
BearWare.TeamTalkBase.AutoPositionUsers
bool AutoPositionUsers()
Automatically position users using 3D-sound.
Definition TeamTalk.cs:5251
BearWare.TeamTalkBase.SetSoundOutputVolume
bool SetSoundOutputVolume(int nVolume)
Set master volume.
Definition TeamTalk.cs:5209
BearWare.TeamTalkBase.GetSoundDeviceEffects
bool GetSoundDeviceEffects(ref SoundDeviceEffects lpSoundDeviceEffect)
Get the audio effects that are currently enabled.
Definition TeamTalk.cs:5089
BearWare.TeamTalkBase.GetSoundInputLevel
int GetSoundInputLevel()
Get the volume level of the current recorded audio.
Definition TeamTalk.cs:5109
BearWare.TeamTalkBase.SetUserPosition
bool SetUserPosition(int nUserID, StreamType nStreamType, float x, float y, float z)
Set the position of a user.
Definition TeamTalk.cs:7891
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:7825
BearWare.TeamTalkBase.TT_SAMPLERATES_MAX
const int TT_SAMPLERATES_MAX
Definition TeamTalk.cs:4286
BearWare.TeamTalkBase.SetUserAudioStreamBufferSize
bool SetUserAudioStreamBufferSize(int nUserID, StreamType uStreamType, int nMSec)
Change the amount of media data which can be buffered in the user's playback queue.
Definition TeamTalk.cs:8006
BearWare.TeamTalkBase.GetSoundDevices
static bool GetSoundDevices(out SoundDevice[] lpSoundDevices)
Retrieve list of sound devices for recording and playback.
Definition TeamTalk.cs:4730
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:4716
BearWare.TeamTalkBase.GetUserJitterControl
bool GetUserJitterControl(int nUserID, StreamType nStreamType, ref JitterConfig lpJitterConfig)
Get the de-jitter configuration for a user.
Definition TeamTalk.cs:7873
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:5171
BearWare.TeamTalkBase.AcquireUserAudioBlock
AudioBlock AcquireUserAudioBlock(StreamType uStreamTypes, int nUserID)
Extract the raw audio associated with the event TeamTalkBase.OnUserAudioBlock().
Definition TeamTalk.cs:8030
BearWare.TeamTalkBase.SetSoundOutputMute
bool SetSoundOutputMute(bool bMuteAll)
Set all users mute.
Definition TeamTalk.cs:5230
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:4950
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:4987
BearWare.TeamTalkBase.CloseSoundOutputDevice
bool CloseSoundOutputDevice()
Shutdown the output sound device.
Definition TeamTalk.cs:5032
BearWare.TeamTalkBase.InitSoundOutputDevice
bool InitSoundOutputDevice(int nOutputDeviceID)
Initialize the sound output device (for audio playback).
Definition TeamTalk.cs:4916
BearWare.TeamTalkBase.GetSoundInputGainLevel
int GetSoundInputGainLevel()
Get voice gain level of outgoing audio.
Definition TeamTalk.cs:5138
BearWare.TeamTalkBase.RestartSoundSystem
static bool RestartSoundSystem()
Reinitialize sound system (in order to detect new/removed devices).
Definition TeamTalk.cs:4754
BearWare.SoundSystem
SoundSystem
The supported sound systems.
Definition TeamTalk.cs:107
BearWare.TeamTalkBase.SetUserVolume
bool SetUserVolume(int nUserID, StreamType nStreamType, int nVolume)
Set the volume of a user.
Definition TeamTalk.cs:7794
BearWare.SoundDeviceFeature
SoundDeviceFeature
Features available on a sound device. Checkout uSoundDeviceFeatures on BearWare.SoundDevice.
Definition TeamTalk.cs:166
BearWare.TeamTalkBase.GetSoundOutputVolume
int GetSoundOutputVolume()
Get master volume.
Definition TeamTalk.cs:5219
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:4801
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:5186
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:5198
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:5319
BearWare.TeamTalkBase.GetDefaultSoundDevices
static bool GetDefaultSoundDevices(ref int lpnInputDeviceID, ref int lpnOutputDeviceID)
Get the default sound devices.
Definition TeamTalk.cs:4707
BearWare.TeamTalkBase.SetUserJitterControl
bool SetUserJitterControl(int nUserID, StreamType nStreamType, JitterConfig lpJitterConfig)
Set the configuration for de-jitter measures for a user.
Definition TeamTalk.cs:7856
BearWare.TeamTalkBase.CloseSoundLoopbackTest
static bool CloseSoundLoopbackTest(IntPtr lpTTSoundLoop)
Stop recorder and playback test.
Definition TeamTalk.cs:4816
BearWare.TeamTalkBase.SetUserMute
bool SetUserMute(int nUserID, StreamType nStreamType, bool bMute)
Mute a user.
Definition TeamTalk.cs:7809
BearWare.TeamTalkBase.InitSoundInputDevice
bool InitSoundInputDevice(int nInputDeviceID)
Initialize the sound input device (for recording audio).
Definition TeamTalk.cs:4848
BearWare.TeamTalkBase.SetSoundInputGainLevel
bool SetSoundInputGainLevel(int nLevel)
Set voice gaining of recorded audio.
Definition TeamTalk.cs:5128
BearWare.TeamTalkBase.CloseSoundInputDevice
bool CloseSoundInputDevice()
Shutdown the input sound device.
Definition TeamTalk.cs:5010
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:4883
BearWare.TeamTalkBase.SetSoundDeviceEffects
bool SetSoundDeviceEffects(SoundDeviceEffects lpSoundDeviceEffect)
Set up audio effects on a sound device.
Definition TeamTalk.cs:5081
BearWare.SoundSystem.SOUNDSYSTEM_WINMM
@ SOUNDSYSTEM_WINMM
Windows legacy audio system. Should be used on Windows Mobile.
BearWare.SoundSystem.SOUNDSYSTEM_WASAPI
@ SOUNDSYSTEM_WASAPI
Windows Audio Session API (WASAPI). Should be used on Windows Vista/7/8/10.
BearWare.SoundSystem.SOUNDSYSTEM_DSOUND
@ SOUNDSYSTEM_DSOUND
DirectSound audio system. Should be used on Windows.
BearWare.SoundSystem.SOUNDSYSTEM_AUDIOUNIT
@ SOUNDSYSTEM_AUDIOUNIT
iOS sound API.
BearWare.SoundSystem.SOUNDSYSTEM_COREAUDIO
@ SOUNDSYSTEM_COREAUDIO
Core Audio. Should be used on MacOS.
BearWare.SoundSystem.SOUNDSYSTEM_AUDIOUNIT_IOS
@ SOUNDSYSTEM_AUDIOUNIT_IOS
Same as BearWare.SoundSystem.SOUNDSYSTEM_AUDIOUNIT.
BearWare.SoundSystem.SOUNDSYSTEM_PULSEAUDIO
@ SOUNDSYSTEM_PULSEAUDIO
PulseAudio API. PulseAudio is typically used on Ubuntu 22.
BearWare.SoundSystem.SOUNDSYSTEM_NONE
@ SOUNDSYSTEM_NONE
Sound system denoting invalid or not found.
BearWare.SoundSystem.SOUNDSYSTEM_ALSA
@ SOUNDSYSTEM_ALSA
Advanced Linux Sound Architecture (ALSA). Should be used on Linux.
BearWare.SoundSystem.SOUNDSYSTEM_OPENSLES_ANDROID
@ SOUNDSYSTEM_OPENSLES_ANDROID
Android sound API.
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_AEC
@ SOUNDDEVICEFEATURE_AEC
The BearWare.SoundDevice can enable Acoustic Echo Canceler (AEC). Enable AEC use property bEnableAEC ...
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE
@ SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE
The BearWare.SoundDevice is the default communication device. This feature is only supported on BearW...
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_AGC
@ SOUNDDEVICEFEATURE_AGC
The BearWare.SoundDevice can enable Automatic Gain Control (AGC). Enable AGC use property bEnableAGC ...
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_DUPLEXMODE
@ SOUNDDEVICEFEATURE_DUPLEXMODE
The BearWare.SoundDevice can run in duplex mode.
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_NONE
@ SOUNDDEVICEFEATURE_NONE
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_DENOISE
@ SOUNDDEVICEFEATURE_DENOISE
The BearWare.SoundDevice can enable denoising. Enable denoising use property bEnableDenoising on Bear...
BearWare.SoundDeviceFeature.SOUNDDEVICEFEATURE_3DPOSITION
@ SOUNDDEVICEFEATURE_3DPOSITION
The BearWare.SoundDevice can position user in 3D.
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:5545
BearWare.TeamTalkBase.GetVoiceActivationLevel
int GetVoiceActivationLevel()
Get voice activation level.
Definition TeamTalk.cs:5468
BearWare.TeamTalkBase.StopRecordingMuxedAudioFile
bool StopRecordingMuxedAudioFile(int nChannelID)
Stop recording conversations from a channel to a single file.
Definition TeamTalk.cs:5646
BearWare.TeamTalkBase.StopVideoCaptureTransmission
bool StopVideoCaptureTransmission()
Stop transmitting from video capture device.
Definition TeamTalk.cs:5682
BearWare.StreamType
StreamType
The types of streams which are available for transmission.
Definition TeamTalk.cs:45
BearWare.TeamTalkBase.InsertAudioBlock
bool InsertAudioBlock(AudioBlock lpAudioBlock)
Transmit application provided raw audio in BearWare.AudioBlock-structs as BearWare....
Definition TeamTalk.cs:5391
BearWare.TeamTalkBase.GetVoiceActivationStopDelay
int GetVoiceActivationStopDelay()
Get the delay of when voice active state should be disabled.
Definition TeamTalk.cs:5498
BearWare.TeamTalkBase.StopRecordingMuxedAudioFile
bool StopRecordingMuxedAudioFile()
Stop an active muxed audio recording.
Definition TeamTalk.cs:5635
BearWare.TeamTalkBase.StartVideoCaptureTransmission
bool StartVideoCaptureTransmission(VideoCodec lpVideoCodec)
Start transmitting from video capture device.
Definition TeamTalk.cs:5673
BearWare.TeamTalkBase.EnableVoiceTransmission
bool EnableVoiceTransmission(bool bEnable)
Start/stop transmitting of voice data from sound input.
Definition TeamTalk.cs:5413
BearWare.TeamTalkBase.EnableVoiceActivation
bool EnableVoiceActivation(bool bEnable)
Enable voice activation.
Definition TeamTalk.cs:5443
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:5574
BearWare.TeamTalkBase.SetVoiceActivationStopDelay
bool SetVoiceActivationStopDelay(int nDelayMSec)
Set the delay of when voice activation should be stopped.
Definition TeamTalk.cs:5484
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:5616
BearWare.TeamTalkBase.SetVoiceActivationLevel
bool SetVoiceActivationLevel(int nLevel)
Set voice activation level.
Definition TeamTalk.cs:5458
BearWare.StreamType.STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO
@ STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO
Stream type for audio of local playback.
BearWare.StreamType.STREAMTYPE_NONE
@ STREAMTYPE_NONE
No stream.
BearWare.StreamType.STREAMTYPE_DESKTOP
@ STREAMTYPE_DESKTOP
Desktop window stream type which is a window (or bitmap) being transmitted.
BearWare.StreamType.STREAMTYPE_CLASSROOM_ALL
@ STREAMTYPE_CLASSROOM_ALL
Shortcut to allow voice, media files, desktop, webcamera and channel messages.
BearWare.StreamType.STREAMTYPE_DESKTOPINPUT
@ STREAMTYPE_DESKTOPINPUT
Desktop input stream type which is keyboard or mouse input being transmitted.
BearWare.StreamType.STREAMTYPE_VOICE
@ STREAMTYPE_VOICE
Voice stream type which is audio recorded from a sound input device.
BearWare.StreamType.STREAMTYPE_VIDEOCAPTURE
@ STREAMTYPE_VIDEOCAPTURE
Video capture stream type which is video recorded from a webcam.
BearWare.StreamType.STREAMTYPE_CHANNELMSG
@ STREAMTYPE_CHANNELMSG
Channel text messages as stream type.
BearWare.StreamType.STREAMTYPE_MEDIAFILE
@ STREAMTYPE_MEDIAFILE
Shortcut to allow both audio and video media files.
BearWare.StreamType.STREAMTYPE_MEDIAFILE_AUDIO
@ STREAMTYPE_MEDIAFILE_AUDIO
Audio stream type from a media file which is being streamed.
BearWare.StreamType.STREAMTYPE_MEDIAFILE_VIDEO
@ STREAMTYPE_MEDIAFILE_VIDEO
Video stream type from a media file which is being streamed.
BearWare.TeamTalkBase.TT_CHANNELS_OPERATOR_MAX
const int TT_CHANNELS_OPERATOR_MAX
Definition TeamTalk.cs:4277
BearWare.TeamTalkBase.GetUserStatistics
bool GetUserStatistics(int nUserID, ref UserStatistics lpUserStatistics)
Get statistics for data and packet reception from a user.
Definition TeamTalk.cs:7762
BearWare.TeamTalkBase.GetMyUserRights
BearWare.UserRight GetMyUserRights()
Convenience method for TeamTalkBase.GetMyUserAccount()
Definition TeamTalk.cs:7723
BearWare.UserType
UserType
The types of users supported.
Definition TeamTalk.cs:2053
BearWare.TeamTalkBase.GetMyUserID
int GetMyUserID()
Get the local client instance's user ID.
Definition TeamTalk.cs:7672
BearWare.TeamTalkBase.GetMyUserAccount
bool GetMyUserAccount(ref UserAccount lpUserAccount)
Get the local client instance's BearWare.UserAccount.
Definition TeamTalk.cs:7687
BearWare.TeamTalkBase.UserID
int UserID
Same as GetMyUserID().
Definition TeamTalk.cs:7695
BearWare.TeamTalkBase.UserData
int UserData
Same as GetMyUserData().
Definition TeamTalk.cs:7745
BearWare.TeamTalkBase.GetMyUserType
UserType GetMyUserType()
Get the client instance's user type.
Definition TeamTalk.cs:7707
BearWare.TeamTalkBase.GetUser
bool GetUser(int nUserID, ref User lpUser)
Get the user with the specified ID.
Definition TeamTalk.cs:7753
BearWare.TeamTalkBase.GetUserByUsername
bool GetUserByUsername(string szUsername, ref User lpUser)
Get the user with the specified username.
Definition TeamTalk.cs:7774
BearWare.Subscription
Subscription
A user by default accepts audio, video and text messages from all users. Using subscribtions can,...
Definition TeamTalk.cs:2172
BearWare.UserState
UserState
The possible states for a user. Used for BearWare.User's uUserState variable.
Definition TeamTalk.cs:2238
BearWare.TeamTalkBase.UserRights
BearWare.UserRight UserRights
Same as GetMyUserRights().
Definition TeamTalk.cs:7720
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:7737
BearWare.TextMsgType
TextMsgType
Text message types.
Definition TeamTalk.cs:2467
BearWare.UserType.USERTYPE_NONE
@ USERTYPE_NONE
Used internally to denote an unauthenticated user.
BearWare.UserType.USERTYPE_DEFAULT
@ USERTYPE_DEFAULT
A default user who can join channels.
BearWare.UserType.USERTYPE_ADMIN
@ USERTYPE_ADMIN
A user with administrator privileges.
BearWare.Subscription.SUBSCRIBE_INTERCEPT_CUSTOM_MSG
@ SUBSCRIBE_INTERCEPT_CUSTOM_MSG
Intercept all custom text messages sent by user. Only user-type BearWare.UserType....
BearWare.Subscription.SUBSCRIBE_VOICE
@ SUBSCRIBE_VOICE
Subscribing to BearWare.StreamType.STREAMTYPE_VOICE.
BearWare.Subscription.SUBSCRIBE_DESKTOPINPUT
@ SUBSCRIBE_DESKTOPINPUT
Subscribing to BearWare.StreamType.STREAMTYPE_DESKTOPINPUT.
BearWare.Subscription.SUBSCRIBE_VIDEOCAPTURE
@ SUBSCRIBE_VIDEOCAPTURE
Subscribing to BearWare.StreamType.STREAMTYPE_VIDEOCAPTURE.
BearWare.Subscription.SUBSCRIBE_MEDIAFILE
@ SUBSCRIBE_MEDIAFILE
Subscribing to BearWare.StreamType.STREAMTYPE_MEDIAFILE_VIDEO and BearWare.StreamType....
BearWare.Subscription.SUBSCRIBE_INTERCEPT_MEDIAFILE
@ SUBSCRIBE_INTERCEPT_MEDIAFILE
Intercept all media file data sent by a user. Only user-type BearWare.UserType.USERTYPE_ADMIN can do ...
BearWare.Subscription.SUBSCRIBE_BROADCAST_MSG
@ SUBSCRIBE_BROADCAST_MSG
Subscribing to broadcast text messsages.
BearWare.Subscription.SUBSCRIBE_INTERCEPT_CHANNEL_MSG
@ SUBSCRIBE_INTERCEPT_CHANNEL_MSG
Intercept all channel messages sent by a user. Only user-type BearWare.UserType.USERTYPE_ADMIN can do...
BearWare.Subscription.SUBSCRIBE_DESKTOP
@ SUBSCRIBE_DESKTOP
Subscribing to BearWare.StreamType.STREAMTYPE_DESKTOP.
BearWare.Subscription.SUBSCRIBE_INTERCEPT_VIDEOCAPTURE
@ SUBSCRIBE_INTERCEPT_VIDEOCAPTURE
Intercept all video sent by a user. Only user-type BearWare.UserType.USERTYPE_ADMIN can do this....
BearWare.Subscription.SUBSCRIBE_INTERCEPT_USER_MSG
@ SUBSCRIBE_INTERCEPT_USER_MSG
Intercept all user text messages sent by a user. Only user-type BearWare.UserType....
BearWare.Subscription.SUBSCRIBE_CUSTOM_MSG
@ SUBSCRIBE_CUSTOM_MSG
Subscribing to custom user messages.
BearWare.Subscription.SUBSCRIBE_INTERCEPT_DESKTOP
@ SUBSCRIBE_INTERCEPT_DESKTOP
Intercept all desktop data sent by a user. Only user-type BearWare.UserType.USERTYPE_ADMIN can do thi...
BearWare.Subscription.SUBSCRIBE_CHANNEL_MSG
@ SUBSCRIBE_CHANNEL_MSG
Subscribing to channel texxt messages.
BearWare.Subscription.SUBSCRIBE_USER_MSG
@ SUBSCRIBE_USER_MSG
Subscribing to user text messages.
BearWare.Subscription.SUBSCRIBE_NONE
@ SUBSCRIBE_NONE
No subscriptions.
BearWare.Subscription.SUBSCRIBE_INTERCEPT_VOICE
@ SUBSCRIBE_INTERCEPT_VOICE
Intercept all voice sent by a user. Only user-type BearWare.UserType.USERTYPE_ADMIN can do this....
BearWare.UserState.USERSTATE_MUTE_MEDIAFILE
@ USERSTATE_MUTE_MEDIAFILE
If set the user's media file playback is muted.
BearWare.UserState.USERSTATE_MEDIAFILE_AUDIO
@ USERSTATE_MEDIAFILE_AUDIO
If set the user currently streams an audio file. If user is streaming a video file with audio then th...
BearWare.UserState.USERSTATE_VIDEOCAPTURE
@ USERSTATE_VIDEOCAPTURE
If set the user currently has an active video stream. If this flag changes the event BearWare....
BearWare.UserState.USERSTATE_MUTE_VOICE
@ USERSTATE_MUTE_VOICE
If set the user's voice is muted.
BearWare.UserState.USERSTATE_VOICE
@ USERSTATE_VOICE
If set the user is currently talking. If this flag changes the event BearWare.ClientEvent....
BearWare.UserState.USERSTATE_DESKTOP
@ USERSTATE_DESKTOP
If set the user currently has an active desktop session. If this flag changes the event BearWare....
BearWare.UserState.USERSTATE_MEDIAFILE
@ USERSTATE_MEDIAFILE
If set user is streaming a media file. If this flag changes the event BearWare.ClientEvent....
BearWare.UserState.USERSTATE_MEDIAFILE_VIDEO
@ USERSTATE_MEDIAFILE_VIDEO
If set the user currently streams a video file. If this flag changes the event BearWare....
BearWare.UserState.USERSTATE_NONE
@ USERSTATE_NONE
The user is in initial state.
BearWare.TextMsgType.MSGTYPE_CUSTOM
@ MSGTYPE_CUSTOM
A custom user to user text message. Works the same way as BearWare.TextMsgType BearWare....
BearWare.TextMsgType.MSGTYPE_USER
@ MSGTYPE_USER
A User to user text message. A message of this type can be sent across channels.
BearWare.TextMsgType.MSGTYPE_BROADCAST
@ MSGTYPE_BROADCAST
A broadcast message. Requires BearWare.UserRight.USERRIGHT_TEXTMESSAGE_BROADCAST.
BearWare.TextMsgType.MSGTYPE_CHANNEL
@ MSGTYPE_CHANNEL
A User to channel text message. Users of type BearWare.UserType.USERTYPE_DEFAULT can only send this t...
BearWare.TeamTalkBase.PaintVideoFrame
bool PaintVideoFrame(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight, ref VideoFrame lpVideoFrame)
Paint user's video frame using a Windows' DC (device context).
Definition TeamTalk.cs:5753
BearWare.TeamTalkBase.InitVideoCaptureDevice
bool InitVideoCaptureDevice(string szDeviceID, VideoFormat lpVideoFormat)
Initialize a video capture device.
Definition TeamTalk.cs:5726
BearWare.TeamTalkBase.ReleaseUserVideoCaptureFrame
bool ReleaseUserVideoCaptureFrame(VideoFrame lpVideoFrame)
Delete a user's video frame, acquired through TeamTalkBase.AcquireUserVideoCaptureFrame(),...
Definition TeamTalk.cs:5855
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's video frame using a Windows' DC (device context).
Definition TeamTalk.cs:5796
BearWare.TeamTalkBase.AcquireUserVideoCaptureFrame
VideoFrame AcquireUserVideoCaptureFrame(int nUserID, out Bitmap bmp)
Extract a user's video frame for display.
Definition TeamTalk.cs:5831
BearWare.TeamTalkBase.GetVideoCaptureDevices
static bool GetVideoCaptureDevices(out VideoCaptureDevice[] lpVideoDevices)
Get the list of devices available for video capture.
Definition TeamTalk.cs:5698
BearWare.TeamTalkBase.CloseVideoCaptureDevice
bool CloseVideoCaptureDevice()
Close a video capture device.
Definition TeamTalk.cs:5735
BearWare.FourCC
FourCC
The picture format used by a capture device.
Definition TeamTalk.cs:610
BearWare.TeamTalkBase.TT_VIDEOFORMATS_MAX
const int TT_VIDEOFORMATS_MAX
Definition TeamTalk.cs:4202
BearWare.FourCC.FOURCC_YUY2
@ FOURCC_YUY2
Image format where a 640x480 pixel images takes up 614.400 bytes.
BearWare.FourCC.FOURCC_NONE
@ FOURCC_NONE
Internal use to denote no supported formats.
BearWare.FourCC.FOURCC_I420
@ FOURCC_I420
Prefered image format with the lowest bandwidth usage. A 640x480 pixel image takes up 460....
BearWare.FourCC.FOURCC_RGB32
@ FOURCC_RGB32
The image format with the highest bandwidth usage. A 640x480 pixel images takes up 1....
BearWare
Definition modules-net.txt:2
BearWare.AbusePrevention
Properties to prevent server abuse.
Definition TeamTalk.cs:2073
BearWare.AbusePrevention.nCommandsLimit
int nCommandsLimit
Limit number of commands a user can send to the server.
Definition TeamTalk.cs:2083
BearWare.AbusePrevention.nCommandsIntervalMSec
int nCommandsIntervalMSec
Commands within given interval.
Definition TeamTalk.cs:2085
BearWare.AudioBlock
An audio block containing the raw audio from a user who was talking.
Definition TeamTalk.cs:483
BearWare.AudioBlock.nSamples
int nSamples
The number of samples in the raw audio array.
Definition TeamTalk.cs:497
BearWare.AudioBlock.uStreamTypes
StreamType uStreamTypes
The stream types used to generate the AudioBlock's raw audio.
Definition TeamTalk.cs:518
BearWare.AudioBlock.nSampleRate
int nSampleRate
The sample rate of the raw audio.
Definition TeamTalk.cs:489
BearWare.AudioBlock.uSampleIndex
uint uSampleIndex
The index of the first sample in lpRawAudio. Its value will be a multiple of nSamples....
Definition TeamTalk.cs:505
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:487
BearWare.AudioBlock.nChannels
int nChannels
The number of channels used (1 for mono, 2 for stereo).
Definition TeamTalk.cs:491
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:495
BearWare.AudioCodec
Struct used for specifying which audio codec a channel uses.
Definition TeamTalk.cs:1540
BearWare.AudioCodec.speex_vbr
SpeexVBRCodec speex_vbr
Speex codec settings if nCodec is BearWare.Codec.SPEEX_VBR_CODEC.
Definition TeamTalk.cs:1552
BearWare.AudioCodec.speex
SpeexCodec speex
Speex codec settings if nCodec is BearWare.Codec.SPEEX_CODEC.
Definition TeamTalk.cs:1548
BearWare.AudioCodec.nCodec
Codec nCodec
Specifies whether the member speex, speex_vbr or opus holds the codec settings.
Definition TeamTalk.cs:1544
BearWare.AudioCodec.opus
OpusCodec opus
Opus codec settings if nCodec is OPUS_CODEC.
Definition TeamTalk.cs:1556
BearWare.AudioConfigConstants
Definition TeamTalk.cs:1598
BearWare.AudioConfigConstants.DEFAULT_AGC_INC_MAXDB
const int DEFAULT_AGC_INC_MAXDB
Definition TeamTalk.cs:1600
BearWare.AudioConfigConstants.DEFAULT_AGC_GAINLEVEL
const int DEFAULT_AGC_GAINLEVEL
Definition TeamTalk.cs:1599
BearWare.AudioConfig
Audio configuration for clients in a channel.
Definition TeamTalk.cs:1574
BearWare.AudioConfig.AudioConfig
AudioConfig(bool set_defaults)
Definition TeamTalk.cs:1582
BearWare.AudioConfig.nGainLevel
int nGainLevel
Reference gain level to be used by all users.
Definition TeamTalk.cs:1580
BearWare.AudioConfig.bEnableAGC
bool bEnableAGC
Users should enable automatic gain control.
Definition TeamTalk.cs:1577
BearWare.AudioFormat
Struct describing the audio format used by a media file.
Definition TeamTalk.cs:590
BearWare.AudioFormat.nAudioFmt
AudioFileFormat nAudioFmt
The audio file format, e.g. wave or MP3.
Definition TeamTalk.cs:592
BearWare.AudioFormat.nSampleRate
int nSampleRate
Sample rate of media file.
Definition TeamTalk.cs:594
BearWare.AudioFormat.nChannels
int nChannels
Channels used by media file, mono = 1, stereo = 2.
Definition TeamTalk.cs:596
BearWare.AudioInputProgress
The progress of the audio currently being processed as audio input.
Definition TeamTalk.cs:1669
BearWare.AudioInputProgress.uElapsedMSec
uint uElapsedMSec
The duration of the audio that has been transmitted.
Definition TeamTalk.cs:1677
BearWare.AudioInputProgress.nStreamID
int nStreamID
The stream ID provided in the BearWare.AudioBlock.
Definition TeamTalk.cs:1671
BearWare.AudioInputProgress.uQueueMSec
uint uQueueMSec
The duration of the audio currently queued for transmission.
Definition TeamTalk.cs:1674
BearWare.AudioPreprocessor
Configure the audio preprocessor specified by nPreprocessor.
Definition TeamTalk.cs:1444
BearWare.AudioPreprocessor.webrtc
WebRTCAudioPreprocessor webrtc
Used when nPreprocessor is BearWare.AudioPreprocessorType.WEBRTC_AUDIOPREPROCESSOR.
Definition TeamTalk.cs:1456
BearWare.AudioPreprocessor.speexdsp
SpeexDSP speexdsp
Used when nPreprocessor is BearWare.AudioPreprocessorType.SPEEXDSP_AUDIOPREPROCESSOR.
Definition TeamTalk.cs:1450
BearWare.AudioPreprocessor.nPreprocessor
AudioPreprocessorType nPreprocessor
The audio preprocessor to use in the union of audio preprocessors.
Definition TeamTalk.cs:1447
BearWare.AudioPreprocessor.ttpreprocessor
TTAudioPreprocessor ttpreprocessor
Used when nPreprocessor is BearWare.AudioPreprocessorType.TEAMTALK_AUDIOPREPROCESSOR.
Definition TeamTalk.cs:1453
BearWare.BannedUser
A struct containing the properties of a banned user.
Definition TeamTalk.cs:2025
BearWare.BannedUser.szIPAddress
string szIPAddress
IP-address of banned user.
Definition TeamTalk.cs:2028
BearWare.BannedUser.szNickname
string szNickname
Nickname of banned user. Read-only property.
Definition TeamTalk.cs:2037
BearWare.BannedUser.szChannelPath
string szChannelPath
Channel where user was located when banned.
Definition TeamTalk.cs:2031
BearWare.BannedUser.szOwner
string szOwner
The username of the user who made the ban.
Definition TeamTalk.cs:2045
BearWare.BannedUser.szUsername
string szUsername
Username of banned user.
Definition TeamTalk.cs:2040
BearWare.BannedUser.uBanTypes
BanType uBanTypes
The type of ban that applies to this banned user.
Definition TeamTalk.cs:2042
BearWare.BannedUser.szBanTime
string szBanTime
Date and time when user was banned. Read-only property.
Definition TeamTalk.cs:2034
BearWare.Channel
A struct containing the properties of a channel.
Definition TeamTalk.cs:2571
BearWare.Channel.nTransmitUsersQueueDelayMSec
int nTransmitUsersQueueDelayMSec
Delay for switching to next active voice user in transmitUsersQueue.
Definition TeamTalk.cs:2682
BearWare.Channel.transmitUsersQueue
int[] transmitUsersQueue
The users currently queued for voice or media file transmission.
Definition TeamTalk.cs:2673
BearWare.Channel.AddTransmitUser
void AddTransmitUser(int nUserID, StreamType uStreamType)
Helper function for adding a user and BearWare.StreamType to transmitUsers.
Definition TeamTalk.cs:2696
BearWare.Channel.GetTransmitUserCount
int GetTransmitUserCount()
Get the number of users who can currently transmit to the BearWare.ChannelType.CHANNEL_CLASSROOM.
Definition TeamTalk.cs:2723
BearWare.Channel.audiocfg
AudioConfig audiocfg
The audio configuration which users who join the channel should use.
Definition TeamTalk.cs:2610
BearWare.Channel.RemoveTransmitUser
void RemoveTransmitUser(int nUserID, StreamType uStreamType)
Helper function for removing a BearWare.StreamType for a user in transmitUsers.
Definition TeamTalk.cs:2734
BearWare.Channel.nTimeOutTimerMediaFileMSec
int nTimeOutTimerMediaFileMSec
Time out timer for media file stream. The maximum time in miliseconds a user can transmit a media fil...
Definition TeamTalk.cs:2692
BearWare.Channel.bPassword
bool bPassword
Whether password is required to join channel. Read-only property.
Definition TeamTalk.cs:2591
BearWare.Channel.szPassword
string szPassword
Password to join the channel. When extracted through TeamTalkBase.GetChannel() the password will only...
Definition TeamTalk.cs:2588
BearWare.Channel.nDiskQuota
long nDiskQuota
Number of bytes available for file storage.
Definition TeamTalk.cs:2599
BearWare.Channel.transmitUsers
int[] transmitUsers
List of users who can transmit in a channel.
Definition TeamTalk.cs:2667
BearWare.Channel.GetTransmitStreamTypes
StreamType GetTransmitStreamTypes(int nUserID)
Helper function for getting the BearWare.StreamType a user can transmit by querying transmitUsers.
Definition TeamTalk.cs:2712
BearWare.Channel.szTopic
string szTopic
Topic of the channel.
Definition TeamTalk.cs:2583
BearWare.Channel.audiocodec
AudioCodec audiocodec
The audio codec used by users in the channel.
Definition TeamTalk.cs:2607
BearWare.Channel.nUserData
int nUserData
User specific data which will be stored on persistent storage on the server if the channel type is Be...
Definition TeamTalk.cs:2597
BearWare.Channel.nTimeOutTimerVoiceMSec
int nTimeOutTimerVoiceMSec
Time out timer for voice stream. The maximum time in miliseconds a user can transmit voice without ch...
Definition TeamTalk.cs:2687
BearWare.Channel.szOpPassword
string szOpPassword
Password to become channel operator.
Definition TeamTalk.cs:2603
BearWare.Channel.nParentID
int nParentID
Parent channel ID. 0 means no parent channel, i.e. it's the root channel.
Definition TeamTalk.cs:2574
BearWare.Channel.nChannelID
int nChannelID
The channel's ID. A value from 1 - BearWare.TeamTalkBase.TT_CHANNELID_MAX.
Definition TeamTalk.cs:2577
BearWare.Channel.uChannelType
ChannelType uChannelType
A bitmask of the type of channel based on BearWare.ChannelType.
Definition TeamTalk.cs:2593
BearWare.Channel.nMaxUsers
int nMaxUsers
Max number of users in channel.
Definition TeamTalk.cs:2605
BearWare.Channel.szName
string szName
Name of the channel.
Definition TeamTalk.cs:2580
BearWare.ClientErrorMsg
Definition TeamTalk.cs:3334
BearWare.ClientErrorMsg.szErrorMsg
string szErrorMsg
Text message describing the error.
Definition TeamTalk.cs:3339
BearWare.ClientErrorMsg.nErrorNo
int nErrorNo
Error number based on BearWare.ClientError.
Definition TeamTalk.cs:3336
BearWare.ClientKeepAlive
Control timers for sending keep alive information to the server.
Definition TeamTalk.cs:2892
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:2934
BearWare.ClientKeepAlive.nUdpKeepAliveRTXMSec
int nUdpKeepAliveRTXMSec
Client instance's interval for retransmitting UDP keep alive packets. If server hasn't responded to U...
Definition TeamTalk.cs:2919
BearWare.ClientKeepAlive.nUdpConnectRTXMSec
int nUdpConnectRTXMSec
Client instance's interval for retransmitting UDP connect packets. UDP connect packets are only sent ...
Definition TeamTalk.cs:2926
BearWare.ClientKeepAlive.nTcpKeepAliveIntervalMSec
int nTcpKeepAliveIntervalMSec
Client instance's interval between TeamTalkBase.DoPing() command. Read-only value....
Definition TeamTalk.cs:2907
BearWare.ClientKeepAlive.nUdpKeepAliveIntervalMSec
int nUdpKeepAliveIntervalMSec
Client instance's interval between sending UDP keep alive packets. The UDP keep alive packets are use...
Definition TeamTalk.cs:2913
BearWare.ClientKeepAlive.nConnectionLostMSec
int nConnectionLostMSec
The duration before the TeamTalk instance should consider the client/server connection lost.
Definition TeamTalk.cs:2903
BearWare.ClientStatistics
Statistics of bandwidth usage and ping times in the local client instance.
Definition TeamTalk.cs:2943
BearWare.ClientStatistics.nVoiceBytesRecv
long nVoiceBytesRecv
Voice data received (on UDP).
Definition TeamTalk.cs:2951
BearWare.ClientStatistics.nSoundInputDeviceDelayMSec
int nSoundInputDeviceDelayMSec
Delay of sound input device until the first audio frame is delivered (in msec).
Definition TeamTalk.cs:2993
BearWare.ClientStatistics.nVideoCaptureBytesRecv
long nVideoCaptureBytesRecv
Video data received (on UDP).
Definition TeamTalk.cs:2955
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:2975
BearWare.ClientStatistics.nUdpServerSilenceSec
int nUdpServerSilenceSec
The number of seconds nothing has been received by the client on UDP.
Definition TeamTalk.cs:2981
BearWare.ClientStatistics.nMediaFileVideoBytesSent
long nMediaFileVideoBytesSent
Video from media file data sent (on UDP).
Definition TeamTalk.cs:2961
BearWare.ClientStatistics.nMediaFileVideoBytesRecv
long nMediaFileVideoBytesRecv
Video from media file data received (on UDP).
Definition TeamTalk.cs:2963
BearWare.ClientStatistics.nMediaFileAudioBytesSent
long nMediaFileAudioBytesSent
Audio from media file data sent (on UDP).
Definition TeamTalk.cs:2957
BearWare.ClientStatistics.nVoiceBytesSent
long nVoiceBytesSent
Voice data sent (on UDP).
Definition TeamTalk.cs:2949
BearWare.ClientStatistics.nUdpBytesSent
long nUdpBytesSent
Bytes sent on UDP.
Definition TeamTalk.cs:2945
BearWare.ClientStatistics.nMediaFileAudioBytesRecv
long nMediaFileAudioBytesRecv
Audio from media file data received (on UDP).
Definition TeamTalk.cs:2959
BearWare.ClientStatistics.nVideoCaptureBytesSent
long nVideoCaptureBytesSent
Video data sent (on UDP).
Definition TeamTalk.cs:2953
BearWare.ClientStatistics.nTcpServerSilenceSec
int nTcpServerSilenceSec
The number of seconds nothing has been received by the client on TCP.
Definition TeamTalk.cs:2978
BearWare.ClientStatistics.nUdpBytesRecv
long nUdpBytesRecv
Bytes received on UDP.
Definition TeamTalk.cs:2947
BearWare.ClientStatistics.nDesktopBytesSent
long nDesktopBytesSent
Desktop data sent (on UDP).
Definition TeamTalk.cs:2965
BearWare.ClientStatistics.nDesktopBytesRecv
long nDesktopBytesRecv
Desktop data received (on UDP).
Definition TeamTalk.cs:2967
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:2971
BearWare.DesktopInputConstants
Constants for BearWare.DesktopInput.
Definition TeamTalk.cs:860
BearWare.DesktopInput
A struct containing a mouse or keyboard event.
Definition TeamTalk.cs:822
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:826
BearWare.DesktopInput.uKeyCode
uint uKeyCode
The key-code (or mouse button) pressed. If used with TeamTalkBase.DesktopInput_Execute() and no key (...
Definition TeamTalk.cs:836
BearWare.DesktopInput.DesktopInput
DesktopInput(bool set_defaults)
When true initializes the desktop input to ignore mouse and key values.
Definition TeamTalk.cs:841
BearWare.DesktopInput.uMousePosY
ushort uMousePosY
The Y coordinate of the mouse. If used with TeamTalkBase.DesktopInput_Execute() and the mouse positio...
Definition TeamTalk.cs:830
BearWare.DesktopInput.uKeyState
DesktopKeyState uKeyState
The state of the key (or mouse button) pressed, i.e. if it's up or down.
Definition TeamTalk.cs:839
BearWare.DesktopWindow
A struct containing the properties of a shared desktop window.
Definition TeamTalk.cs:774
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:790
BearWare.DesktopWindow.nWidth
int nWidth
The width in pixels of the bitmap.
Definition TeamTalk.cs:776
BearWare.DesktopWindow.nProtocol
DesktopProtocol nProtocol
The desktop protocol used for transmitting the desktop window.
Definition TeamTalk.cs:792
BearWare.DesktopWindow.nBytesPerLine
int nBytesPerLine
The number of bytes for each scan-line in the bitmap. Zero means 4-byte aligned.
Definition TeamTalk.cs:783
BearWare.DesktopWindow.frameBuffer
IntPtr frameBuffer
A buffer pointing to the bitmap data (often refered to as Scan0).
Definition TeamTalk.cs:794
BearWare.DesktopWindow.nFrameBufferSize
int nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer. Typically nBytesPerLine * nHeight.
Definition TeamTalk.cs:797
BearWare.DesktopWindow.bmpFormat
BitmapFormat bmpFormat
The format of the bitmap.
Definition TeamTalk.cs:780
BearWare.DesktopWindow.nHeight
int nHeight
The height in pixels of the bitmap.
Definition TeamTalk.cs:778
BearWare.EncryptionContext
Configure peer verification for encrypted connection.
Definition TeamTalk.cs:2834
BearWare.EncryptionContext.szCAFile
string szCAFile
Path to Certificate Authority (CA) Certificate in PEM format.
Definition TeamTalk.cs:2850
BearWare.EncryptionContext.bVerifyClientOnce
bool bVerifyClientOnce
Whether to only verify client's certificate once during initial connection.
Definition TeamTalk.cs:2872
BearWare.EncryptionContext.nVerifyDepth
int nVerifyDepth
Set limit to depth in the certificate chain during the verification procedure.
Definition TeamTalk.cs:2880
BearWare.EncryptionContext.szCertificateFile
string szCertificateFile
Path to SSL certificate in PEM format.
Definition TeamTalk.cs:2841
BearWare.EncryptionContext.szPrivateKeyFile
string szPrivateKeyFile
Path to certificate's private key.
Definition TeamTalk.cs:2844
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:2861
BearWare.EncryptionContext.szCADir
string szCADir
Path to directory containing Certificate Authority (CA) Certificates in PEM format.
Definition TeamTalk.cs:2854
BearWare.FileTransfer
A struct containing the properties of a file transfer.
Definition TeamTalk.cs:2778
BearWare.FileTransfer.bInbound
bool bInbound
TRUE if download and FALSE if upload.
Definition TeamTalk.cs:2796
BearWare.FileTransfer.nStatus
FileTransferStatus nStatus
Status of file transfer.
Definition TeamTalk.cs:2780
BearWare.FileTransfer.szRemoteFileName
string szRemoteFileName
The filename in the channel.
Definition TeamTalk.cs:2790
BearWare.FileTransfer.szLocalFilePath
string szLocalFilePath
The file path on local disk.
Definition TeamTalk.cs:2787
BearWare.FileTransfer.nTransferred
long nTransferred
The number of bytes transferred so far.
Definition TeamTalk.cs:2794
BearWare.FileTransfer.nFileSize
long nFileSize
The size of the file being transferred.
Definition TeamTalk.cs:2792
BearWare.FileTransfer.nTransferID
int nTransferID
The ID identifying the file transfer.
Definition TeamTalk.cs:2782
BearWare.FileTransfer.nChannelID
int nChannelID
The channel where the file is/will be located.
Definition TeamTalk.cs:2784
BearWare.JitterConfig
Configuration parameters for the Jitter Buffer.
Definition TeamTalk.cs:3003
BearWare.JitterConfig.nMaxAdaptiveDelayMSec
int nMaxAdaptiveDelayMSec
A hard maximum delay on the adaptive delay. Only valid when higher than zero. Default = 0.
Definition TeamTalk.cs:3010
BearWare.JitterConfig.nActiveAdaptiveDelayMSec
int nActiveAdaptiveDelayMSec
The current adaptive delay. When used with TeamTalkBase.SetUserJitterControl(), this value is used as...
Definition TeamTalk.cs:3017
BearWare.JitterConfig.bUseAdativeDejitter
bool bUseAdativeDejitter
Turns adaptive jitter buffering ON/OFF. Default is OFF.
Definition TeamTalk.cs:3007
BearWare.JitterConfig.nFixedDelayMSec
int nFixedDelayMSec
The fixed delay in milliseconds. Default = 0.
Definition TeamTalk.cs:3005
BearWare.MediaFileInfo
Struct describing the audio and video format used by a media file.
Definition TeamTalk.cs:1627
BearWare.MediaFileInfo.uElapsedMSec
uint uElapsedMSec
The elapsed time of the media file in miliseconds.
Definition TeamTalk.cs:1641
BearWare.MediaFileInfo.audioFmt
AudioFormat audioFmt
The audio properties of the media file.
Definition TeamTalk.cs:1635
BearWare.MediaFileInfo.videoFmt
VideoFormat videoFmt
The video properties of the media file.
Definition TeamTalk.cs:1637
BearWare.MediaFileInfo.szFileName
string szFileName
Name of file.
Definition TeamTalk.cs:1633
BearWare.MediaFileInfo.uDurationMSec
uint uDurationMSec
The duration of the media file in miliseconds.
Definition TeamTalk.cs:1639
BearWare.MediaFileInfo.nStatus
MediaFileStatus nStatus
Status of media file if it's being saved to disk.
Definition TeamTalk.cs:1630
BearWare.MediaFilePlayback
Properties for initializing or updating a file for media streaming.
Definition TeamTalk.cs:1653
BearWare.MediaFilePlayback.uOffsetMSec
uint uOffsetMSec
Offset in milliseconds in the media file where to start playback. Pass BearWare.TeamTalkBase....
Definition TeamTalk.cs:1658
BearWare.MediaFilePlayback.audioPreprocessor
AudioPreprocessor audioPreprocessor
Option to activate audio preprocessor on local media file playback.
Definition TeamTalk.cs:1662
BearWare.MediaFilePlayback.bPaused
bool bPaused
Start or pause media file playback.
Definition TeamTalk.cs:1660
BearWare.OpusCodec
OPUS audio codec settings. For detailed information about the OPUS codec check out http://www....
Definition TeamTalk.cs:1049
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:1087
BearWare.OpusCodec.bFEC
bool bFEC
Forward error correction. Corrects errors if there's packetloss.
Definition TeamTalk.cs:1064
BearWare.OpusCodec.bVBR
bool bVBR
Enable variable bitrate.
Definition TeamTalk.cs:1073
BearWare.OpusCodec.nComplexity
int nComplexity
Complexity of encoding (affects CPU usage). Value from 0-10.
Definition TeamTalk.cs:1061
BearWare.OpusCodec.bDTX
bool bDTX
Discontinuous transmission. Enables "null" packets during silence.
Definition TeamTalk.cs:1067
BearWare.OpusCodec.nSampleRate
int nSampleRate
The sample rate to use. Sample rate must be 8000, 12000, 16000, 24000 or 48000 Hz.
Definition TeamTalk.cs:1052
BearWare.OpusCodec.nApplication
int nApplication
Application of encoded audio, VoIP or music.
Definition TeamTalk.cs:1058
BearWare.OpusCodec.bVBRConstraint
bool bVBRConstraint
Enable constrained VBR. bVBR must be enabled to enable this.
Definition TeamTalk.cs:1076
BearWare.OpusCodec.nTxIntervalMSec
int nTxIntervalMSec
Duration of audio before each transmission. Minimum is 2 msec. Recommended is 40 msec....
Definition TeamTalk.cs:1083
BearWare.OpusCodec.nBitRate
int nBitRate
Bitrate for encoded audio. Should be between BearWare.OpusConstants.OPUS_MIN_BITRATE and BearWare....
Definition TeamTalk.cs:1071
BearWare.OpusCodec.nChannels
int nChannels
Mono = 1 or stereo = 2.
Definition TeamTalk.cs:1054
BearWare.OpusConstants
OPUS constants for BearWare.OpusCodec.
Definition TeamTalk.cs:1092
BearWare.OpusConstants.DEFAULT_OPUS_FEC
const bool DEFAULT_OPUS_FEC
Definition TeamTalk.cs:1121
BearWare.OpusConstants.DEFAULT_OPUS_COMPLEXITY
const int DEFAULT_OPUS_COMPLEXITY
Definition TeamTalk.cs:1120
BearWare.OpusConstants.DEFAULT_OPUS_VBR
const bool DEFAULT_OPUS_VBR
Definition TeamTalk.cs:1123
BearWare.OpusConstants.DEFAULT_OPUS_VBRCONSTRAINT
const bool DEFAULT_OPUS_VBRCONSTRAINT
Definition TeamTalk.cs:1124
BearWare.OpusConstants.DEFAULT_OPUS_APPLICATION
const int DEFAULT_OPUS_APPLICATION
Definition TeamTalk.cs:1117
BearWare.OpusConstants.OPUS_MIN_FRAMESIZE
const int OPUS_MIN_FRAMESIZE
The minimum frame size for OPUS codec. Checkout nFrameSizeMSec of BearWare.OpusCodec.
Definition TeamTalk.cs:1108
BearWare.OpusConstants.DEFAULT_OPUS_CHANNELS
const int DEFAULT_OPUS_CHANNELS
Definition TeamTalk.cs:1119
BearWare.OpusConstants.DEFAULT_OPUS_DTX
const bool DEFAULT_OPUS_DTX
Definition TeamTalk.cs:1122
BearWare.OpusConstants.OPUS_MAX_BITRATE
const int OPUS_MAX_BITRATE
The maximum bitrate for OPUS codec. Checkout nBitRate of BearWare.OpusCodec.
Definition TeamTalk.cs:1104
BearWare.OpusConstants.DEFAULT_OPUS_DELAY
const int DEFAULT_OPUS_DELAY
Definition TeamTalk.cs:1126
BearWare.OpusConstants.OPUS_REALMAX_FRAMESIZE
const int OPUS_REALMAX_FRAMESIZE
The real maximum frame size for OPUS codec. Checkout nFrameSizeMSec of BearWare.OpusCodec....
Definition TeamTalk.cs:1115
BearWare.OpusConstants.OPUS_MAX_FRAMESIZE
const int OPUS_MAX_FRAMESIZE
The maximum frame size for OPUS codec. Checkout nFrameSizeMSec of BearWare.OpusCodec.
Definition TeamTalk.cs:1111
BearWare.OpusConstants.DEFAULT_OPUS_SAMPLERATE
const int DEFAULT_OPUS_SAMPLERATE
Definition TeamTalk.cs:1118
BearWare.OpusConstants.OPUS_APPLICATION_AUDIO
const int OPUS_APPLICATION_AUDIO
Audio encoding is for music. This value should be set as nApplicaton in BearWare.OpusCodec.
Definition TeamTalk.cs:1098
BearWare.OpusConstants.OPUS_MIN_BITRATE
const int OPUS_MIN_BITRATE
The minimum bitrate for OPUS codec. Checkout nBitRate of BearWare.OpusCodec.
Definition TeamTalk.cs:1101
BearWare.OpusConstants.DEFAULT_OPUS_BITRATE
const int DEFAULT_OPUS_BITRATE
Definition TeamTalk.cs:1125
BearWare.OpusConstants.OPUS_APPLICATION_VOIP
const int OPUS_APPLICATION_VOIP
Audio encoding is for VoIP. This value should be set as nApplicaton in BearWare.OpusCodec.
Definition TeamTalk.cs:1095
BearWare.RemoteFile
A struct containing the properties of a file in a BearWare.Channel.
Definition TeamTalk.cs:2804
BearWare.RemoteFile.nChannelID
int nChannelID
The ID of the channel where the file is located.
Definition TeamTalk.cs:2806
BearWare.RemoteFile.nFileSize
long nFileSize
The size of the file.
Definition TeamTalk.cs:2813
BearWare.RemoteFile.szUploadTime
string szUploadTime
Time when file was uploaded. Date/time is converted local time.
Definition TeamTalk.cs:2820
BearWare.RemoteFile.szFileName
string szFileName
The name of the file.
Definition TeamTalk.cs:2811
BearWare.RemoteFile.nFileID
int nFileID
The ID identifying the file.
Definition TeamTalk.cs:2808
BearWare.RemoteFile.szUsername
string szUsername
Username of the person who uploaded the files.
Definition TeamTalk.cs:2816
BearWare.ServerProperties
A struct containing the properties of the server's settings.
Definition TeamTalk.cs:1860
BearWare.ServerProperties.nMaxMediaFileTxPerSecond
int nMaxMediaFileTxPerSecond
The maximum number of bytes per second which the server will allow for media file packets....
Definition TeamTalk.cs:1899
BearWare.ServerProperties.nUserTimeout
int nUserTimeout
The number of seconds before a user who hasn't responded to keepalives will be kicked off the server.
Definition TeamTalk.cs:1916
BearWare.ServerProperties.bAutoSave
bool bAutoSave
Whether the server automatically saves changes.
Definition TeamTalk.cs:1909
BearWare.ServerProperties.szServerProtocolVersion
string szServerProtocolVersion
The version of the server's protocol.
Definition TeamTalk.cs:1922
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:1886
BearWare.ServerProperties.uServerLogEvents
ServerLogEvent uServerLogEvents
The events that are logged on the server.
Definition TeamTalk.cs:1942
BearWare.ServerProperties.szAccessToken
string szAccessToken
A randomly generated 256 bit access token created by the server to identify the login session....
Definition TeamTalk.cs:1936
BearWare.ServerProperties.nMaxDesktopTxPerSecond
int nMaxDesktopTxPerSecond
The maximum number of bytes per second which the server will allow for desktop packets....
Definition TeamTalk.cs:1903
BearWare.ServerProperties.nUdpPort
int nUdpPort
The server's UDP port.
Definition TeamTalk.cs:1913
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:1931
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:1907
BearWare.ServerProperties.szServerName
string szServerName
The server's name.
Definition TeamTalk.cs:1863
BearWare.ServerProperties.nMaxLoginAttempts
int nMaxLoginAttempts
The maximum number of logins with wrong password before banning user's IP-address.
Definition TeamTalk.cs:1883
BearWare.ServerProperties.szMOTD
string szMOTD
The message of the day. Read-only property. Use szMOTDRaw to update this property.
Definition TeamTalk.cs:1867
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:1877
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:1880
BearWare.ServerProperties.nTcpPort
int nTcpPort
The server's TCP port.
Definition TeamTalk.cs:1911
BearWare.ServerProperties.szServerVersion
string szServerVersion
The server version.
Definition TeamTalk.cs:1919
BearWare.ServerProperties.nMaxVoiceTxPerSecond
int nMaxVoiceTxPerSecond
The maximum number of bytes per second which the server will allow for voice packets....
Definition TeamTalk.cs:1890
BearWare.ServerProperties.nMaxVideoCaptureTxPerSecond
int nMaxVideoCaptureTxPerSecond
The maximum number of bytes per second which the server will allow for video input packets....
Definition TeamTalk.cs:1895
BearWare.ServerStatistics
A struct containing the server's statistics, i.e. bandwidth usage and user activity.
Definition TeamTalk.cs:1954
BearWare.ServerStatistics.nMediaFileBytesTX
long nMediaFileBytesTX
The number of bytes in media file packets sent from the server to clients.
Definition TeamTalk.cs:1975
BearWare.ServerStatistics.nVideoCaptureBytesTX
long nVideoCaptureBytesTX
The number of bytes in video packets sent from the server to clients.
Definition TeamTalk.cs:1969
BearWare.ServerStatistics.nFilesRx
long nFilesRx
The number of bytes for file transmission received by the server.
Definition TeamTalk.cs:1994
BearWare.ServerStatistics.nDesktopBytesTX
long nDesktopBytesTX
The number of bytes in desktop packets sent from the server to clients.
Definition TeamTalk.cs:1981
BearWare.ServerStatistics.nFilesTx
long nFilesTx
The number of bytes for file transmission transmitted from the server.
Definition TeamTalk.cs:1991
BearWare.ServerStatistics.nUptimeMSec
long nUptimeMSec
The server's uptime in msec.
Definition TeamTalk.cs:1996
BearWare.ServerStatistics.nVoiceBytesRX
long nVoiceBytesRX
The number of bytes in audio packets received by the server from clients.
Definition TeamTalk.cs:1966
BearWare.ServerStatistics.nUsersServed
int nUsersServed
The number of users who have logged on to the server.
Definition TeamTalk.cs:1986
BearWare.ServerStatistics.nTotalBytesRX
long nTotalBytesRX
The number of bytes received by the server from clients.
Definition TeamTalk.cs:1960
BearWare.ServerStatistics.nTotalBytesTX
long nTotalBytesTX
The number of bytes sent from the server to clients.
Definition TeamTalk.cs:1957
BearWare.ServerStatistics.nVideoCaptureBytesRX
long nVideoCaptureBytesRX
The number of bytes in video packets received by the server from clients.
Definition TeamTalk.cs:1972
BearWare.ServerStatistics.nDesktopBytesRX
long nDesktopBytesRX
The number of bytes in desktop packets received by the server from clients.
Definition TeamTalk.cs:1984
BearWare.ServerStatistics.nVoiceBytesTX
long nVoiceBytesTX
The number of bytes in audio packets sent from the server to clients.
Definition TeamTalk.cs:1963
BearWare.ServerStatistics.nMediaFileBytesRX
long nMediaFileBytesRX
The number of bytes in media file packets received by the server from clients.
Definition TeamTalk.cs:1978
BearWare.ServerStatistics.nUsersPeak
int nUsersPeak
The highest numbers of users online.
Definition TeamTalk.cs:1988
BearWare.ShareWindow
A struct which describes the properties of a window which can be shared.
Definition TeamTalk.cs:9155
BearWare.ShareWindow.hWnd
IntPtr hWnd
The Windows handle of the window.
Definition TeamTalk.cs:9157
BearWare.ShareWindow.szWindowTitle
string szWindowTitle
The title of the window.
Definition TeamTalk.cs:9168
BearWare.ShareWindow.nWndX
int nWndX
X coordinate of the window relative to the Windows desktop.
Definition TeamTalk.cs:9159
BearWare.ShareWindow.nHeight
int nHeight
The height in pixels of the window.
Definition TeamTalk.cs:9165
BearWare.ShareWindow.nWndY
int nWndY
Y coordinate of the window relative to the Windows desktop.
Definition TeamTalk.cs:9161
BearWare.ShareWindow.nWidth
int nWidth
The width in pixels of the window.
Definition TeamTalk.cs:9163
BearWare.SoundDeviceConstants
IDs for sound devices.
Definition TeamTalk.cs:345
BearWare.SoundDeviceConstants.TT_SOUNDDEVICE_ID_OPENSLES_VOICECOM
const int TT_SOUNDDEVICE_ID_OPENSLES_VOICECOM
Sound device ID for Android OpenSL ES voice communication mode. This device uses the OpenSL ES' Andro...
Definition TeamTalk.cs:364
BearWare.SoundDeviceConstants.TT_SOUNDDEVICE_ID_OPENSLES_DEFAULT
const int TT_SOUNDDEVICE_ID_OPENSLES_DEFAULT
Sound device ID for Android OpenSL ES default audio device. Note that this sound device may also exis...
Definition TeamTalk.cs:359
BearWare.SoundDeviceConstants.TT_SOUNDDEVICE_ID_TEAMTALK_VIRTUAL
const int TT_SOUNDDEVICE_ID_TEAMTALK_VIRTUAL
Sound device ID for virtual TeamTalk sound device.
Definition TeamTalk.cs:373
BearWare.SoundDeviceConstants.TT_SOUNDDEVICE_ID_MASK
const uint TT_SOUNDDEVICE_ID_MASK
Extract sound device ID of nDeviceID in BearWare.SoundDevice by and'ing this value.
Definition TeamTalk.cs:395
BearWare.SoundDeviceConstants.TT_SOUNDDEVICE_ID_VOICEPREPROCESSINGIO
const int TT_SOUNDDEVICE_ID_VOICEPREPROCESSINGIO
Sound device ID for iOS AudioUnit subtype Voice-Processing I/O Unit. This sound device ID include the...
Definition TeamTalk.cs:354
BearWare.SoundDeviceConstants.TT_SOUNDDEVICE_ID_SHARED_FLAG
const uint TT_SOUNDDEVICE_ID_SHARED_FLAG
Flag/bit in nDeviceID telling if the BearWare.SoundDevice is a shared version of an existing sound de...
Definition TeamTalk.cs:389
BearWare.SoundDeviceConstants.TT_SOUNDDEVICE_ID_REMOTEIO
const int TT_SOUNDDEVICE_ID_REMOTEIO
Sound device ID for iOS AudioUnit subtype Remote I/O Unit.
Definition TeamTalk.cs:348
BearWare.SoundDeviceEffects
Set up audio effects supported by the sound device.
Definition TeamTalk.cs:290
BearWare.SoundDeviceEffects.bEnableEchoCancellation
bool bEnableEchoCancellation
Enable echo cancellation.
Definition TeamTalk.cs:339
BearWare.SoundDeviceEffects.bEnableAGC
bool bEnableAGC
Enable Automatic Gain Control.
Definition TeamTalk.cs:306
BearWare.SoundDeviceEffects.bEnableDenoise
bool bEnableDenoise
Enable noise suppression.
Definition TeamTalk.cs:323
BearWare.SoundDevice
A struct containing the properties of a sound device for either playback or recording.
Definition TeamTalk.cs:218
BearWare.SoundDevice.nWaveDeviceID
int nWaveDeviceID
A Windows specific ID to the sound device.
Definition TeamTalk.cs:252
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:235
BearWare.SoundDevice.bSupports3D
bool bSupports3D
Whether the sound device supports 3D-sound effects.
Definition TeamTalk.cs:255
BearWare.SoundDevice.uSoundDeviceFeatures
SoundDeviceFeature uSoundDeviceFeatures
Additional features available for this sound device. The sound device features can be used to enable ...
Definition TeamTalk.cs:277
BearWare.SoundDevice.inputSampleRates
int[] inputSampleRates
Supported sample rates by device for recording. A zero value terminates the list of supported sample ...
Definition TeamTalk.cs:264
BearWare.SoundDevice.nDefaultSampleRate
int nDefaultSampleRate
The default sample rate for the sound device.
Definition TeamTalk.cs:271
BearWare.SoundDevice.nMaxInputChannels
int nMaxInputChannels
The maximum number of input channels.
Definition TeamTalk.cs:257
BearWare.SoundDevice.nSoundSystem
SoundSystem nSoundSystem
The sound system used by the sound device.
Definition TeamTalk.cs:226
BearWare.SoundDevice.nDeviceID
int nDeviceID
The ID of the sound device. Used for passing to TeamTalkBase.InitSoundInputDevice() and TeamTalkBase....
Definition TeamTalk.cs:224
BearWare.SoundDevice.szDeviceName
string szDeviceName
The name of the sound device.
Definition TeamTalk.cs:229
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:269
BearWare.SoundDevice.nMaxOutputChannels
int nMaxOutputChannels
The maximum number of output channels.
Definition TeamTalk.cs:259
BearWare.SoundLevel
An enum encapsulation the minimum, maximum and default sound levels for input and output sound device...
Definition TeamTalk.cs:402
BearWare.SoundLevel.SOUND_VU_MAX
const int SOUND_VU_MAX
The maximum value of recorded audio.
Definition TeamTalk.cs:408
BearWare.SoundLevel.SOUND_VOLUME_MAX
const int SOUND_VOLUME_MAX
The maximum volume.
Definition TeamTalk.cs:422
BearWare.SoundLevel.SOUND_GAIN_MIN
const int SOUND_GAIN_MIN
The minimum gain level (since it's zero it means silence).
Definition TeamTalk.cs:464
BearWare.SoundLevel.SOUND_VOLUME_MIN
const int SOUND_VOLUME_MIN
The minimum volume.
Definition TeamTalk.cs:436
BearWare.SoundLevel.SOUND_VU_MIN
const int SOUND_VU_MIN
The minimum value of recorded audio.
Definition TeamTalk.cs:414
BearWare.SoundLevel.SOUND_GAIN_DEFAULT
const int SOUND_GAIN_DEFAULT
The default gain level.
Definition TeamTalk.cs:455
BearWare.SoundLevel.SOUND_GAIN_MAX
const int SOUND_GAIN_MAX
The maximum gain level.
Definition TeamTalk.cs:445
BearWare.SoundLevel.SOUND_VOLUME_DEFAULT
const int SOUND_VOLUME_DEFAULT
The default volume. Use this whenever possible since it requires the least amount of CPU usage.
Definition TeamTalk.cs:430
BearWare.SpeexCodec
Speex audio codec settings for Constant Bitrate mode (CBR).
Definition TeamTalk.cs:918
BearWare.SpeexCodec.nQuality
int nQuality
A value from 1-10. As of DLL version 4.2 also 0 is supported.
Definition TeamTalk.cs:926
BearWare.SpeexCodec.nTxIntervalMSec
int nTxIntervalMSec
Milliseconds of audio data before each transmission.
Definition TeamTalk.cs:937
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:922
BearWare.SpeexCodec.bStereoPlayback
bool bStereoPlayback
Playback should be done in stereo.
Definition TeamTalk.cs:943
BearWare.SpeexConstants
Speex constants for BearWare.SpeexCodec and BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:993
BearWare.SpeexConstants.SPEEX_BANDMODE_UWIDE
const int SPEEX_BANDMODE_UWIDE
Use BearWare.SpeexCodec or BearWare.SpeexVBRCodec as 32 KHz.
Definition TeamTalk.cs:999
BearWare.SpeexConstants.DEFAULT_SPEEX_DTX
const bool DEFAULT_SPEEX_DTX
Default Speex DTX for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:1042
BearWare.SpeexConstants.SPEEX_NB_MAX_BITRATE
const int SPEEX_NB_MAX_BITRATE
The maximum bitrate for Speex codec in 8 KHz mode, i.e. quality set to 10.
Definition TeamTalk.cs:1009
BearWare.SpeexConstants.SPEEX_QUALITY_MAX
const int SPEEX_QUALITY_MAX
The maximum quality for Speex codec.
Definition TeamTalk.cs:1003
BearWare.SpeexConstants.SPEEX_QUALITY_MIN
const int SPEEX_QUALITY_MIN
The minimum quality for Speex codec.
Definition TeamTalk.cs:1001
BearWare.SpeexConstants.SPEEX_WB_MAX_BITRATE
const int SPEEX_WB_MAX_BITRATE
The maximum bitrate for Speex codec in 16 KHz mode, i.e. quality set to 10.
Definition TeamTalk.cs:1015
BearWare.SpeexConstants.SPEEX_WB_MIN_BITRATE
const int SPEEX_WB_MIN_BITRATE
The minimum bitrate for Speex codec in 16 KHz mode, i.e. quality set to 0.
Definition TeamTalk.cs:1012
BearWare.SpeexConstants.DEFAULT_SPEEX_DELAY
const int DEFAULT_SPEEX_DELAY
Default Speex delay for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:1030
BearWare.SpeexConstants.SPEEX_BANDMODE_NARROW
const int SPEEX_BANDMODE_NARROW
Use BearWare.SpeexCodec or BearWare.SpeexVBRCodec as 8 KHz.
Definition TeamTalk.cs:995
BearWare.SpeexConstants.SPEEX_UWB_MIN_BITRATE
const int SPEEX_UWB_MIN_BITRATE
The minimum bitrate for Speex codec in 32 KHz mode, i.e. quality set to 0.
Definition TeamTalk.cs:1018
BearWare.SpeexConstants.DEFAULT_SPEEX_BITRATE
const int DEFAULT_SPEEX_BITRATE
Default Speex bitrate for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:1036
BearWare.SpeexConstants.SPEEX_BANDMODE_WIDE
const int SPEEX_BANDMODE_WIDE
Use BearWare.SpeexCodec or BearWare.SpeexVBRCodec as 16 KHz.
Definition TeamTalk.cs:997
BearWare.SpeexConstants.SPEEX_UWB_MAX_BITRATE
const int SPEEX_UWB_MAX_BITRATE
The maximum bitrate for Speex codec in 32 KHz mode, i.e. quality set to 10.
Definition TeamTalk.cs:1021
BearWare.SpeexConstants.DEFAULT_SPEEX_MAXBITRATE
const int DEFAULT_SPEEX_MAXBITRATE
Default Speex max bitrate for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:1039
BearWare.SpeexConstants.DEFAULT_SPEEX_BANDMODE
const int DEFAULT_SPEEX_BANDMODE
Default Speex bandmode for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:1024
BearWare.SpeexConstants.DEFAULT_SPEEX_SIMSTEREO
const bool DEFAULT_SPEEX_SIMSTEREO
Default Speex stereo playback for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:1033
BearWare.SpeexConstants.DEFAULT_SPEEX_QUALITY
const int DEFAULT_SPEEX_QUALITY
Default Speex quality for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
Definition TeamTalk.cs:1027
BearWare.SpeexConstants.SPEEX_NB_MIN_BITRATE
const int SPEEX_NB_MIN_BITRATE
The minimum bitrate for Speex codec in 8 KHz mode, i.e. quality set to 0.
Definition TeamTalk.cs:1006
BearWare.SpeexDSPConstants
Default values for BearWare.SpeexDSP.
Definition TeamTalk.cs:1461
BearWare.SpeexDSPConstants.DEFAULT_DENOISE_SUPPRESS
const int DEFAULT_DENOISE_SUPPRESS
Definition TeamTalk.cs:1468
BearWare.SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS_ACTIVE
const int DEFAULT_ECHO_SUPPRESS_ACTIVE
Definition TeamTalk.cs:1471
BearWare.SpeexDSPConstants.DEFAULT_AGC_ENABLE
const bool DEFAULT_AGC_ENABLE
Definition TeamTalk.cs:1462
BearWare.SpeexDSPConstants.DEFAULT_ECHO_SUPPRESS
const int DEFAULT_ECHO_SUPPRESS
Definition TeamTalk.cs:1470
BearWare.SpeexDSPConstants.DEFAULT_AGC_DEC_MAXDB
const int DEFAULT_AGC_DEC_MAXDB
Definition TeamTalk.cs:1465
BearWare.SpeexDSPConstants.DEFAULT_ECHO_ENABLE
const bool DEFAULT_ECHO_ENABLE
Definition TeamTalk.cs:1469
BearWare.SpeexDSPConstants.DEFAULT_DENOISE_ENABLE
const bool DEFAULT_DENOISE_ENABLE
Definition TeamTalk.cs:1467
BearWare.SpeexDSPConstants.DEFAULT_AGC_INC_MAXDB
const int DEFAULT_AGC_INC_MAXDB
Definition TeamTalk.cs:1464
BearWare.SpeexDSPConstants.DEFAULT_AGC_GAINMAXDB
const int DEFAULT_AGC_GAINMAXDB
Definition TeamTalk.cs:1466
BearWare.SpeexDSPConstants.DEFAULT_AGC_GAINLEVEL
const int DEFAULT_AGC_GAINLEVEL
Definition TeamTalk.cs:1463
BearWare.SpeexDSP
Audio configuration specifying how recorded audio from sound input device should be preprocessed befo...
Definition TeamTalk.cs:1148
BearWare.SpeexDSP.SpeexDSP
SpeexDSP(bool set_defaults)
Definition TeamTalk.cs:1218
BearWare.SpeexDSP.nMaxDecDBSec
int nMaxDecDBSec
Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second)....
Definition TeamTalk.cs:1172
BearWare.SpeexDSP.bEnableDenoise
bool bEnableDenoise
Whether clients who join the channel should automatically enable denoising.
Definition TeamTalk.cs:1181
BearWare.SpeexDSP.bEnableAGC
bool bEnableAGC
Whether clients who join a BearWare.Channel should enable AGC with the settings specified nGainLevel,...
Definition TeamTalk.cs:1157
BearWare.SpeexDSP.nMaxIncDBSec
int nMaxIncDBSec
Used so volume should not be amplified too quickly (maximal gain increase in dB/second)....
Definition TeamTalk.cs:1166
BearWare.SpeexDSP.nGainLevel
int nGainLevel
A value from 0 to 32768. Default is 8000. Value is ignored if bEnableAGC is FALSE.
Definition TeamTalk.cs:1161
BearWare.SpeexDSP.nEchoSuppressActive
int nEchoSuppressActive
Set maximum attenuation of the residual echo in dB when near end is active (negative number)....
Definition TeamTalk.cs:1216
BearWare.SpeexDSP.nEchoSuppress
int nEchoSuppress
Set maximum attenuation of the residual echo in dB (negative number). Default is -40....
Definition TeamTalk.cs:1211
BearWare.SpeexDSP.nMaxGainDB
int nMaxGainDB
Ensure volume doesn't become too loud (maximal gain in dB). Default is 30. Value is ignored if bEnabl...
Definition TeamTalk.cs:1177
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:1206
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:1186
BearWare.SpeexVBRCodec
Speex audio codec settings for Variable Bitrate mode (VBR).
Definition TeamTalk.cs:953
BearWare.SpeexVBRCodec.nTxIntervalMSec
int nTxIntervalMSec
Milliseconds of audio data before each transmission.
Definition TeamTalk.cs:983
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:970
BearWare.SpeexVBRCodec.bDTX
bool bDTX
Enable/disable discontinuous transmission. When enabled Speex will ignore silence,...
Definition TeamTalk.cs:974
BearWare.SpeexVBRCodec.nQuality
int nQuality
A value from 0-10. If nBitRate is non-zero it will override this value.
Definition TeamTalk.cs:959
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:956
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:966
BearWare.SpeexVBRCodec.bStereoPlayback
bool bStereoPlayback
Playback should be done in stereo.
Definition TeamTalk.cs:988
BearWare.TTAudioPreprocessor
Use TeamTalk's internal audio preprocessor for gain audio. Same as used for TeamTalkBase....
Definition TeamTalk.cs:1257
BearWare.TTAudioPreprocessor.bMuteLeftSpeaker
bool bMuteLeftSpeaker
Whether to mute left speaker in stereo playback.
Definition TeamTalk.cs:1263
BearWare.TTAudioPreprocessor.bMuteRightSpeaker
bool bMuteRightSpeaker
Whether to mute right speaker in stereo playback.
Definition TeamTalk.cs:1265
BearWare.TTAudioPreprocessor.nGainLevel
int nGainLevel
Gain level between BearWare.SoundLevel.SOUND_GAIN_MIN and BearWare.SoundLevel.SOUND_GAIN_MAX....
Definition TeamTalk.cs:1261
BearWare.TTMessage
A struct containing the properties of an event.
Definition TeamTalk.cs:3972
BearWare.TTMessage.uReserved
uint uReserved
Reserved. To preserve alignment.
Definition TeamTalk.cs:3980
BearWare.TTMessage.nSource
int nSource
The source of the event depends on wmMsg.
Definition TeamTalk.cs:3976
BearWare.TTMessage.nClientEvent
ClientEvent nClientEvent
The event's message number.
Definition TeamTalk.cs:3974
BearWare.TTMessage.ttType
TTType ttType
Specifies which member to access in the union.
Definition TeamTalk.cs:3978
BearWare.TTMessage.DataToObject
object DataToObject()
Definition TeamTalk.cs:3985
BearWare.TTMessage.data
byte[] data
Definition TeamTalk.cs:3982
BearWare.TextMessage
A struct containing the properties of a text message sent by a user.
Definition TeamTalk.cs:2493
BearWare.TextMessage.bMore
bool bMore
Whether this text message is to be merged with next text message.
Definition TeamTalk.cs:2512
BearWare.TextMessage.nChannelID
int nChannelID
Set to zero if nMsgType is BearWare.TextMsgType BearWare.TextMsgType.MSGTYPE_USER or BearWare....
Definition TeamTalk.cs:2505
BearWare.TextMessage.nToUserID
int nToUserID
Set to zero if channel message.
Definition TeamTalk.cs:2502
BearWare.TextMessage.szMessage
string szMessage
The actual text message. The message can be multi-line (include EOL)
Definition TeamTalk.cs:2509
BearWare.TextMessage.nFromUserID
int nFromUserID
Will be set automatically on outgoing message.
Definition TeamTalk.cs:2497
BearWare.TextMessage.szFromUsername
string szFromUsername
The originators username.
Definition TeamTalk.cs:2500
BearWare.TextMessage.nMsgType
TextMsgType nMsgType
The type of text message.
Definition TeamTalk.cs:2495
BearWare.UnionData
Definition TeamTalk.cs:4029
BearWare.UnionData.filetransfer
FileTransfer filetransfer
Definition TeamTalk.cs:4037
BearWare.UnionData.user
User user
Definition TeamTalk.cs:4047
BearWare.UnionData.clienterrormsg
ClientErrorMsg clienterrormsg
Definition TeamTalk.cs:4031
BearWare.UnionData.desktopinput
DesktopInput desktopinput
Definition TeamTalk.cs:4035
BearWare.UnionData.textmessage
TextMessage textmessage
Definition TeamTalk.cs:4045
BearWare.UnionData.bActive
bool bActive
Definition TeamTalk.cs:4051
BearWare.UnionData.nBytesRemain
int nBytesRemain
Definition TeamTalk.cs:4053
BearWare.UnionData.serverproperties
ServerProperties serverproperties
Definition TeamTalk.cs:4043
BearWare.UnionData.nPayloadSize
int nPayloadSize
Definition TeamTalk.cs:4057
BearWare.UnionData.channel
Channel channel
Definition TeamTalk.cs:4033
BearWare.UnionData.nStreamID
int nStreamID
Definition TeamTalk.cs:4055
BearWare.UnionData.useraccount
UserAccount useraccount
Definition TeamTalk.cs:4049
BearWare.UnionData.mediafileinfo
MediaFileInfo mediafileinfo
Definition TeamTalk.cs:4039
BearWare.UnionData.remotefile
RemoteFile remotefile
Definition TeamTalk.cs:4041
BearWare.UserAccount
A struct containing the properties of a user account.
Definition TeamTalk.cs:2098
BearWare.UserAccount.szNote
string szNote
Additional notes about this user.
Definition TeamTalk.cs:2117
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:2114
BearWare.UserAccount.szInitChannel
string szInitChannel
User should (manually) join this channel after login. If an initial channel is specified in the user'...
Definition TeamTalk.cs:2123
BearWare.UserAccount.uUserType
UserType uUserType
A bitmask of the type of user based on BearWare.UserType.
Definition TeamTalk.cs:2106
BearWare.UserAccount.szPassword
string szPassword
The account's password.
Definition TeamTalk.cs:2104
BearWare.UserAccount.uUserRights
UserRight uUserRights
A bitmask based on BearWare.UserRight which specifies the rights the user have who logs onto the serv...
Definition TeamTalk.cs:2110
BearWare.UserAccount.szLastModified
string szLastModified
Timestamp of last modification of user account. Date/time is converted local time.
Definition TeamTalk.cs:2141
BearWare.UserAccount.autoOperatorChannels
int[] autoOperatorChannels
Channels where this user will automatically become channel operator when joining. The channels must b...
Definition TeamTalk.cs:2128
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:2137
BearWare.UserAccount.szLastLoginTime
string szLastLoginTime
Timestamp of user account's last successful login. Read-only property. Date/time is converted local t...
Definition TeamTalk.cs:2145
BearWare.UserAccount.szUsername
string szUsername
The account's username.
Definition TeamTalk.cs:2101
BearWare.UserAccount.nAudioCodecBpsLimit
int nAudioCodecBpsLimit
Bandwidth restriction for audio codecs created by this user. This value will hold the highest bitrate...
Definition TeamTalk.cs:2132
BearWare.User
A struct containing the properties of a user.
Definition TeamTalk.cs:2283
BearWare.User.nVolumeVoice
int nVolumeVoice
The user's voice volume level. Note that it's a virtual volume which is being set since the master vo...
Definition TeamTalk.cs:2359
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:2373
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:2317
BearWare.User.szStatusMsg
string szStatusMsg
The user's current status message. Invoke TeamTalkBase.DoChangeStatus() to change this value....
Definition TeamTalk.cs:2346
BearWare.User.nActiveAdaptiveDelayMSec
int nActiveAdaptiveDelayMSec
The currently active adaptive jitter delay for received voice streams for this user.
Definition TeamTalk.cs:2411
BearWare.User.szUsername
string szUsername
The szUsername of the user's BearWare.UserAccount. A user account is created by calling TeamTalkBase....
Definition TeamTalk.cs:2293
BearWare.User.nStoppedDelayVoice
int nStoppedDelayVoice
The delay of when a user should no longer be considered as talking.
Definition TeamTalk.cs:2369
BearWare.User.nVolumeMediaFile
int nVolumeMediaFile
The user's voice volume level. Note that it's a virtual volume which is being set since the master vo...
Definition TeamTalk.cs:2365
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:2399
BearWare.User.uPeerSubscriptions
Subscription uPeerSubscriptions
A bitmask of what this user subscribes to from local client instance. Invoking TeamTalkBase....
Definition TeamTalk.cs:2329
BearWare.User.szIPAddress
string szIPAddress
The user's IP-address. This value is set by the server.
Definition TeamTalk.cs:2305
BearWare.User.nUserID
int nUserID
The user's ID. A value from 1 - BearWare.TeamTalkBase.TT_USERID_MAX. This property is set by the serv...
Definition TeamTalk.cs:2287
BearWare.User.szMediaStorageDir
string szMediaStorageDir
Store audio received from this user to this folder.
Definition TeamTalk.cs:2353
BearWare.User.uVersion
uint uVersion
The user's client version. This property is set by the server and will not change after login....
Definition TeamTalk.cs:2311
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:2416
BearWare.User.nBufferMSecVoice
int nBufferMSecVoice
The size of the buffer (in msec) to hold voice content.
Definition TeamTalk.cs:2403
BearWare.User.soundPositionVoice
float[] soundPositionVoice
User's position when using 3D-sound. Index 0 is x-axis, index 1 is y-axis and index 2 is Z-axis.
Definition TeamTalk.cs:2380
BearWare.User.uUserState
UserState uUserState
A bitmask of the user's current state, e.g. talking, muted, etc.
Definition TeamTalk.cs:2349
BearWare.User.uUserType
UserType uUserType
The uUserType of the user's BearWare.UserAccount. This property is set by the server and will not cha...
Definition TeamTalk.cs:2302
BearWare.User.nStatusMode
int nStatusMode
The user's current status mode. Invoke TeamTalkBase.DoChangeStatus() to change this value....
Definition TeamTalk.cs:2340
BearWare.User.szNickname
string szNickname
The user's nickname. Invoking TeamTalkBase.DoChangeNickname() changes this value. Event BearWare....
Definition TeamTalk.cs:2335
BearWare.User.soundPositionMediaFile
float[] soundPositionMediaFile
User's position when using 3D-sound. Index 0 is x-axis, index 1 is y-axis and index 2 is Z-axis.
Definition TeamTalk.cs:2387
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:2393
BearWare.User.nUserData
int nUserData
The nUserData of the user's BearWare.UserAccount. This field can be use to denote e....
Definition TeamTalk.cs:2298
BearWare.User.uLocalSubscriptions
Subscription uLocalSubscriptions
A bitmask of what the local user subscribes to from this user. Invoking TeamTalkBase....
Definition TeamTalk.cs:2323
BearWare.User.nBufferMSecMediaFile
int nBufferMSecMediaFile
The size of the buffer (in msec) to hold media file content.
Definition TeamTalk.cs:2407
BearWare.UserStatistics
Packet reception and data statistics for a user.
Definition TeamTalk.cs:2425
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:2447
BearWare.UserStatistics.nVoicePacketsLost
long nVoicePacketsLost
Number of voice packets lost from user.
Definition TeamTalk.cs:2429
BearWare.UserStatistics.nMediaFileAudioPacketsLost
long nMediaFileAudioPacketsLost
Number of media file audio packets lost from user.
Definition TeamTalk.cs:2444
BearWare.UserStatistics.nVideoCaptureFramesLost
long nVideoCaptureFramesLost
Video frames which couldn't be shown because packets were lost.
Definition TeamTalk.cs:2437
BearWare.UserStatistics.nMediaFileVideoFramesLost
long nMediaFileVideoFramesLost
Media file video frames which couldn't be shown because packets were lost.
Definition TeamTalk.cs:2452
BearWare.UserStatistics.nMediaFileVideoFramesDropped
long nMediaFileVideoFramesDropped
Number of media file video frames dropped because user application didn't retrieve video frames in ti...
Definition TeamTalk.cs:2455
BearWare.UserStatistics.nVideoCaptureFramesDropped
long nVideoCaptureFramesDropped
Number of video frames dropped because user application didn't retrieve video frames in time.
Definition TeamTalk.cs:2440
BearWare.UserStatistics.nVideoCaptureFramesRecv
long nVideoCaptureFramesRecv
Number of video frames received from user.
Definition TeamTalk.cs:2434
BearWare.UserStatistics.nMediaFileVideoFramesRecv
long nMediaFileVideoFramesRecv
Number of media file video frames received from user.
Definition TeamTalk.cs:2449
BearWare.UserStatistics.nVoicePacketsRecv
long nVoicePacketsRecv
Number of voice packets received from user.
Definition TeamTalk.cs:2427
BearWare.UserStatistics.nMediaFileAudioPacketsRecv
long nMediaFileAudioPacketsRecv
Number of media file audio packets received from user.
Definition TeamTalk.cs:2442
BearWare.UserStatistics.nVideoCapturePacketsRecv
long nVideoCapturePacketsRecv
Number of video packets received from user. A video frame can consist of several video packets.
Definition TeamTalk.cs:2432
BearWare.VideoCaptureDevice
A struct containing the properties of a video capture device.
Definition TeamTalk.cs:696
BearWare.VideoCaptureDevice.szCaptureAPI
string szCaptureAPI
The name of the API used to capture video.
Definition TeamTalk.cs:716
BearWare.VideoCaptureDevice.nVideoFormatsCount
int nVideoFormatsCount
The number of capture formats available in captureFormats array.
Definition TeamTalk.cs:722
BearWare.VideoCaptureDevice.videoFormats
VideoFormat[] videoFormats
The supported capture formats.
Definition TeamTalk.cs:719
BearWare.VideoCaptureDevice.szDeviceID
string szDeviceID
A string identifying the device.
Definition TeamTalk.cs:699
BearWare.VideoCaptureDevice.szDeviceName
string szDeviceName
The name of the capture device.
Definition TeamTalk.cs:702
BearWare.VideoCodec
Struct used for specifying the video codec to use.
Definition TeamTalk.cs:1606
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:1611
BearWare.VideoCodec.webm_vp8
WebMVP8Codec webm_vp8
Definition TeamTalk.cs:1613
BearWare.VideoFormat
A struct containing the properties of a video capture format.
Definition TeamTalk.cs:632
BearWare.VideoFormat.nFPS_Denominator
int nFPS_Denominator
The denominator of the video capture device's video format. Divinding nFPS_Numerator with nFPS_Denomi...
Definition TeamTalk.cs:646
BearWare.VideoFormat.picFourCC
FourCC picFourCC
Picture format for capturing.
Definition TeamTalk.cs:648
BearWare.VideoFormat.nHeight
int nHeight
The height in pixels of the video device supported video format.
Definition TeamTalk.cs:638
BearWare.VideoFormat.nFPS_Numerator
int nFPS_Numerator
The numerator of the video capture device's video format. Divinding nFPS_Numerator with nFPS_Denomina...
Definition TeamTalk.cs:642
BearWare.VideoFormat.nWidth
int nWidth
The width in pixels of the video device supported video format.
Definition TeamTalk.cs:635
BearWare.VideoFrame
A RGB32 image where the pixels can be accessed directly in an allocated imageBuffer.
Definition TeamTalk.cs:660
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:677
BearWare.VideoFrame.nFrameBufferSize
int nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer.
Definition TeamTalk.cs:682
BearWare.VideoFrame.nHeight
int nHeight
The height in pixels of the image contained in imageBuffer.
Definition TeamTalk.cs:666
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:672
BearWare.VideoFrame.frameBuffer
System.IntPtr frameBuffer
A buffer allocated internally by TeamTalkBase.
Definition TeamTalk.cs:679
BearWare.VideoFrame.nWidth
int nWidth
The width in pixels of the image contained in frameBuffer.
Definition TeamTalk.cs:663
BearWare.WebMVP8CodecConstants
Definition TeamTalk.cs:1503
BearWare.WebMVP8CodecConstants.WEBM_VPX_DL_BEST_QUALITY
const int WEBM_VPX_DL_BEST_QUALITY
nEncodeDeadline value for best encoding.
Definition TeamTalk.cs:1512
BearWare.WebMVP8CodecConstants.WEBM_VPX_DL_REALTIME
const int WEBM_VPX_DL_REALTIME
nEncodeDeadline value for fastest encoding.
Definition TeamTalk.cs:1506
BearWare.WebMVP8CodecConstants.WEBM_VPX_DL_GOOD_QUALITY
const int WEBM_VPX_DL_GOOD_QUALITY
nEncodeDeadline value for good encoding.
Definition TeamTalk.cs:1509
BearWare.WebMVP8Codec
WebM video codec settings.
Definition TeamTalk.cs:1480
BearWare.WebMVP8Codec.nRcTargetBitrate
int nRcTargetBitrate
Same as rc_target_bitrate.
Definition TeamTalk.cs:1483
BearWare.WebMVP8Codec.nEncodeDeadline
uint nEncodeDeadline
Time that should be spent on encoding a frame.
Definition TeamTalk.cs:1499
BearWare.WebMVP8Codec.rc_target_bitrate
int rc_target_bitrate
Target bitrate in kbits/sec. This value must be greater than 0.
Definition TeamTalk.cs:1490
BearWare.WebRTCAudioPreprocessor.EchoCanceller
Configuration of WebRTC's echo canceller. See also TT_SetSoundDeviceEffects()
Definition TeamTalk.cs:1296
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:1302
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital
Configuration for fine tuning gain level.
Definition TeamTalk.cs:1341
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fMaxOutputNoiseLevelDBFS
float fMaxOutputNoiseLevelDBFS
Definition TeamTalk.cs:1354
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fInitialGainDB
float fInitialGainDB
Range: 0 <= x < infinite. Default: 15 dB.
Definition TeamTalk.cs:1350
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fHeadRoomDB
float fHeadRoomDB
Range: 0 <= x < infinite. Default: 5 dB.
Definition TeamTalk.cs:1346
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.bEnable
bool bEnable
Definition TeamTalk.cs:1344
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fMaxGainChangeDBPerSecond
float fMaxGainChangeDBPerSecond
Definition TeamTalk.cs:1352
BearWare.WebRTCAudioPreprocessor.GainController2.AdaptiveDigital.fMaxGainDB
float fMaxGainDB
Range: 0 < x < infinite. Default: 50 dB.
Definition TeamTalk.cs:1348
BearWare.WebRTCAudioPreprocessor.GainController2.FixedDigital
Gain level for AGC. Only active when bEnable is true.
Definition TeamTalk.cs:1331
BearWare.WebRTCAudioPreprocessor.GainController2.FixedDigital.fGainDB
float fGainDB
Gain level in dB. Range: 0 <= x < 50. Default: 0.
Definition TeamTalk.cs:1334
BearWare.WebRTCAudioPreprocessor.GainController2
Configuration of WebRTC's gain controller 2 for AGC.
Definition TeamTalk.cs:1323
BearWare.WebRTCAudioPreprocessor.GainController2.adaptivedigital
AdaptiveDigital adaptivedigital
Definition TeamTalk.cs:1356
BearWare.WebRTCAudioPreprocessor.GainController2.fixeddigital
FixedDigital fixeddigital
Definition TeamTalk.cs:1336
BearWare.WebRTCAudioPreprocessor.GainController2.bEnable
bool bEnable
Enable WebRTC's fixed digital gain. WebRTC's automatic gain control (AGC)
Definition TeamTalk.cs:1326
BearWare.WebRTCAudioPreprocessor.NoiseSuppression
Configuration of WebRTC's noise suppression. See also BearWare.SpeexDSP.
Definition TeamTalk.cs:1310
BearWare.WebRTCAudioPreprocessor.NoiseSuppression.nLevel
int nLevel
Noise suppression level. 0 = Low, 1 = Moderate, 2 = High, 3 = VeryHigh. Default: 1.
Definition TeamTalk.cs:1315
BearWare.WebRTCAudioPreprocessor.NoiseSuppression.bEnable
bool bEnable
Enable WebRTC noise suppression.
Definition TeamTalk.cs:1312
BearWare.WebRTCAudioPreprocessor.Preamplifier
Configuration of WebRTC pre-amplifier.
Definition TeamTalk.cs:1283
BearWare.WebRTCAudioPreprocessor.Preamplifier.bEnable
bool bEnable
Enable pre-amplifier. Replacement for TT_SetSoundInputGainLevel()
Definition TeamTalk.cs:1286
BearWare.WebRTCAudioPreprocessor.Preamplifier.fFixedGainFactor
float fFixedGainFactor
Gain factor. Default: 1.
Definition TeamTalk.cs:1288
BearWare.WebRTCAudioPreprocessor
WebRTC's audio preprocessor.
Definition TeamTalk.cs:1279
BearWare.WebRTCAudioPreprocessor.gaincontroller2
GainController2 gaincontroller2
Definition TeamTalk.cs:1358
BearWare.WebRTCAudioPreprocessor.echocanceller
EchoCanceller echocanceller
Definition TeamTalk.cs:1304
BearWare.WebRTCAudioPreprocessor.preamplifier
Preamplifier preamplifier
Definition TeamTalk.cs:1290
BearWare.WebRTCAudioPreprocessor.WebRTCAudioPreprocessor
WebRTCAudioPreprocessor(bool set_defaults)
Definition TeamTalk.cs:1360
BearWare.WebRTCAudioPreprocessor.noisesuppression
NoiseSuppression noisesuppression
Definition TeamTalk.cs:1317
BearWare.WebRTCConstants
Default values for BearWare.WebRTCAudioPreprocessor.
Definition TeamTalk.cs:1407
BearWare.WebRTCConstants.DEFAULT_WEBRTC_MAXGAIN_DBSEC
const float DEFAULT_WEBRTC_MAXGAIN_DBSEC
Definition TeamTalk.cs:1416
BearWare.WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR
const float DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR
Definition TeamTalk.cs:1409
BearWare.WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE
const bool DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE
Definition TeamTalk.cs:1418
BearWare.WebRTCConstants.DEFAULT_WEBRTC_MAXGAIN_DB
const float DEFAULT_WEBRTC_MAXGAIN_DB
Definition TeamTalk.cs:1414
BearWare.WebRTCConstants.DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE
const bool DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE
Definition TeamTalk.cs:1408
BearWare.WebRTCConstants.DEFAULT_WEBRTC_SAT_PROT_ENABLE
const bool DEFAULT_WEBRTC_SAT_PROT_ENABLE
Definition TeamTalk.cs:1412
BearWare.WebRTCConstants.DEFAULT_WEBRTC_GAINCTL_ENABLE
const bool DEFAULT_WEBRTC_GAINCTL_ENABLE
Definition TeamTalk.cs:1410
BearWare.WebRTCConstants.WEBRTC_GAINCONTROLLER2_FIXEDGAIN_MAX
const float WEBRTC_GAINCONTROLLER2_FIXEDGAIN_MAX
Definition TeamTalk.cs:1421
BearWare.WebRTCConstants.DEFAULT_WEBRTC_GAINDB
const float DEFAULT_WEBRTC_GAINDB
Definition TeamTalk.cs:1411
BearWare.WebRTCConstants.DEFAULT_WEBRTC_INITIAL_GAIN_DB
const float DEFAULT_WEBRTC_INITIAL_GAIN_DB
Definition TeamTalk.cs:1415
BearWare.WebRTCConstants.DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE
const bool DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE
Definition TeamTalk.cs:1420
BearWare.WebRTCConstants.DEFAULT_WEBRTC_MAX_OUT_NOISE
const float DEFAULT_WEBRTC_MAX_OUT_NOISE
Definition TeamTalk.cs:1417
BearWare.WebRTCConstants.DEFAULT_WEBRTC_HEADROOM_DB
const float DEFAULT_WEBRTC_HEADROOM_DB
Definition TeamTalk.cs:1413
BearWare.WebRTCConstants.DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL
const int DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL
Definition TeamTalk.cs:1419