forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cdm_helpers.cc
137 lines (106 loc) · 3.04 KB
/
cdm_helpers.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "media/cdm/cdm_helpers.h"
#if defined(USE_PPAPI_CDM_ADAPTER)
// When building the ppapi adapter do not include any non-trivial base/ headers.
#include "ppapi/cpp/logging.h" // nogncheck
#define PLATFORM_DCHECK PP_DCHECK
#else
#include "base/logging.h"
#define PLATFORM_DCHECK DCHECK
#endif
namespace media {
DecryptedBlockImpl::DecryptedBlockImpl() : buffer_(nullptr), timestamp_(0) {}
DecryptedBlockImpl::~DecryptedBlockImpl() {
if (buffer_)
buffer_->Destroy();
}
void DecryptedBlockImpl::SetDecryptedBuffer(cdm::Buffer* buffer) {
buffer_ = buffer;
}
cdm::Buffer* DecryptedBlockImpl::DecryptedBuffer() {
return buffer_;
}
void DecryptedBlockImpl::SetTimestamp(int64_t timestamp) {
timestamp_ = timestamp;
}
int64_t DecryptedBlockImpl::Timestamp() const {
return timestamp_;
}
VideoFrameImpl::VideoFrameImpl()
: format_(cdm::kUnknownVideoFormat), frame_buffer_(nullptr), timestamp_(0) {
for (uint32_t i = 0; i < kMaxPlanes; ++i) {
plane_offsets_[i] = 0;
strides_[i] = 0;
}
}
VideoFrameImpl::~VideoFrameImpl() {
if (frame_buffer_)
frame_buffer_->Destroy();
}
void VideoFrameImpl::SetFormat(cdm::VideoFormat format) {
format_ = format;
}
cdm::VideoFormat VideoFrameImpl::Format() const {
return format_;
}
void VideoFrameImpl::SetSize(cdm::Size size) {
size_ = size;
}
cdm::Size VideoFrameImpl::Size() const {
return size_;
}
void VideoFrameImpl::SetFrameBuffer(cdm::Buffer* frame_buffer) {
frame_buffer_ = frame_buffer;
}
cdm::Buffer* VideoFrameImpl::FrameBuffer() {
return frame_buffer_;
}
void VideoFrameImpl::SetPlaneOffset(cdm::VideoFrame::VideoPlane plane,
uint32_t offset) {
PLATFORM_DCHECK(plane < kMaxPlanes);
plane_offsets_[plane] = offset;
}
uint32_t VideoFrameImpl::PlaneOffset(VideoPlane plane) {
PLATFORM_DCHECK(plane < kMaxPlanes);
return plane_offsets_[plane];
}
void VideoFrameImpl::SetStride(VideoPlane plane, uint32_t stride) {
PLATFORM_DCHECK(plane < kMaxPlanes);
strides_[plane] = stride;
}
uint32_t VideoFrameImpl::Stride(VideoPlane plane) {
PLATFORM_DCHECK(plane < kMaxPlanes);
return strides_[plane];
}
void VideoFrameImpl::SetTimestamp(int64_t timestamp) {
timestamp_ = timestamp;
}
int64_t VideoFrameImpl::Timestamp() const {
return timestamp_;
}
AudioFramesImpl::AudioFramesImpl()
: buffer_(nullptr), format_(cdm::kUnknownAudioFormat) {}
AudioFramesImpl::~AudioFramesImpl() {
if (buffer_)
buffer_->Destroy();
}
void AudioFramesImpl::SetFrameBuffer(cdm::Buffer* buffer) {
buffer_ = buffer;
}
cdm::Buffer* AudioFramesImpl::FrameBuffer() {
return buffer_;
}
void AudioFramesImpl::SetFormat(cdm::AudioFormat format) {
format_ = format;
}
cdm::AudioFormat AudioFramesImpl::Format() const {
return format_;
}
cdm::Buffer* AudioFramesImpl::PassFrameBuffer() {
cdm::Buffer* temp_buffer = buffer_;
buffer_ = nullptr;
return temp_buffer;
}
} // namespace media