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 |