Allows FEC generation after pacer step.
Split out from https://webrtc-review.googlesource.com/c/src/+/173708 This CL enables FEC packets to be generated as media packets are sent, rather than generated, i.e. media packets are inserted into the fec generator after the pacing stage rather than at packetization time. This may have some small impact of performance. FEC packets are typically only generated when a new packet with a marker bit is added, which means FEC packets protecting a frame will now be sent after all of the media packets, rather than (potentially) interleaved with them. Therefore this feature is currently behind a flag so we can examine the impact. Once we are comfortable with the behavior we'll make it default and remove the old code. Note that this change does not include the "protect all header extensions" part of the original CL - that will be a follow-up. Bug: webrtc:11340 Change-Id: I3fe139c5d53968579b75b91e2612075451ff0f5d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177760 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31558}
This commit is contained in:
@ -293,6 +293,17 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
|
||||
virtual bool TrySendPacket(RtpPacketToSend* packet,
|
||||
const PacedPacketInfo& pacing_info) = 0;
|
||||
|
||||
// Update the FEC protection parameters to use for delta- and key-frames.
|
||||
// Only used when deferred FEC is active.
|
||||
virtual void SetFecProtectionParams(
|
||||
const FecProtectionParams& delta_params,
|
||||
const FecProtectionParams& key_params) = 0;
|
||||
|
||||
// If deferred FEC generation is enabled, this method should be called after
|
||||
// calling TrySendPacket(). Any generated FEC packets will be removed and
|
||||
// returned from the FEC generator.
|
||||
virtual std::vector<std::unique_ptr<RtpPacketToSend>> FetchFecPackets() = 0;
|
||||
|
||||
virtual void OnPacketsAcknowledged(
|
||||
rtc::ArrayView<const uint16_t> sequence_numbers) = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user