1049e185fSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
2049e185fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3049e185fSopenharmony_ci# you may not use this file except in compliance with the License.
4049e185fSopenharmony_ci# You may obtain a copy of the License at
5049e185fSopenharmony_ci#
6049e185fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7049e185fSopenharmony_ci#
8049e185fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9049e185fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10049e185fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11049e185fSopenharmony_ci# See the License for the specific language governing permissions and
12049e185fSopenharmony_ci# limitations under the License.
13049e185fSopenharmony_ci
14049e185fSopenharmony_ciimport("//build/test.gni")
15049e185fSopenharmony_ciimport("//foundation/multimedia/player_framework/config.gni")
16049e185fSopenharmony_ci
17049e185fSopenharmony_cimodule_output_path = "player_framework/transcode"
18049e185fSopenharmony_ci
19049e185fSopenharmony_ciconfig("transcode_unit_test_config") {
20049e185fSopenharmony_ci  visibility = [ ":*" ]
21049e185fSopenharmony_ci
22049e185fSopenharmony_ci  cflags = [
23049e185fSopenharmony_ci    "-O2",
24049e185fSopenharmony_ci    "-fPIC",
25049e185fSopenharmony_ci    "-Wall",
26049e185fSopenharmony_ci    "-fexceptions",
27049e185fSopenharmony_ci    "-fno-rtti",
28049e185fSopenharmony_ci    "-Wno-unused-but-set-variable",
29049e185fSopenharmony_ci    "-Wno-format",
30049e185fSopenharmony_ci    "-Dprivate=public",
31049e185fSopenharmony_ci    "-Dprotected=public",
32049e185fSopenharmony_ci  ]
33049e185fSopenharmony_ci  cflags_cc = cflags
34049e185fSopenharmony_ci  include_dirs = [
35049e185fSopenharmony_ci    "./",
36049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/interfaces/inner_api/native",
37049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/engine/histreamer/transcoder",
38049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/engine/histreamer/utils",
39049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/services/engine_intf",
40049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/utils/include",
41049e185fSopenharmony_ci  ]
42049e185fSopenharmony_ci  defines = []
43049e185fSopenharmony_ci
44049e185fSopenharmony_ci  if (target_cpu == "arm64" || is_emulator) {
45049e185fSopenharmony_ci    dragging_player_path = "\"/system/lib64\""
46049e185fSopenharmony_ci  } else {
47049e185fSopenharmony_ci    dragging_player_path = "\"/system/lib\""
48049e185fSopenharmony_ci  }
49049e185fSopenharmony_ci
50049e185fSopenharmony_ci  defines += [ "DRAGGING_PLAYER_PATH=${dragging_player_path}" ]
51049e185fSopenharmony_ci
52049e185fSopenharmony_ci  defines += player_framework_defines
53049e185fSopenharmony_ci}
54049e185fSopenharmony_ci
55049e185fSopenharmony_ciohos_unittest("hitranscode_unit_test") {
56049e185fSopenharmony_ci  module_out_path = module_output_path
57049e185fSopenharmony_ci  stack_protector_ret = true
58049e185fSopenharmony_ci
59049e185fSopenharmony_ci  sources = [
60049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/engine/histreamer/transcoder/hitranscoder_callback_looper.cpp",
61049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/engine/histreamer/transcoder/hitranscoder_impl.cpp",
62049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/utils/media_dfx.cpp",
63049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/utils/media_utils.cpp",
64049e185fSopenharmony_ci    "hitranscode_unit_test.cpp",
65049e185fSopenharmony_ci  ]
66049e185fSopenharmony_ci
67049e185fSopenharmony_ci  configs = [
68049e185fSopenharmony_ci    ":transcode_unit_test_config",
69049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/dfx:media_service_log_dfx_public_config",
70049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/utils:media_service_utils_public_config",
71049e185fSopenharmony_ci  ]
72049e185fSopenharmony_ci
73049e185fSopenharmony_ci  sanitize = {
74049e185fSopenharmony_ci    integer_overflow = true
75049e185fSopenharmony_ci    ubsan = true
76049e185fSopenharmony_ci    boundary_sanitize = true
77049e185fSopenharmony_ci    cfi = true
78049e185fSopenharmony_ci    cfi_cross_dso = true
79049e185fSopenharmony_ci    debug = false
80049e185fSopenharmony_ci  }
81049e185fSopenharmony_ci
82049e185fSopenharmony_ci  external_deps = [
83049e185fSopenharmony_ci    "access_token:libaccesstoken_sdk",
84049e185fSopenharmony_ci    "access_token:libprivacy_sdk",
85049e185fSopenharmony_ci    "audio_framework:audio_client",
86049e185fSopenharmony_ci    "audio_framework:audio_renderer",
87049e185fSopenharmony_ci    "av_codec:av_codec_client",
88049e185fSopenharmony_ci    "av_codec:av_codec_media_engine_filters",
89049e185fSopenharmony_ci    "av_codec:av_codec_media_engine_modules",
90049e185fSopenharmony_ci    "bundle_framework:appexecfwk_base",
91049e185fSopenharmony_ci    "bundle_framework:appexecfwk_core",
92049e185fSopenharmony_ci    "c_utils:utils",
93049e185fSopenharmony_ci    "graphic_surface:surface",
94049e185fSopenharmony_ci    "graphic_surface:sync_fence",
95049e185fSopenharmony_ci    "hicollie:libhicollie",
96049e185fSopenharmony_ci    "hilog:libhilog",
97049e185fSopenharmony_ci    "hisysevent:libhisysevent",
98049e185fSopenharmony_ci    "hitrace:hitrace_meter",
99049e185fSopenharmony_ci    "hitrace:libhitracechain",
100049e185fSopenharmony_ci    "init:libbegetutil",
101049e185fSopenharmony_ci    "ipc:ipc_single",
102049e185fSopenharmony_ci    "libxml2:libxml2",
103049e185fSopenharmony_ci    "media_foundation:media_foundation",
104049e185fSopenharmony_ci    "qos_manager:qos",
105049e185fSopenharmony_ci    "safwk:system_ability_fwk",
106049e185fSopenharmony_ci    "samgr:samgr_proxy",
107049e185fSopenharmony_ci  ]
108049e185fSopenharmony_ci
109049e185fSopenharmony_ci  deps = [
110049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/dfx:media_service_log_dfx",
111049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/engine/histreamer/transcoder:media_engine_histreamer_transcoder",
112049e185fSopenharmony_ci    "$MEDIA_PLAYER_ROOT_DIR/services/utils:media_service_utils",
113049e185fSopenharmony_ci  ]
114049e185fSopenharmony_ci
115049e185fSopenharmony_ci  deps = []
116049e185fSopenharmony_ci}
117