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

📄 gipsvoiceenginelib.h

📁 GIPS语音处理方案技术资料。Skype高质量语音通话
💻 H
📖 第 1 页 / 共 2 页
字号:
// GipsVoiceEngineLib.h
//
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////
// 
//  Created by: Fredrik Galschi鰀t
//  Date      : 011202
//
//  $Change$
//
//	Public API for GIPS Voice Engine on a PC platform.
// 
//  Copyright (c) 2001
//  Global IP Sound AB, Organization number: 5565739017
//  Rosenlundsgatan 54, SE-118 63 Stockholm, Sweden
//  All rights reserved.
//  
//////////////////////////////////////////////////////////////////////

#ifndef PUBLIC_GIPS_VOICE_ENGINE_LIB_H
#define PUBLIC_GIPS_VOICE_ENGINE_LIB_H

#include "GIPS_common_types.h"

#ifdef GIPS_EXPORT
#define VOICEENGINE_DLLEXPORT _declspec(dllexport)
#elif GIPS_DLL
#define VOICEENGINE_DLLEXPORT _declspec(dllimport)
#else
#define VOICEENGINE_DLLEXPORT
#endif

// Constants for SRTP
#define CIPHER_NULL 0
#define CIPHER_AES_128_COUNTER_MODE 1

#define AUTH_NULL 0
#define AUTH_HMAC_SHA1 3

#define NO_PROTECTION 0
#define ENCRYPTION 1
#define AUTHENTICATION 2
#define ENCRYPTION_AND_AUTHENTICATION 3



// Constants for file playout

#define FILE_FORMAT_PCM_FILE 0
#define FILE_FORMAT_WAV_FILE 1
#define FILE_FORMAT_COMPRESSED_FILE 2

// Constants for AMRcodec
#define GIPSAMR_RFC3267_BWEFFICIENT		0
#define GIPSAMR_RFC3267_OCTETALIGNED	1
#define GIPSAMR_RFC3267_FILESTORAGE		2



//////////////////////////////////////////////////////////////////////
// GIPSVE_PTTState
//////////////////////////////////////////////////////////////////////

struct GIPSVE_PTTState
{
	int				port;			// remote source port
	char			address[16];	// remote IP address
	unsigned long	SSRC;			// remote SSRC
};

//////////////////////////////////////////////////////////////////////
// GIPSVE_CallStatistics
//////////////////////////////////////////////////////////////////////

struct GIPSVE_CallStatistics
{
	unsigned short fraction_lost;
	unsigned long cum_lost;
	unsigned long ext_max;
	unsigned long jitter;
	int RTT;
	int bytesSent;
	int packetsSent;
	int bytesReceived;
	int packetsReceived;
};




// GIPS_media_process
// This is a class that should be overloaded to modify audio in recording or playout path
class VOICEENGINE_DLLEXPORT GIPS_media_process
{
public:
    virtual void process(int channel_no, short* audio_10ms_16kHz, int len, int sampfreq) = 0;
	virtual ~GIPS_media_process();
};
// Constants for external media processing
#define PLAYBACK_PER_CHANNEL 0
#define PLAYBACK_ALL_CHANNELS_MIXED 1
#define RECORDING_PER_CHANNEL 2
#define RECORDING_ALL_CHANNELS_MIXED 3


//////////////////////////////////////////////////////////////////////
// error_callback
//
// Delivers runtime error that are not a direct effect of an API call
//////////////////////////////////////////////////////////////////////

class VOICEENGINE_DLLEXPORT error_callback
{
public:
	virtual void error_handler(int errCode, int channel) = 0;

	// Destructor
	virtual ~error_callback();
};

// VQmon alert notification handler function prototype.
typedef void (*vqmon_alert)(int channel,void* pAlertDesc);

// RTCP APP callback function
class VOICEENGINE_DLLEXPORT RTCP_APP_handler
{
public:
    virtual void received_RTCP_APP(int channel,char *data, int lengthInWord32) = 0;
	virtual ~RTCP_APP_handler();
};


//////////////////////////////////////////////////////////////////////
// GipsVoiceEngineLib
//
// Public interface to the GIPS Voice Engine for PC platforms
//////////////////////////////////////////////////////////////////////

#ifndef NULL
#define NULL 0L
#endif

class VOICEENGINE_DLLEXPORT GipsVoiceEngineLib
{
public:
	virtual int GIPSVE_Init(bool recordAEC =false, bool multiCore = false,int month = 0,int day = 0,int year = 0, int audiolib=1 ) = 0;
	virtual int GIPSVE_SetNetworkStatus(int networktype) = 0;
	virtual int GIPSVE_GetNetworkStatus() = 0;
	virtual int GIPSVE_SetVADStatus(int channel, int enable, int mode = 0, bool disableDTX = 0) = 0;
	virtual int GIPSVE_GetVADStatus(int channel) = 0;
	virtual int GIPSVE_SetECStatus(int mode) = 0;
	virtual int GIPSVE_GetECStatus() = 0;
	virtual int GIPSVE_GetECActivity() = 0;
	virtual int GIPSVE_CreateChannel() = 0;
	virtual int GIPSVE_DeleteChannel(int channel) = 0;
	virtual int GIPSVE_GetCodec(short listnr, GIPS_CodecInst *codec_inst) = 0;
	virtual int GIPSVE_GetNofCodecs() = 0;
	virtual int GIPSVE_SetSendCodec(int channel, GIPS_CodecInst *codec_inst) = 0;
	virtual int GIPSVE_SetSendCodecAuto(int channel, bool enable, int isacPT, int speexPT) = 0;
	virtual int GIPSVE_GetCurrentSendCodec(short channel, GIPS_CodecInst *gipsve_inst) = 0;
	virtual int GIPSVE_GetRecCodec(int channel, GIPS_CodecInst *recCodec) = 0;
	virtual int GIPSVE_SetRecPort(int channel, int portnr, char * multiCastAddr = NULL, char * ip = NULL) = 0;
	virtual int GIPSVE_GetRecPort(int channel) = 0;
	virtual int GIPSVE_SetSendPort(int channel, int portnr) = 0;
	virtual int GIPSVE_SetSrcPort(int channel, int portnr) = 0;
	virtual int GIPSVE_GetSendPort(int channel) = 0;
	virtual int GIPSVE_SetSendIP(int channel, char *ipadr) = 0;
	virtual int GIPSVE_GetSendIP(int channel, char *ipadr, int bufsize) = 0;
	virtual int GIPSVE_StartListen(int channel) = 0;
	virtual int GIPSVE_StartPlayout(int channel) = 0;
	virtual int GIPSVE_StartSend(int channel) = 0;
	virtual int GIPSVE_StopListen(int channel) = 0;
	virtual int GIPSVE_StopPlayout(int channel) = 0;
	virtual int GIPSVE_StopSend(int channel) = 0;
	virtual int GIPSVE_GetLastError() = 0;
	virtual int GIPSVE_SetSpeakerVolume(unsigned int level) = 0;
	virtual int GIPSVE_GetSpeakerVolume() = 0;
	virtual int GIPSVE_SetMicVolume(unsigned int level) = 0;
	virtual int GIPSVE_GetMicVolume() = 0;
	virtual int GIPSVE_SetChannelOutputVolumeScale(int channel, float level) = 0;
	virtual float GIPSVE_GetChannelOutputVolumeScale(int channel) = 0;
	virtual int GIPSVE_SetAGCStatus(int mode) = 0;
	virtual int GIPSVE_GetAGCStatus() = 0;
	virtual int GIPSVE_SetNRStatus(int mode) = 0;
	virtual int GIPSVE_GetNRStatus() = 0;
	//virtual int GIPSVE_SetNRframes(int frames) = 0;
	virtual int GIPSVE_SetNRpolicy(int mode) = 0;
	virtual int GIPSVE_GetVersion(char *version, int buflen) = 0;
	virtual int GIPSVE_Terminate() = 0;
	virtual int GIPSVE_SetDTMFPayloadType(int channel, int payloadType) = 0;
	virtual int GIPSVE_SendDTMF(int channel, int eventnr, int inBand) = 0;

⌨️ 快捷键说明

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