/src/mozilla-central/dom/media/gmp/widevine-adapter/WidevineUtils.cpp
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 | | /* This Source Code Form is subject to the terms of the Mozilla Public |
3 | | * License, v. 2.0. If a copy of the MPL was not distributed with this |
4 | | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
5 | | |
6 | | #include "WidevineUtils.h" |
7 | | #include "GMPLog.h" |
8 | | #include "gmp-api/gmp-errors.h" |
9 | | #include <stdarg.h> |
10 | | #include <stdio.h> |
11 | | #include <inttypes.h> |
12 | | |
13 | | namespace mozilla { |
14 | | |
15 | | WidevineBuffer::WidevineBuffer(size_t aSize) |
16 | 0 | { |
17 | 0 | GMP_LOG("WidevineBuffer(size=%zu) created", aSize); |
18 | 0 | mBuffer.SetLength(aSize); |
19 | 0 | } |
20 | | |
21 | | WidevineBuffer::~WidevineBuffer() |
22 | 0 | { |
23 | 0 | GMP_LOG("WidevineBuffer(size=%" PRIu32 ") destroyed", Size()); |
24 | 0 | } |
25 | | |
26 | | void |
27 | | WidevineBuffer::Destroy() |
28 | 0 | { |
29 | 0 | delete this; |
30 | 0 | } |
31 | | |
32 | | uint32_t |
33 | | WidevineBuffer::Capacity() const |
34 | 0 | { |
35 | 0 | return mBuffer.Length(); |
36 | 0 | } |
37 | | |
38 | | uint8_t* |
39 | | WidevineBuffer::Data() |
40 | 0 | { |
41 | 0 | return mBuffer.Elements(); |
42 | 0 | } |
43 | | |
44 | | void |
45 | | WidevineBuffer::SetSize(uint32_t aSize) |
46 | 0 | { |
47 | 0 | mBuffer.SetLength(aSize); |
48 | 0 | } |
49 | | |
50 | | uint32_t |
51 | | WidevineBuffer::Size() const |
52 | 0 | { |
53 | 0 | return mBuffer.Length(); |
54 | 0 | } |
55 | | |
56 | | nsTArray<uint8_t> |
57 | 0 | WidevineBuffer::ExtractBuffer() { |
58 | 0 | nsTArray<uint8_t> out; |
59 | 0 | out.SwapElements(mBuffer); |
60 | 0 | return out; |
61 | 0 | } |
62 | | |
63 | | WidevineDecryptedBlock::WidevineDecryptedBlock() |
64 | | : mBuffer(nullptr) |
65 | | , mTimestamp(0) |
66 | 0 | { |
67 | 0 | } |
68 | | |
69 | | WidevineDecryptedBlock::~WidevineDecryptedBlock() |
70 | 0 | { |
71 | 0 | if (mBuffer) { |
72 | 0 | mBuffer->Destroy(); |
73 | 0 | mBuffer = nullptr; |
74 | 0 | } |
75 | 0 | } |
76 | | |
77 | | void |
78 | | WidevineDecryptedBlock::SetDecryptedBuffer(cdm::Buffer* aBuffer) |
79 | 0 | { |
80 | 0 | mBuffer = aBuffer; |
81 | 0 | } |
82 | | |
83 | | cdm::Buffer* |
84 | | WidevineDecryptedBlock::DecryptedBuffer() |
85 | 0 | { |
86 | 0 | return mBuffer; |
87 | 0 | } |
88 | | |
89 | | void |
90 | | WidevineDecryptedBlock::SetTimestamp(int64_t aTimestamp) |
91 | 0 | { |
92 | 0 | mTimestamp = aTimestamp; |
93 | 0 | } |
94 | | |
95 | | int64_t |
96 | | WidevineDecryptedBlock::Timestamp() const |
97 | 0 | { |
98 | 0 | return mTimestamp; |
99 | 0 | } |
100 | | |
101 | | } // namespace mozilla |