Index: media/crypto/aes_decryptor_unittest.cc |
diff --git a/media/crypto/aes_decryptor_unittest.cc b/media/crypto/aes_decryptor_unittest.cc |
index 1b9d52e51b24be3322e45c14441b07f60adf2a8c..f2be41cfecd618926011396d204b98cd58caf60e 100644 |
--- a/media/crypto/aes_decryptor_unittest.cc |
+++ b/media/crypto/aes_decryptor_unittest.cc |
@@ -92,8 +92,8 @@ const WebmEncryptedData kWebmEncryptedFrames[] = { |
0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40 |
}, 16, |
// encrypted_data |
- { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
- 0x01, 0x9c, 0x71, 0x26, 0x57, 0x3e, 0x25, 0x37, |
+ { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
+ 0x00, 0x9c, 0x71, 0x26, 0x57, 0x3e, 0x25, 0x37, |
0xf7, 0x31, 0x81, 0x19, 0x64, 0xce, 0xbc |
}, 23 |
}, |
@@ -164,13 +164,12 @@ static const SubsampleEntry kSubsampleEntries[] = { |
// Returns a 16 byte CTR counter block. The CTR counter block format is a |
// CTR IV appended with a CTR block counter. |iv| is a CTR IV. |iv_size| is |
// the size of |iv| in bytes. |
-static std::string GenerateCounterBlock(const uint8* iv, int iv_size) { |
- const int kDecryptionKeySize = 16; |
- CHECK_GT(iv_size, 0); |
- CHECK_LE(iv_size, kDecryptionKeySize); |
+static std::string GenerateCounterBlock(const std::string& iv) { |
+ CHECK_GT(iv.size(), 0UL); |
+ CHECK_LE(iv.size(), static_cast<size_t>(DecryptConfig::kDecryptionKeySize)); |
- std::string counter_block(reinterpret_cast<const char*>(iv), iv_size); |
- counter_block.append(kDecryptionKeySize - iv_size, 0); |
+ std::string counter_block(iv); |
+ counter_block.append(DecryptConfig::kDecryptionKeySize - iv.size(), 0); |
ddorwin
2012/10/13 00:26:17
Why wasn't the scoping necessary before?
fgalligan1
2012/10/13 06:20:31
The old version defined the value at the top of th
|
return counter_block; |
} |
@@ -197,12 +196,10 @@ static scoped_refptr<DecoderBuffer> CreateWebMEncryptedBuffer( |
std::string counter_block_str; |
if (signal_byte & kWebMFlagEncryptedFrame) { |
- uint64 network_iv; |
- memcpy(&network_iv, data + data_offset, sizeof(network_iv)); |
- const uint64 iv = base::NetToHost64(network_iv); |
- counter_block_str = |
- GenerateCounterBlock(reinterpret_cast<const uint8*>(&iv), sizeof(iv)); |
- data_offset += sizeof(iv); |
+ const std::string iv(reinterpret_cast<const char*>(data + data_offset), |
+ kWebMIvSize); |
+ data_offset += kWebMIvSize; |
+ counter_block_str = GenerateCounterBlock(iv); |
} |
encrypted_buffer->SetDecryptConfig( |
@@ -434,7 +431,6 @@ TEST_F(AesDecryptorTest, MultipleKeysAndFrames) { |
ASSERT_NO_FATAL_FAILURE(DecryptAndExpectToSucceed(encrypted_data1, |
frame1.plain_text, |
frame1.plain_text_size)); |
- |
scoped_refptr<DecoderBuffer> encrypted_data2 = |
ddorwin
2012/10/13 00:26:17
Is there a reason the empty line was removed?
fgalligan1
2012/10/13 06:20:31
No. I'll put it back to make less noise.
|
CreateWebMEncryptedBuffer(frame2.encrypted_data, |
frame2.encrypted_data_size, |