146f34cbfSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
246f34cbfSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
346f34cbfSopenharmony_ci# you may not use this file except in compliance with the License.
446f34cbfSopenharmony_ci# You may obtain a copy of the License at
546f34cbfSopenharmony_ci#
646f34cbfSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
746f34cbfSopenharmony_ci#
846f34cbfSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
946f34cbfSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1046f34cbfSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1146f34cbfSopenharmony_ci# See the License for the specific language governing permissions and
1246f34cbfSopenharmony_ci# limitations under the License.
1346f34cbfSopenharmony_ci
1446f34cbfSopenharmony_ciimport("//build/ohos.gni")
1546f34cbfSopenharmony_ciimport("../../../config.gni")
1646f34cbfSopenharmony_ciconfig("audio_utils_public_config") {
1746f34cbfSopenharmony_ci  include_dirs = [ "./include" ]
1846f34cbfSopenharmony_ci
1946f34cbfSopenharmony_ci  cflags_cc = [ "-std=c++20" ]
2046f34cbfSopenharmony_ci}
2146f34cbfSopenharmony_ci
2246f34cbfSopenharmony_ciohos_shared_library("audio_utils") {
2346f34cbfSopenharmony_ci  branch_protector_ret = "pac_ret"
2446f34cbfSopenharmony_ci  sanitize = {
2546f34cbfSopenharmony_ci    cfi = true
2646f34cbfSopenharmony_ci    cfi_cross_dso = true
2746f34cbfSopenharmony_ci    cfi_vcall_icall_only = true
2846f34cbfSopenharmony_ci    debug = false
2946f34cbfSopenharmony_ci  }
3046f34cbfSopenharmony_ci  public_configs = [ ":audio_utils_public_config" ]
3146f34cbfSopenharmony_ci  install_enable = true
3246f34cbfSopenharmony_ci  include_dirs = [
3346f34cbfSopenharmony_ci    "./include",
3446f34cbfSopenharmony_ci    "../../../interfaces/inner_api/native/audiocommon/include/",
3546f34cbfSopenharmony_ci    "../../../services/audio_service/client/include",
3646f34cbfSopenharmony_ci  ]
3746f34cbfSopenharmony_ci
3846f34cbfSopenharmony_ci  sources = [
3946f34cbfSopenharmony_ci    "./src/audio_channel_blend.cpp",
4046f34cbfSopenharmony_ci    "./src/audio_speed.cpp",
4146f34cbfSopenharmony_ci    "./src/audio_utils.cpp",
4246f34cbfSopenharmony_ci    "./src/volume_ramp.cpp",
4346f34cbfSopenharmony_ci  ]
4446f34cbfSopenharmony_ci
4546f34cbfSopenharmony_ci  public_external_deps = [ "bounds_checking_function:libsec_shared" ]
4646f34cbfSopenharmony_ci
4746f34cbfSopenharmony_ci  external_deps = [
4846f34cbfSopenharmony_ci    "access_token:libaccesstoken_sdk",
4946f34cbfSopenharmony_ci    "access_token:libprivacy_sdk",
5046f34cbfSopenharmony_ci    "access_token:libtokenid_sdk",
5146f34cbfSopenharmony_ci    "c_utils:utils",
5246f34cbfSopenharmony_ci    "hicollie:libhicollie",
5346f34cbfSopenharmony_ci    "hilog:libhilog",
5446f34cbfSopenharmony_ci    "hitrace:hitrace_meter",
5546f34cbfSopenharmony_ci    "init:libbegetutil",
5646f34cbfSopenharmony_ci    "ipc:ipc_single",
5746f34cbfSopenharmony_ci  ]
5846f34cbfSopenharmony_ci
5946f34cbfSopenharmony_ci  if (sonic_enable == true) {
6046f34cbfSopenharmony_ci    external_deps += [ "pulseaudio:sonic" ]
6146f34cbfSopenharmony_ci  }
6246f34cbfSopenharmony_ci
6346f34cbfSopenharmony_ci  defines = []
6446f34cbfSopenharmony_ci  if (audio_framework_feature_hitrace_enable) {
6546f34cbfSopenharmony_ci    defines += [ "FEATURE_HITRACE_METER" ]
6646f34cbfSopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
6746f34cbfSopenharmony_ci  }
6846f34cbfSopenharmony_ci
6946f34cbfSopenharmony_ci  if (build_variant == "user") {
7046f34cbfSopenharmony_ci    defines += [ "AUDIO_BUILD_VARIANT_USER" ]
7146f34cbfSopenharmony_ci  } else if (build_variant == "root") {
7246f34cbfSopenharmony_ci    defines += [ "AUDIO_BUILD_VARIANT_ROOT" ]
7346f34cbfSopenharmony_ci  }
7446f34cbfSopenharmony_ci
7546f34cbfSopenharmony_ci  subsystem_name = "multimedia"
7646f34cbfSopenharmony_ci  innerapi_tags = [ "platformsdk_indirect" ]
7746f34cbfSopenharmony_ci  part_name = "audio_framework"
7846f34cbfSopenharmony_ci}
79