⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gipsvoiceenginelib.h

📁 GIPS语音处理方案技术资料。Skype高质量语音通话
💻 H
📖 第 1 页 / 共 2 页
字号:
	virtual int GIPSVE_PlayDTMFTone(int eventnr) = 0;	
	virtual unsigned short GIPSVE_GetFromPort(int channel)=0;
	virtual int GIPSVE_SetFilterPort(int channel,unsigned short filter) = 0;
	virtual int GIPSVE_SetFilterIP(int channel,char *IPaddress) = 0;
	virtual unsigned short GIPSVE_GetFilterPort(int channel) = 0;
	virtual int GIPSVE_SetRecPayloadType(short channel, GIPS_CodecInst *codec_inst)=0;
	virtual int GIPSVE_SetSendCNPayloadType(int channel,short payloadType)=0;
	virtual int GIPSVE_RTCPStat(int channel, unsigned short *fraction_lost, unsigned long *cum_lost, unsigned long *ext_max, unsigned long *jitter, int *RTT)=0;
	virtual int GIPSVE_RTCPStat(int channel, GIPSVE_CallStatistics * stats) =0;
	virtual int GIPSVE_SetSoundDevices(unsigned int WaveInDevice, unsigned int WaveOutDevice, bool disableMicBoost = false)= 0;
	virtual int GIPSVE_InitEncryption (GIPS_encryption &encr_obj) = 0;
	virtual int GIPSVE_EnableEncryption(int channel) = 0;
	virtual int GIPSVE_DisableEncryption(int channel) = 0;
	virtual int GIPSVE_SetDTMFFeedbackStatus(int mode) = 0;
	virtual int GIPSVE_GetDTMFFeedbackStatus() = 0;
	virtual int GIPSVE_SetWaveOutVolume(unsigned int level) =0;
	virtual int GIPSVE_GetWaveOutVolume() = 0;

	virtual int GIPSVE_GetNoOfChannels() = 0;
	virtual int GIPSVE_SetECType(int type) = 0;
	virtual int GIPSVE_GetECType() = 0;
	virtual int GIPSVE_GetInputLevel() = 0;
	virtual int GIPSVE_GetOutputLevel(int channel = -1) = 0;
	virtual int GIPSVE_SetSendTOS(int channel, int TOS) = 0;
	virtual int GIPSVE_GetSendTOS(int channel) = 0;
	virtual int GIPSVE_SetSendGQOS(int channel, bool enable, int servicetype) = 0;
	virtual int GIPSVE_GetSendGQOS(int channel) = 0;
	virtual int GIPSVE_SetSendSSRC(int channel, unsigned long int ssrc) = 0;
	virtual unsigned long int GIPSVE_GetSendSSRC(int channel) = 0;
	virtual int GIPSVE_MuteMic(int channel,int Mute) = 0;
	virtual int GIPSVE_PutOnHold(int channel,bool enable) = 0;
	virtual int GIPSVE_AddToConference(int channel,bool enable, bool includeCSRCs = false, bool includeVoiceLevel = false) = 0;
	virtual int GIPSVE_SetTrace(int mode) = 0;
	virtual int GIPSVE_SetTraceFileName(char * fileName) = 0; 
	virtual int GIPSVE_SetTraceCallback(void (*callbackFunction)(char *, int)) = 0; 
	
	
	// File Playout
	virtual int GIPSVE_PlayPCM(int channel, InStream *pcm,int file_format = FILE_FORMAT_PCM_FILE, float volume_scaling = 1.0) = 0;
	virtual int GIPSVE_PlayPCM(int channel, char * fileName, bool loop = false ,int file_format = FILE_FORMAT_PCM_FILE, float volume_scaling = 1.0) = 0;
	virtual int GIPSVE_PlayPCMAsMicrophone(int channel, InStream *pcm, bool mixWithMic = false,int file_format = FILE_FORMAT_PCM_FILE, float volume_scaling = 1.0) = 0;
	virtual int GIPSVE_PlayPCMAsMicrophone(int channel, char * fileName, bool loop = false , bool mixWithMic = false,int file_format = FILE_FORMAT_PCM_FILE, float volume_scaling = 1.0) = 0;
	virtual int GIPSVE_IsPlayingFile(int channel) = 0;
	virtual int GIPSVE_StopPlayingFile(int channel) = 0;
	virtual int GIPSVE_IsPlayingFileAsMicrophone(int channel) = 0;
	virtual int GIPSVE_StopPlayingFileAsMicrophone(int channel) = 0;
	virtual int GIPSVE_SetFilePlayoutScaling(int channel,float scale) = 0;
	virtual int GIPSVE_SetFilePlayoutScalingMic(int channel,float scale) = 0;
	
	virtual int GIPSVE_CheckIfAudioIsAvailable(int checkPlay, int checkRec) = 0;
	virtual int GIPSVE_SetSoundDevices(char * WaveInDevice, char * WaveOutDevice, bool disableMicBoost = false)= 0;
	
	// Video Synchronization
	virtual unsigned long int GIPSVE_GetPlayoutTimeStamp(int channel) = 0;
	virtual int GIPSVE_SetMinDelay(int channel,int msDelay) = 0;
	virtual int GIPSVE_getRemoteRTCPData(int channel, unsigned long * NTP_high, unsigned long * NTP_low, unsigned long * timeStamp, unsigned long * playoutTimeStamp, unsigned long * jitter = NULL, unsigned short * fraction_lost=NULL) = 0;
	virtual int GIPSVE_GetDelayEstimate(int channel) = 0;
	virtual int GIPSVE_InitTimeStamp(int channel, bool setManually, unsigned long timestamp = 0) = 0;
	virtual int GIPSVE_GetSoundcardBufferSize() = 0;

	// RTCP calls
	virtual int GIPSVE_EnableRTCP(int channel, int enable) = 0;
	virtual int GIPSVE_SetRTCPCNAME(int channel, char * str) = 0;
	virtual int GIPSVE_getRemoteRTCPCNAME(int channel, char * str) = 0;

	// SRTP calls
	virtual int GIPSVE_EnableSRTPSend(int channel,int cipher_type,int cipher_key_len,int auth_type, int auth_key_len,int auth_tag_len, int security, const unsigned char* key) = 0;
	virtual int GIPSVE_DisableSRTPSend(int channel) = 0;
	virtual int GIPSVE_EnableSRTPReceive(int channel,int cipher_type,int cipher_key_len,int auth_type, int auth_key_len,int auth_tag_len, int security, const unsigned char* key) = 0;
	virtual int GIPSVE_DisableSRTPReceive(int channel) = 0;

	// Push-to-Talk (PTT) calls
	virtual int GIPSVE_StartPTTPlayout(int channel) = 0;
	virtual int GIPSVE_GetPTTActivity(int channel) = 0;
	virtual int GIPSVE_GetPTTSession(int channel, GIPSVE_PTTState *state) = 0;
	virtual int GIPSVE_sendRTCP_APP(int channel,unsigned char *data, int len) = 0;
	virtual int GIPSVE_subscribeRTCP_APP(int channel, bool enable , RTCP_APP_handler *callback) = 0;


	// Use these function calls ONLY when a customer specific transport protocol is going to be used
	virtual int GIPSVE_SetSendTransport(int channel, GIPS_transport &transport) = 0;
	virtual int GIPSVE_ReceivedRTPPacket(int channel, const void *data, int len) = 0;
	virtual int GIPSVE_ReceivedRTCPPacket(int channel, const void *data, int len) = 0;

	virtual int SetObserver (error_callback &observer) = 0;	
	virtual int GIPSVE_SetPacketTimeout(int channel, bool enable, int time_sec) = 0;

	// Call for dll authentication
	virtual int GIPSVE_Authenticate(char *auth_string, int len) = 0;

	// Record the played audio
	virtual int GIPSVE_StartRecording(int channel,char * fileName,GIPS_CodecInst *gipsve_inst = NULL) = 0;
	virtual int GIPSVE_StartRecording(int channel,OutStream *pcm,GIPS_CodecInst *gipsve_inst = NULL) = 0;
	virtual int GIPSVE_StopRecording(int channel) = 0;

	// Local recording 
	virtual int GIPSVE_StartRecordingMicrophone(char * fileName,GIPS_CodecInst *codec_inst = NULL) = 0;
	virtual int GIPSVE_StartRecordingMicrophone(OutStream *pcm,GIPS_CodecInst *codec_inst = NULL) = 0;
	virtual int GIPSVE_StopRecordingMicrophone() = 0;

	// Call recording 
	virtual int GIPSVE_StartRecordingCall(char * fileName,GIPS_CodecInst *codec_inst = NULL) = 0;
	virtual int GIPSVE_StartRecordingCall(OutStream *pcm,GIPS_CodecInst *codec_inst = NULL) = 0;
	virtual int GIPSVE_PauseRecordingCall(bool isPaused) = 0;	
	virtual int GIPSVE_StopRecordingCall() = 0;

	// File conversion
	virtual int GIPSVE_ConvertWavToPCM(char *InfileName, char *OutfileName) = 0;
	virtual int GIPSVE_ConvertWavToPCM(InStream *wav, OutStream *pcm) = 0;
	virtual int GIPSVE_ConvertPCMToWav(char *InfileName, char *OutfileName) = 0;
	virtual int GIPSVE_ConvertPCMToWav(InStream *pcm, OutStream *wav,int lenghtInBytes) = 0;
	virtual int GIPSVE_ConvertPCMToCompressed(char *InfileName, char *OutfileName,GIPS_CodecInst *codec_inst) = 0;
	virtual int GIPSVE_ConvertPCMToCompressed(InStream *in, OutStream *out,GIPS_CodecInst *codec_inst) = 0;
	virtual int GIPSVE_ConvertCompressedToPCM(char *InfileName, char *OutfileName) = 0;
	virtual int GIPSVE_ConvertCompressedToPCM(InStream *in, OutStream *out) = 0;

	// Convert RTP packets direct to file, faster than realtime
	virtual int GIPSVE_InitRTPToPCMConversion(const char* fileName, unsigned int conversionDelay, GIPS_CodecInst *gipsve_inst= NULL) = 0;
	virtual int GIPSVE_InitRTPToPCMConversion(OutStream *out, unsigned int conversionDelay, GIPS_CodecInst *gipsve_inst = NULL) =0;
	virtual int GIPSVE_StartRTPToPCMConversion(int channel) = 0;        
	virtual int GIPSVE_StopRTPToPCMConversion(int channel)=0;    
	virtual int GIPSVE_ConvertRTPToPCM( int channel, char *rtpPacketBuffer, int length, unsigned long incomingTimeStamp)=0;       

	// VQMon calls
	virtual int GIPSVE_EnableVQMon(int channel, bool enable) = 0;
	virtual int GIPSVE_EnableRTCP_XR(int channel, bool enable) = 0;
	virtual int GIPSVE_GetVoIPMetrics(int channel, unsigned char *dst, unsigned int bufSize) = 0;
	virtual int GIPSVE_InstallAlertHandler(vqmon_alert alert_callback) = 0;
	virtual int GIPSVE_SetAlert(int channel, int type, int param1, int param2, int param3) = 0;
	virtual int GIPSVE_RemoveAlert(int channel, int type) = 0;

	// AMR specific calls
	virtual int GIPSVE_SetAMR_enc_format(int channel,int mode) = 0;
	virtual int GIPSVE_SetAMR_dec_format(int channel,int mode) = 0;

	// Send extra packet over RTP / RTCP channel (no RTP headers added)
	virtual int sendExtraPacket_RTP(int channel, unsigned char* data, int nbytes) = 0;
	virtual int sendExtraPacket_RTCP(int channel, unsigned char* data, int nbytes) = 0;

	// External recording device
	virtual int GIPSVE_Enable_External_Recording(bool enable) = 0;
	virtual int GIPSVE_External_Recording_SendData(short * speech_10ms, int sampFreq, int currentRecordingDelayinMS, int length = -1) = 0;

	// External playout device, instead of sound card
	virtual int GIPSVE_Enable_External_Playout(bool enable) = 0;
	virtual int GIPSVE_GetPlayData(short * speech_10ms, int sampFreq, int currentPlayDelayinMS) = 0;
	
	// External media processing
	virtual int GIPSVE_EnableExternalMediaProcessing(bool enable, int where, int channel, GIPS_media_process &procObj) = 0;

	// RFC 2198 Forward error correctionvirtual 
	virtual int GIPSVE_EnableFEC(int channel, bool enable, int REDpayloadtype = -1) = 0;

	// CPU load, only for Windows right now, load in percentage
	virtual int GIPSVE_GetCPULoad() = 0;

	// Remote SSRC and CSRC
	virtual int GIPSVE_GetRemoteSSRC( int channel, unsigned int *SSRC, unsigned char *CSRCBlock = NULL, int * CSRCLen = NULL, unsigned char *energy = NULL) =0;

	// Voice Activity
	virtual int GIPSVE_GetVoiceActivityIndicator(int channel) = 0;
	
	// SoundCard functions
	virtual int GIPSVE_GrabPlayout(bool enable) = 0;
	virtual int GIPSVE_GrabRecording(bool enable) = 0;

	virtual ~GipsVoiceEngineLib();
};

//////////////////////////////////////////////////////////////////////
// Factory method
//////////////////////////////////////////////////////////////////////

#ifndef GIPSVE_ATA

VOICEENGINE_DLLEXPORT GipsVoiceEngineLib &GetGipsVoiceEngineLib();

extern "C"
{
	GipsVoiceEngineLib * GetGipsVoiceEngineDylib();
}

//////////////////////////////////////////////////////////////////////
// Extra instances
//////////////////////////////////////////////////////////////////////
VOICEENGINE_DLLEXPORT GipsVoiceEngineLib * GetNewVoiceEngineLib();

#endif

#endif // PUBLIC_GIPS_VOICE_ENGINE_LIB_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -