• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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")
15
16pulseaudio_dir = "//third_party/pulseaudio"
17opensles_dir = "//third_party/openSLES"
18
19config("audio_renderer_config") {
20  include_dirs = [
21    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/audiorenderer/include",
22    "//foundation/multimedia/audio_standard/frameworks/native/audiorenderer/include",
23    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/audiocommon/include",
24    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/audiostream/include",
25    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/audiosession/include",
26    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/audiomanager/include",
27    "//foundation/multimedia/audio_standard/services/include",
28    "//foundation/multimedia/audio_standard/services/include/audio_service/client",
29    "//foundation/multimedia/audio_standard/services/test",
30    "//utils/native/base/include",
31    "$pulseaudio_dir/src",
32    "$pulseaudio_dir/confgure/src",
33  ]
34
35  cflags = [
36    "-Wall",
37    "-Werror",
38  ]
39}
40
41ohos_shared_library("opensles") {
42  include_dirs = [
43    "$opensles_dir/api/1.0.1",
44    "//foundation/multimedia/audio_standard/frameworks/native/opensles/include",
45    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/andiorenderer/include/",
46    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/andiomanager/include/",
47  ]
48
49  configs = [ ":audio_renderer_config" ]
50
51  sources = [
52    "$opensles_dir/api/1.0.1/OpenSLES_IID.c",
53    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/adapter/audioplayer_adapter.cpp",
54    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/adapter/writecallback_adapter.cpp",
55    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/itf/engine_itf.cpp",
56    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/itf/object_itf.cpp",
57    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/itf/openharmony_buffer_queue_itf.cpp",
58    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/itf/play_itf.cpp",
59    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/itf/volume_itf.cpp",
60    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/obj/audioplayer_obj.cpp",
61    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/obj/engine_obj.cpp",
62    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/obj/output_mix_obj.cpp",
63    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/util/OpenSLES_OpenHarmony_IID.cpp",
64    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/util/builder.cpp",
65    "//foundation/multimedia/audio_standard/frameworks/native/opensles/src/util/table_struct.cpp",
66  ]
67
68  cflags = [ "-Werror" ]
69
70  deps = [
71    "//foundation/multimedia/audio_standard:libsl",
72    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/audiomanager:audio_client",
73    "//foundation/multimedia/audio_standard/interfaces/inner_api/native/audiorenderer:audio_renderer",
74  ]
75
76  external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
77
78  output_name = "OpenSLES"
79  output_extension = "so"
80  subsystem_name = "multimedia"
81  part_name = "multimedia_audio_standard"
82}
83