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

Unified Diff: media/crypto/aes_decryptor.cc

Issue 11226019: Encrypted Media: Replace DecryptorClient with key event callbacks. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase again Created 8 years 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/crypto/aes_decryptor.cc
diff --git a/media/crypto/aes_decryptor.cc b/media/crypto/aes_decryptor.cc
index a4b6bc6bdede6612af983ea0ad7b29ccf6f088c4..83f818e60d015118785d090f1b31c35e786195d3 100644
--- a/media/crypto/aes_decryptor.cc
+++ b/media/crypto/aes_decryptor.cc
@@ -14,7 +14,6 @@
#include "media/base/audio_decoder_config.h"
#include "media/base/decoder_buffer.h"
#include "media/base/decrypt_config.h"
-#include "media/base/decryptor_client.h"
#include "media/base/video_decoder_config.h"
#include "media/base/video_frame.h"
@@ -125,8 +124,14 @@ static scoped_refptr<DecoderBuffer> DecryptData(const DecoderBuffer& input,
return output;
}
-AesDecryptor::AesDecryptor(DecryptorClient* client)
- : client_(client) {
+AesDecryptor::AesDecryptor(const KeyAddedCB& key_added_cb,
+ const KeyErrorCB& key_error_cb,
+ const KeyMessageCB& key_message_cb,
+ const NeedKeyCB& need_key_cb)
+ : key_added_cb_(key_added_cb),
+ key_error_cb_(key_error_cb),
+ key_message_cb_(key_message_cb),
+ need_key_cb_(need_key_cb) {
}
AesDecryptor::~AesDecryptor() {
@@ -147,7 +152,7 @@ bool AesDecryptor::GenerateKeyRequest(const std::string& key_system,
init_data_length);
}
- client_->KeyMessage(key_system, session_id_string, message, "");
+ key_message_cb_.Run(key_system, session_id_string, message, "");
return true;
}
@@ -164,7 +169,7 @@ void AesDecryptor::AddKey(const std::string& key_system,
// https://www.w3.org/Bugs/Public/show_bug.cgi?id=16550
if (key_length != DecryptConfig::kDecryptionKeySize) {
DVLOG(1) << "Invalid key length: " << key_length;
- client_->KeyError(key_system, session_id, Decryptor::kUnknownError, 0);
+ key_error_cb_.Run(key_system, session_id, Decryptor::kUnknownError, 0);
return;
}
@@ -184,39 +189,39 @@ void AesDecryptor::AddKey(const std::string& key_system,
scoped_ptr<DecryptionKey> decryption_key(new DecryptionKey(key_string));
if (!decryption_key.get()) {
DVLOG(1) << "Could not create key.";
- client_->KeyError(key_system, session_id, Decryptor::kUnknownError, 0);
+ key_error_cb_.Run(key_system, session_id, Decryptor::kUnknownError, 0);
return;
}
if (!decryption_key->Init()) {
DVLOG(1) << "Could not initialize decryption key.";
- client_->KeyError(key_system, session_id, Decryptor::kUnknownError, 0);
+ key_error_cb_.Run(key_system, session_id, Decryptor::kUnknownError, 0);
return;
}
SetKey(key_id_string, decryption_key.Pass());
- if (!audio_key_added_cb_.is_null())
- audio_key_added_cb_.Run();
+ if (!new_audio_key_cb_.is_null())
+ new_audio_key_cb_.Run();
- if (!video_key_added_cb_.is_null())
- video_key_added_cb_.Run();
+ if (!new_video_key_cb_.is_null())
+ new_video_key_cb_.Run();
- client_->KeyAdded(key_system, session_id);
+ key_added_cb_.Run(key_system, session_id);
}
void AesDecryptor::CancelKeyRequest(const std::string& key_system,
const std::string& session_id) {
}
-void AesDecryptor::RegisterKeyAddedCB(StreamType stream_type,
- const KeyAddedCB& key_added_cb) {
+void AesDecryptor::RegisterNewKeyCB(StreamType stream_type,
+ const NewKeyCB& new_key_cb) {
switch (stream_type) {
case kAudio:
- audio_key_added_cb_ = key_added_cb;
+ new_audio_key_cb_ = new_key_cb;
break;
case kVideo:
- video_key_added_cb_ = key_added_cb;
+ new_video_key_cb_ = new_key_cb;
break;
default:
NOTREACHED();

Powered by Google App Engine
This is Rietveld 408576698