1 /*
2 * Copyright (C) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "image_packer.h"
17 #include "mock_image_related_class.h"
18 #include "securec.h"
19
20 namespace {
21 const uint8_t COUNT = 64;
22 uint32_t g_mockImagePackerGetSupportedFormatsRet = 0;
23 const uint8_t *g_mockImagePackerStartPackingRet = nullptr;
24 uint32_t g_mockImagePackerFinalizePackingRet = 16;
25 }
26
MockImagePackerGetSupportedFormats(uint32_t mockRet)27 void MockImagePackerGetSupportedFormats(uint32_t mockRet)
28 {
29 g_mockImagePackerGetSupportedFormatsRet = mockRet;
30 }
31
MockImagePackerStartPacking(const uint8_t * mockRet)32 void MockImagePackerStartPacking(const uint8_t *mockRet)
33 {
34 g_mockImagePackerStartPackingRet = mockRet;
35 }
36
MockImagePackerFinalizePacking(uint32_t mockRet)37 void MockImagePackerFinalizePacking(uint32_t mockRet)
38 {
39 g_mockImagePackerFinalizePackingRet = mockRet;
40 }
41
MockResetImagePackerState()42 void MockResetImagePackerState()
43 {
44 g_mockImagePackerGetSupportedFormatsRet = 0;
45 g_mockImagePackerStartPackingRet = nullptr;
46 g_mockImagePackerFinalizePackingRet = 16; // 16 :initial test result
47 }
48
49 namespace OHOS {
50 namespace Media {
51 using namespace ImagePlugin;
52 using namespace MultimediaPlugin;
53
GetSupportedFormats(std::set<std::string> & formats)54 uint32_t ImagePacker::GetSupportedFormats(std::set<std::string> &formats)
55 {
56 return g_mockImagePackerGetSupportedFormatsRet;
57 }
58
StartPackingImpl(const PackOption & option)59 uint32_t ImagePacker::StartPackingImpl(const PackOption &option)
60 {
61 return 0;
62 }
63
StartPacking(uint8_t * outputData,uint32_t maxSize,const PackOption & option)64 uint32_t ImagePacker::StartPacking(uint8_t *outputData, uint32_t maxSize, const PackOption &option)
65 {
66 memcpy_s(outputData, COUNT, g_mockImagePackerStartPackingRet, COUNT);
67 return 0;
68 }
69
StartPacking(const std::string & filePath,const PackOption & option)70 uint32_t ImagePacker::StartPacking(const std::string &filePath, const PackOption &option)
71 {
72 return 0;
73 }
74
StartPacking(const int & fd,const PackOption & option)75 uint32_t ImagePacker::StartPacking(const int &fd, const PackOption &option)
76 {
77 return 0;
78 }
79
StartPacking(std::ostream & outputStream,const PackOption & option)80 uint32_t ImagePacker::StartPacking(std::ostream &outputStream, const PackOption &option)
81 {
82 return 0;
83 }
84
StartPackingAdapter(PackerStream & outputStream,const PackOption & option)85 uint32_t ImagePacker::StartPackingAdapter(PackerStream &outputStream, const PackOption &option)
86 {
87 return 0;
88 }
89
AddImage(PixelMap & pixelMap)90 uint32_t ImagePacker::AddImage(PixelMap &pixelMap)
91 {
92 return 0;
93 }
94
AddImage(ImageSource & source)95 uint32_t ImagePacker::AddImage(ImageSource &source)
96 {
97 return 0;
98 }
99
AddImage(ImageSource & source,uint32_t index)100 uint32_t ImagePacker::AddImage(ImageSource &source, uint32_t index)
101 {
102 return 0;
103 }
104
FinalizePacking()105 uint32_t ImagePacker::FinalizePacking()
106 {
107 return 0;
108 }
109
FinalizePacking(int64_t & packedSize)110 uint32_t ImagePacker::FinalizePacking(int64_t &packedSize)
111 {
112 packedSize = g_mockImagePackerFinalizePackingRet;
113 return 0;
114 }
115
GetEncoderPlugin(const PackOption & option)116 bool ImagePacker::GetEncoderPlugin(const PackOption &option)
117 {
118 return true;
119 }
120
CopyOptionsToPlugin(const PackOption & opts,PlEncodeOptions & plOpts)121 void ImagePacker::CopyOptionsToPlugin(const PackOption &opts, PlEncodeOptions &plOpts)
122 {}
123
FreeOldPackerStream()124 void ImagePacker::FreeOldPackerStream()
125 {}
126
IsPackOptionValid(const PackOption & option)127 bool ImagePacker::IsPackOptionValid(const PackOption &option)
128 {
129 return true;
130 }
131
132 // class reference need explicit constructor and destructor, otherwise unique_ptr<T> use unnormal
ImagePacker()133 ImagePacker::ImagePacker()
134 {}
135
~ImagePacker()136 ImagePacker::~ImagePacker()
137 {}
138 } // namespace Media
139 } // namespace OHOS
140