summaryrefslogtreecommitdiff
path: root/voice_engine/channel.h
diff options
context:
space:
mode:
Diffstat (limited to 'voice_engine/channel.h')
-rw-r--r--voice_engine/channel.h35
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;