📄 callaudio.h
字号:
#ifndef CALLAUDIO_H_INCLUDED#define CALLAUDIO_H_INCLUDED#include <qobject.h>#include <qstring.h>#include <sys/types.h>#include "../dissipate2/sdp.h"#include "../dissipate2/udpmessagesocket.h"class DspAudio;class SipCall;class SipCallMember;class KPhoneView;class DspAudioJackOut;class DspAudioJackIn;enum audiomodeType { oss, alsa, jack };class CallAudio : public QObject{ Q_OBJECTpublic: CallAudio( KPhoneView *phoneview ); ~CallAudio( void ); void setAudiomode( QString str ); void setOSSFilename( const QString &devname ); void setOSSFilename2( const QString &devname ); const QString &getOSSFilename( void ) const { return ossfilename; } const QString &getOSSFilename2( void ) const { return ossfilename2; } void setALSADevicename( const QString &devname ); void setVideoSW( const QString &sw ); const QString &getVideoSW( void ) const { return videoSW; } // Call attachment void attachToCallMember( SipCallMember *newmember ); void detachFromCall( void ); void toggleOnHold( void ); void renegotiateCall( void ); void startDTMF(char code); // Start DTMF tone generation void stopDTMF(void); // Stop DTMF tone generation // Returns a session description for sending in responses SdpMessage audioOut( void ); // Call tracking void setCurrentCall( SipCall *newcall ); SipCall *getCurrentCall( void ) const { return curcall; } bool isRemoteHold( void ); // Settings void saveAudioSettings( void ); void readAudioSettings( void ); void readVideoSettings( void ); void setPayload( int newPayload ) { payload = newPayload; } bool isAudioOn( void ); // Set/reset symmetric mode void setSymMediaMode( bool yesno ) { symMedia = yesno; } void setCodec( codecType newCodec ) { codec = newCodec; } void setRtpCodec( codecType newCodec ) { rtpCodec = newCodec; } void setVideoCodec( codecType newCodec ) { videoCodec = newCodec; } void setVideoRtpCodec( codecType newCodec ) { videoRtpCodec = newCodec; } codecType getRtpCodec( void ); int getRtpCodecNum( void ); short getRtpBlockLength( void ); codecType getVideoRtpCodec( void ); int getVideoRtpCodecNum( void ); QString getVideoRtpCodecName( void ); void setBodyMask( QString body ) { bodyMask = body; } QString getBodyMask( void ) { return bodyMask; } bool checkCodec( SipCallMember *member ); void setStunSrv( QString newStunSrv ); signals: void outputDead( void ); void statusUpdated( void );private slots: void memberStatusUpdated(SipCallMember *member);private: KPhoneView *view; DspAudio *input; DspAudio *output; DspAudioJackOut *jack_audioout; DspAudioJackIn *jack_audioin; int audio_fd; SdpMessage local; SdpMessage remote; audiomodeType audiomode; QString ossfilename; QString ossfilename2; QString alsadevicename; //Added by bobosch QString videoSW; SipCall *curcall; SipCallMember *curmember; void audioIn( void ); void stopListeningAudio( void ); void stopSendingAudio( void ); void detachAndHold( void ); int payload; codecType codec; codecType rtpCodec; codecType videoCodec; codecType videoRtpCodec; int rtpCodecNum; int videoRtpCodecNum; QString bodyMask; pid_t pidVideo; bool useStun; bool symMedia; QString stunSrv; /* * Common socket for both streams, used only in symmetric mode */ UDPMessageSocket socket;};#endif // CALLAUDIO_H_INCLUDED
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -