| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_BASE_DECRYPTOR_H_ | 5 #ifndef MEDIA_BASE_DECRYPTOR_H_ |
| 6 #define MEDIA_BASE_DECRYPTOR_H_ | 6 #define MEDIA_BASE_DECRYPTOR_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 // implementations must be thread safe when methods are called this way. | 26 // implementations must be thread safe when methods are called this way. |
| 27 // Depending on the implementation callbacks may be fired synchronously or | 27 // Depending on the implementation callbacks may be fired synchronously or |
| 28 // asynchronously. | 28 // asynchronously. |
| 29 class MEDIA_EXPORT Decryptor { | 29 class MEDIA_EXPORT Decryptor { |
| 30 public: | 30 public: |
| 31 enum Status { | 31 enum Status { |
| 32 kSuccess, // Decryption successfully completed. Decrypted buffer ready. | 32 kSuccess, // Decryption successfully completed. Decrypted buffer ready. |
| 33 kNoKey, // No key is available to decrypt. | 33 kNoKey, // No key is available to decrypt. |
| 34 kNeedMoreData, // Decoder needs more data to produce a frame. | 34 kNeedMoreData, // Decoder needs more data to produce a frame. |
| 35 kError, // Key is available but an error occurred during decryption. | 35 kError, // Key is available but an error occurred during decryption. |
| 36 STATUS_MAX = kError | 36 kStatusMax = kError |
| 37 }; | 37 }; |
| 38 | 38 |
| 39 // TODO(xhwang): Unify this with DemuxerStream::Type. | 39 // TODO(xhwang): Unify this with DemuxerStream::Type. |
| 40 enum StreamType { kAudio, kVideo, STREAM_TYPE_MAX = kVideo }; | 40 enum StreamType { kAudio, kVideo, kStreamTypeMax = kVideo }; |
| 41 | 41 |
| 42 Decryptor(); | 42 Decryptor(); |
| 43 virtual ~Decryptor(); | 43 virtual ~Decryptor(); |
| 44 | 44 |
| 45 // Indicates that a new key has been added to the MediaKeys object associated | 45 // Indicates that a new key has been added to the MediaKeys object associated |
| 46 // with the Decryptor. | 46 // with the Decryptor. |
| 47 typedef base::Callback<void()> NewKeyCB; | 47 typedef base::Callback<void()> NewKeyCB; |
| 48 | 48 |
| 49 // Registers a NewKeyCB which should be called when a new key is added to the | 49 // Registers a NewKeyCB which should be called when a new key is added to the |
| 50 // decryptor. Only one NewKeyCB can be registered for one |stream_type|. | 50 // decryptor. Only one NewKeyCB can be registered for one |stream_type|. |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 // The decoder can be reinitialized after it is uninitialized. | 155 // The decoder can be reinitialized after it is uninitialized. |
| 156 virtual void DeinitializeDecoder(StreamType stream_type) = 0; | 156 virtual void DeinitializeDecoder(StreamType stream_type) = 0; |
| 157 | 157 |
| 158 private: | 158 private: |
| 159 DISALLOW_COPY_AND_ASSIGN(Decryptor); | 159 DISALLOW_COPY_AND_ASSIGN(Decryptor); |
| 160 }; | 160 }; |
| 161 | 161 |
| 162 } // namespace media | 162 } // namespace media |
| 163 | 163 |
| 164 #endif // MEDIA_BASE_DECRYPTOR_H_ | 164 #endif // MEDIA_BASE_DECRYPTOR_H_ |
| OLD | NEW |