• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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/ohos.gni")
15import("//build/ohos/ace/ace.gni")
16import("../../../config.gni")
17import("../../../multimedia_aafwk.gni")
18
19ohos_shared_library("audio") {
20  sanitize = {
21    cfi = true
22    cfi_cross_dso = true
23    cfi_vcall_icall_only = true
24    debug = false
25  }
26  include_dirs = [
27    "common",
28    "audiorenderer",
29    "audiorenderer/callback",
30    "audiocapturer",
31    "audiocapturer/callback",
32    "audiomanager",
33    "audiomanager/callback",
34    "asrcontroller",
35  ]
36
37  if (audio_framework_feature_new_napi) {
38    sources = [
39      "asrcontroller/napi_asr_processing_controller.cpp",
40      "audiocapturer/callback/napi_audio_capturer_callbacks.cpp",
41      "audiocapturer/callback/napi_audio_capturer_device_change_callback.cpp",
42      "audiocapturer/callback/napi_audio_capturer_info_change_callback.cpp",
43      "audiocapturer/callback/napi_audio_capturer_read_data_callback.cpp",
44      "audiocapturer/callback/napi_capturer_period_position_callback.cpp",
45      "audiocapturer/callback/napi_capturer_position_callback.cpp",
46      "audiocapturer/napi_audio_capturer.cpp",
47      "audiomanager/callback/napi_audio_capturer_state_callback.cpp",
48      "audiomanager/callback/napi_audio_manager_callbacks.cpp",
49      "audiomanager/callback/napi_audio_manager_interrupt_callback.cpp",
50      "audiomanager/callback/napi_audio_micstatechange_callback.cpp",
51      "audiomanager/callback/napi_audio_renderer_state_callback.cpp",
52      "audiomanager/callback/napi_audio_ringermode_callback.cpp",
53      "audiomanager/callback/napi_audio_rounting_available_devicechange_callback.cpp",
54      "audiomanager/callback/napi_audio_routing_manager_callbacks.cpp",
55      "audiomanager/callback/napi_audio_session_callback.cpp",
56      "audiomanager/callback/napi_audio_spatialization_manager_callback.cpp",
57      "audiomanager/callback/napi_audio_volume_key_event.cpp",
58      "audiomanager/napi_audio_effect_manager.cpp",
59      "audiomanager/napi_audio_interrupt_manager.cpp",
60      "audiomanager/napi_audio_manager.cpp",
61      "audiomanager/napi_audio_routing_manager.cpp",
62      "audiomanager/napi_audio_session_manager.cpp",
63      "audiomanager/napi_audio_spatialization_manager.cpp",
64      "audiomanager/napi_audio_stream_manager.cpp",
65      "audiomanager/napi_audio_volume_group_manager.cpp",
66      "audiomanager/napi_audio_volume_manager.cpp",
67      "audiorenderer/callback/napi_audio_renderer_callback.cpp",
68      "audiorenderer/callback/napi_audio_renderer_device_change_callback.cpp",
69      "audiorenderer/callback/napi_audio_renderer_policy_service_died_callback.cpp",
70      "audiorenderer/callback/napi_audio_renderer_write_data_callback.cpp",
71      "audiorenderer/callback/napi_renderer_data_request_callback.cpp",
72      "audiorenderer/callback/napi_renderer_period_position_callback.cpp",
73      "audiorenderer/callback/napi_renderer_position_callback.cpp",
74      "audiorenderer/napi_audio_renderer.cpp",
75      "common/napi_async_work.cpp",
76      "common/napi_audio_entry.cpp",
77      "common/napi_audio_enum.cpp",
78      "common/napi_audio_error.cpp",
79      "common/napi_param_utils.cpp",
80    ]
81  }
82
83  deps = [
84    "../../../services/audio_policy:audio_policy_client",
85    "../../../services/audio_service:audio_client",
86    "../../native/audiocapturer:audio_capturer",
87    "../../native/audiorenderer:audio_renderer",
88    "../../native/audioutils:audio_utils",
89  ]
90
91  defines = []
92  if (audio_framework_feature_dtmf_tone) {
93    defines += [ "FEATURE_DTMF_TONE" ]
94
95    sources += [ "audiorenderer/napi_toneplayer.cpp" ]
96
97    deps += [ "../../native/toneplayer:audio_toneplayer" ]
98  }
99
100  external_deps = [
101    "ability_runtime:abilitykit_native",
102    "ability_runtime:extensionkit_native",
103    "ability_runtime:napi_base_context",
104    "c_utils:utils",
105    "hilog:libhilog",
106    "hiview:libxpower_event_js",
107    "init:libbegetutil",
108    "napi:ace_napi",
109  ]
110  relative_install_dir = "module/multimedia"
111  part_name = "audio_framework"
112  subsystem_name = "multimedia"
113}
114