# Copyright (c) 2020-2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/lite/config/component/lite_component.gni") import("//build/lite/ndk/ndk.gni") import("//foundation/multimedia/media_utils_lite/config.gni") if (ohos_kernel_type != "liteos_m") { shared_library("player_lite") { if (enable_media_passthrough_mode == false) { sources = [ "binder/player.cpp", "binder/player_client.cpp", ] } else { sources = [ "passthrough/liteplayer/player.cpp", "passthrough/liteplayer/player_client.cpp", ] } cflags = [ "-fPIC" ] cflags += [ "-Wall" ] cflags += [ "-Werror" ] cflags_cc = cflags outdir = rebase_path("$root_out_dir") ldflags = [ "-L$outdir" ] include_dirs = [ "//base/security/permission_lite/interfaces/kits" ] if (enable_media_passthrough_mode == false) { include_dirs += [ "//foundation/multimedia/media_lite/frameworks/player_lite/binder" ] deps = [ "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single", "//foundation/graphic/surface_lite:surface_lite", "//foundation/systemabilitymgr/samgr_lite/samgr:samgr", ] } else { include_dirs += [ "//foundation/multimedia/media_lite/frameworks/player_lite/passthrough/liteplayer", "//foundation/multimedia/media_lite/services/player_lite/impl", "//foundation/multimedia/media_lite/services/player_lite/impl/buffersource/include", "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/include", "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player", "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player/fsm/src", "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player/fsm/include", "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/source", "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/sink", "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/decoder", "//drivers/peripheral/display/interfaces/include", "//drivers/peripheral/base", "//drivers/peripheral/format/interfaces/include", "//drivers/peripheral/audio/interfaces/include", "//drivers/peripheral/codec/interfaces/include", ] deps = [ "//foundation/multimedia/media_lite/services/player_lite:player_impl", ] ldflags += [ "-laudio_hw" ] ldflags += [ "-lcodec" ] ldflags += [ "-lformat_hw" ] ldflags += [ "-lhdi_videodisplayer" ] } public_configs = [ ":player_external_library_config" ] public_deps = [ "//base/security/permission_lite/services/pms_client:pms_client", "//foundation/graphic/surface_lite:surface_lite", "//foundation/multimedia/media_utils_lite:media_common", "//third_party/bounds_checking_function:libsec_shared", ] } config("player_external_library_config") { include_dirs = [ "//foundation/multimedia/media_lite/interfaces/kits/player_lite" ] include_dirs += [ "//foundation/multimedia/media_lite/interfaces/innerkits" ] include_dirs += [ "//foundation/multimedia/media_utils_lite/interfaces/kits" ] } lite_component("media_lite") { features = [ ":player_lite", "//foundation/multimedia/media_lite/interfaces/kits/player_lite/js/builtin:audio_lite_api", ] } } else { static_library("player_lite") { sources = [ "passthrough/histreamer/player.cpp" ] include_dirs = [ "//base/hiviewdfx/hilog_lite/interfaces/native/innerkits/hilog" ] public_deps = [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static", "//foundation/multimedia/media_foundation:histreamer", ] public_configs = [ ":player_direct_external_library_config" ] } config("player_direct_external_library_config") { include_dirs = [ "//foundation/multimedia/media_lite/interfaces/innerkits", "//foundation/multimedia/frameworks/player_lite", "//foundation/multimedia/media_utils_lite/interfaces/kits", "//foundation/multimedia/media_lite/interfaces/kits/player_lite", "//drivers/peripheral/format/interfaces/include", ] } }