File Coverage

blib/lib/Paws/ElasticTranscoder/PlayReadyDrm.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::ElasticTranscoder::PlayReadyDrm;
2 1     1   607 use Moose;
  1         3  
  1         7  
3             has Format => (is => 'ro', isa => 'Str');
4             has InitializationVector => (is => 'ro', isa => 'Str');
5             has Key => (is => 'ro', isa => 'Str');
6             has KeyId => (is => 'ro', isa => 'Str');
7             has KeyMd5 => (is => 'ro', isa => 'Str');
8             has LicenseAcquisitionUrl => (is => 'ro', isa => 'Str');
9             1;
10              
11             ### main pod documentation begin ###
12              
13             =head1 NAME
14              
15             Paws::ElasticTranscoder::PlayReadyDrm
16              
17             =head1 USAGE
18              
19             This class represents one of two things:
20              
21             =head3 Arguments in a call to a service
22              
23             Use the attributes of this class as arguments to methods. You shouldn't make instances of this class.
24             Each attribute should be used as a named argument in the calls that expect this type of object.
25              
26             As an example, if Att1 is expected to be a Paws::ElasticTranscoder::PlayReadyDrm object:
27              
28             $service_obj->Method(Att1 => { Format => $value, ..., LicenseAcquisitionUrl => $value });
29              
30             =head3 Results returned from an API call
31              
32             Use accessors for each attribute. If Att1 is expected to be an Paws::ElasticTranscoder::PlayReadyDrm object:
33              
34             $result = $service_obj->Method(...);
35             $result->Att1->Format
36              
37             =head1 DESCRIPTION
38              
39             The PlayReady DRM settings, if any, that you want Elastic Transcoder to
40             apply to the output files associated with this playlist.
41              
42             PlayReady DRM encrypts your media files using C<AES-CTR> encryption.
43              
44             If you use DRM for an C<HLSv3> playlist, your outputs must have a
45             master playlist.
46              
47             =head1 ATTRIBUTES
48              
49              
50             =head2 Format => Str
51              
52             The type of DRM, if any, that you want Elastic Transcoder to apply to
53             the output files associated with this playlist.
54              
55              
56             =head2 InitializationVector => Str
57              
58             The series of random bits created by a random bit generator, unique for
59             every encryption operation, that you want Elastic Transcoder to use to
60             encrypt your files. The initialization vector must be base64-encoded,
61             and it must be exactly 8 bytes long before being base64-encoded. If no
62             initialization vector is provided, Elastic Transcoder generates one for
63             you.
64              
65              
66             =head2 Key => Str
67              
68             The DRM key for your file, provided by your DRM license provider. The
69             key must be base64-encoded, and it must be one of the following bit
70             lengths before being base64-encoded:
71              
72             C<128>, C<192>, or C<256>.
73              
74             The key must also be encrypted by using AWS KMS.
75              
76              
77             =head2 KeyId => Str
78              
79             The ID for your DRM key, so that your DRM license provider knows which
80             key to provide.
81              
82             The key ID must be provided in big endian, and Elastic Transcoder
83             converts it to little endian before inserting it into the PlayReady DRM
84             headers. If you are unsure whether your license server provides your
85             key ID in big or little endian, check with your DRM provider.
86              
87              
88             =head2 KeyMd5 => Str
89              
90             The MD5 digest of the key used for DRM on your file, and that you want
91             Elastic Transcoder to use as a checksum to make sure your key was not
92             corrupted in transit. The key MD5 must be base64-encoded, and it must
93             be exactly 16 bytes before being base64-encoded.
94              
95              
96             =head2 LicenseAcquisitionUrl => Str
97              
98             The location of the license key required to play DRM content. The URL
99             must be an absolute path, and is referenced by the PlayReady header.
100             The PlayReady header is referenced in the protection header of the
101             client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM
102             and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example
103             URL looks like this: C<https://www.example.com/exampleKey/>
104              
105              
106              
107             =head1 SEE ALSO
108              
109             This class forms part of L<Paws>, describing an object used in L<Paws::ElasticTranscoder>
110              
111             =head1 BUGS and CONTRIBUTIONS
112              
113             The source code is located here: https://github.com/pplu/aws-sdk-perl
114              
115             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
116              
117             =cut
118