summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxhwang@chromium.org <xhwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-28 02:16:31 +0000
committerxhwang@chromium.org <xhwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-28 02:16:31 +0000
commit0ab279ae9dc3c5f24a00c2365fc3e3507c92bce4 (patch)
treec26a6bb755dda24418aa2db8937c00ba4a1a171f
parent62a28d7cffabcaf126cd6004e463c546e54fa910 (diff)
downloadchromium_src-0ab279ae9dc3c5f24a00c2365fc3e3507c92bce4.zip
chromium_src-0ab279ae9dc3c5f24a00c2365fc3e3507c92bce4.tar.gz
chromium_src-0ab279ae9dc3c5f24a00c2365fc3e3507c92bce4.tar.bz2
Use |key_system| in ClearKeyCdm's constructor.
R=jrummell@chromium.org Review URL: https://codereview.chromium.org/121933002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242658 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--media/cdm/ppapi/external_clear_key/clear_key_cdm.cc18
-rw-r--r--media/cdm/ppapi/external_clear_key/clear_key_cdm.h7
2 files changed, 8 insertions, 17 deletions
diff --git a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
index 90ebab4..bf18854 100644
--- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
+++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
@@ -160,10 +160,7 @@ void* CreateCdmInstance(int cdm_interface_version,
if (!host)
return NULL;
- return new media::ClearKeyCdm(
- host,
- key_system_string == kExternalClearKeyDecryptOnlyKeySystem,
- key_system_string == kExternalClearKeyFileIOTestKeySystem);
+ return new media::ClearKeyCdm(host, key_system_string);
}
const char* GetCdmVersion() {
@@ -172,9 +169,7 @@ const char* GetCdmVersion() {
namespace media {
-ClearKeyCdm::ClearKeyCdm(ClearKeyCdmHost* host,
- bool is_decrypt_only,
- bool should_test_file_io)
+ClearKeyCdm::ClearKeyCdm(ClearKeyCdmHost* host, const std::string& key_system)
: decryptor_(
base::Bind(&ClearKeyCdm::OnSessionCreated, base::Unretained(this)),
base::Bind(&ClearKeyCdm::OnSessionMessage, base::Unretained(this)),
@@ -182,8 +177,7 @@ ClearKeyCdm::ClearKeyCdm(ClearKeyCdmHost* host,
base::Bind(&ClearKeyCdm::OnSessionClosed, base::Unretained(this)),
base::Bind(&ClearKeyCdm::OnSessionError, base::Unretained(this))),
host_(host),
- is_decrypt_only_(is_decrypt_only),
- should_test_file_io_(should_test_file_io),
+ key_system_(key_system),
last_session_id_(MediaKeys::kInvalidSessionId),
timer_delay_ms_(kInitialTimerDelayMs),
timer_set_(false) {
@@ -210,7 +204,7 @@ void ClearKeyCdm::CreateSession(uint32 session_id,
// Save the latest session ID for heartbeat and file IO test messages.
last_session_id_ = session_id;
- if (should_test_file_io_)
+ if (key_system_ == kExternalClearKeyFileIOTestKeySystem)
StartFileIOTest();
}
@@ -288,7 +282,7 @@ cdm::Status ClearKeyCdm::Decrypt(
cdm::Status ClearKeyCdm::InitializeAudioDecoder(
const cdm::AudioDecoderConfig& audio_decoder_config) {
- if (is_decrypt_only_)
+ if (key_system_ == kExternalClearKeyDecryptOnlyKeySystem)
return cdm::kSessionError;
#if defined(CLEAR_KEY_CDM_USE_FFMPEG_DECODER)
@@ -312,7 +306,7 @@ cdm::Status ClearKeyCdm::InitializeAudioDecoder(
cdm::Status ClearKeyCdm::InitializeVideoDecoder(
const cdm::VideoDecoderConfig& video_decoder_config) {
- if (is_decrypt_only_)
+ if (key_system_ == kExternalClearKeyDecryptOnlyKeySystem)
return cdm::kSessionError;
if (video_decoder_ && video_decoder_->is_initialized()) {
diff --git a/media/cdm/ppapi/external_clear_key/clear_key_cdm.h b/media/cdm/ppapi/external_clear_key/clear_key_cdm.h
index 45d9c05..75b0882 100644
--- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.h
+++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.h
@@ -31,9 +31,7 @@ class FFmpegCdmAudioDecoder;
// Clear key implementation of the cdm::ContentDecryptionModule interface.
class ClearKeyCdm : public ClearKeyCdmInterface {
public:
- explicit ClearKeyCdm(Host* host,
- bool is_decrypt_only,
- bool should_test_file_io);
+ ClearKeyCdm(Host* host, const std::string& key_system);
virtual ~ClearKeyCdm();
// ContentDecryptionModule implementation.
@@ -116,8 +114,7 @@ class ClearKeyCdm : public ClearKeyCdmInterface {
ClearKeyCdmHost* host_;
- const bool is_decrypt_only_;
- const bool should_test_file_io_;
+ const std::string key_system_;
uint32 last_session_id_;
std::string next_heartbeat_message_;