| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/renderer/media/cast_transport_sender_ipc.h" | 5 #include "chrome/renderer/media/cast_transport_sender_ipc.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/id_map.h" | 8 #include "base/id_map.h" |
| 9 #include "chrome/common/cast_messages.h" | 9 #include "chrome/common/cast_messages.h" |
| 10 #include "chrome/renderer/media/cast_ipc_dispatcher.h" | 10 #include "chrome/renderer/media/cast_ipc_dispatcher.h" |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 | 51 |
| 52 void CastTransportSenderIPC::InitializeVideo( | 52 void CastTransportSenderIPC::InitializeVideo( |
| 53 const media::cast::CastTransportRtpConfig& config, | 53 const media::cast::CastTransportRtpConfig& config, |
| 54 const media::cast::RtcpCastMessageCallback& cast_message_cb, | 54 const media::cast::RtcpCastMessageCallback& cast_message_cb, |
| 55 const media::cast::RtcpRttCallback& rtt_cb) { | 55 const media::cast::RtcpRttCallback& rtt_cb) { |
| 56 clients_[config.ssrc].cast_message_cb = cast_message_cb; | 56 clients_[config.ssrc].cast_message_cb = cast_message_cb; |
| 57 clients_[config.ssrc].rtt_cb = rtt_cb; | 57 clients_[config.ssrc].rtt_cb = rtt_cb; |
| 58 Send(new CastHostMsg_InitializeVideo(channel_id_, config)); | 58 Send(new CastHostMsg_InitializeVideo(channel_id_, config)); |
| 59 } | 59 } |
| 60 | 60 |
| 61 void CastTransportSenderIPC::InsertFrame(uint32 ssrc, | 61 void CastTransportSenderIPC::InsertFrame( |
| 62 uint32_t ssrc, |
| 62 const media::cast::EncodedFrame& frame) { | 63 const media::cast::EncodedFrame& frame) { |
| 63 Send(new CastHostMsg_InsertFrame(channel_id_, ssrc, frame)); | 64 Send(new CastHostMsg_InsertFrame(channel_id_, ssrc, frame)); |
| 64 } | 65 } |
| 65 | 66 |
| 66 void CastTransportSenderIPC::SendSenderReport( | 67 void CastTransportSenderIPC::SendSenderReport( |
| 67 uint32 ssrc, | 68 uint32_t ssrc, |
| 68 base::TimeTicks current_time, | 69 base::TimeTicks current_time, |
| 69 uint32 current_time_as_rtp_timestamp) { | 70 uint32_t current_time_as_rtp_timestamp) { |
| 70 Send(new CastHostMsg_SendSenderReport(channel_id_, | 71 Send(new CastHostMsg_SendSenderReport(channel_id_, |
| 71 ssrc, | 72 ssrc, |
| 72 current_time, | 73 current_time, |
| 73 current_time_as_rtp_timestamp)); | 74 current_time_as_rtp_timestamp)); |
| 74 } | 75 } |
| 75 | 76 |
| 76 void CastTransportSenderIPC::CancelSendingFrames( | 77 void CastTransportSenderIPC::CancelSendingFrames( |
| 77 uint32 ssrc, const std::vector<uint32>& frame_ids) { | 78 uint32_t ssrc, |
| 79 const std::vector<uint32_t>& frame_ids) { |
| 78 Send(new CastHostMsg_CancelSendingFrames(channel_id_, | 80 Send(new CastHostMsg_CancelSendingFrames(channel_id_, |
| 79 ssrc, | 81 ssrc, |
| 80 frame_ids)); | 82 frame_ids)); |
| 81 } | 83 } |
| 82 | 84 |
| 83 void CastTransportSenderIPC::ResendFrameForKickstart( | 85 void CastTransportSenderIPC::ResendFrameForKickstart(uint32_t ssrc, |
| 84 uint32 ssrc, uint32 frame_id) { | 86 uint32_t frame_id) { |
| 85 Send(new CastHostMsg_ResendFrameForKickstart(channel_id_, | 87 Send(new CastHostMsg_ResendFrameForKickstart(channel_id_, |
| 86 ssrc, | 88 ssrc, |
| 87 frame_id)); | 89 frame_id)); |
| 88 } | 90 } |
| 89 | 91 |
| 90 void CastTransportSenderIPC::AddValidSsrc(uint32 ssrc) { | 92 void CastTransportSenderIPC::AddValidSsrc(uint32_t ssrc) { |
| 91 Send(new CastHostMsg_AddValidSsrc(channel_id_, ssrc)); | 93 Send(new CastHostMsg_AddValidSsrc(channel_id_, ssrc)); |
| 92 } | 94 } |
| 93 | 95 |
| 94 | |
| 95 void CastTransportSenderIPC::SendRtcpFromRtpReceiver( | 96 void CastTransportSenderIPC::SendRtcpFromRtpReceiver( |
| 96 uint32 ssrc, | 97 uint32_t ssrc, |
| 97 uint32 sender_ssrc, | 98 uint32_t sender_ssrc, |
| 98 const media::cast::RtcpTimeData& time_data, | 99 const media::cast::RtcpTimeData& time_data, |
| 99 const media::cast::RtcpCastMessage* cast_message, | 100 const media::cast::RtcpCastMessage* cast_message, |
| 100 base::TimeDelta target_delay, | 101 base::TimeDelta target_delay, |
| 101 const media::cast::ReceiverRtcpEventSubscriber::RtcpEvents* | 102 const media::cast::ReceiverRtcpEventSubscriber::RtcpEvents* rtcp_events, |
| 102 rtcp_events, | |
| 103 const media::cast::RtpReceiverStatistics* rtp_receiver_statistics) { | 103 const media::cast::RtpReceiverStatistics* rtp_receiver_statistics) { |
| 104 // To avoid copies, we put pointers to objects we don't really | 104 // To avoid copies, we put pointers to objects we don't really |
| 105 // own into scoped pointers and then very carefully extract them again | 105 // own into scoped pointers and then very carefully extract them again |
| 106 // before the scoped pointers go out of scope. | 106 // before the scoped pointers go out of scope. |
| 107 media::cast::SendRtcpFromRtpReceiver_Params params; | 107 media::cast::SendRtcpFromRtpReceiver_Params params; |
| 108 params.ssrc = ssrc; | 108 params.ssrc = ssrc; |
| 109 params.sender_ssrc = sender_ssrc; | 109 params.sender_ssrc = sender_ssrc; |
| 110 params.time_data = time_data; | 110 params.time_data = time_data; |
| 111 if (cast_message) { | 111 if (cast_message) { |
| 112 params.cast_message.reset( | 112 params.cast_message.reset( |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 taken_frame_events->swap( | 150 taken_frame_events->swap( |
| 151 const_cast<std::vector<media::cast::FrameEvent>&>(frame_events)); | 151 const_cast<std::vector<media::cast::FrameEvent>&>(frame_events)); |
| 152 scoped_ptr<std::vector<media::cast::PacketEvent>> taken_packet_events( | 152 scoped_ptr<std::vector<media::cast::PacketEvent>> taken_packet_events( |
| 153 new std::vector<media::cast::PacketEvent>()); | 153 new std::vector<media::cast::PacketEvent>()); |
| 154 taken_packet_events->swap( | 154 taken_packet_events->swap( |
| 155 const_cast<std::vector<media::cast::PacketEvent>&>(packet_events)); | 155 const_cast<std::vector<media::cast::PacketEvent>&>(packet_events)); |
| 156 raw_events_callback_.Run(taken_frame_events.Pass(), | 156 raw_events_callback_.Run(taken_frame_events.Pass(), |
| 157 taken_packet_events.Pass()); | 157 taken_packet_events.Pass()); |
| 158 } | 158 } |
| 159 | 159 |
| 160 void CastTransportSenderIPC::OnRtt(uint32 ssrc, base::TimeDelta rtt) { | 160 void CastTransportSenderIPC::OnRtt(uint32_t ssrc, base::TimeDelta rtt) { |
| 161 ClientMap::iterator it = clients_.find(ssrc); | 161 ClientMap::iterator it = clients_.find(ssrc); |
| 162 if (it == clients_.end()) { | 162 if (it == clients_.end()) { |
| 163 LOG(ERROR) << "Received RTT report from for unknown SSRC: " << ssrc; | 163 LOG(ERROR) << "Received RTT report from for unknown SSRC: " << ssrc; |
| 164 return; | 164 return; |
| 165 } | 165 } |
| 166 if (!it->second.rtt_cb.is_null()) | 166 if (!it->second.rtt_cb.is_null()) |
| 167 it->second.rtt_cb.Run(rtt); | 167 it->second.rtt_cb.Run(rtt); |
| 168 } | 168 } |
| 169 | 169 |
| 170 void CastTransportSenderIPC::OnRtcpCastMessage( | 170 void CastTransportSenderIPC::OnRtcpCastMessage( |
| 171 uint32 ssrc, | 171 uint32_t ssrc, |
| 172 const media::cast::RtcpCastMessage& cast_message) { | 172 const media::cast::RtcpCastMessage& cast_message) { |
| 173 ClientMap::iterator it = clients_.find(ssrc); | 173 ClientMap::iterator it = clients_.find(ssrc); |
| 174 if (it == clients_.end()) { | 174 if (it == clients_.end()) { |
| 175 LOG(ERROR) << "Received cast message from for unknown SSRC: " << ssrc; | 175 LOG(ERROR) << "Received cast message from for unknown SSRC: " << ssrc; |
| 176 return; | 176 return; |
| 177 } | 177 } |
| 178 if (it->second.cast_message_cb.is_null()) | 178 if (it->second.cast_message_cb.is_null()) |
| 179 return; | 179 return; |
| 180 it->second.cast_message_cb.Run(cast_message); | 180 it->second.cast_message_cb.Run(cast_message); |
| 181 } | 181 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 192 } | 192 } |
| 193 } | 193 } |
| 194 | 194 |
| 195 void CastTransportSenderIPC::Send(IPC::Message* message) { | 195 void CastTransportSenderIPC::Send(IPC::Message* message) { |
| 196 if (CastIPCDispatcher::Get()) { | 196 if (CastIPCDispatcher::Get()) { |
| 197 CastIPCDispatcher::Get()->Send(message); | 197 CastIPCDispatcher::Get()->Send(message); |
| 198 } else { | 198 } else { |
| 199 delete message; | 199 delete message; |
| 200 } | 200 } |
| 201 } | 201 } |
| OLD | NEW |