TeamTalk 5 C-API DLL Version 5.13A
Channel Struct Reference

A struct containing the properties of a channel. More...

#include <TeamTalk.h>

Public Attributes

INT32 nParentID
 Parent channel ID. 0 means no parent channel, i.e. it's the root channel. More...
 
INT32 nChannelID
 The channel's ID. A value from 1 - TT_CHANNELID_MAX. More...
 
TTCHAR szName [TT_STRLEN]
 Name of the channel. More...
 
TTCHAR szTopic [TT_STRLEN]
 Topic of the channel. More...
 
TTCHAR szPassword [TT_STRLEN]
 Password to join the channel. When extracted through TT_GetChannel the password will only be set for users of user-type USERTYPE_ADMIN. More...
 
TTBOOL bPassword
 Whether password is required to join channel. Read-only property. More...
 
ChannelTypes uChannelType
 A bitmask of the type of channel based on ChannelType. More...
 
INT32 nUserData
 User specific data which will be stored on persistent storage on the server if the channel type is CHANNEL_PERMANENT. More...
 
INT64 nDiskQuota
 Number of bytes available for file storage. More...
 
TTCHAR szOpPassword [TT_STRLEN]
 Password to become channel operator. More...
 
INT32 nMaxUsers
 Max number of users in channel. More...
 
AudioCodec audiocodec
 The audio codec used by users in the channel. More...
 
AudioConfig audiocfg
 The audio configuration which users who join the channel should use. More...
 
INT32 transmitUsers [TT_TRANSMITUSERS_MAX][2]
 List of users who can transmit in a channel. More...
 
INT32 transmitUsersQueue [TT_TRANSMITQUEUE_MAX]
 The users currently queued for voice or media file transmission. More...
 
INT32 nTransmitUsersQueueDelayMSec
 Delay for switching to next active voice user in transmitUsersQueue. More...
 

Detailed Description

A struct containing the properties of a channel.

To change the properties of a channel call TT_DoUpdateChannel(). Note that audiocodec cannot be changed if the channel has users.

See also
TT_GetChannel
ChannelType
AudioCodec

Definition at line 2473 of file TeamTalk.h.

Member Data Documentation

◆ nParentID

INT32 Channel::nParentID

Parent channel ID. 0 means no parent channel, i.e. it's the root channel.

Definition at line 2477 of file TeamTalk.h.

◆ nChannelID

INT32 Channel::nChannelID

The channel's ID. A value from 1 - TT_CHANNELID_MAX.

Definition at line 2479 of file TeamTalk.h.

◆ szName

TTCHAR Channel::szName[TT_STRLEN]

Name of the channel.

Definition at line 2481 of file TeamTalk.h.

◆ szTopic

TTCHAR Channel::szTopic[TT_STRLEN]

Topic of the channel.

Definition at line 2483 of file TeamTalk.h.

◆ szPassword

TTCHAR Channel::szPassword[TT_STRLEN]

Password to join the channel. When extracted through TT_GetChannel the password will only be set for users of user-type USERTYPE_ADMIN.

Definition at line 2487 of file TeamTalk.h.

◆ bPassword

TTBOOL Channel::bPassword

Whether password is required to join channel. Read-only property.

Definition at line 2490 of file TeamTalk.h.

◆ uChannelType

ChannelTypes Channel::uChannelType

A bitmask of the type of channel based on ChannelType.

Definition at line 2492 of file TeamTalk.h.

◆ nUserData

INT32 Channel::nUserData

User specific data which will be stored on persistent storage on the server if the channel type is CHANNEL_PERMANENT.

Definition at line 2496 of file TeamTalk.h.

◆ nDiskQuota

INT64 Channel::nDiskQuota

Number of bytes available for file storage.

Definition at line 2498 of file TeamTalk.h.

◆ szOpPassword

TTCHAR Channel::szOpPassword[TT_STRLEN]

Password to become channel operator.

See also
TT_DoChannelOpEx()

Definition at line 2501 of file TeamTalk.h.

◆ nMaxUsers

INT32 Channel::nMaxUsers

Max number of users in channel.

Definition at line 2503 of file TeamTalk.h.

◆ audiocodec

AudioCodec Channel::audiocodec

The audio codec used by users in the channel.

Definition at line 2505 of file TeamTalk.h.

◆ audiocfg

AudioConfig Channel::audiocfg

The audio configuration which users who join the channel should use.

See also
TT_SetSoundInputPreprocess()

Definition at line 2508 of file TeamTalk.h.

◆ transmitUsers

INT32 Channel::transmitUsers[TT_TRANSMITUSERS_MAX][2]

List of users who can transmit in a channel.

transmitUsers is a 2-dimensional array which specifies who can transmit to the channel.

If uChannelType is set to CHANNEL_CLASSROOM then only the users in transmitUsers are allowed to transmit.

In TeamTalk v5.4 and onwards adding a user ID to transmitUsers will block the user from transmitting if the ChannelType is not CHANNEL_CLASSROOM. Basically the opposite effect of CHANNEL_CLASSROOM.

To specify user ID 46 can transmit voice to a CHANNEL_CLASSROOM channel is done by assigning the following:

* transmitUsers[0][0] = 46;
* transmitUsers[0][1] = STREAMTYPE_VOICE;
* 

To specify user ID 46 can transmit both voice and video capture to a CHANNEL_CLASSROOM channel is done by assigning the following:

* transmitUsers[0][0] = 46;
* transmitUsers[0][1] = STREAMTYPE_VOICE | STREAMTYPE_VIDEOCAPTURE;
* 

The transmission list is terminated by assigning user ID 0 to the end of the list, i.e.:

* transmitUsers[0][0] = 0;
* transmitUsers[0][1] = STREAMTYPE_NONE;
* 

To allow all users of a CHANNEL_CLASSROOM channel to transmit a specific StreamType is done like this:

* transmitUsers[0][0] = TT_CLASSROOM_FREEFORALL;
* transmitUsers[0][1] = STREAMTYPE_VOICE;
* 

Only channel operators are allowed to change the users who are allowed to transmit data to a channel. Call TT_DoUpdateChannel() to update the list of users who are allowed to transmit data to the channel.

See also
TT_IsChannelOperator
TT_DoChannelOp
TT_CLASSROOM_FREEFORALL

Definition at line 2564 of file TeamTalk.h.

◆ transmitUsersQueue

INT32 Channel::transmitUsersQueue[TT_TRANSMITQUEUE_MAX]

The users currently queued for voice or media file transmission.

This property only applied when channel is configured with CHANNEL_SOLO_TRANSMIT. Read-only property.

Definition at line 2569 of file TeamTalk.h.

◆ nTransmitUsersQueueDelayMSec

INT32 Channel::nTransmitUsersQueueDelayMSec

Delay for switching to next active voice user in transmitUsersQueue.

In channels of type CHANNEL_SOLO_TRANSMIT only one user can transmit voice. When user has stopped transmitting this value specifies the delay before switching to next user in transmitUsersQueue. Default value is 500 msec.

Definition at line 2577 of file TeamTalk.h.