| 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 <utility> |
| 8 |
| 7 #include "base/callback.h" | 9 #include "base/callback.h" |
| 8 #include "base/id_map.h" | 10 #include "base/id_map.h" |
| 9 #include "chrome/common/cast_messages.h" | 11 #include "chrome/common/cast_messages.h" |
| 10 #include "chrome/renderer/media/cast_ipc_dispatcher.h" | 12 #include "chrome/renderer/media/cast_ipc_dispatcher.h" |
| 11 #include "ipc/ipc_channel_proxy.h" | 13 #include "ipc/ipc_channel_proxy.h" |
| 12 #include "media/cast/cast_sender.h" | 14 #include "media/cast/cast_sender.h" |
| 13 | 15 |
| 14 CastTransportSenderIPC::ClientCallbacks::ClientCallbacks() {} | 16 CastTransportSenderIPC::ClientCallbacks::ClientCallbacks() {} |
| 15 CastTransportSenderIPC::ClientCallbacks::~ClientCallbacks() {} | 17 CastTransportSenderIPC::ClientCallbacks::~ClientCallbacks() {} |
| 16 | 18 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 // the only consumer of this data in the IPC message, mutating the inputs | 148 // the only consumer of this data in the IPC message, mutating the inputs |
| 147 // should be acceptable. Just nod and blame the interface we were given here. | 149 // should be acceptable. Just nod and blame the interface we were given here. |
| 148 scoped_ptr<std::vector<media::cast::FrameEvent>> taken_frame_events( | 150 scoped_ptr<std::vector<media::cast::FrameEvent>> taken_frame_events( |
| 149 new std::vector<media::cast::FrameEvent>()); | 151 new std::vector<media::cast::FrameEvent>()); |
| 150 taken_frame_events->swap( | 152 taken_frame_events->swap( |
| 151 const_cast<std::vector<media::cast::FrameEvent>&>(frame_events)); | 153 const_cast<std::vector<media::cast::FrameEvent>&>(frame_events)); |
| 152 scoped_ptr<std::vector<media::cast::PacketEvent>> taken_packet_events( | 154 scoped_ptr<std::vector<media::cast::PacketEvent>> taken_packet_events( |
| 153 new std::vector<media::cast::PacketEvent>()); | 155 new std::vector<media::cast::PacketEvent>()); |
| 154 taken_packet_events->swap( | 156 taken_packet_events->swap( |
| 155 const_cast<std::vector<media::cast::PacketEvent>&>(packet_events)); | 157 const_cast<std::vector<media::cast::PacketEvent>&>(packet_events)); |
| 156 raw_events_callback_.Run(taken_frame_events.Pass(), | 158 raw_events_callback_.Run(std::move(taken_frame_events), |
| 157 taken_packet_events.Pass()); | 159 std::move(taken_packet_events)); |
| 158 } | 160 } |
| 159 | 161 |
| 160 void CastTransportSenderIPC::OnRtt(uint32_t ssrc, base::TimeDelta rtt) { | 162 void CastTransportSenderIPC::OnRtt(uint32_t ssrc, base::TimeDelta rtt) { |
| 161 ClientMap::iterator it = clients_.find(ssrc); | 163 ClientMap::iterator it = clients_.find(ssrc); |
| 162 if (it == clients_.end()) { | 164 if (it == clients_.end()) { |
| 163 LOG(ERROR) << "Received RTT report from for unknown SSRC: " << ssrc; | 165 LOG(ERROR) << "Received RTT report from for unknown SSRC: " << ssrc; |
| 164 return; | 166 return; |
| 165 } | 167 } |
| 166 if (!it->second.rtt_cb.is_null()) | 168 if (!it->second.rtt_cb.is_null()) |
| 167 it->second.rtt_cb.Run(rtt); | 169 it->second.rtt_cb.Run(rtt); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 179 return; | 181 return; |
| 180 it->second.cast_message_cb.Run(cast_message); | 182 it->second.cast_message_cb.Run(cast_message); |
| 181 } | 183 } |
| 182 | 184 |
| 183 void CastTransportSenderIPC::OnReceivedPacket( | 185 void CastTransportSenderIPC::OnReceivedPacket( |
| 184 const media::cast::Packet& packet) { | 186 const media::cast::Packet& packet) { |
| 185 if (!packet_callback_.is_null()) { | 187 if (!packet_callback_.is_null()) { |
| 186 // TODO(hubbe): Perhaps an non-ownership-transferring cb here? | 188 // TODO(hubbe): Perhaps an non-ownership-transferring cb here? |
| 187 scoped_ptr<media::cast::Packet> packet_copy( | 189 scoped_ptr<media::cast::Packet> packet_copy( |
| 188 new media::cast::Packet(packet)); | 190 new media::cast::Packet(packet)); |
| 189 packet_callback_.Run(packet_copy.Pass()); | 191 packet_callback_.Run(std::move(packet_copy)); |
| 190 } else { | 192 } else { |
| 191 DVLOG(1) << "CastIPCDispatcher::OnReceivedPacket no packet callback yet."; | 193 DVLOG(1) << "CastIPCDispatcher::OnReceivedPacket no packet callback yet."; |
| 192 } | 194 } |
| 193 } | 195 } |
| 194 | 196 |
| 195 void CastTransportSenderIPC::Send(IPC::Message* message) { | 197 void CastTransportSenderIPC::Send(IPC::Message* message) { |
| 196 if (CastIPCDispatcher::Get()) { | 198 if (CastIPCDispatcher::Get()) { |
| 197 CastIPCDispatcher::Get()->Send(message); | 199 CastIPCDispatcher::Get()->Send(message); |
| 198 } else { | 200 } else { |
| 199 delete message; | 201 delete message; |
| 200 } | 202 } |
| 201 } | 203 } |
| OLD | NEW |