1fa7767c5Sopenharmony_ci# Copyright (c) 2021-2021 Huawei Device Co., Ltd.
2fa7767c5Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fa7767c5Sopenharmony_ci# you may not use this file except in compliance with the License.
4fa7767c5Sopenharmony_ci# You may obtain a copy of the License at
5fa7767c5Sopenharmony_ci#
6fa7767c5Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fa7767c5Sopenharmony_ci#
8fa7767c5Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fa7767c5Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fa7767c5Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fa7767c5Sopenharmony_ci# See the License for the specific language governing permissions and
12fa7767c5Sopenharmony_ci# limitations under the License.
13fa7767c5Sopenharmony_ci#
14fa7767c5Sopenharmony_ciimport("//build/ohos.gni")
15fa7767c5Sopenharmony_ciimport("//foundation/multimedia/media_foundation/config.gni")
16fa7767c5Sopenharmony_ci
17fa7767c5Sopenharmony_cigroup("plugin_minimp3_adapter") {
18fa7767c5Sopenharmony_ci  if (hst_is_mini_sys) {
19fa7767c5Sopenharmony_ci    deps = [ ":histreamer_plugin_Minimp3_static" ]
20fa7767c5Sopenharmony_ci  } else {
21fa7767c5Sopenharmony_ci    deps = [ ":histreamer_plugin_Minimp3Demuxer" ]
22fa7767c5Sopenharmony_ci    deps += [ ":histreamer_plugin_Minimp3Decoder" ]
23fa7767c5Sopenharmony_ci  }
24fa7767c5Sopenharmony_ci}
25fa7767c5Sopenharmony_ci
26fa7767c5Sopenharmony_ciconfig("plugin_minimp3_adapter_config") {
27fa7767c5Sopenharmony_ci  include_dirs = [
28fa7767c5Sopenharmony_ci    "minimp3_adapter",
29fa7767c5Sopenharmony_ci    "//foundation/multimedia/media_foundation/engine/include",
30fa7767c5Sopenharmony_ci    "//third_party/minimp3",
31fa7767c5Sopenharmony_ci  ]
32fa7767c5Sopenharmony_ci}
33fa7767c5Sopenharmony_ci
34fa7767c5Sopenharmony_ciif (hst_is_mini_sys) {
35fa7767c5Sopenharmony_ci  static_library("histreamer_plugin_Minimp3_static") {
36fa7767c5Sopenharmony_ci    sources = [
37fa7767c5Sopenharmony_ci      "minimp3_decoder_plugin.cpp",
38fa7767c5Sopenharmony_ci      "minimp3_demuxer_plugin.cpp",
39fa7767c5Sopenharmony_ci      "minimp3_wrapper.c",
40fa7767c5Sopenharmony_ci    ]
41fa7767c5Sopenharmony_ci    public_configs = [
42fa7767c5Sopenharmony_ci      ":plugin_minimp3_adapter_config",
43fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation:histreamer_presets",
44fa7767c5Sopenharmony_ci    ]
45fa7767c5Sopenharmony_ci    public_deps = [
46fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation/engine/foundation:histreamer_foundation",
47fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation/engine/plugin:histreamer_plugin_base",
48fa7767c5Sopenharmony_ci    ]
49fa7767c5Sopenharmony_ci  }
50fa7767c5Sopenharmony_ci} else {
51fa7767c5Sopenharmony_ci  ohos_shared_library("histreamer_plugin_Minimp3Demuxer") {
52fa7767c5Sopenharmony_ci    subsystem_name = "multimedia"
53fa7767c5Sopenharmony_ci    part_name = "media_foundation"
54fa7767c5Sopenharmony_ci    sources = [
55fa7767c5Sopenharmony_ci      "minimp3_demuxer_plugin.cpp",
56fa7767c5Sopenharmony_ci      "minimp3_wrapper.c",
57fa7767c5Sopenharmony_ci    ]
58fa7767c5Sopenharmony_ci    public_configs = [
59fa7767c5Sopenharmony_ci      ":plugin_minimp3_adapter_config",
60fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation:histreamer_presets",
61fa7767c5Sopenharmony_ci    ]
62fa7767c5Sopenharmony_ci    public_deps = [
63fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation/engine/foundation:histreamer_foundation",
64fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation/engine/plugin:histreamer_plugin_base",
65fa7767c5Sopenharmony_ci    ]
66fa7767c5Sopenharmony_ci    external_deps = [ "hilog:libhilog" ]
67fa7767c5Sopenharmony_ci    sanitize = {
68fa7767c5Sopenharmony_ci      cfi = true
69fa7767c5Sopenharmony_ci      cfi_cross_dso = true
70fa7767c5Sopenharmony_ci      debug = false
71fa7767c5Sopenharmony_ci      integer_overflow = true
72fa7767c5Sopenharmony_ci    }
73fa7767c5Sopenharmony_ci    relative_install_dir = "media/histreamer_plugins"
74fa7767c5Sopenharmony_ci  }
75fa7767c5Sopenharmony_ci  ohos_shared_library("histreamer_plugin_Minimp3Decoder") {
76fa7767c5Sopenharmony_ci    subsystem_name = "multimedia"
77fa7767c5Sopenharmony_ci    part_name = "media_foundation"
78fa7767c5Sopenharmony_ci    sources = [
79fa7767c5Sopenharmony_ci      "minimp3_decoder_plugin.cpp",
80fa7767c5Sopenharmony_ci      "minimp3_wrapper.c",
81fa7767c5Sopenharmony_ci    ]
82fa7767c5Sopenharmony_ci    public_configs = [
83fa7767c5Sopenharmony_ci      ":plugin_minimp3_adapter_config",
84fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation:histreamer_presets",
85fa7767c5Sopenharmony_ci    ]
86fa7767c5Sopenharmony_ci    external_deps = [ "hilog:libhilog" ]
87fa7767c5Sopenharmony_ci    public_deps = [
88fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation/engine/foundation:histreamer_foundation",
89fa7767c5Sopenharmony_ci      "//foundation/multimedia/media_foundation/engine/plugin:histreamer_plugin_intf",
90fa7767c5Sopenharmony_ci    ]
91fa7767c5Sopenharmony_ci    sanitize = {
92fa7767c5Sopenharmony_ci      cfi = true
93fa7767c5Sopenharmony_ci      cfi_cross_dso = true
94fa7767c5Sopenharmony_ci      debug = false
95fa7767c5Sopenharmony_ci      integer_overflow = true
96fa7767c5Sopenharmony_ci    }
97fa7767c5Sopenharmony_ci    relative_install_dir = "media/histreamer_plugins"
98fa7767c5Sopenharmony_ci  }
99fa7767c5Sopenharmony_ci}
100