Refactoring PayloadRouter.

- Move PayloadRouter to RtpTransportControllerInterface.
- Move RetransmissionLimiter inside RtpTransportControllerSend from
  VideoSendStreamImpl.
- Move video RTP specifics into PayloadRouter, in particular ownership
  of the RTP modules.
- PayloadRouter now contains all video specific RTP code, and will be
  renamed in a follow-up to VideoRtpSender.
- Introduce VideoRtpSenderInterface.

Bug: webrtc:9517
Change-Id: I1c7b293fa6f9c320286c80533b3c584498034a38
Reviewed-on: https://webrtc-review.googlesource.com/88240
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24009}
This commit is contained in:
Stefan Holmer
2018-07-17 16:03:46 +02:00
committed by Commit Bot
parent e1d7b23915
commit dbdb3a0079
45 changed files with 1199 additions and 783 deletions

View File

@ -29,6 +29,20 @@ static const int kPacketLossMax = 129;
namespace media_optimization {
VCMProtectionParameters::VCMProtectionParameters()
: rtt(0),
lossPr(0.0f),
bitRate(0.0f),
packetsPerFrame(0.0f),
packetsPerFrameKey(0.0f),
frameRate(0.0f),
keyFrameSize(0.0f),
fecRateDelta(0),
fecRateKey(0),
codecWidth(0),
codecHeight(0),
numLayers(1) {}
VCMProtectionMethod::VCMProtectionMethod()
: _effectivePacketLoss(0),
_protectionFactorK(0),
@ -40,6 +54,34 @@ VCMProtectionMethod::VCMProtectionMethod()
VCMProtectionMethod::~VCMProtectionMethod() {}
enum VCMProtectionMethodEnum VCMProtectionMethod::Type() const {
return _type;
}
uint8_t VCMProtectionMethod::RequiredPacketLossER() {
return _effectivePacketLoss;
}
uint8_t VCMProtectionMethod::RequiredProtectionFactorK() {
return _protectionFactorK;
}
uint8_t VCMProtectionMethod::RequiredProtectionFactorD() {
return _protectionFactorD;
}
bool VCMProtectionMethod::RequiredUepProtectionK() {
return _useUepProtectionK;
}
bool VCMProtectionMethod::RequiredUepProtectionD() {
return _useUepProtectionD;
}
int VCMProtectionMethod::MaxFramesFec() const {
return 1;
}
VCMNackFecMethod::VCMNackFecMethod(int64_t lowRttNackThresholdMs,
int64_t highRttNackThresholdMs)
: VCMFecMethod(),