Merge MediaChannel's OnTransportOverheadChanged and OnNetworkRouteChanged callbacks.

OnTransportOverChanged is merged into OnNetworkRouteChanged in MediaChannel
because the transport overhead will be added to rtc::NetworkRoute structure.

This CL depends on https://webrtc-review.googlesource.com/c/src/+/13520

Bug: None
Change-Id: I6ed6583f6c91db4ce61a89406de39774239f3a04
Reviewed-on: https://webrtc-review.googlesource.com/15200
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20678}
This commit is contained in:
Zhi Huang 2017-11-12 17:26:23 -08:00 committed by Commit Bot
parent c2ac3c663f
commit 5f5918f4ef
8 changed files with 7 additions and 26 deletions

View File

@ -273,14 +273,12 @@ template <class Base> class RtpHelper : public Base {
virtual void OnReadyToSend(bool ready) {
ready_to_send_ = ready;
}
virtual void OnTransportOverheadChanged(int transport_overhead_per_packet) {
transport_overhead_per_packet_ = transport_overhead_per_packet;
}
virtual void OnNetworkRouteChanged(const std::string& transport_name,
const rtc::NetworkRoute& network_route) {
last_network_route_ = network_route;
++num_network_route_changes_;
transport_overhead_per_packet_ = network_route.packet_overhead;
}
bool fail_set_send_codecs() const { return fail_set_send_codecs_; }
bool fail_set_recv_codecs() const { return fail_set_recv_codecs_; }

View File

@ -415,9 +415,6 @@ class MediaChannel : public sigslot::has_slots<> {
virtual void OnNetworkRouteChanged(
const std::string& transport_name,
const rtc::NetworkRoute& network_route) = 0;
// Called when the rtp transport overhead changed.
virtual void OnTransportOverheadChanged(
int transport_overhead_per_packet) = 0;
// Creates a new outgoing media stream with SSRCs and CNAME as described
// by sp.
virtual bool AddSendStream(const StreamParams& sp) = 0;

View File

@ -84,7 +84,6 @@ class RtpDataMediaChannel : public DataMediaChannel {
virtual void OnRtcpReceived(rtc::CopyOnWriteBuffer* packet,
const rtc::PacketTime& packet_time) {}
virtual void OnReadyToSend(bool ready) {}
virtual void OnTransportOverheadChanged(int transport_overhead_per_packet) {}
virtual bool SendData(
const SendDataParams& params,
const rtc::CopyOnWriteBuffer& payload,

View File

@ -1470,13 +1470,10 @@ void WebRtcVideoChannel::OnReadyToSend(bool ready) {
void WebRtcVideoChannel::OnNetworkRouteChanged(
const std::string& transport_name,
const rtc::NetworkRoute& network_route) {
// TODO(zhihaung): Merge these two callbacks.
call_->OnNetworkRouteChanged(transport_name, network_route);
}
void WebRtcVideoChannel::OnTransportOverheadChanged(
int transport_overhead_per_packet) {
call_->OnTransportOverheadChanged(webrtc::MediaType::VIDEO,
transport_overhead_per_packet);
network_route.packet_overhead);
}
void WebRtcVideoChannel::SetInterface(NetworkInterface* iface) {

View File

@ -167,7 +167,6 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
void OnReadyToSend(bool ready) override;
void OnNetworkRouteChanged(const std::string& transport_name,
const rtc::NetworkRoute& network_route) override;
void OnTransportOverheadChanged(int transport_overhead_per_packet) override;
void SetInterface(NetworkInterface* iface) override;
// Implemented for VideoMediaChannelTest.

View File

@ -2159,7 +2159,11 @@ void WebRtcVoiceMediaChannel::OnRtcpReceived(
void WebRtcVoiceMediaChannel::OnNetworkRouteChanged(
const std::string& transport_name,
const rtc::NetworkRoute& network_route) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
// TODO(zhihaung): Merge these two callbacks.
call_->OnNetworkRouteChanged(transport_name, network_route);
call_->OnTransportOverheadChanged(webrtc::MediaType::AUDIO,
network_route.packet_overhead);
}
bool WebRtcVoiceMediaChannel::MuteStream(uint32_t ssrc, bool muted) {
@ -2205,13 +2209,6 @@ void WebRtcVoiceMediaChannel::OnReadyToSend(bool ready) {
ready ? webrtc::kNetworkUp : webrtc::kNetworkDown);
}
void WebRtcVoiceMediaChannel::OnTransportOverheadChanged(
int transport_overhead_per_packet) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
call_->OnTransportOverheadChanged(webrtc::MediaType::AUDIO,
transport_overhead_per_packet);
}
bool WebRtcVoiceMediaChannel::GetStats(VoiceMediaInfo* info) {
TRACE_EVENT0("webrtc", "WebRtcVoiceMediaChannel::GetStats");
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());

View File

@ -207,7 +207,6 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
void OnNetworkRouteChanged(const std::string& transport_name,
const rtc::NetworkRoute& network_route) override;
void OnReadyToSend(bool ready) override;
void OnTransportOverheadChanged(int transport_overhead_per_packet) override;
bool GetStats(VoiceMediaInfo* info) override;
// SSRC=0 will set the audio sink on the latest unsignaled stream, future or

View File

@ -595,13 +595,8 @@ void BaseChannel::OnNetworkRouteChanged(
RTC_DCHECK(network_thread_->IsCurrent());
rtc::NetworkRoute new_route;
if (network_route) {
invoker_.AsyncInvoke<void>(RTC_FROM_HERE, worker_thread_, [=] {
media_channel_->OnTransportOverheadChanged(
network_route->packet_overhead);
});
new_route = *(network_route);
}
// Note: When the RTCP-muxing is not enabled, RTCP transport and RTP transport
// use the same transport name and MediaChannel::OnNetworkRouteChanged cannot
// work correctly. Intentionally leave it broken to simplify the code and