From a203b478e2007ff6b4ced67036aed00eea411f26 Mon Sep 17 00:00:00 2001 From: zhangwt3652 Date: Fri, 12 Sep 2025 16:14:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96audio=5Fclient=E5=86=85?= =?UTF-8?q?=E5=AD=98=E5=8D=A0=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I8846684b2f8517e9dc4b23ed5a6c42ded37cc9e2 Signed-off-by: zhangwt3652 --- services/audio_policy/BUILD.gn | 2 +- services/audio_service/BUILD.gn | 2 +- services/audio_service/idl/BUILD.gn | 117 ++++++++++++++++++++++++++++ 3 files changed, 119 insertions(+), 2 deletions(-) diff --git a/services/audio_policy/BUILD.gn b/services/audio_policy/BUILD.gn index 199bf12cc5..0c631d01c8 100644 --- a/services/audio_policy/BUILD.gn +++ b/services/audio_policy/BUILD.gn @@ -584,7 +584,7 @@ audio_ohos_library("audio_policy_client") { deps = [ "../../frameworks/native/audiodefinitions:audio_definitions", "../../frameworks/native/audioutils:audio_utils", - "../../services/audio_service/idl:audio_framework_interface", + "../../services/audio_service/idl:idl_audio_policy_client_source", ] public_configs = [ ":audio_policy_client_config" ] diff --git a/services/audio_service/BUILD.gn b/services/audio_service/BUILD.gn index 68ff522cf1..13c4242dc9 100644 --- a/services/audio_service/BUILD.gn +++ b/services/audio_service/BUILD.gn @@ -237,7 +237,7 @@ ohos_shared_library("audio_client") { deps = [ ":audio_common", - "${audio_framework_root}/services/audio_service/idl:audio_framework_interface", + "${audio_framework_root}/services/audio_service/idl:idl_audio_client_source", "../../frameworks/native/audioqosmanager:audio_qosmanager", "../../frameworks/native/audioutils:audio_utils", "../audio_policy:audio_foundation", diff --git a/services/audio_service/idl/BUILD.gn b/services/audio_service/idl/BUILD.gn index 07b4156e6a..220ac9cd96 100644 --- a/services/audio_service/idl/BUILD.gn +++ b/services/audio_service/idl/BUILD.gn @@ -17,6 +17,26 @@ import("//foundation/multimedia/audio_framework/config.gni") audio_framework_root = "../../.." audio_policy_idl_location = "${audio_framework_root}/services/audio_policy/idl" +idl_audio_client_source_file = [ + "*standard_audio_server_manager_listener_stub.cpp", + "*process_cb_stub.cpp", + "*audio_workgroup_callback_stub.cpp", + "*ipc_stream_listener_stub.cpp", + "*policy_provider_ipc_stub.cpp", +] + +idl_policy_client_source_file = [ + "*standard_client_tracker_stub.cpp", + "*standard_spatialization_state_change_listener_stub.cpp", + "*standard_audio_zone_client_stub.cpp", + "*audio_policy_client_stub.cpp", + "*standard_sle_audio_operation_callback_stub.cpp", + "*standard_audio_routing_manager_listener_stub.cpp", + "*standard_audio_anahs_manager_listener_stub.cpp", + "*standard_audio_policy_manager_listener_stub.cpp", + "*audio_policy_proxy.cpp", +] + idl_gen_interface("audio_service_idl_interface") { sources = [ "IAudioProcess.idl", @@ -163,3 +183,100 @@ ohos_shared_library("audio_framework_interface") { debug = false } } + +ohos_source_set("idl_audio_client_source") { + output_values = get_target_outputs(":audio_service_idl_interface") + output_values += get_target_outputs(":audio_policy_idl_interface") + sources = filter_include(output_values, idl_audio_client_source_file) + sources += filter_include(output_values, [ "*_types.cpp" ]) + + public_configs = [ + ":audio_service_sa_idl_config", + ":audio_policy_sa_idl_config", + ] + + deps = [ + ":audio_policy_idl_interface", + ":audio_service_idl_interface", + ] + + cflags = [ + "-Wall", + "-fPIC", + "-fdata-sections", + "-ffunction-sections", + "-fno-asynchronous-unwind-tables", + "-fno-unwind-tables", + "-Os", + ] + + if (target_cpu == "arm") { + cflags += [ "-DBINDER_IPC_32BIT" ] + } + + sanitize = { + integer_overflow = true + ubsan = true + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + cfi_vcall_icall_only = true + debug = false + } + + external_deps = [ + "c_utils:utils", + "hilog:libhilog", + "hitrace:hitrace_meter", + "ipc:ipc_single", + ] + part_name = "audio_framework" + subsystem_name = "multimedia" +} + +ohos_source_set("idl_audio_policy_client_source") { + output_values = get_target_outputs(":audio_policy_idl_interface") + sources = filter_include(output_values, idl_policy_client_source_file) + sources += filter_include(output_values, [ "*_types.cpp" ]) + + public_configs = [ + ":audio_policy_sa_idl_config", + ] + + deps = [ + ":audio_policy_idl_interface", + ] + + cflags = [ + "-Wall", + "-fPIC", + "-fdata-sections", + "-ffunction-sections", + "-fno-asynchronous-unwind-tables", + "-fno-unwind-tables", + "-Os", + ] + + if (target_cpu == "arm") { + cflags += [ "-DBINDER_IPC_32BIT" ] + } + + sanitize = { + integer_overflow = true + ubsan = true + boundary_sanitize = true + cfi = true + cfi_cross_dso = true + cfi_vcall_icall_only = true + debug = false + } + + external_deps = [ + "c_utils:utils", + "hilog:libhilog", + "hitrace:hitrace_meter", + "ipc:ipc_single", + ] + part_name = "audio_framework" + subsystem_name = "multimedia" +} -- Gitee