Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(598)

Unified Diff: media/cast/transport/transport_audio_sender.cc

Issue 138843011: Cast: Adding helper crypto classes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698