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_ci 1746f34cbfSopenharmony_ciconfig("audio_config") { 1846f34cbfSopenharmony_ci include_dirs = [ 1946f34cbfSopenharmony_ci "../audiocapturer/include", 2046f34cbfSopenharmony_ci "../audiorenderer/include", 2146f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiocapturer/include", 2246f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiocommon/include", 2346f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiomanager/include", 2446f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiorenderer/include", 2546f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiostream/include", 2646f34cbfSopenharmony_ci "../../../services/audio_service/client/include", 2746f34cbfSopenharmony_ci ] 2846f34cbfSopenharmony_ci 2946f34cbfSopenharmony_ci cflags = [ 3046f34cbfSopenharmony_ci "-Wall", 3146f34cbfSopenharmony_ci "-Werror", 3246f34cbfSopenharmony_ci ] 3346f34cbfSopenharmony_ci} 3446f34cbfSopenharmony_ci 3546f34cbfSopenharmony_ciif (!audio_framework_feature_opensl_es) { 3646f34cbfSopenharmony_ci group("opensles") { 3746f34cbfSopenharmony_ci deps = [] 3846f34cbfSopenharmony_ci } 3946f34cbfSopenharmony_ci} else { 4046f34cbfSopenharmony_ci ohos_shared_library("opensles") { 4146f34cbfSopenharmony_ci sanitize = { 4246f34cbfSopenharmony_ci cfi = true 4346f34cbfSopenharmony_ci cfi_cross_dso = true 4446f34cbfSopenharmony_ci cfi_vcall_icall_only = true 4546f34cbfSopenharmony_ci debug = false 4646f34cbfSopenharmony_ci } 4746f34cbfSopenharmony_ci include_dirs = [ 4846f34cbfSopenharmony_ci "include", 4946f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/andiocapturer/include/", 5046f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/andiomanager/include/", 5146f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/andiorenderer/include/", 5246f34cbfSopenharmony_ci ] 5346f34cbfSopenharmony_ci 5446f34cbfSopenharmony_ci configs = [ ":audio_config" ] 5546f34cbfSopenharmony_ci 5646f34cbfSopenharmony_ci sources = [ 5746f34cbfSopenharmony_ci "src/adapter/audiocapturer_adapter.cpp", 5846f34cbfSopenharmony_ci "src/adapter/audioplayer_adapter.cpp", 5946f34cbfSopenharmony_ci "src/adapter/readorwritecallback_adapter.cpp", 6046f34cbfSopenharmony_ci "src/itf/engine_itf.cpp", 6146f34cbfSopenharmony_ci "src/itf/object_itf.cpp", 6246f34cbfSopenharmony_ci "src/itf/openharmony_buffer_queue_itf.cpp", 6346f34cbfSopenharmony_ci "src/itf/play_itf.cpp", 6446f34cbfSopenharmony_ci "src/itf/record_itf.cpp", 6546f34cbfSopenharmony_ci "src/itf/volume_itf.cpp", 6646f34cbfSopenharmony_ci "src/obj/audiocapturer_obj.cpp", 6746f34cbfSopenharmony_ci "src/obj/audioplayer_obj.cpp", 6846f34cbfSopenharmony_ci "src/obj/engine_obj.cpp", 6946f34cbfSopenharmony_ci "src/obj/output_mix_obj.cpp", 7046f34cbfSopenharmony_ci "src/util/builder.cpp", 7146f34cbfSopenharmony_ci "src/util/table_struct.cpp", 7246f34cbfSopenharmony_ci ] 7346f34cbfSopenharmony_ci 7446f34cbfSopenharmony_ci cflags = [ "-Werror" ] 7546f34cbfSopenharmony_ci 7646f34cbfSopenharmony_ci deps = [ 7746f34cbfSopenharmony_ci "../../../services/audio_service:audio_client", 7846f34cbfSopenharmony_ci "../audiocapturer:audio_capturer", 7946f34cbfSopenharmony_ci "../audiorenderer:audio_renderer", 8046f34cbfSopenharmony_ci ] 8146f34cbfSopenharmony_ci 8246f34cbfSopenharmony_ci external_deps = [ 8346f34cbfSopenharmony_ci "c_utils:utils", 8446f34cbfSopenharmony_ci "hilog:libhilog", 8546f34cbfSopenharmony_ci "ipc:ipc_single", 8646f34cbfSopenharmony_ci "opensles:libSLES", 8746f34cbfSopenharmony_ci ] 8846f34cbfSopenharmony_ci 8946f34cbfSopenharmony_ci output_name = "OpenSLES" 9046f34cbfSopenharmony_ci output_extension = "so" 9146f34cbfSopenharmony_ci innerapi_tags = [ "platformsdk" ] 9246f34cbfSopenharmony_ci subsystem_name = "multimedia" 9346f34cbfSopenharmony_ci part_name = "audio_framework" 9446f34cbfSopenharmony_ci } 9546f34cbfSopenharmony_ci} 9646f34cbfSopenharmony_ci 9746f34cbfSopenharmony_cigroup("audio_opensles_test_packages") { 9846f34cbfSopenharmony_ci deps = [ 9946f34cbfSopenharmony_ci ":audio_opensles_player_test", 10046f34cbfSopenharmony_ci ":audio_opensles_recorder_test", 10146f34cbfSopenharmony_ci ] 10246f34cbfSopenharmony_ci} 10346f34cbfSopenharmony_ci 10446f34cbfSopenharmony_ciconfig("audio_operation_config") { 10546f34cbfSopenharmony_ci include_dirs = [ 10646f34cbfSopenharmony_ci "../audiocapturer/include", 10746f34cbfSopenharmony_ci "../audiorenderer/include", 10846f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiocapturer/include", 10946f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiocommon/include", 11046f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiomanager/include", 11146f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiorenderer/include", 11246f34cbfSopenharmony_ci "../../../interfaces/inner_api/native/audiostream/include", 11346f34cbfSopenharmony_ci "../../../services/audio_service/client/include", 11446f34cbfSopenharmony_ci "../../../services/audio_service/test/example", 11546f34cbfSopenharmony_ci ] 11646f34cbfSopenharmony_ci 11746f34cbfSopenharmony_ci cflags = [ 11846f34cbfSopenharmony_ci "-Wall", 11946f34cbfSopenharmony_ci "-Werror", 12046f34cbfSopenharmony_ci ] 12146f34cbfSopenharmony_ci} 12246f34cbfSopenharmony_ci 12346f34cbfSopenharmony_ciconfig("audio_opensles_config") { 12446f34cbfSopenharmony_ci include_dirs = [ "include" ] 12546f34cbfSopenharmony_ci} 12646f34cbfSopenharmony_ci 12746f34cbfSopenharmony_ciif (!audio_framework_feature_opensl_es) { 12846f34cbfSopenharmony_ci group("audio_opensles_player_test") { 12946f34cbfSopenharmony_ci deps = [] 13046f34cbfSopenharmony_ci } 13146f34cbfSopenharmony_ci} else { 13246f34cbfSopenharmony_ci ohos_executable("audio_opensles_player_test") { 13346f34cbfSopenharmony_ci install_enable = false 13446f34cbfSopenharmony_ci 13546f34cbfSopenharmony_ci sources = [ "test/example/audio_opensles_player_test.cpp" ] 13646f34cbfSopenharmony_ci 13746f34cbfSopenharmony_ci configs = [ 13846f34cbfSopenharmony_ci ":audio_opensles_config", 13946f34cbfSopenharmony_ci ":audio_operation_config", 14046f34cbfSopenharmony_ci ] 14146f34cbfSopenharmony_ci 14246f34cbfSopenharmony_ci deps = [ ":opensles" ] 14346f34cbfSopenharmony_ci 14446f34cbfSopenharmony_ci external_deps = [ 14546f34cbfSopenharmony_ci "hilog:libhilog", 14646f34cbfSopenharmony_ci "opensles:libSLES", 14746f34cbfSopenharmony_ci "pulseaudio:pulse", 14846f34cbfSopenharmony_ci ] 14946f34cbfSopenharmony_ci 15046f34cbfSopenharmony_ci part_name = "audio_framework" 15146f34cbfSopenharmony_ci subsystem_name = "multimedia" 15246f34cbfSopenharmony_ci } 15346f34cbfSopenharmony_ci} 15446f34cbfSopenharmony_ci 15546f34cbfSopenharmony_ciif (!audio_framework_feature_opensl_es) { 15646f34cbfSopenharmony_ci group("audio_opensles_recorder_test") { 15746f34cbfSopenharmony_ci deps = [] 15846f34cbfSopenharmony_ci } 15946f34cbfSopenharmony_ci} else { 16046f34cbfSopenharmony_ci ohos_executable("audio_opensles_recorder_test") { 16146f34cbfSopenharmony_ci install_enable = false 16246f34cbfSopenharmony_ci 16346f34cbfSopenharmony_ci sources = [ "test/example/audio_opensles_recorder_test.cpp" ] 16446f34cbfSopenharmony_ci 16546f34cbfSopenharmony_ci configs = [ 16646f34cbfSopenharmony_ci ":audio_opensles_config", 16746f34cbfSopenharmony_ci ":audio_operation_config", 16846f34cbfSopenharmony_ci ] 16946f34cbfSopenharmony_ci 17046f34cbfSopenharmony_ci deps = [ ":opensles" ] 17146f34cbfSopenharmony_ci 17246f34cbfSopenharmony_ci external_deps = [ 17346f34cbfSopenharmony_ci "bounds_checking_function:libsec_shared", 17446f34cbfSopenharmony_ci "hilog:libhilog", 17546f34cbfSopenharmony_ci "opensles:libSLES", 17646f34cbfSopenharmony_ci "pulseaudio:pulse", 17746f34cbfSopenharmony_ci ] 17846f34cbfSopenharmony_ci 17946f34cbfSopenharmony_ci part_name = "audio_framework" 18046f34cbfSopenharmony_ci subsystem_name = "multimedia" 18146f34cbfSopenharmony_ci } 18246f34cbfSopenharmony_ci} 183