Enable transport seq num extension on receive channel to suppress log warning.
TBR=pbos@webrtc.org
BUG=webrtc:5263
Review URL: https://codereview.webrtc.org/1608563005
Cr-Commit-Position: refs/heads/master@{#11338}
diff --git a/webrtc/audio/audio_receive_stream.cc b/webrtc/audio/audio_receive_stream.cc
index 64d0083..ebe2713 100644
--- a/webrtc/audio/audio_receive_stream.cc
+++ b/webrtc/audio/audio_receive_stream.cc
@@ -108,6 +108,7 @@
kRtpExtensionAbsoluteSendTime, extension.id);
RTC_DCHECK(registered);
} else if (extension.name == RtpExtension::kTransportSequenceNumber) {
+ channel_proxy_->EnableReceiveTransportSequenceNumber(extension.id);
bool registered = rtp_header_parser_->RegisterRtpHeaderExtension(
kRtpExtensionTransportSequenceNumber, extension.id);
RTC_DCHECK(registered);
diff --git a/webrtc/audio/audio_receive_stream_unittest.cc b/webrtc/audio/audio_receive_stream_unittest.cc
index eb008b3..b241bed 100644
--- a/webrtc/audio/audio_receive_stream_unittest.cc
+++ b/webrtc/audio/audio_receive_stream_unittest.cc
@@ -9,6 +9,7 @@
*/
#include <string>
+#include <vector>
#include "testing/gtest/include/gtest/gtest.h"
@@ -90,6 +91,9 @@
EXPECT_CALL(*channel_proxy_,
SetReceiveAudioLevelIndicationStatus(true, kAudioLevelId))
.Times(1);
+ EXPECT_CALL(*channel_proxy_, EnableReceiveTransportSequenceNumber(
+ kTransportSequenceNumberId))
+ .Times(1);
EXPECT_CALL(*channel_proxy_, SetCongestionControlObjects(
nullptr, nullptr, &packet_router_))
.Times(1);
@@ -107,6 +111,8 @@
RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId));
stream_config_.rtp.extensions.push_back(
RtpExtension(RtpExtension::kAudioLevel, kAudioLevelId));
+ stream_config_.rtp.extensions.push_back(RtpExtension(
+ RtpExtension::kTransportSequenceNumber, kTransportSequenceNumberId));
}
MockCongestionController* congestion_controller() {
@@ -261,8 +267,6 @@
ConfigHelper helper;
helper.config().combined_audio_video_bwe = true;
helper.config().rtp.transport_cc = true;
- helper.config().rtp.extensions.push_back(RtpExtension(
- RtpExtension::kTransportSequenceNumber, kTransportSequenceNumberId));
helper.SetupMockForBweFeedback(true);
internal::AudioReceiveStream recv_stream(
helper.congestion_controller(), helper.config(), helper.audio_state());
diff --git a/webrtc/test/mock_voe_channel_proxy.h b/webrtc/test/mock_voe_channel_proxy.h
index b5d79c1..a0ec4b2 100644
--- a/webrtc/test/mock_voe_channel_proxy.h
+++ b/webrtc/test/mock_voe_channel_proxy.h
@@ -25,9 +25,10 @@
MOCK_METHOD1(SetRTCP_CNAME, void(const std::string& c_name));
MOCK_METHOD2(SetSendAbsoluteSenderTimeStatus, void(bool enable, int id));
MOCK_METHOD2(SetSendAudioLevelIndicationStatus, void(bool enable, int id));
- MOCK_METHOD1(EnableSendTransportSequenceNumber, void(int id));
MOCK_METHOD2(SetReceiveAbsoluteSenderTimeStatus, void(bool enable, int id));
MOCK_METHOD2(SetReceiveAudioLevelIndicationStatus, void(bool enable, int id));
+ MOCK_METHOD1(EnableSendTransportSequenceNumber, void(int id));
+ MOCK_METHOD1(EnableReceiveTransportSequenceNumber, void(int id));
MOCK_METHOD3(SetCongestionControlObjects,
void(RtpPacketSender* rtp_packet_sender,
TransportFeedbackObserver* transport_feedback_observer,
diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc
index 46e04ba..7b9a803 100644
--- a/webrtc/voice_engine/channel.cc
+++ b/webrtc/voice_engine/channel.cc
@@ -2924,6 +2924,14 @@
RTC_DCHECK_EQ(0, ret);
}
+void Channel::EnableReceiveTransportSequenceNumber(int id) {
+ rtp_header_parser_->DeregisterRtpHeaderExtension(
+ kRtpExtensionTransportSequenceNumber);
+ bool ret = rtp_header_parser_->RegisterRtpHeaderExtension(
+ kRtpExtensionTransportSequenceNumber, id);
+ RTC_DCHECK(ret);
+}
+
void Channel::SetCongestionControlObjects(
RtpPacketSender* rtp_packet_sender,
TransportFeedbackObserver* transport_feedback_observer,
diff --git a/webrtc/voice_engine/channel.h b/webrtc/voice_engine/channel.h
index d15f9db..3ef5b4a 100644
--- a/webrtc/voice_engine/channel.h
+++ b/webrtc/voice_engine/channel.h
@@ -329,6 +329,7 @@
int SetSendAbsoluteSenderTimeStatus(bool enable, unsigned char id);
int SetReceiveAbsoluteSenderTimeStatus(bool enable, unsigned char id);
void EnableSendTransportSequenceNumber(int id);
+ void EnableReceiveTransportSequenceNumber(int id);
void SetCongestionControlObjects(
RtpPacketSender* rtp_packet_sender,
diff --git a/webrtc/voice_engine/channel_proxy.cc b/webrtc/voice_engine/channel_proxy.cc
index f54c81e..15a2151 100644
--- a/webrtc/voice_engine/channel_proxy.cc
+++ b/webrtc/voice_engine/channel_proxy.cc
@@ -57,11 +57,6 @@
RTC_DCHECK_EQ(0, error);
}
-void ChannelProxy::EnableSendTransportSequenceNumber(int id) {
- RTC_DCHECK(thread_checker_.CalledOnValidThread());
- channel()->EnableSendTransportSequenceNumber(id);
-}
-
void ChannelProxy::SetReceiveAbsoluteSenderTimeStatus(bool enable, int id) {
RTC_DCHECK(thread_checker_.CalledOnValidThread());
int error = channel()->SetReceiveAbsoluteSenderTimeStatus(enable, id);
@@ -74,6 +69,16 @@
RTC_DCHECK_EQ(0, error);
}
+void ChannelProxy::EnableSendTransportSequenceNumber(int id) {
+ RTC_DCHECK(thread_checker_.CalledOnValidThread());
+ channel()->EnableSendTransportSequenceNumber(id);
+}
+
+void ChannelProxy::EnableReceiveTransportSequenceNumber(int id) {
+ RTC_DCHECK(thread_checker_.CalledOnValidThread());
+ channel()->EnableReceiveTransportSequenceNumber(id);
+}
+
void ChannelProxy::SetCongestionControlObjects(
RtpPacketSender* rtp_packet_sender,
TransportFeedbackObserver* transport_feedback_observer,
diff --git a/webrtc/voice_engine/channel_proxy.h b/webrtc/voice_engine/channel_proxy.h
index b990d91..9a93160 100644
--- a/webrtc/voice_engine/channel_proxy.h
+++ b/webrtc/voice_engine/channel_proxy.h
@@ -47,9 +47,10 @@
virtual void SetRTCP_CNAME(const std::string& c_name);
virtual void SetSendAbsoluteSenderTimeStatus(bool enable, int id);
virtual void SetSendAudioLevelIndicationStatus(bool enable, int id);
- virtual void EnableSendTransportSequenceNumber(int id);
virtual void SetReceiveAbsoluteSenderTimeStatus(bool enable, int id);
virtual void SetReceiveAudioLevelIndicationStatus(bool enable, int id);
+ virtual void EnableSendTransportSequenceNumber(int id);
+ virtual void EnableReceiveTransportSequenceNumber(int id);
virtual void SetCongestionControlObjects(
RtpPacketSender* rtp_packet_sender,
TransportFeedbackObserver* transport_feedback_observer,