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) {
|
||||
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_; }
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user