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:
parent
c2ac3c663f
commit
5f5918f4ef
@ -273,14 +273,12 @@ template <class Base> class RtpHelper : public Base {
|
|||||||
virtual void OnReadyToSend(bool ready) {
|
virtual void OnReadyToSend(bool ready) {
|
||||||
ready_to_send_ = 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,
|
virtual void OnNetworkRouteChanged(const std::string& transport_name,
|
||||||
const rtc::NetworkRoute& network_route) {
|
const rtc::NetworkRoute& network_route) {
|
||||||
last_network_route_ = network_route;
|
last_network_route_ = network_route;
|
||||||
++num_network_route_changes_;
|
++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_send_codecs() const { return fail_set_send_codecs_; }
|
||||||
bool fail_set_recv_codecs() const { return fail_set_recv_codecs_; }
|
bool fail_set_recv_codecs() const { return fail_set_recv_codecs_; }
|
||||||
|
|||||||
@ -415,9 +415,6 @@ class MediaChannel : public sigslot::has_slots<> {
|
|||||||
virtual void OnNetworkRouteChanged(
|
virtual void OnNetworkRouteChanged(
|
||||||
const std::string& transport_name,
|
const std::string& transport_name,
|
||||||
const rtc::NetworkRoute& network_route) = 0;
|
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
|
// Creates a new outgoing media stream with SSRCs and CNAME as described
|
||||||
// by sp.
|
// by sp.
|
||||||
virtual bool AddSendStream(const StreamParams& sp) = 0;
|
virtual bool AddSendStream(const StreamParams& sp) = 0;
|
||||||
|
|||||||
@ -84,7 +84,6 @@ class RtpDataMediaChannel : public DataMediaChannel {
|
|||||||
virtual void OnRtcpReceived(rtc::CopyOnWriteBuffer* packet,
|
virtual void OnRtcpReceived(rtc::CopyOnWriteBuffer* packet,
|
||||||
const rtc::PacketTime& packet_time) {}
|
const rtc::PacketTime& packet_time) {}
|
||||||
virtual void OnReadyToSend(bool ready) {}
|
virtual void OnReadyToSend(bool ready) {}
|
||||||
virtual void OnTransportOverheadChanged(int transport_overhead_per_packet) {}
|
|
||||||
virtual bool SendData(
|
virtual bool SendData(
|
||||||
const SendDataParams& params,
|
const SendDataParams& params,
|
||||||
const rtc::CopyOnWriteBuffer& payload,
|
const rtc::CopyOnWriteBuffer& payload,
|
||||||
|
|||||||
@ -1470,13 +1470,10 @@ void WebRtcVideoChannel::OnReadyToSend(bool ready) {
|
|||||||
void WebRtcVideoChannel::OnNetworkRouteChanged(
|
void WebRtcVideoChannel::OnNetworkRouteChanged(
|
||||||
const std::string& transport_name,
|
const std::string& transport_name,
|
||||||
const rtc::NetworkRoute& network_route) {
|
const rtc::NetworkRoute& network_route) {
|
||||||
|
// TODO(zhihaung): Merge these two callbacks.
|
||||||
call_->OnNetworkRouteChanged(transport_name, network_route);
|
call_->OnNetworkRouteChanged(transport_name, network_route);
|
||||||
}
|
|
||||||
|
|
||||||
void WebRtcVideoChannel::OnTransportOverheadChanged(
|
|
||||||
int transport_overhead_per_packet) {
|
|
||||||
call_->OnTransportOverheadChanged(webrtc::MediaType::VIDEO,
|
call_->OnTransportOverheadChanged(webrtc::MediaType::VIDEO,
|
||||||
transport_overhead_per_packet);
|
network_route.packet_overhead);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebRtcVideoChannel::SetInterface(NetworkInterface* iface) {
|
void WebRtcVideoChannel::SetInterface(NetworkInterface* iface) {
|
||||||
|
|||||||
@ -167,7 +167,6 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport {
|
|||||||
void OnReadyToSend(bool ready) override;
|
void OnReadyToSend(bool ready) override;
|
||||||
void OnNetworkRouteChanged(const std::string& transport_name,
|
void OnNetworkRouteChanged(const std::string& transport_name,
|
||||||
const rtc::NetworkRoute& network_route) override;
|
const rtc::NetworkRoute& network_route) override;
|
||||||
void OnTransportOverheadChanged(int transport_overhead_per_packet) override;
|
|
||||||
void SetInterface(NetworkInterface* iface) override;
|
void SetInterface(NetworkInterface* iface) override;
|
||||||
|
|
||||||
// Implemented for VideoMediaChannelTest.
|
// Implemented for VideoMediaChannelTest.
|
||||||
|
|||||||
@ -2159,7 +2159,11 @@ void WebRtcVoiceMediaChannel::OnRtcpReceived(
|
|||||||
void WebRtcVoiceMediaChannel::OnNetworkRouteChanged(
|
void WebRtcVoiceMediaChannel::OnNetworkRouteChanged(
|
||||||
const std::string& transport_name,
|
const std::string& transport_name,
|
||||||
const rtc::NetworkRoute& network_route) {
|
const rtc::NetworkRoute& network_route) {
|
||||||
|
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
|
||||||
|
// TODO(zhihaung): Merge these two callbacks.
|
||||||
call_->OnNetworkRouteChanged(transport_name, network_route);
|
call_->OnNetworkRouteChanged(transport_name, network_route);
|
||||||
|
call_->OnTransportOverheadChanged(webrtc::MediaType::AUDIO,
|
||||||
|
network_route.packet_overhead);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WebRtcVoiceMediaChannel::MuteStream(uint32_t ssrc, bool muted) {
|
bool WebRtcVoiceMediaChannel::MuteStream(uint32_t ssrc, bool muted) {
|
||||||
@ -2205,13 +2209,6 @@ void WebRtcVoiceMediaChannel::OnReadyToSend(bool ready) {
|
|||||||
ready ? webrtc::kNetworkUp : webrtc::kNetworkDown);
|
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) {
|
bool WebRtcVoiceMediaChannel::GetStats(VoiceMediaInfo* info) {
|
||||||
TRACE_EVENT0("webrtc", "WebRtcVoiceMediaChannel::GetStats");
|
TRACE_EVENT0("webrtc", "WebRtcVoiceMediaChannel::GetStats");
|
||||||
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
|
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
|
||||||
|
|||||||
@ -207,7 +207,6 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
|
|||||||
void OnNetworkRouteChanged(const std::string& transport_name,
|
void OnNetworkRouteChanged(const std::string& transport_name,
|
||||||
const rtc::NetworkRoute& network_route) override;
|
const rtc::NetworkRoute& network_route) override;
|
||||||
void OnReadyToSend(bool ready) override;
|
void OnReadyToSend(bool ready) override;
|
||||||
void OnTransportOverheadChanged(int transport_overhead_per_packet) override;
|
|
||||||
bool GetStats(VoiceMediaInfo* info) override;
|
bool GetStats(VoiceMediaInfo* info) override;
|
||||||
|
|
||||||
// SSRC=0 will set the audio sink on the latest unsignaled stream, future or
|
// SSRC=0 will set the audio sink on the latest unsignaled stream, future or
|
||||||
|
|||||||
@ -595,13 +595,8 @@ void BaseChannel::OnNetworkRouteChanged(
|
|||||||
RTC_DCHECK(network_thread_->IsCurrent());
|
RTC_DCHECK(network_thread_->IsCurrent());
|
||||||
rtc::NetworkRoute new_route;
|
rtc::NetworkRoute new_route;
|
||||||
if (network_route) {
|
if (network_route) {
|
||||||
invoker_.AsyncInvoke<void>(RTC_FROM_HERE, worker_thread_, [=] {
|
|
||||||
media_channel_->OnTransportOverheadChanged(
|
|
||||||
network_route->packet_overhead);
|
|
||||||
});
|
|
||||||
new_route = *(network_route);
|
new_route = *(network_route);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note: When the RTCP-muxing is not enabled, RTCP transport and RTP transport
|
// Note: When the RTCP-muxing is not enabled, RTCP transport and RTP transport
|
||||||
// use the same transport name and MediaChannel::OnNetworkRouteChanged cannot
|
// use the same transport name and MediaChannel::OnNetworkRouteChanged cannot
|
||||||
// work correctly. Intentionally leave it broken to simplify the code and
|
// work correctly. Intentionally leave it broken to simplify the code and
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user