www.pudn.com > demo_client_VE_Lite.zip > GipsVoiceEngineLite.h
// GipsVoiceEngineLib.h
//
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
// Created by: Fredrik Galschiödt
// 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_LITE_H
#define PUBLIC_GIPS_VOICE_ENGINE_LITE_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
//////////////////////////////////////////////////////////////////////
// GipsVoiceEngineLib
//
// Public interface to the GIPS Voice Engine for PC platforms
//////////////////////////////////////////////////////////////////////
#ifndef NULL
#define NULL 0L
#endif
class VOICEENGINE_DLLEXPORT GipsVoiceEngineLite
{
public:
virtual int GIPSVE_Init(int month = 0,int day = 0,int year = 0 ) = 0;
virtual int GIPSVE_SetNetworkStatus(int networktype) = 0;
virtual int GIPSVE_GetNetworkStatus() = 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_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_SetAGCStatus(int mode) = 0;
virtual int GIPSVE_GetAGCStatus() = 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;
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_RTCPStat(int channel, unsigned short *fraction_lost, unsigned long *cum_lost, unsigned long *ext_max, unsigned long *jitter, int *RTT)=0;
virtual int GIPSVE_SetSoundDevices(unsigned int WaveInDevice, unsigned int WaveOutDevice, bool disableMicBoost = false)= 0;
virtual int GIPSVE_SetDTMFFeedbackStatus(int mode) = 0;
virtual int GIPSVE_GetDTMFFeedbackStatus() = 0;
virtual int GIPSVE_GetNoOfChannels() = 0;
virtual int GIPSVE_GetInputLevel() = 0;
virtual int GIPSVE_GetOutputLevel(int channel = -1) = 0;
virtual int GIPSVE_MuteMic(int channel,int Mute) = 0;
virtual int GIPSVE_PutOnHold(int channel,bool enable) = 0;
virtual int GIPSVE_CheckIfAudioIsAvailable(int checkPlay, int checkRec) = 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;
virtual int GIPSVE_SetPacketTimeout(int channel, bool enable, int time_sec) = 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;
// Voice Activity
virtual int GIPSVE_GetVoiceActivityIndicator(int channel) = 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 ~GipsVoiceEngineLite();
};
//////////////////////////////////////////////////////////////////////
// Factory method
//////////////////////////////////////////////////////////////////////
VOICEENGINE_DLLEXPORT GipsVoiceEngineLite &GetGipsVoiceEngineLite();
#endif // PUBLIC_GIPS_VOICE_ENGINE_LIB_H