| Index: chrome/renderer/media/cast_transport_ipc.cc
|
| diff --git a/chrome/renderer/media/cast_transport_ipc.cc b/chrome/renderer/media/cast_transport_ipc.cc
|
| index 4b0ef6b1534317fcdf5bd39034c83615d46ded65..ed89d53109d77cceb6cf4d050992f34b9a416a11 100644
|
| --- a/chrome/renderer/media/cast_transport_ipc.cc
|
| +++ b/chrome/renderer/media/cast_transport_ipc.cc
|
| @@ -14,11 +14,6 @@
|
| #include "ipc/ipc_channel_proxy.h"
|
| #include "media/cast/cast_sender.h"
|
|
|
| -CastTransportIPC::ClientCallbacks::ClientCallbacks() {}
|
| -CastTransportIPC::ClientCallbacks::ClientCallbacks(
|
| - const ClientCallbacks& other) = default;
|
| -CastTransportIPC::ClientCallbacks::~ClientCallbacks() {}
|
| -
|
| CastTransportIPC::CastTransportIPC(
|
| const net::IPEndPoint& local_end_point,
|
| const net::IPEndPoint& remote_end_point,
|
| @@ -45,23 +40,17 @@ CastTransportIPC::~CastTransportIPC() {
|
|
|
| void CastTransportIPC::InitializeAudio(
|
| const media::cast::CastTransportRtpConfig& config,
|
| - const media::cast::RtcpCastMessageCallback& cast_message_cb,
|
| - const media::cast::RtcpRttCallback& rtt_cb,
|
| - const media::cast::RtcpPliCallback& pli_cb) {
|
| - clients_[config.ssrc].cast_message_cb = cast_message_cb;
|
| - clients_[config.ssrc].rtt_cb = rtt_cb;
|
| - clients_[config.ssrc].pli_cb = pli_cb;
|
| + std::unique_ptr<media::cast::RtcpObserver> rtcp_observer) {
|
| + DCHECK(clients_.find(config.ssrc) == clients_.end());
|
| + clients_[config.ssrc] = std::move(rtcp_observer);
|
| Send(new CastHostMsg_InitializeAudio(channel_id_, config));
|
| }
|
|
|
| void CastTransportIPC::InitializeVideo(
|
| const media::cast::CastTransportRtpConfig& config,
|
| - const media::cast::RtcpCastMessageCallback& cast_message_cb,
|
| - const media::cast::RtcpRttCallback& rtt_cb,
|
| - const media::cast::RtcpPliCallback& pli_cb) {
|
| - clients_[config.ssrc].cast_message_cb = cast_message_cb;
|
| - clients_[config.ssrc].rtt_cb = rtt_cb;
|
| - clients_[config.ssrc].pli_cb = pli_cb;
|
| + std::unique_ptr<media::cast::RtcpObserver> rtcp_observer) {
|
| + DCHECK(clients_.find(config.ssrc) == clients_.end());
|
| + clients_[config.ssrc] = std::move(rtcp_observer);
|
| Send(new CastHostMsg_InitializeVideo(channel_id_, config));
|
| }
|
|
|
| @@ -157,8 +146,7 @@ void CastTransportIPC::OnRtt(uint32_t rtp_sender_ssrc, base::TimeDelta rtt) {
|
| LOG(ERROR) << "Received RTT report for unknown SSRC: " << rtp_sender_ssrc;
|
| return;
|
| }
|
| - if (!it->second.rtt_cb.is_null())
|
| - it->second.rtt_cb.Run(rtt);
|
| + it->second->OnReceivedRtt(rtt);
|
| }
|
|
|
| void CastTransportIPC::OnRtcpCastMessage(
|
| @@ -169,9 +157,7 @@ void CastTransportIPC::OnRtcpCastMessage(
|
| LOG(ERROR) << "Received cast message for unknown SSRC: " << rtp_sender_ssrc;
|
| return;
|
| }
|
| - if (it->second.cast_message_cb.is_null())
|
| - return;
|
| - it->second.cast_message_cb.Run(cast_message);
|
| + it->second->OnReceivedCastMessage(cast_message);
|
| }
|
|
|
| void CastTransportIPC::OnReceivedPli(uint32_t rtp_sender_ssrc) {
|
| @@ -181,8 +167,7 @@ void CastTransportIPC::OnReceivedPli(uint32_t rtp_sender_ssrc) {
|
| << rtp_sender_ssrc;
|
| return;
|
| }
|
| - if (!it->second.pli_cb.is_null())
|
| - it->second.pli_cb.Run();
|
| + it->second->OnReceivedPli();
|
| }
|
|
|
| void CastTransportIPC::OnReceivedPacket(const media::cast::Packet& packet) {
|
|
|