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 "media/cast/net/cast_transport_sender_impl.h" | 5 #include "media/cast/net/cast_transport_sender_impl.h" |
6 | 6 |
7 #include "base/single_thread_task_runner.h" | 7 #include "base/single_thread_task_runner.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "media/cast/net/cast_transport_defines.h" | 9 #include "media/cast/net/cast_transport_defines.h" |
10 #include "media/cast/net/udp_transport.h" | 10 #include "media/cast/net/udp_transport.h" |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 config.feedback_ssrc)); | 235 config.feedback_ssrc)); |
236 pacer_.RegisterVideoSsrc(config.ssrc); | 236 pacer_.RegisterVideoSsrc(config.ssrc); |
237 AddValidSsrc(config.feedback_ssrc); | 237 AddValidSsrc(config.feedback_ssrc); |
238 status_callback_.Run(TRANSPORT_VIDEO_INITIALIZED); | 238 status_callback_.Run(TRANSPORT_VIDEO_INITIALIZED); |
239 } | 239 } |
240 | 240 |
241 namespace { | 241 namespace { |
242 void EncryptAndSendFrame(const EncodedFrame& frame, | 242 void EncryptAndSendFrame(const EncodedFrame& frame, |
243 TransportEncryptionHandler* encryptor, | 243 TransportEncryptionHandler* encryptor, |
244 RtpSender* sender) { | 244 RtpSender* sender) { |
245 if (encryptor->is_activated()) { | 245 // TODO(miu): We probably shouldn't attempt to send an empty frame, but this |
| 246 // issue is still under investigation. http://crbug.com/519022 |
| 247 if (encryptor->is_activated() && !frame.data.empty()) { |
246 EncodedFrame encrypted_frame; | 248 EncodedFrame encrypted_frame; |
247 frame.CopyMetadataTo(&encrypted_frame); | 249 frame.CopyMetadataTo(&encrypted_frame); |
248 if (encryptor->Encrypt(frame.frame_id, frame.data, &encrypted_frame.data)) { | 250 if (encryptor->Encrypt(frame.frame_id, frame.data, &encrypted_frame.data)) { |
249 sender->SendFrame(encrypted_frame); | 251 sender->SendFrame(encrypted_frame); |
250 } else { | 252 } else { |
251 LOG(ERROR) << "Encryption failed. Not sending frame with ID " | 253 LOG(ERROR) << "Encryption failed. Not sending frame with ID " |
252 << frame.frame_id; | 254 << frame.frame_id; |
253 } | 255 } |
254 } else { | 256 } else { |
255 sender->SendFrame(frame); | 257 sender->SendFrame(frame); |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 sender_ssrc); | 482 sender_ssrc); |
481 rtcp.SendRtcpFromRtpReceiver(time_data, | 483 rtcp.SendRtcpFromRtpReceiver(time_data, |
482 cast_message, | 484 cast_message, |
483 target_delay, | 485 target_delay, |
484 rtcp_events, | 486 rtcp_events, |
485 rtp_receiver_statistics); | 487 rtp_receiver_statistics); |
486 } | 488 } |
487 | 489 |
488 } // namespace cast | 490 } // namespace cast |
489 } // namespace media | 491 } // namespace media |
OLD | NEW |