Chromium Code Reviews| Index: media/test/fake_encrypted_media.cc |
| diff --git a/media/test/fake_encrypted_media.cc b/media/test/fake_encrypted_media.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d15e94835f3d5bd46f9baf878a0b9c697b5a0351 |
| --- /dev/null |
| +++ b/media/test/fake_encrypted_media.cc |
| @@ -0,0 +1,66 @@ |
| +// Copyright (c) 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "media/test/fake_encrypted_media.h" |
| + |
| +#include "base/bind.h" |
| +#include "media/base/cdm_key_information.h" |
| +#include "media/cdm/aes_decryptor.h" |
| + |
| +namespace media { |
| + |
| +FakeEncryptedMedia::TestCdmContext::TestCdmContext(Decryptor* decryptor) |
| + : decryptor_(decryptor) {} |
| + |
| +Decryptor* FakeEncryptedMedia::TestCdmContext::GetDecryptor() { |
| + return decryptor_; |
| +} |
| +int FakeEncryptedMedia::TestCdmContext::GetCdmId() const { |
|
DaleCurtis
2017/04/20 21:40:25
Line.
xjz
2017/04/20 22:07:44
Done.
|
| + return kInvalidCdmId; |
| +} |
| + |
| +FakeEncryptedMedia::FakeEncryptedMedia(AppBase* app) |
| + : decryptor_( |
| + new AesDecryptor(GURL::EmptyGURL(), |
| + base::Bind(&FakeEncryptedMedia::OnSessionMessage, |
| + base::Unretained(this)), |
| + base::Bind(&FakeEncryptedMedia::OnSessionClosed, |
| + base::Unretained(this)), |
| + base::Bind(&FakeEncryptedMedia::OnSessionKeysChange, |
| + base::Unretained(this)))), |
| + cdm_context_(decryptor_.get()), |
| + app_(app) {} |
| + |
| +FakeEncryptedMedia::~FakeEncryptedMedia() {} |
| + |
| +CdmContext* FakeEncryptedMedia::GetCdmContext() { |
| + return &cdm_context_; |
| +} |
| + |
| +// Callbacks for firing session events. Delegate to |app_|. |
| +void FakeEncryptedMedia::OnSessionMessage( |
| + const std::string& session_id, |
| + ContentDecryptionModule::MessageType message_type, |
| + const std::vector<uint8_t>& message) { |
| + app_->OnSessionMessage(session_id, message_type, message, decryptor_.get()); |
| +} |
| + |
| +void FakeEncryptedMedia::OnSessionClosed(const std::string& session_id) { |
| + app_->OnSessionClosed(session_id); |
| +} |
| + |
| +void FakeEncryptedMedia::OnSessionKeysChange(const std::string& session_id, |
| + bool has_additional_usable_key, |
| + CdmKeysInfo keys_info) { |
| + app_->OnSessionKeysChange(session_id, has_additional_usable_key, |
| + std::move(keys_info)); |
| +} |
| + |
| +void FakeEncryptedMedia::OnEncryptedMediaInitData( |
| + EmeInitDataType init_data_type, |
| + const std::vector<uint8_t>& init_data) { |
| + app_->OnEncryptedMediaInitData(init_data_type, init_data, decryptor_.get()); |
| +} |
| + |
| +} // namespace media |