This CL is to adding feedback of packet loss rate to encoder in voice engine. A direct reason for doing it is to make use of Opus FEC, which can adapt itself to changes in the packet loss rate.
This CL is going to be combined with another CL in ACM, which is to be landed. TEST=passed_try_bots BUG= R=stefan@webrtc.org, xians@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13449004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6262 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -15,7 +15,7 @@
|
||||
// - Transmission of RTCP sender reports.
|
||||
// - Obtaining RTCP data from incoming RTCP sender reports.
|
||||
// - RTP and RTCP statistics (jitter, packet loss, RTT etc.).
|
||||
// - Forward Error Correction (FEC).
|
||||
// - Redundant Coding (RED)
|
||||
// - Writing RTP and RTCP packets to binary files for off-line analysis of
|
||||
// the call quality.
|
||||
//
|
||||
@ -200,13 +200,33 @@ public:
|
||||
virtual int GetRemoteRTCPReportBlocks(
|
||||
int channel, std::vector<ReportBlock>* receive_blocks) = 0;
|
||||
|
||||
// Sets the Redundant Coding (RED) status on a specific |channel|.
|
||||
// TODO(minyue): Make SetREDStatus() pure virtual when fakewebrtcvoiceengine
|
||||
// in talk is ready.
|
||||
virtual int SetREDStatus(
|
||||
int channel, bool enable, int redPayloadtype = -1) { return -1; }
|
||||
|
||||
// Gets the RED status on a specific |channel|.
|
||||
// TODO(minyue): Make GetREDStatus() pure virtual when fakewebrtcvoiceengine
|
||||
// in talk is ready.
|
||||
virtual int GetREDStatus(
|
||||
int channel, bool& enabled, int& redPayloadtype) { return -1; }
|
||||
|
||||
// Sets the Forward Error Correction (FEC) status on a specific |channel|.
|
||||
// TODO(minyue): Remove SetFECStatus() when SetFECStatus() is replaced by
|
||||
// SetREDStatus() in fakewebrtcvoiceengine.
|
||||
virtual int SetFECStatus(
|
||||
int channel, bool enable, int redPayloadtype = -1) = 0;
|
||||
int channel, bool enable, int redPayloadtype = -1) {
|
||||
return SetREDStatus(channel, enable, redPayloadtype);
|
||||
};
|
||||
|
||||
// Gets the FEC status on a specific |channel|.
|
||||
// TODO(minyue): Remove GetFECStatus() when GetFECStatus() is replaced by
|
||||
// GetREDStatus() in fakewebrtcvoiceengine.
|
||||
virtual int GetFECStatus(
|
||||
int channel, bool& enabled, int& redPayloadtype) = 0;
|
||||
int channel, bool& enabled, int& redPayloadtype) {
|
||||
return SetREDStatus(channel, enabled, redPayloadtype);
|
||||
}
|
||||
|
||||
// This function enables Negative Acknowledgment (NACK) using RTCP,
|
||||
// implemented based on RFC 4585. NACK retransmits RTP packets if lost on
|
||||
|
||||
Reference in New Issue
Block a user