[Android WebView] Fix webview perf bot switchover to use org.chromium.webview_shell...
[chromium-blink-merge.git] / chromecast / media / base / decrypt_context.h
blob5d053c0cafadcb78f48e00c05be28768586b3e72
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROMECAST_MEDIA_BASE_DECRYPT_CONTEXT_H_
6 #define CHROMECAST_MEDIA_BASE_DECRYPT_CONTEXT_H_
8 #include "base/macros.h"
9 #include "base/memory/ref_counted.h"
10 #include "chromecast/media/base/key_systems_common.h"
12 namespace crypto {
13 class SymmetricKey;
16 namespace chromecast {
17 namespace media {
19 // Base class of a decryption context: a decryption context gathers all the
20 // information needed to decrypt frames with a given key id.
21 // Each CDM should implement this and add fields needed to fully describe a
22 // decryption context.
24 class DecryptContext : public base::RefCountedThreadSafe<DecryptContext> {
25 public:
26 explicit DecryptContext(CastKeySystem key_system);
28 CastKeySystem key_system() const { return key_system_; }
30 // Returns the clear key if available, NULL otherwise.
31 virtual crypto::SymmetricKey* GetKey() const;
33 protected:
34 friend class base::RefCountedThreadSafe<DecryptContext>;
35 virtual ~DecryptContext();
37 private:
38 CastKeySystem key_system_;
40 DISALLOW_COPY_AND_ASSIGN(DecryptContext);
43 } // namespace media
44 } // namespace chromecast
46 #endif // CHROMECAST_MEDIA_BASE_DECRYPT_CONTEXT_H_