1# Copyright (c) 2022-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("//foundation/multimedia/media_foundation/config.gni")
15
16config("histreamer_recorder_config") {
17  if (media_foundation_enable_recorder) {
18    include_dirs = [
19      "//foundation/multimedia/media_foundation/engine/include",
20      "//foundation/multimedia/media_foundation/engine/scene/recorder",
21    ]
22    if (hst_is_standard_sys) {
23      include_dirs += [
24        "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
25        "//foundation/multimedia/player_framework/interfaces/inner_api/native",
26        "//foundation/multimedia/image_framework/interfaces/innerkits/include",
27        "//foundation/multimedia/player_framework/services/include",
28        "//foundation/multimedia/player_framework/services/services/engine_intf",
29        "//commonlibrary/c_utils/base/include",
30      ]
31    }
32  }
33}
34
35ohos_source_set("histreamer_recorder") {
36  subsystem_name = "multimedia"
37  part_name = "media_foundation"
38  if (media_foundation_enable_recorder) {
39    include_dirs = [ "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include/hitrace_meter" ]
40    sources = [
41      "internal/state.cpp",
42      "internal/state_machine.cpp",
43    ]
44    public_configs = [
45      ":histreamer_recorder_config",
46      "//foundation/communication/ipc/interfaces/innerkits/ipc_core:libipc_core_private_config",
47      "//foundation/multimedia/media_foundation:histreamer_presets",
48    ]
49    deps = [ "//foundation/multimedia/media_foundation/engine/foundation:histreamer_foundation" ]
50    if (hst_is_standard_sys) {
51      sources += [
52        "standard/hirecorder_impl.cpp",
53        "standard/recorder_utils.cpp",
54      ]
55      deps += [
56        "//foundation/multimedia/media_foundation/engine/pipeline:histreamer_base",
57        "//foundation/multimedia/media_foundation/engine/pipeline:histreamer_engine_filters",
58      ]
59      external_deps = [
60        "graphic_surface:surface",
61        "hilog:libhilog",
62      ]
63    }
64  }
65}
66