Shaka Packager SDK
Loading...
Searching...
No Matches
decrypt_config.cc
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
3// found in the LICENSE file.
4
5#include <packager/media/base/decrypt_config.h>
6
7#include <cstddef>
8#include <cstdint>
9#include <vector>
10
11#include <absl/log/check.h>
12
13#include <packager/media/base/fourccs.h>
14
15namespace shaka {
16namespace media {
17
18DecryptConfig::DecryptConfig(const std::vector<uint8_t>& key_id,
19 const std::vector<uint8_t>& iv,
20 const std::vector<SubsampleEntry>& subsamples)
21 : DecryptConfig(key_id, iv, subsamples, FOURCC_cenc, 0, 0) {}
22
23DecryptConfig::DecryptConfig(const std::vector<uint8_t>& key_id,
24 const std::vector<uint8_t>& iv,
25 const std::vector<SubsampleEntry>& subsamples,
26 FourCC protection_scheme,
27 uint8_t crypt_byte_block,
28 uint8_t skip_byte_block)
29 : key_id_(key_id),
30 iv_(iv),
31 subsamples_(subsamples),
32 protection_scheme_(protection_scheme),
33 crypt_byte_block_(crypt_byte_block),
34 skip_byte_block_(skip_byte_block) {
35 CHECK_GT(key_id.size(), 0u);
36}
37
38DecryptConfig::~DecryptConfig() {}
39
41 size_t size = 0;
42 for (const SubsampleEntry& subsample : subsamples_)
43 size += subsample.clear_bytes + subsample.cipher_bytes;
44 return size;
45}
46
47} // namespace media
48} // namespace shaka
DecryptConfig(const std::vector< uint8_t > &key_id, const std::vector< uint8_t > &iv, const std::vector< SubsampleEntry > &subsamples)
size_t GetTotalSizeOfSubsamples() const
All the methods that are virtual are virtual for mocking.