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

Unified Diff: media/cdm/ppapi/external_clear_key/clear_key_cdm.h

Issue 448893002: Update ClearKey to support CDM_6 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cdm6
Patch Set: rebase Created 6 years, 4 months 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
« no previous file with comments | « media/cdm/aes_decryptor_unittest.cc ('k') | media/cdm/ppapi/external_clear_key/clear_key_cdm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cdm/ppapi/external_clear_key/clear_key_cdm.h
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 0288998b03ee0685ca813aa04605c86fc5670b9c..c491cd71009d508c96099ae1d2c092d2a78f3d4d 100644
--- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.h
+++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.h
@@ -49,15 +49,21 @@ class ClearKeyCdm : public ClearKeyCdmInterface {
uint32_t web_session_id_length,
const uint8* response,
uint32 response_size) OVERRIDE;
- virtual void ReleaseSession(uint32 promise_id,
- const char* web_session_id,
- uint32_t web_session_id_length) OVERRIDE;
+ virtual void CloseSession(uint32 promise_id,
+ const char* web_session_id,
+ uint32_t web_session_id_length) OVERRIDE;
+ virtual void RemoveSession(uint32 promise_id,
+ const char* web_session_id,
+ uint32_t web_session_id_length) OVERRIDE;
+ virtual void GetUsableKeyIds(uint32_t promise_id,
+ const char* web_session_id,
+ uint32_t web_session_id_length) OVERRIDE;
virtual void SetServerCertificate(
uint32 promise_id,
const uint8_t* server_certificate_data,
uint32_t server_certificate_data_size) OVERRIDE;
virtual void TimerExpired(void* context) OVERRIDE;
- virtual cdm::Status Decrypt(const cdm::InputBuffer_1& encrypted_buffer,
+ virtual cdm::Status Decrypt(const cdm::InputBuffer& encrypted_buffer,
cdm::DecryptedBlock* decrypted_block) OVERRIDE;
virtual cdm::Status InitializeAudioDecoder(
const cdm::AudioDecoderConfig& audio_decoder_config) OVERRIDE;
@@ -66,10 +72,10 @@ class ClearKeyCdm : public ClearKeyCdmInterface {
virtual void DeinitializeDecoder(cdm::StreamType decoder_type) OVERRIDE;
virtual void ResetDecoder(cdm::StreamType decoder_type) OVERRIDE;
virtual cdm::Status DecryptAndDecodeFrame(
- const cdm::InputBuffer_1& encrypted_buffer,
+ const cdm::InputBuffer& encrypted_buffer,
cdm::VideoFrame* video_frame) OVERRIDE;
virtual cdm::Status DecryptAndDecodeSamples(
- const cdm::InputBuffer_1& encrypted_buffer,
+ const cdm::InputBuffer& encrypted_buffer,
cdm::AudioFrames* audio_frames) OVERRIDE;
virtual void Destroy() OVERRIDE;
virtual void OnPlatformChallengeResponse(
@@ -94,6 +100,7 @@ class ClearKeyCdm : public ClearKeyCdmInterface {
void OnSessionLoaded(uint32 promise_id, const std::string& web_session_id);
void OnSessionUpdated(uint32 promise_id, const std::string& web_session_id);
void OnSessionReleased(uint32 promise_id, const std::string& web_session_id);
+ void OnUsableKeyIdsObtained(uint32 promise_id, const KeyIdsVector& key_ids);
void OnPromiseFailed(uint32 promise_id,
MediaKeys::Exception exception_code,
uint32 system_code,
@@ -111,7 +118,7 @@ class ClearKeyCdm : public ClearKeyCdmInterface {
// Returns cdm::kDecryptError if any decryption error occurred. In this case
// |decrypted_buffer| should be ignored by the caller.
cdm::Status DecryptToMediaDecoderBuffer(
- const cdm::InputBuffer_1& encrypted_buffer,
+ const cdm::InputBuffer& encrypted_buffer,
scoped_refptr<DecoderBuffer>* decrypted_buffer);
#if defined(CLEAR_KEY_CDM_USE_FAKE_AUDIO_DECODER)
@@ -145,6 +152,16 @@ class ClearKeyCdm : public ClearKeyCdmInterface {
std::string last_session_id_;
std::string next_heartbeat_message_;
+ // In order to simulate LoadSession(), CreateSession() and then
+ // UpdateSession() will be called to create a session with known keys.
+ // |session_id_for_emulated_loadsession_| is used to keep track of the
+ // session_id allocated by aes_decryptor, as the session_id will be returned
+ // as |kLoadableWebSessionId|. Future requests for this simulated session
+ // need to use |session_id_for_emulated_loadsession_| for all calls
+ // to aes_decryptor.
+ // |promise_id_for_emulated_loadsession_| is used to keep track of the
+ // original LoadSession() promise, as it is not resolved until the
+ // UpdateSession() call succeeds.
// TODO(xhwang): Extract testing code from main implementation.
// See http://crbug.com/341751
std::string session_id_for_emulated_loadsession_;
« no previous file with comments | « media/cdm/aes_decryptor_unittest.cc ('k') | media/cdm/ppapi/external_clear_key/clear_key_cdm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698