Simulcast work to enable RID mux.
Rids can now be sent using rtp_sender.
Hooking up the rid values in the voice and video engine is still WIP.
Bug: webrtc:10074
Change-Id: I245c7ecb23b67fc0ba65caaa5dbb4fcfd60c81bb
Reviewed-on: https://webrtc-review.googlesource.com/c/114505
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26092}
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index fa21141..fa69422 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -133,6 +133,9 @@
// RTP+RTCP
void SetLocalSSRC(uint32_t ssrc) override;
+ void SetRid(const std::string& rid,
+ int extension_id,
+ int repaired_extension_id) override;
void SetMid(const std::string& mid, int extension_id) override;
void SetExtmapAllowMixed(bool extmap_allow_mixed) override;
void SetSendAudioLevelIndicationStatus(bool enable, int id) override;
@@ -965,6 +968,23 @@
_rtpRtcpModule->SetSSRC(ssrc);
}
+void ChannelSend::SetRid(const std::string& rid,
+ int extension_id,
+ int repaired_extension_id) {
+ RTC_DCHECK_RUN_ON(&worker_thread_checker_);
+ if (extension_id != 0) {
+ int ret = SetSendRtpHeaderExtension(!rid.empty(), kRtpExtensionRtpStreamId,
+ extension_id);
+ RTC_DCHECK_EQ(0, ret);
+ }
+ if (repaired_extension_id != 0) {
+ int ret = SetSendRtpHeaderExtension(!rid.empty(), kRtpExtensionRtpStreamId,
+ repaired_extension_id);
+ RTC_DCHECK_EQ(0, ret);
+ }
+ _rtpRtcpModule->SetRid(rid);
+}
+
void ChannelSend::SetMid(const std::string& mid, int extension_id) {
RTC_DCHECK_RUN_ON(&worker_thread_checker_);
int ret = SetSendRtpHeaderExtension(true, kRtpExtensionMid, extension_id);