Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10402)

Unified Diff: chrome/renderer/media/cast_transport_ipc.cc

Issue 1878883003: Refactor: simplify interface of SenderRtcpSession and CastTransport. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..8c35f10be36e7909543057c460db832162517aab 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,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::SenderRtcpObserver> 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::SenderRtcpObserver> rtcp_observer) {
+ DCHECK(clients_.find(config.ssrc) == clients_.end());
+ clients_[config.ssrc] = std::move(rtcp_observer);
Send(new CastHostMsg_InitializeVideo(channel_id_, config));
}
@@ -138,11 +127,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 +145,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 +156,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 +166,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 {

Powered by Google App Engine
This is Rietveld 408576698