Chromium Code Reviews| 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 196e244c050d9cb97f60a7fd929c0d2dae86b2d1..ce074c043ec848de07f478bdd6f651d94e1a632d 100644 |
| --- a/chrome/renderer/media/cast_transport_ipc.cc |
| +++ b/chrome/renderer/media/cast_transport_ipc.cc |
| @@ -13,15 +13,10 @@ |
| #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, |
| - scoped_ptr<base::DictionaryValue> options, |
| + std::unique_ptr<base::DictionaryValue> options, |
| const media::cast::PacketReceiverCallback& packet_callback, |
| const media::cast::CastTransportStatusCallback& status_cb, |
| const media::cast::BulkRawEventsCallback& raw_events_cb) |
| @@ -44,23 +39,15 @@ 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::RtpSenderRtcpClient> rtcp_client) { |
| + clients_[config.ssrc] = std::move(rtcp_client); |
|
miu
2016/04/15 23:14:39
This was missing before, but consider adding: DCHE
xjz
2016/04/20 01:09:02
Done.
|
| 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::RtpSenderRtcpClient> rtcp_client) { |
| + clients_[config.ssrc] = std::move(rtcp_client); |
|
miu
2016/04/15 23:14:39
ditto here (maybe add DCHECK?)
xjz
2016/04/20 01:09:02
Done.
|
| Send(new CastHostMsg_InitializeVideo(channel_id_, config)); |
| } |
| @@ -138,11 +125,11 @@ void CastTransportIPC::OnRawEvents( |
| // Note: Casting away const to avoid having to copy all the data elements. As |
| // the only consumer of this data in the IPC message, mutating the inputs |
| // should be acceptable. Just nod and blame the interface we were given here. |
| - scoped_ptr<std::vector<media::cast::FrameEvent>> taken_frame_events( |
| + std::unique_ptr<std::vector<media::cast::FrameEvent>> taken_frame_events( |
| new std::vector<media::cast::FrameEvent>()); |
| taken_frame_events->swap( |
| const_cast<std::vector<media::cast::FrameEvent>&>(frame_events)); |
| - scoped_ptr<std::vector<media::cast::PacketEvent>> taken_packet_events( |
| + std::unique_ptr<std::vector<media::cast::PacketEvent>> taken_packet_events( |
| new std::vector<media::cast::PacketEvent>()); |
| taken_packet_events->swap( |
| const_cast<std::vector<media::cast::PacketEvent>&>(packet_events)); |
| @@ -156,8 +143,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->OnRttReceived(rtt); |
| } |
| void CastTransportIPC::OnRtcpCastMessage( |
| @@ -168,9 +154,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->OnCastMessageReceived(cast_message); |
| } |
| void CastTransportIPC::OnReceivedPli(uint32_t rtp_sender_ssrc) { |
| @@ -180,14 +164,13 @@ 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->OnPliReceived(); |
| } |
| void CastTransportIPC::OnReceivedPacket(const media::cast::Packet& packet) { |
| if (!packet_callback_.is_null()) { |
| // TODO(hubbe): Perhaps an non-ownership-transferring cb here? |
| - scoped_ptr<media::cast::Packet> packet_copy( |
| + std::unique_ptr<media::cast::Packet> packet_copy( |
| new media::cast::Packet(packet)); |
| packet_callback_.Run(std::move(packet_copy)); |
| } else { |