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 |