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

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

Issue 1709863002: Add Cast PLI support on sender side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address dcheng's comments. Created 4 years, 9 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
« no previous file with comments | « chrome/renderer/media/cast_transport_sender_ipc.h ('k') | media/cast/net/cast_transport_sender.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/media/cast_transport_sender_ipc.cc
diff --git a/chrome/renderer/media/cast_transport_sender_ipc.cc b/chrome/renderer/media/cast_transport_sender_ipc.cc
index 7e5d15b79ba33c72cddcbc7e6f4f91130ed45b2f..ec38b75380839a1eac4e1be81bc14a92ecd9752c 100644
--- a/chrome/renderer/media/cast_transport_sender_ipc.cc
+++ b/chrome/renderer/media/cast_transport_sender_ipc.cc
@@ -47,18 +47,22 @@ CastTransportSenderIPC::~CastTransportSenderIPC() {
void CastTransportSenderIPC::InitializeAudio(
const media::cast::CastTransportRtpConfig& config,
const media::cast::RtcpCastMessageCallback& cast_message_cb,
- const media::cast::RtcpRttCallback& rtt_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;
Send(new CastHostMsg_InitializeAudio(channel_id_, config));
}
void CastTransportSenderIPC::InitializeVideo(
const media::cast::CastTransportRtpConfig& config,
const media::cast::RtcpCastMessageCallback& cast_message_cb,
- const media::cast::RtcpRttCallback& rtt_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;
Send(new CastHostMsg_InitializeVideo(channel_id_, config));
}
@@ -113,6 +117,11 @@ void CastTransportSenderIPC::AddCastFeedback(
new CastHostMsg_AddCastFeedback(channel_id_, cast_message, target_delay));
}
+void CastTransportSenderIPC::AddPli(
+ const media::cast::RtcpPliMessage& pli_message) {
+ Send(new CastHostMsg_AddPli(channel_id_, pli_message));
+}
+
void CastTransportSenderIPC::AddRtcpEvents(
const media::cast::ReceiverRtcpEventSubscriber::RtcpEvents& rtcp_events) {
Send(new CastHostMsg_AddRtcpEvents(channel_id_, rtcp_events));
@@ -151,10 +160,11 @@ void CastTransportSenderIPC::OnRawEvents(
std::move(taken_packet_events));
}
-void CastTransportSenderIPC::OnRtt(uint32_t ssrc, base::TimeDelta rtt) {
- ClientMap::iterator it = clients_.find(ssrc);
+void CastTransportSenderIPC::OnRtt(uint32_t rtp_sender_ssrc,
+ base::TimeDelta rtt) {
+ ClientMap::iterator it = clients_.find(rtp_sender_ssrc);
if (it == clients_.end()) {
- LOG(ERROR) << "Received RTT report from for unknown SSRC: " << ssrc;
+ LOG(ERROR) << "Received RTT report for unknown SSRC: " << rtp_sender_ssrc;
return;
}
if (!it->second.rtt_cb.is_null())
@@ -162,11 +172,11 @@ void CastTransportSenderIPC::OnRtt(uint32_t ssrc, base::TimeDelta rtt) {
}
void CastTransportSenderIPC::OnRtcpCastMessage(
- uint32_t ssrc,
+ uint32_t rtp_sender_ssrc,
const media::cast::RtcpCastMessage& cast_message) {
- ClientMap::iterator it = clients_.find(ssrc);
+ ClientMap::iterator it = clients_.find(rtp_sender_ssrc);
if (it == clients_.end()) {
- LOG(ERROR) << "Received cast message from for unknown SSRC: " << ssrc;
+ LOG(ERROR) << "Received cast message for unknown SSRC: " << rtp_sender_ssrc;
return;
}
if (it->second.cast_message_cb.is_null())
@@ -174,6 +184,17 @@ void CastTransportSenderIPC::OnRtcpCastMessage(
it->second.cast_message_cb.Run(cast_message);
}
+void CastTransportSenderIPC::OnReceivedPli(uint32_t rtp_sender_ssrc) {
+ ClientMap::iterator it = clients_.find(rtp_sender_ssrc);
+ if (it == clients_.end()) {
+ LOG(ERROR) << "Received picture loss indicator for unknown SSRC: "
+ << rtp_sender_ssrc;
+ return;
+ }
+ if (!it->second.pli_cb.is_null())
+ it->second.pli_cb.Run();
+}
+
void CastTransportSenderIPC::OnReceivedPacket(
const media::cast::Packet& packet) {
if (!packet_callback_.is_null()) {
« no previous file with comments | « chrome/renderer/media/cast_transport_sender_ipc.h ('k') | media/cast/net/cast_transport_sender.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698