/*H********************************************************************************/ /*! \File voipcommon.h \Description Cross-platform voip data types and private functions. \Copyright Copyright (c) 2009 Electronic Arts Inc. \Version 12/02/2009 (jbrookes) First Version */ /********************************************************************************H*/ #ifndef _voipcommon_h #define _voipcommon_h /*** Include files ****************************************************************/ #include "voipconnection.h" #include "voipheadset.h" #include "DirtySDK/voip/voip.h" #include "DirtySDK/voip/voipblocklist.h" /*** Defines **********************************************************************/ /*** Macros ***********************************************************************/ /*** Type Definitions *************************************************************/ typedef struct VoipCommonRefT { VoipConnectionlistT Connectionlist; //!< virtual connection list VoipHeadsetRefT *pHeadset; //!< voip headset manager VoipBlockListT *pBlockList; //!< muting based on persona id VoipCallbackT *pCallback; //!< voip event callback (optional) void *pUserData; //!< user data for voip event callback VoipDisplayTranscribedTextCallbackT *pDisplayTranscribedTextCb; //!< callback invoked when some transcribed text (from a remote user or from a local user) is ready to be displayed locally (optional) void *pDisplayTranscribedTextUserData; //!< user data associated with callback invoked when some transcribed text (from a remote user or from a local user) is ready to be displayed locally (optional) NetCritT ThreadCrit; //!< critical section used for thread synchronization uint8_t bApplyChannelConfig; //!< apply channel configs on the next voip thread pass uint32_t uLastFrom; //!< most recent from status, used for callback tracking uint32_t uLastHsetStatus; //!< most recent headset status, used for callback tracking uint32_t uLastLocalStatus[VOIP_MAXLOCALUSERS]; //!< most recent local status, used for callback tracking uint32_t uPortHeadsetStatus; //!< bitfield indicating which ports have headsets uint32_t uLastTtsStatus; //!< most recent TTS status, used for callback tracking uint32_t uTtsStatus; //!< current TTS status (bitmask of local user TTS flag) uint32_t uUserSendMask; //!< current sending status (bitmask of local user send flag) uint8_t bUseDefaultSharedChannelConfig; //!< whether we use the default shared config or not (only supported on xbox one) uint8_t bPrivileged; //!< whether we are communication-privileged or not uint8_t bTextTranscriptionEnabled; //!< whether text transcription is enabled or not locally uint8_t _pad[1]; uint32_t uRemoteChannelSelection[VOIP_MAX_LOW_LEVEL_CONNS][VOIP_MAXLOCALUSERS_EXTENDED]; //