-
Notifications
You must be signed in to change notification settings - Fork 248
/
requiredreferencetypesproperty.cpp
57 lines (45 loc) · 1.46 KB
/
requiredreferencetypesproperty.cpp
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
/* This file is part of Nokia HEIF library
*
* Copyright (c) 2015-2021 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
*
* Contact: [email protected]
*
* This software, including documentation, is protected by copyright controlled by Nokia Corporation and/ or its
* subsidiaries. All rights are reserved.
*
* Copying, including reproducing, storing, adapting or translating, any or all of this material requires the prior
* written consent of Nokia.
*/
#include "requiredreferencetypesproperty.hpp"
#include "bitstream.hpp"
RequiredReferenceTypesProperty::RequiredReferenceTypesProperty()
: FullBox("rref", 0, 0)
{
}
Vector<FourCCInt> RequiredReferenceTypesProperty::getReferenceTypes() const
{
return mReferenceTypes;
}
void RequiredReferenceTypesProperty::addReferenceType(const FourCCInt referenceType)
{
mReferenceTypes.push_back(referenceType);
}
void RequiredReferenceTypesProperty::writeBox(BitStream& output) const
{
writeFullBoxHeader(output);
output.write32Bits(static_cast<unsigned int>(mReferenceTypes.size()));
for (auto referenceType : mReferenceTypes)
{
output.write32Bits(referenceType.getUInt32());
}
updateSize(output);
}
void RequiredReferenceTypesProperty::parseBox(BitStream& input)
{
parseFullBoxHeader(input);
const std::uint32_t entryCount = input.read32Bits();
for (std::uint32_t i = 0; i < entryCount; ++i)
{
mReferenceTypes.push_back(input.read32Bits());
}
}