| Index: media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
|
| 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 9dfea99e53dd553dfdf2e8b9958b40090fe2d867..9cdd9c3ff1f9b27f1b69127cb4c3cf338c977ec6 100644
|
| --- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
|
| +++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
|
| @@ -66,6 +66,9 @@ const char kExternalClearKeyDecryptOnlyKeySystem[] =
|
| "org.chromium.externalclearkey.decryptonly";
|
| const char kExternalClearKeyFileIOTestKeySystem[] =
|
| "org.chromium.externalclearkey.fileiotest";
|
| +const char kExternalClearKeyCrashKeySystem[] =
|
| + "org.chromium.externalclearkey.crash";
|
| +
|
| const int64 kSecondsPerMinute = 60;
|
| const int64 kMsPerSecond = 1000;
|
| const int64 kInitialTimerDelayMs = 200;
|
| @@ -147,7 +150,8 @@ void* CreateCdmInstance(int cdm_interface_version,
|
| std::string key_system_string(key_system, key_system_size);
|
| if (key_system_string != kExternalClearKeyKeySystem &&
|
| key_system_string != kExternalClearKeyDecryptOnlyKeySystem &&
|
| - key_system_string != kExternalClearKeyFileIOTestKeySystem) {
|
| + key_system_string != kExternalClearKeyFileIOTestKeySystem &&
|
| + key_system_string != kExternalClearKeyCrashKeySystem) {
|
| DVLOG(1) << "Unsupported key system:" << key_system_string;
|
| return NULL;
|
| }
|
| @@ -391,6 +395,10 @@ cdm::Status ClearKeyCdm::DecryptAndDecodeSamples(
|
| cdm::AudioFrames* audio_frames) {
|
| DVLOG(1) << "DecryptAndDecodeSamples()";
|
|
|
| + // Trigger a crash on purpose for testing purpose.
|
| + if (key_system_ == kExternalClearKeyCrashKeySystem)
|
| + CHECK(false);
|
| +
|
| scoped_refptr<media::DecoderBuffer> buffer;
|
| cdm::Status status = DecryptToMediaDecoderBuffer(encrypted_buffer, &buffer);
|
|
|
|
|