1# Copyright (c) 2022 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/test.gni") 15import("//foundation/multimedia/player_framework/config.gni") 16 17MEDIA_ROOT_DIR = "//foundation/multimedia/player_framework/" 18module_output_path = "multimedia_player_framework/avcodec" 19 20avcodec_unittest_native_include_dirs = [ 21 "//graphic/graphic_2d/interfaces/innerkits/surface", 22 "//foundation//window/window_manager/interfaces/innerkits/wm", 23 "$MEDIA_ROOT_DIR/interfaces/inner_api/native", 24 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/audiodecoder/", 25 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/audioencoder/", 26 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/avcodec_info/", 27 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/avcodec_list/", 28 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/avformat/", 29 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/avmemory/", 30 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/enum/", 31 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/surface/", 32 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/videodecoder/", 33 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/native/videoencoder/", 34 "$MEDIA_ROOT_DIR/test/unittest/common/include/", 35] 36 37avcodec_unittest_capi_include_dirs = [ 38 "//graphic/graphic_2d/interfaces/kits/surface", 39 "//graphic/graphic_2d/interfaces/inner_api/surface", 40 "//foundation//window/window_manager/interfaces/innerkits/wm", 41 "$MEDIA_ROOT_DIR/interfaces/kits/c", 42 "$MEDIA_ROOT_DIR/interfaces/inner_api/native", 43 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/capi/audiodecoder/", 44 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/capi/audioencoder/", 45 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/capi/avformat/", 46 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/capi/avmemory/", 47 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/capi/surface/", 48 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/capi/videodecoder/", 49 "$MEDIA_ROOT_DIR/test/unittest/avcodec_test/capi/videoencoder/", 50 "$MEDIA_ROOT_DIR/test/unittest/common/include/", 51] 52 53avcodec_unittest_cflags = [ 54 "-std=c++17", 55 "-fno-rtti", 56 "-fno-exceptions", 57 "-Wall", 58 "-fno-common", 59 "-fstack-protector-strong", 60 "-Wshadow", 61 "-FPIC", 62 "-FS", 63 "-O2", 64 "-D_FORTIFY_SOURCE=2", 65 "-fvisibility=hidden", 66 "-Wformat=2", 67 "-Wdate-time", 68 "-Werror", 69 "-Wextra", 70 "-Wimplicit-fallthrough", 71 "-Wsign-compare", 72 "-Wunused-parameter", 73] 74 75################################################################################################################## 76ohos_unittest("vcodec_native_unit_test") { 77 module_out_path = module_output_path 78 include_dirs = avcodec_unittest_native_include_dirs 79 include_dirs += [ 80 "./", 81 "./vcodec_test", 82 ] 83 84 cflags = avcodec_unittest_cflags 85 86 if (multimedia_player_framework_support_codec) { 87 sources = [ 88 "./native/avcodec_info/avcodec_info_native_mock.cpp", 89 "./native/avcodec_list/avcodec_list_native_mock.cpp", 90 "./native/avcodec_mock_factory.cpp", 91 "./native/avformat/avformat_native_mock.cpp", 92 "./native/avmemory/avmemory_native_mock.cpp", 93 "./native/enum/enum_native_mock.cpp", 94 "./native/surface/surface_native_mock.cpp", 95 "./native/videodecoder/videodec_native_mock.cpp", 96 "./native/videoencoder/videoenc_native_mock.cpp", 97 "./vcodec_test/vcodec_unit_test.cpp", 98 "./vcodec_test/vdec_mock.cpp", 99 "./vcodec_test/venc_mock.cpp", 100 ] 101 } 102 103 deps = [ 104 "//foundation/graphic/graphic_2d:libsurface", 105 "//foundation/graphic/graphic_2d/frameworks/surface:surface", 106 "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client", 107 "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", 108 "//foundation/window/window_manager/wm:libwm", 109 ] 110 111 resource_config_file = "//foundation/multimedia/player_framework/test/unittest/resources/ohos_test.xml" 112} 113 114################################################################################################################## 115ohos_unittest("acodec_native_unit_test") { 116 module_out_path = module_output_path 117 include_dirs = avcodec_unittest_native_include_dirs 118 include_dirs += [ 119 "./", 120 "./acodec_test", 121 ] 122 123 cflags = avcodec_unittest_cflags 124 125 if (multimedia_player_framework_support_codec) { 126 sources = [ 127 "./acodec_test/acodec_mock.cpp", 128 "./acodec_test/acodec_unit_test.cpp", 129 "./native/audiodecoder/audiodec_native_mock.cpp", 130 "./native/audioencoder/audioenc_native_mock.cpp", 131 "./native/avcodec_info/avcodec_info_native_mock.cpp", 132 "./native/avcodec_list/avcodec_list_native_mock.cpp", 133 "./native/avcodec_mock_factory.cpp", 134 "./native/avformat/avformat_native_mock.cpp", 135 "./native/avmemory/avmemory_native_mock.cpp", 136 "./native/enum/enum_native_mock.cpp", 137 "./native/surface/surface_native_mock.cpp", 138 ] 139 } 140 141 deps = [ 142 "//foundation/graphic/graphic_2d:libsurface", 143 "//foundation/graphic/graphic_2d/frameworks/surface:surface", 144 "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client", 145 "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", 146 "//foundation/window/window_manager/wm:libwm", 147 ] 148 149 resource_config_file = "//foundation/multimedia/player_framework/test/unittest/resources/ohos_test.xml" 150} 151 152################################################################################################################## 153ohos_unittest("avcodec_list_native_unit_test") { 154 module_out_path = module_output_path 155 include_dirs = avcodec_unittest_native_include_dirs 156 include_dirs += [ 157 "./", 158 "./avcodec_list_test", 159 ] 160 161 cflags = avcodec_unittest_cflags 162 163 if (multimedia_player_framework_support_codec) { 164 sources = [ 165 "./avcodec_list_test/avcodec_list_unit_test.cpp", 166 "./native/avcodec_info/avcodec_info_native_mock.cpp", 167 "./native/avcodec_list/avcodec_list_native_mock.cpp", 168 "./native/avcodec_mock_factory.cpp", 169 "./native/avformat/avformat_native_mock.cpp", 170 "./native/enum/enum_native_mock.cpp", 171 ] 172 } 173 174 deps = [ 175 "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client", 176 "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", 177 ] 178 179 resource_config_file = "//foundation/multimedia/player_framework/test/unittest/resources/ohos_test.xml" 180} 181 182################################################################################################################## 183ohos_unittest("format_native_unit_test") { 184 module_out_path = module_output_path 185 include_dirs = avcodec_unittest_native_include_dirs 186 include_dirs += [ 187 "./", 188 "./format_test", 189 ] 190 cflags = avcodec_unittest_cflags 191 192 if (multimedia_player_framework_support_codec) { 193 sources = [ 194 "./format_test/format_unit_test.cpp", 195 "./native/avcodec_mock_factory.cpp", 196 "./native/avformat/avformat_native_mock.cpp", 197 ] 198 } 199 200 deps = [ 201 "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client", 202 "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", 203 ] 204} 205 206################################################################################################################## 207ohos_unittest("vcodec_capi_unit_test") { 208 module_out_path = module_output_path 209 include_dirs = avcodec_unittest_capi_include_dirs 210 include_dirs += [ 211 "./", 212 "./vcodec_test", 213 "//foundation/graphic/graphic_2d/frameworks/surface/include", 214 "//foundation/graphic/graphic_2d/interfaces/inner_api/surface", 215 "//foundation/graphic/graphic_2d/interfaces/inner_api/common", 216 ] 217 218 cflags = avcodec_unittest_cflags 219 220 if (multimedia_player_framework_support_codec) { 221 sources = [ 222 "./capi/avcodec_mock_factory.cpp", 223 "./capi/avformat/avformat_capi_mock.cpp", 224 "./capi/avmemory/avmemory_capi_mock.cpp", 225 "./capi/surface/surface_capi_mock.cpp", 226 "./capi/videodecoder/videodec_capi_mock.cpp", 227 "./capi/videoencoder/videoenc_capi_mock.cpp", 228 "./vcodec_test/vcodec_unit_test.cpp", 229 "./vcodec_test/vdec_mock.cpp", 230 "./vcodec_test/venc_mock.cpp", 231 ] 232 } 233 234 deps = [ 235 "//foundation/graphic/graphic_2d:libsurface", 236 "//foundation/graphic/graphic_2d/frameworks/surface:surface", 237 "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client", 238 "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", 239 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_codecbase", 240 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_core", 241 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_vdec", 242 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_venc", 243 "//foundation/window/window_manager/wm:libwm", 244 ] 245 246 resource_config_file = "//foundation/multimedia/player_framework/test/unittest/resources/ohos_test.xml" 247} 248 249################################################################################################################## 250ohos_unittest("acodec_capi_unit_test") { 251 module_out_path = module_output_path 252 include_dirs = avcodec_unittest_capi_include_dirs 253 include_dirs += [ 254 "./", 255 "./acodec_test", 256 ] 257 258 cflags = avcodec_unittest_cflags 259 260 if (multimedia_player_framework_support_codec) { 261 sources = [ 262 "./acodec_test/acodec_mock.cpp", 263 "./acodec_test/acodec_unit_test.cpp", 264 "./capi/audiodecoder/audiodec_capi_mock.cpp", 265 "./capi/audioencoder/audioenc_capi_mock.cpp", 266 "./capi/avcodec_mock_factory.cpp", 267 "./capi/avformat/avformat_capi_mock.cpp", 268 "./capi/avmemory/avmemory_capi_mock.cpp", 269 ] 270 } 271 272 deps = [ 273 "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:librender_service_client", 274 "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", 275 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_adec", 276 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_aenc", 277 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_codecbase", 278 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_core", 279 "//foundation/window/window_manager/wm:libwm", 280 ] 281 282 resource_config_file = "//foundation/multimedia/player_framework/test/unittest/resources/ohos_test.xml" 283} 284 285################################################################################################################## 286ohos_unittest("format_capi_unit_test") { 287 module_out_path = module_output_path 288 include_dirs = avcodec_unittest_capi_include_dirs 289 include_dirs += [ 290 "./", 291 "./format_test", 292 ] 293 294 cflags = avcodec_unittest_cflags 295 296 if (multimedia_player_framework_support_codec) { 297 sources = [ 298 "./capi/avcodec_mock_factory.cpp", 299 "./capi/avformat/avformat_capi_mock.cpp", 300 "./format_test/format_unit_test.cpp", 301 ] 302 } 303 deps = [ 304 "//foundation/multimedia/player_framework/interfaces/inner_api/native:media_client", 305 "//foundation/multimedia/player_framework/interfaces/kits/c:native_media_core", 306 "//foundation/window/window_manager/wm:libwm", 307 ] 308} 309