Index: media/cast/transport/transport_audio_sender.cc |
diff --git a/media/cast/transport/transport_audio_sender.cc b/media/cast/transport/transport_audio_sender.cc |
index 1b451b0bc4103c58198afeeba35323a1d6a3b93d..e0a96110efe1b456a06044ef98abf8af6d381322 100644 |
--- a/media/cast/transport/transport_audio_sender.cc |
+++ b/media/cast/transport/transport_audio_sender.cc |
@@ -7,36 +7,19 @@ |
#include "base/bind.h" |
#include "base/logging.h" |
#include "base/message_loop/message_loop.h" |
-#include "crypto/encryptor.h" |
-#include "crypto/symmetric_key.h" |
#include "media/cast/transport/rtp_sender/rtp_sender.h" |
namespace media { |
namespace cast { |
namespace transport { |
-// TODO(mikhal): Add a base class for encryption. |
TransportAudioSender::TransportAudioSender( |
const CastTransportConfig& config, |
base::TickClock* clock, |
PacedSender* const paced_packet_sender) |
: rtp_sender_(clock, config, true, paced_packet_sender), |
- initialized_(true) { |
- if (config.aes_iv_mask.size() == kAesKeySize && |
- config.aes_key.size() == kAesKeySize) { |
- iv_mask_ = config.aes_iv_mask; |
- key_.reset(crypto::SymmetricKey::Import( |
- crypto::SymmetricKey::AES, config.aes_key)); |
- encryptor_.reset(new crypto::Encryptor()); |
- encryptor_->Init(key_.get(), crypto::Encryptor::CTR, std::string()); |
- } else if (config.aes_iv_mask.size() != 0 || |
- config.aes_key.size() != 0) { |
- initialized_ = false; |
- DCHECK_EQ(config.aes_iv_mask.size(), 0u) |
- << "Invalid Crypto configuration: aes_iv_mask.size" ; |
- DCHECK_EQ(config.aes_key.size(), 0u) |
- << "Invalid Crypto configuration: aes_key.size"; |
- } |
+ encryptor_() { |
+ initialized_ = encryptor_.Initialize(config.aes_key, config.aes_iv_mask); |
} |
TransportAudioSender::~TransportAudioSender() {} |
@@ -44,7 +27,7 @@ TransportAudioSender::~TransportAudioSender() {} |
void TransportAudioSender::InsertCodedAudioFrame( |
const EncodedAudioFrame* audio_frame, |
const base::TimeTicks& recorded_time) { |
- if (encryptor_) { |
+ if (encryptor_.initialized()) { |
EncodedAudioFrame encrypted_frame; |
if (!EncryptAudioFrame(*audio_frame, &encrypted_frame)) { |
return; |
@@ -58,14 +41,10 @@ void TransportAudioSender::InsertCodedAudioFrame( |
bool TransportAudioSender::EncryptAudioFrame( |
const EncodedAudioFrame& audio_frame, |
EncodedAudioFrame* encrypted_frame) { |
- if (!encryptor_->SetCounter(GetAesNonce(audio_frame.frame_id, iv_mask_))) { |
- NOTREACHED() << "Failed to set counter"; |
- return false; |
- } |
- if (!encryptor_->Encrypt(audio_frame.data, &encrypted_frame->data)) { |
- NOTREACHED() << "Encrypt error"; |
+ if (!encryptor_.Encrypt( |
+ audio_frame.frame_id, audio_frame.data, &encrypted_frame->data)) |
return false; |
- } |
+ |
encrypted_frame->codec = audio_frame.codec; |
encrypted_frame->frame_id = audio_frame.frame_id; |
encrypted_frame->samples = audio_frame.samples; |