Shaka Packager SDK
protection_system_ids.h
1 // Copyright 2018 Google LLC. All rights reserved.
2 //
3 // Use of this source code is governed by a BSD-style
4 // license that can be found in the LICENSE file or at
5 // https://developers.google.com/open-source/licenses/bsd
6 
7 #ifndef PACKAGER_MEDIA_BASE_PROTECTION_SYSTEM_IDS_H_
8 #define PACKAGER_MEDIA_BASE_PROTECTION_SYSTEM_IDS_H_
9 
10 namespace shaka {
11 namespace media {
12 
13 // System Ids are defined in https://dashif.org/identifiers/content_protection/.
14 
15 // Common SystemID defined by EME, which requires Key System implementations
16 // supporting ISO Common Encryption to support this SystemID and format.
17 // https://goo.gl/kUv2Xd
18 const uint8_t kCommonSystemId[] = {0x10, 0x77, 0xef, 0xec, 0xc0, 0xb2,
19  0x4d, 0x02, 0xac, 0xe3, 0x3c, 0x1e,
20  0x52, 0xe2, 0xfb, 0x4b};
21 
22 // Unofficial FairPlay system id extracted from
23 // https://forums.developer.apple.com/thread/6185.
24 const uint8_t kFairPlaySystemId[] = {0x29, 0x70, 0x1F, 0xE4, 0x3C, 0xC7,
25  0x4A, 0x34, 0x8C, 0x5B, 0xAE, 0x90,
26  0xC7, 0x43, 0x9A, 0x47};
27 
28 // Marlin Adaptive Streaming Specification – Simple Profile, V1.0.
29 const uint8_t kMarlinSystemId[] = {0x5E, 0x62, 0x9A, 0xF5, 0x38, 0xDA,
30  0x40, 0x63, 0x89, 0x77, 0x97, 0xFF,
31  0xBD, 0x99, 0x02, 0xD4};
32 
33 const uint8_t kPlayReadySystemId[] = {0x9a, 0x04, 0xf0, 0x79, 0x98, 0x40,
34  0x42, 0x86, 0xab, 0x92, 0xe6, 0x5b,
35  0xe0, 0x88, 0x5f, 0x95};
36 
37 const uint8_t kWidevineSystemId[] = {0xed, 0xef, 0x8b, 0xa9, 0x79, 0xd6,
38  0x4a, 0xce, 0xa3, 0xc8, 0x27, 0xdc,
39  0xd5, 0x1d, 0x21, 0xed};
40 
41 } // namespace media
42 } // namespace shaka
43 
44 #endif // PACKAGER_MEDIA_BASE_PROTECTION_SYSTEM_IDS_H_
All the methods that are virtual are virtual for mocking.