OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_CRYPTO_AES_DECRYPTOR_H_ | 5 #ifndef MEDIA_CRYPTO_AES_DECRYPTOR_H_ |
6 #define MEDIA_CRYPTO_AES_DECRYPTOR_H_ | 6 #define MEDIA_CRYPTO_AES_DECRYPTOR_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 18 matching lines...) Expand all Loading... |
29 public: | 29 public: |
30 AesDecryptor(const SessionMessageCB& session_message_cb, | 30 AesDecryptor(const SessionMessageCB& session_message_cb, |
31 const SessionClosedCB& session_closed_cb, | 31 const SessionClosedCB& session_closed_cb, |
32 const SessionKeysChangeCB& session_keys_change_cb); | 32 const SessionKeysChangeCB& session_keys_change_cb); |
33 virtual ~AesDecryptor(); | 33 virtual ~AesDecryptor(); |
34 | 34 |
35 // MediaKeys implementation. | 35 // MediaKeys implementation. |
36 virtual void SetServerCertificate( | 36 virtual void SetServerCertificate( |
37 const uint8* certificate_data, | 37 const uint8* certificate_data, |
38 int certificate_data_length, | 38 int certificate_data_length, |
39 scoped_ptr<SimpleCdmPromise> promise) OVERRIDE; | 39 scoped_ptr<SimpleCdmPromise> promise) override; |
40 virtual void CreateSession(const std::string& init_data_type, | 40 virtual void CreateSession(const std::string& init_data_type, |
41 const uint8* init_data, | 41 const uint8* init_data, |
42 int init_data_length, | 42 int init_data_length, |
43 SessionType session_type, | 43 SessionType session_type, |
44 scoped_ptr<NewSessionCdmPromise> promise) OVERRIDE; | 44 scoped_ptr<NewSessionCdmPromise> promise) override; |
45 virtual void LoadSession(const std::string& web_session_id, | 45 virtual void LoadSession(const std::string& web_session_id, |
46 scoped_ptr<NewSessionCdmPromise> promise) OVERRIDE; | 46 scoped_ptr<NewSessionCdmPromise> promise) override; |
47 virtual void UpdateSession(const std::string& web_session_id, | 47 virtual void UpdateSession(const std::string& web_session_id, |
48 const uint8* response, | 48 const uint8* response, |
49 int response_length, | 49 int response_length, |
50 scoped_ptr<SimpleCdmPromise> promise) OVERRIDE; | 50 scoped_ptr<SimpleCdmPromise> promise) override; |
51 virtual void CloseSession(const std::string& web_session_id, | 51 virtual void CloseSession(const std::string& web_session_id, |
52 scoped_ptr<SimpleCdmPromise> promise) OVERRIDE; | 52 scoped_ptr<SimpleCdmPromise> promise) override; |
53 virtual void RemoveSession(const std::string& web_session_id, | 53 virtual void RemoveSession(const std::string& web_session_id, |
54 scoped_ptr<SimpleCdmPromise> promise) OVERRIDE; | 54 scoped_ptr<SimpleCdmPromise> promise) override; |
55 virtual void GetUsableKeyIds(const std::string& web_session_id, | 55 virtual void GetUsableKeyIds(const std::string& web_session_id, |
56 scoped_ptr<KeyIdsPromise> promise) OVERRIDE; | 56 scoped_ptr<KeyIdsPromise> promise) override; |
57 virtual Decryptor* GetDecryptor() OVERRIDE; | 57 virtual Decryptor* GetDecryptor() override; |
58 | 58 |
59 // Decryptor implementation. | 59 // Decryptor implementation. |
60 virtual void RegisterNewKeyCB(StreamType stream_type, | 60 virtual void RegisterNewKeyCB(StreamType stream_type, |
61 const NewKeyCB& key_added_cb) OVERRIDE; | 61 const NewKeyCB& key_added_cb) override; |
62 virtual void Decrypt(StreamType stream_type, | 62 virtual void Decrypt(StreamType stream_type, |
63 const scoped_refptr<DecoderBuffer>& encrypted, | 63 const scoped_refptr<DecoderBuffer>& encrypted, |
64 const DecryptCB& decrypt_cb) OVERRIDE; | 64 const DecryptCB& decrypt_cb) override; |
65 virtual void CancelDecrypt(StreamType stream_type) OVERRIDE; | 65 virtual void CancelDecrypt(StreamType stream_type) override; |
66 virtual void InitializeAudioDecoder(const AudioDecoderConfig& config, | 66 virtual void InitializeAudioDecoder(const AudioDecoderConfig& config, |
67 const DecoderInitCB& init_cb) OVERRIDE; | 67 const DecoderInitCB& init_cb) override; |
68 virtual void InitializeVideoDecoder(const VideoDecoderConfig& config, | 68 virtual void InitializeVideoDecoder(const VideoDecoderConfig& config, |
69 const DecoderInitCB& init_cb) OVERRIDE; | 69 const DecoderInitCB& init_cb) override; |
70 virtual void DecryptAndDecodeAudio( | 70 virtual void DecryptAndDecodeAudio( |
71 const scoped_refptr<DecoderBuffer>& encrypted, | 71 const scoped_refptr<DecoderBuffer>& encrypted, |
72 const AudioDecodeCB& audio_decode_cb) OVERRIDE; | 72 const AudioDecodeCB& audio_decode_cb) override; |
73 virtual void DecryptAndDecodeVideo( | 73 virtual void DecryptAndDecodeVideo( |
74 const scoped_refptr<DecoderBuffer>& encrypted, | 74 const scoped_refptr<DecoderBuffer>& encrypted, |
75 const VideoDecodeCB& video_decode_cb) OVERRIDE; | 75 const VideoDecodeCB& video_decode_cb) override; |
76 virtual void ResetDecoder(StreamType stream_type) OVERRIDE; | 76 virtual void ResetDecoder(StreamType stream_type) override; |
77 virtual void DeinitializeDecoder(StreamType stream_type) OVERRIDE; | 77 virtual void DeinitializeDecoder(StreamType stream_type) override; |
78 | 78 |
79 private: | 79 private: |
80 // TODO(fgalligan): Remove this and change KeyMap to use crypto::SymmetricKey | 80 // TODO(fgalligan): Remove this and change KeyMap to use crypto::SymmetricKey |
81 // as there are no decryptors that are performing an integrity check. | 81 // as there are no decryptors that are performing an integrity check. |
82 // Helper class that manages the decryption key. | 82 // Helper class that manages the decryption key. |
83 class DecryptionKey { | 83 class DecryptionKey { |
84 public: | 84 public: |
85 explicit DecryptionKey(const std::string& secret); | 85 explicit DecryptionKey(const std::string& secret); |
86 ~DecryptionKey(); | 86 ~DecryptionKey(); |
87 | 87 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 // Protect |new_audio_key_cb_| and |new_video_key_cb_| as they are set on the | 147 // Protect |new_audio_key_cb_| and |new_video_key_cb_| as they are set on the |
148 // main thread but called on the media thread. | 148 // main thread but called on the media thread. |
149 mutable base::Lock new_key_cb_lock_; | 149 mutable base::Lock new_key_cb_lock_; |
150 | 150 |
151 DISALLOW_COPY_AND_ASSIGN(AesDecryptor); | 151 DISALLOW_COPY_AND_ASSIGN(AesDecryptor); |
152 }; | 152 }; |
153 | 153 |
154 } // namespace media | 154 } // namespace media |
155 | 155 |
156 #endif // MEDIA_CRYPTO_AES_DECRYPTOR_H_ | 156 #endif // MEDIA_CRYPTO_AES_DECRYPTOR_H_ |
OLD | NEW |