diff options
Diffstat (limited to 'voice_engine/channel.h')
-rw-r--r-- | voice_engine/channel.h | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/voice_engine/channel.h b/voice_engine/channel.h index eb08b353..f88dca47 100644 --- a/voice_engine/channel.h +++ b/voice_engine/channel.h @@ -35,16 +35,21 @@ namespace webrtc { -class CriticalSectionWrapper; -class ProcessThread; class AudioDeviceModule; -class RtpRtcp; +class CriticalSectionWrapper; class FileWrapper; +class ProcessThread; +class ReceiveStatistics; class RtpDump; -class VoiceEngineObserver; +class RTPPayloadRegistry; +class RtpReceiver; +class RTPReceiverAudio; +class RtpRtcp; +class TelephoneEventHandler; class VoEMediaProcess; -class VoERTPObserver; class VoERTCPObserver; +class VoERTPObserver; +class VoiceEngineObserver; struct CallStatistics; struct ReportBlock; @@ -133,12 +138,6 @@ public: int32_t DeRegisterExternalTransport(); int32_t ReceivedRTPPacket(const int8_t* data, int32_t length); int32_t ReceivedRTCPPacket(const int8_t* data, int32_t length); - int32_t SetPacketTimeoutNotification(bool enable, int timeoutSeconds); - int32_t GetPacketTimeoutNotification(bool& enabled, int& timeoutSeconds); - int32_t RegisterDeadOrAliveObserver(VoEConnectionObserver& observer); - int32_t DeRegisterDeadOrAliveObserver(); - int32_t SetPeriodicDeadOrAliveStatus(bool enable, int sampleTimeSeconds); - int32_t GetPeriodicDeadOrAliveStatus(bool& enabled, int& sampleTimeSeconds); // VoEFile int StartPlayingFileLocally(const char* fileName, bool loop, @@ -215,7 +214,7 @@ public: int SetInitSequenceNumber(short sequenceNumber); // VoEVideoSyncExtended - int GetRtpRtcp(RtpRtcp* &rtpRtcpModule) const; + int GetRtpRtcp(RtpRtcp** rtpRtcpModule, RtpReceiver** rtp_receiver) const; // VoEEncryption int RegisterExternalEncryption(Encryption& encryption); @@ -307,6 +306,11 @@ public: uint16_t payloadSize, const WebRtcRTPHeader* rtpHeader); + bool OnRecoveredPacket(const uint8_t* packet, int packet_length) { + // Generic FEC not supported for audio. + return true; + } + public: // From RtpFeedback in the RTP/RTCP module int32_t OnInitializeDecoder( @@ -330,6 +334,8 @@ public: void OnIncomingCSRCChanged(int32_t id, uint32_t CSRC, bool added); + void ResetStatistics(); + public: // From RtcpFeedback in the RTP/RTCP module void OnApplicationDataReceived(int32_t id, @@ -433,6 +439,7 @@ public: uint32_t EncodeAndSend(); private: + bool IsPacketRetransmitted(const RTPHeader& header) const; int ResendPackets(const uint16_t* sequence_numbers, int length); int InsertInbandDtmfTone(); int32_t MixOrReplaceAudioWithFile(int mixingFrequency); @@ -453,6 +460,10 @@ private: private: scoped_ptr<RtpHeaderParser> rtp_header_parser_; + scoped_ptr<RTPPayloadRegistry> rtp_payload_registry_; + scoped_ptr<ReceiveStatistics> rtp_receive_statistics_; + scoped_ptr<RtpReceiver> rtp_receiver_; + TelephoneEventHandler* telephone_event_handler_; scoped_ptr<RtpRtcp> _rtpRtcpModule; AudioCodingModule& _audioCodingModule; RtpDump& _rtpDumpIn; |