18c77b71bSopenharmony_ci# Copyright (c) 2020 Huawei Device Co., Ltd.
28c77b71bSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
38c77b71bSopenharmony_ci# you may not use this file except in compliance with the License.
48c77b71bSopenharmony_ci# You may obtain a copy of the License at
58c77b71bSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
68c77b71bSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
78c77b71bSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
88c77b71bSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
98c77b71bSopenharmony_ci# See the License for the specific language governing permissions and
108c77b71bSopenharmony_ci# limitations under the License.
118c77b71bSopenharmony_ci
128c77b71bSopenharmony_ciimport("//build/lite/config/component/lite_component.gni")
138c77b71bSopenharmony_ci
148c77b71bSopenharmony_cishared_library("player_impl") {
158c77b71bSopenharmony_ci  sources = [
168c77b71bSopenharmony_ci    "impl/buffersource/src/buffer_source.cpp",
178c77b71bSopenharmony_ci    "impl/player_control/decoder/decoder.cpp",
188c77b71bSopenharmony_ci    "impl/player_control/player/fsm/src/fsm_common.cpp",
198c77b71bSopenharmony_ci    "impl/player_control/player/fsm/src/hi_fsm.cpp",
208c77b71bSopenharmony_ci    "impl/player_control/player/fsm/src/hi_state.cpp",
218c77b71bSopenharmony_ci    "impl/player_control/player/fsm/src/hi_state_machine.cpp",
228c77b71bSopenharmony_ci    "impl/player_control/player/fsm/src/hi_state_machine_observer.cpp",
238c77b71bSopenharmony_ci    "impl/player_control/player/fsm/src/message_looper.cpp",
248c77b71bSopenharmony_ci    "impl/player_control/player/fsm/src/mmessage_pool.cpp",
258c77b71bSopenharmony_ci    "impl/player_control/player/liteplayer.cpp",
268c77b71bSopenharmony_ci    "impl/player_control/player/liteplayer_comm.cpp",
278c77b71bSopenharmony_ci    "impl/player_control/player/liteplayer_state_machine.cpp",
288c77b71bSopenharmony_ci    "impl/player_control/sink/player_audio_sink.cpp",
298c77b71bSopenharmony_ci    "impl/player_control/sink/player_sink_manager.cpp",
308c77b71bSopenharmony_ci    "impl/player_control/sink/player_sync.cpp",
318c77b71bSopenharmony_ci    "impl/player_control/sink/player_video_sink.cpp",
328c77b71bSopenharmony_ci    "impl/player_control/source/player_demux.cpp",
338c77b71bSopenharmony_ci    "impl/player_control/source/player_source.cpp",
348c77b71bSopenharmony_ci    "impl/player_impl.cpp",
358c77b71bSopenharmony_ci  ]
368c77b71bSopenharmony_ci  include_dirs = [
378c77b71bSopenharmony_ci    "//third_party/bounds_checking_function/include",
388c77b71bSopenharmony_ci    "//foundation/multimedia/media_utils_lite/hals",
398c77b71bSopenharmony_ci    "//foundation/multimedia/media_utils_lite/interfaces/kits",
408c77b71bSopenharmony_ci    "//drivers/peripheral/display/interfaces/include",
418c77b71bSopenharmony_ci    "//drivers/peripheral/base",
428c77b71bSopenharmony_ci    "//foundation/multimedia/media_lite/interfaces/innerkits",
438c77b71bSopenharmony_ci  ]
448c77b71bSopenharmony_ci  outdir = rebase_path("$root_out_dir")
458c77b71bSopenharmony_ci  public_configs = [ ":player_impl_external_library_config" ]
468c77b71bSopenharmony_ci  ldflags = [ "-L$outdir" ]
478c77b71bSopenharmony_ci  ldflags += [ "-laudio_hw" ]
488c77b71bSopenharmony_ci  ldflags += [ "-lcodec" ]
498c77b71bSopenharmony_ci  ldflags += [ "-lformat_hw" ]
508c77b71bSopenharmony_ci  ldflags += [ "-lhdi_videodisplayer" ]
518c77b71bSopenharmony_ci  public_deps = [
528c77b71bSopenharmony_ci    "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
538c77b71bSopenharmony_ci    "//foundation/graphic/surface_lite:surface_lite",
548c77b71bSopenharmony_ci    "//foundation/multimedia/media_utils_lite:media_common",
558c77b71bSopenharmony_ci    "//third_party/bounds_checking_function:libsec_shared",
568c77b71bSopenharmony_ci  ]
578c77b71bSopenharmony_ci  ldflags += [ "-lstdc++" ]
588c77b71bSopenharmony_ci  cflags = [
598c77b71bSopenharmony_ci    "-fPIC",
608c77b71bSopenharmony_ci    "-Wall",
618c77b71bSopenharmony_ci    "-Wno-format",
628c77b71bSopenharmony_ci  ]
638c77b71bSopenharmony_ci  cflags_cc = cflags
648c77b71bSopenharmony_ci}
658c77b71bSopenharmony_ci
668c77b71bSopenharmony_ciconfig("player_impl_external_library_config") {
678c77b71bSopenharmony_ci  include_dirs = [ "//foundation/multimedia/frameworks/player_lite/binder" ]
688c77b71bSopenharmony_ci  include_dirs +=
698c77b71bSopenharmony_ci      [ "//foundation/multimedia/media_lite/interfaces/kits/player_lite" ]
708c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/buffersource/include" ]
718c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/include" ]
728c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player" ]
738c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_utils_lite/interfaces/kits" ]
748c77b71bSopenharmony_ci  include_dirs += [ "//drivers/peripheral/format/interfaces/include" ]
758c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player/fsm/src" ]
768c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/player/fsm/include" ]
778c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/source" ]
788c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/sink" ]
798c77b71bSopenharmony_ci  include_dirs += [ "//drivers/peripheral/codec/interfaces/include" ]
808c77b71bSopenharmony_ci  include_dirs += [ "//foundation/multimedia/media_lite/services/player_lite/impl/player_control/decoder" ]
818c77b71bSopenharmony_ci  include_dirs += [ "//drivers/peripheral/audio/interfaces/include" ]
828c77b71bSopenharmony_ci}
838c77b71bSopenharmony_cishared_library("player_server") {
848c77b71bSopenharmony_ci  sources = [
858c77b71bSopenharmony_ci    "factory/src/player_factory.cpp",
868c77b71bSopenharmony_ci    "server/src/player_server.cpp",
878c77b71bSopenharmony_ci    "server/src/samgr_player_server.cpp",
888c77b71bSopenharmony_ci  ]
898c77b71bSopenharmony_ci  include_dirs = [
908c77b71bSopenharmony_ci    "factory/include",
918c77b71bSopenharmony_ci    "factory/include",
928c77b71bSopenharmony_ci    "impl",
938c77b71bSopenharmony_ci    "//drivers/peripheral/audio/interfaces/include",
948c77b71bSopenharmony_ci    "//drivers/peripheral/codec/interfaces/include",
958c77b71bSopenharmony_ci    "//drivers/peripheral/format/interfaces/include",
968c77b71bSopenharmony_ci    "//drivers/peripheral/display/interfaces/include",
978c77b71bSopenharmony_ci    "//drivers/peripheral/base",
988c77b71bSopenharmony_ci    "//foundation/multimedia/media_foundation/interface",
998c77b71bSopenharmony_ci    "//foundation/multimedia/media_utils_lite/hals",
1008c77b71bSopenharmony_ci    "//foundation/multimedia/media_utils_lite/interfaces/kits",
1018c77b71bSopenharmony_ci    "//foundation/multimedia/media_lite/interfaces/innerkits",
1028c77b71bSopenharmony_ci    "//foundation/multimedia/media_lite/frameworks/player_lite/binder",
1038c77b71bSopenharmony_ci    "//base/startup/init/interfaces/innerkits/include/syspara",
1048c77b71bSopenharmony_ci    "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/registry",
1058c77b71bSopenharmony_ci    "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/samgr",
1068c77b71bSopenharmony_ci    "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/communication/broadcast",
1078c77b71bSopenharmony_ci  ]
1088c77b71bSopenharmony_ci  outdir = rebase_path("$root_out_dir")
1098c77b71bSopenharmony_ci  public_configs = [ ":player_server_external_library_config" ]
1108c77b71bSopenharmony_ci  cflags = [
1118c77b71bSopenharmony_ci    "-fPIC",
1128c77b71bSopenharmony_ci    "-Wall",
1138c77b71bSopenharmony_ci    "-Wno-format",
1148c77b71bSopenharmony_ci  ]
1158c77b71bSopenharmony_ci  cflags_cc = cflags
1168c77b71bSopenharmony_ci  ldflags = [
1178c77b71bSopenharmony_ci    "-L$outdir",
1188c77b71bSopenharmony_ci    "-lstdc++",
1198c77b71bSopenharmony_ci    "-Wl,-rpath-link=$ohos_root_path/$root_out_dir",
1208c77b71bSopenharmony_ci    "-lcodec",
1218c77b71bSopenharmony_ci  ]
1228c77b71bSopenharmony_ci  deps = [
1238c77b71bSopenharmony_ci    "//foundation/graphic/surface_lite:surface_lite",
1248c77b71bSopenharmony_ci    "//foundation/multimedia/media_foundation:media_engine_histreamer",
1258c77b71bSopenharmony_ci    "//foundation/systemabilitymgr/samgr_lite/samgr:samgr",
1268c77b71bSopenharmony_ci  ]
1278c77b71bSopenharmony_ci  public_deps = [
1288c77b71bSopenharmony_ci    "//base/startup/init/interfaces/innerkits:libbegetutil",
1298c77b71bSopenharmony_ci    "//foundation/multimedia/media_lite/services/player_lite:player_impl",
1308c77b71bSopenharmony_ci    "//foundation/multimedia/media_utils_lite:media_common",
1318c77b71bSopenharmony_ci  ]
1328c77b71bSopenharmony_ci}
1338c77b71bSopenharmony_ci
1348c77b71bSopenharmony_ciconfig("player_server_external_library_config") {
1358c77b71bSopenharmony_ci  include_dirs = [
1368c77b71bSopenharmony_ci    "//foundation/multimedia/media_lite/services/player_lite/server/include",
1378c77b71bSopenharmony_ci  ]
1388c77b71bSopenharmony_ci  include_dirs +=
1398c77b71bSopenharmony_ci      [ "//foundation/multimedia/media_lite/frameworks/player_lite/binder" ]
1408c77b71bSopenharmony_ci}
141