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/ohos.gni") 15import("../../../config.gni") 16 17config("audio_config") { 18 include_dirs = [ 19 "../audiocapturer/include", 20 "../audiorenderer/include", 21 "../../../interfaces/inner_api/native/audiocapturer/include", 22 "../../../interfaces/inner_api/native/audiocommon/include", 23 "../../../interfaces/inner_api/native/audiomanager/include", 24 "../../../interfaces/inner_api/native/audiorenderer/include", 25 "../../../interfaces/inner_api/native/audiostream/include", 26 "../../../services/audio_service/client/include", 27 ] 28 29 cflags = [ 30 "-Wall", 31 "-Werror", 32 ] 33} 34 35if (!audio_framework_feature_opensl_es) { 36 group("opensles") { 37 deps = [] 38 } 39} else { 40 ohos_shared_library("opensles") { 41 sanitize = { 42 cfi = true 43 cfi_cross_dso = true 44 cfi_vcall_icall_only = true 45 debug = false 46 } 47 include_dirs = [ 48 "include", 49 "../../../interfaces/inner_api/native/andiocapturer/include/", 50 "../../../interfaces/inner_api/native/andiomanager/include/", 51 "../../../interfaces/inner_api/native/andiorenderer/include/", 52 ] 53 54 configs = [ ":audio_config" ] 55 56 sources = [ 57 "src/adapter/audiocapturer_adapter.cpp", 58 "src/adapter/audioplayer_adapter.cpp", 59 "src/adapter/readorwritecallback_adapter.cpp", 60 "src/itf/engine_itf.cpp", 61 "src/itf/object_itf.cpp", 62 "src/itf/openharmony_buffer_queue_itf.cpp", 63 "src/itf/play_itf.cpp", 64 "src/itf/record_itf.cpp", 65 "src/itf/volume_itf.cpp", 66 "src/obj/audiocapturer_obj.cpp", 67 "src/obj/audioplayer_obj.cpp", 68 "src/obj/engine_obj.cpp", 69 "src/obj/output_mix_obj.cpp", 70 "src/util/builder.cpp", 71 "src/util/table_struct.cpp", 72 ] 73 74 cflags = [ "-Werror" ] 75 76 deps = [ 77 "../../../services/audio_service:audio_client", 78 "../audiocapturer:audio_capturer", 79 "../audiorenderer:audio_renderer", 80 ] 81 82 external_deps = [ 83 "hilog:libhilog", 84 "ipc:ipc_single", 85 "opensles:libSLES", 86 ] 87 88 output_name = "OpenSLES" 89 output_extension = "so" 90 subsystem_name = "multimedia" 91 part_name = "audio_framework" 92 } 93} 94 95group("audio_opensles_test_packages") { 96 deps = [ 97 ":audio_opensles_player_test", 98 ":audio_opensles_recorder_test", 99 ] 100} 101 102config("audio_operation_config") { 103 include_dirs = [ 104 "../audiocapturer/include", 105 "../audiorenderer/include", 106 "../../../interfaces/inner_api/native/audiocapturer/include", 107 "../../../interfaces/inner_api/native/audiocommon/include", 108 "../../../interfaces/inner_api/native/audiomanager/include", 109 "../../../interfaces/inner_api/native/audiorenderer/include", 110 "../../../interfaces/inner_api/native/audiostream/include", 111 "../../../services/audio_service/client/include", 112 "../../../services/audio_service/test/example", 113 ] 114 115 cflags = [ 116 "-Wall", 117 "-Werror", 118 ] 119} 120 121config("audio_opensles_config") { 122 include_dirs = [ "include" ] 123} 124 125if (!audio_framework_feature_opensl_es) { 126 group("audio_opensles_player_test") { 127 deps = [] 128 } 129} else { 130 ohos_executable("audio_opensles_player_test") { 131 install_enable = false 132 133 sources = [ "test/example/audio_opensles_player_test.cpp" ] 134 135 configs = [ 136 ":audio_opensles_config", 137 ":audio_operation_config", 138 ] 139 140 deps = [ ":opensles" ] 141 142 external_deps = [ 143 "hilog:libhilog", 144 "opensles:libSLES", 145 "pulseaudio:pulse", 146 ] 147 148 part_name = "audio_framework" 149 subsystem_name = "multimedia" 150 } 151} 152 153if (!audio_framework_feature_opensl_es) { 154 group("audio_opensles_recorder_test") { 155 deps = [] 156 } 157} else { 158 ohos_executable("audio_opensles_recorder_test") { 159 install_enable = false 160 161 sources = [ "test/example/audio_opensles_recorder_test.cpp" ] 162 163 configs = [ 164 ":audio_opensles_config", 165 ":audio_operation_config", 166 ] 167 168 deps = [ ":opensles" ] 169 170 external_deps = [ 171 "bounds_checking_function:libsec_shared", 172 "hilog:libhilog", 173 "opensles:libSLES", 174 "pulseaudio:pulse", 175 ] 176 177 part_name = "audio_framework" 178 subsystem_name = "multimedia" 179 } 180} 181