Add hacky way to send TransportFeedback in RtcpTransceiver
With an extra interface it will allow to add both RtpRtcp module
and RtcpTransceiver as feedback sender to PacketRouter
Though hacky, this is very similar to currently used implementation
in the RTCPSender::SendFeedbackPacket
Bug: webrtc:8239
Change-Id: I237b422ae1594dede78cb63daa4aa42b6774d6fe
Reviewed-on: https://webrtc-review.googlesource.com/32680
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21274}
diff --git a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc
index e8de54a..28d90bc 100644
--- a/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc
+++ b/modules/rtp_rtcp/source/rtcp_transceiver_impl.cc
@@ -149,6 +149,14 @@
remb_.reset();
}
+void RtcpTransceiverImpl::SendRawPacket(rtc::ArrayView<const uint8_t> packet) {
+ // Unlike other senders, this functions just tries to send packet away and
+ // disregard rtcp_mode, max_packet_size or anything else.
+ // TODO(bugs.webrtc.org/8239): respect config_ by creating the
+ // TransportFeedback inside this class when there is one per rtp transport.
+ config_.outgoing_transport->SendRtcp(packet.data(), packet.size());
+}
+
void RtcpTransceiverImpl::SendNack(uint32_t ssrc,
std::vector<uint16_t> sequence_numbers) {
RTC_DCHECK(!sequence_numbers.empty());