OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_session_delegate.h" | 5 #include "chrome/renderer/media/cast_session_delegate.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 base::Unretained(cast_environment_->logger())))); | 84 base::Unretained(cast_environment_->logger())))); |
85 } | 85 } |
86 | 86 |
87 void CastSessionDelegateBase::StatusNotificationCB( | 87 void CastSessionDelegateBase::StatusNotificationCB( |
88 const ErrorCallback& error_callback, | 88 const ErrorCallback& error_callback, |
89 media::cast::CastTransportStatus status) { | 89 media::cast::CastTransportStatus status) { |
90 DCHECK(io_task_runner_->BelongsToCurrentThread()); | 90 DCHECK(io_task_runner_->BelongsToCurrentThread()); |
91 std::string error_message; | 91 std::string error_message; |
92 | 92 |
93 switch (status) { | 93 switch (status) { |
94 case media::cast::TRANSPORT_AUDIO_UNINITIALIZED: | 94 case media::cast::TRANSPORT_STREAM_UNINITIALIZED: |
95 case media::cast::TRANSPORT_VIDEO_UNINITIALIZED: | 95 case media::cast::TRANSPORT_STREAM_INITIALIZED: |
96 case media::cast::TRANSPORT_AUDIO_INITIALIZED: | |
97 case media::cast::TRANSPORT_VIDEO_INITIALIZED: | |
98 return; // Not errors, do nothing. | 96 return; // Not errors, do nothing. |
99 case media::cast::TRANSPORT_INVALID_CRYPTO_CONFIG: | 97 case media::cast::TRANSPORT_INVALID_CRYPTO_CONFIG: |
100 error_callback.Run("Invalid encrypt/decrypt configuration."); | 98 error_callback.Run("Invalid encrypt/decrypt configuration."); |
101 break; | 99 break; |
102 case media::cast::TRANSPORT_SOCKET_ERROR: | 100 case media::cast::TRANSPORT_SOCKET_ERROR: |
103 error_callback.Run("Socket error."); | 101 error_callback.Run("Socket error."); |
104 break; | 102 break; |
105 } | 103 } |
106 } | 104 } |
107 | 105 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 event_subscribers_->RemoveEventSubscribers(is_audio); | 179 event_subscribers_->RemoveEventSubscribers(is_audio); |
182 } | 180 } |
183 | 181 |
184 void CastSessionDelegate::GetEventLogsAndReset( | 182 void CastSessionDelegate::GetEventLogsAndReset( |
185 bool is_audio, | 183 bool is_audio, |
186 const std::string& extra_data, | 184 const std::string& extra_data, |
187 const EventLogsCallback& callback) { | 185 const EventLogsCallback& callback) { |
188 DCHECK(io_task_runner_->BelongsToCurrentThread()); | 186 DCHECK(io_task_runner_->BelongsToCurrentThread()); |
189 | 187 |
190 if (!event_subscribers_.get()) { | 188 if (!event_subscribers_.get()) { |
191 callback.Run(base::WrapUnique(new base::BinaryValue)); | 189 callback.Run(base::MakeUnique<base::BinaryValue>()); |
192 return; | 190 return; |
193 } | 191 } |
194 | 192 |
195 media::cast::EncodingEventSubscriber* subscriber = | 193 media::cast::EncodingEventSubscriber* subscriber = |
196 event_subscribers_->GetEncodingEventSubscriber(is_audio); | 194 event_subscribers_->GetEncodingEventSubscriber(is_audio); |
197 if (!subscriber) { | 195 if (!subscriber) { |
198 callback.Run(base::WrapUnique(new base::BinaryValue)); | 196 callback.Run(base::MakeUnique<base::BinaryValue>()); |
199 return; | 197 return; |
200 } | 198 } |
201 | 199 |
202 media::cast::proto::LogMetadata metadata; | 200 media::cast::proto::LogMetadata metadata; |
203 media::cast::FrameEventList frame_events; | 201 media::cast::FrameEventList frame_events; |
204 media::cast::PacketEventList packet_events; | 202 media::cast::PacketEventList packet_events; |
205 | 203 |
206 subscriber->GetEventsAndReset(&metadata, &frame_events, &packet_events); | 204 subscriber->GetEventsAndReset(&metadata, &frame_events, &packet_events); |
207 | 205 |
208 if (!extra_data.empty()) | 206 if (!extra_data.empty()) |
(...skipping 10 matching lines...) Expand all Loading... |
219 bool success = media::cast::SerializeEvents(metadata, | 217 bool success = media::cast::SerializeEvents(metadata, |
220 frame_events, | 218 frame_events, |
221 packet_events, | 219 packet_events, |
222 true, | 220 true, |
223 media::cast::kMaxSerializedBytes, | 221 media::cast::kMaxSerializedBytes, |
224 serialized_log.get(), | 222 serialized_log.get(), |
225 &output_bytes); | 223 &output_bytes); |
226 | 224 |
227 if (!success) { | 225 if (!success) { |
228 DVLOG(2) << "Failed to serialize event log."; | 226 DVLOG(2) << "Failed to serialize event log."; |
229 callback.Run(base::WrapUnique(new base::BinaryValue)); | 227 callback.Run(base::MakeUnique<base::BinaryValue>()); |
230 return; | 228 return; |
231 } | 229 } |
232 | 230 |
233 DVLOG(2) << "Serialized log length: " << output_bytes; | 231 DVLOG(2) << "Serialized log length: " << output_bytes; |
234 | 232 |
235 std::unique_ptr<base::BinaryValue> blob( | 233 std::unique_ptr<base::BinaryValue> blob( |
236 new base::BinaryValue(std::move(serialized_log), output_bytes)); | 234 new base::BinaryValue(std::move(serialized_log), output_bytes)); |
237 callback.Run(std::move(blob)); | 235 callback.Run(std::move(blob)); |
238 } | 236 } |
239 | 237 |
240 void CastSessionDelegate::GetStatsAndReset(bool is_audio, | 238 void CastSessionDelegate::GetStatsAndReset(bool is_audio, |
241 const StatsCallback& callback) { | 239 const StatsCallback& callback) { |
242 DCHECK(io_task_runner_->BelongsToCurrentThread()); | 240 DCHECK(io_task_runner_->BelongsToCurrentThread()); |
243 | 241 |
244 if (!event_subscribers_.get()) { | 242 if (!event_subscribers_.get()) { |
245 callback.Run(base::WrapUnique(new base::DictionaryValue)); | 243 callback.Run(base::MakeUnique<base::DictionaryValue>()); |
246 return; | 244 return; |
247 } | 245 } |
248 | 246 |
249 media::cast::StatsEventSubscriber* subscriber = | 247 media::cast::StatsEventSubscriber* subscriber = |
250 event_subscribers_->GetStatsEventSubscriber(is_audio); | 248 event_subscribers_->GetStatsEventSubscriber(is_audio); |
251 if (!subscriber) { | 249 if (!subscriber) { |
252 callback.Run(base::WrapUnique(new base::DictionaryValue)); | 250 callback.Run(base::MakeUnique<base::DictionaryValue>()); |
253 return; | 251 return; |
254 } | 252 } |
255 | 253 |
256 std::unique_ptr<base::DictionaryValue> stats = subscriber->GetStats(); | 254 std::unique_ptr<base::DictionaryValue> stats = subscriber->GetStats(); |
257 subscriber->Reset(); | 255 subscriber->Reset(); |
258 | 256 |
259 callback.Run(std::move(stats)); | 257 callback.Run(std::move(stats)); |
260 } | 258 } |
261 | 259 |
262 void CastSessionDelegate::OnOperationalStatusChange( | 260 void CastSessionDelegate::OnOperationalStatusChange( |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 error_callback.Run(base::StringPrintf("%s codec runtime error.", | 303 error_callback.Run(base::StringPrintf("%s codec runtime error.", |
306 is_for_audio ? "Audio" : "Video")); | 304 is_for_audio ? "Audio" : "Video")); |
307 break; | 305 break; |
308 } | 306 } |
309 } | 307 } |
310 | 308 |
311 void CastSessionDelegate::ReceivePacket( | 309 void CastSessionDelegate::ReceivePacket( |
312 std::unique_ptr<media::cast::Packet> packet) { | 310 std::unique_ptr<media::cast::Packet> packet) { |
313 // Do nothing (frees packet) | 311 // Do nothing (frees packet) |
314 } | 312 } |
OLD | NEW |