• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2023 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("//build/ohos.gni")
15import("//foundation/multimedia/av_codec/config.gni")
16
17ohos_static_library("av_codec_audio_ffmpeg_codec") {
18  cflags = [
19    "-std=c++17",
20    "-fno-rtti",
21    "-fno-exceptions",
22    "-Wall",
23    "-fno-common",
24    "-fstack-protector-strong",
25    "-Wshadow",
26    "-FPIC",
27    "-FS",
28    "-O2",
29    "-D_FORTIFY_SOURCE=2",
30    "-fvisibility=hidden",
31    "-Wformat=2",
32    "-Wfloat-equal",
33    "-Wdate-time",
34    "-Werror",
35    "-Wno-deprecated-declarations",
36    "-Wextra",
37    "-Wimplicit-fallthrough",
38    "-Wsign-compare",
39    "-Wunused-parameter",
40  ]
41
42  sanitize = {
43    cfi = true
44    cfi_cross_dso = true
45    debug = false
46  }
47
48  include_dirs = [
49    "$av_codec_root_dir/interfaces/inner_api/native",
50    "$av_codec_root_dir/interfaces/kits/c",
51    "$av_codec_root_dir/services/dfx/include",
52    "$av_codec_root_dir/services/engine/base/include",
53    "$av_codec_root_dir/services/engine/codec/include/audio",
54    "$av_codec_root_dir/services/engine/codec/include/audio/decoder",
55    "$av_codec_root_dir/services/engine/codec/include/audio/encoder",
56    "$av_codec_root_dir/services/engine/factory",
57    "$av_codec_root_dir/services/utils/include",
58    "$av_codec_root_dir/services/engine/common/include",
59    "//commonlibrary/c_utils/base/include",
60    "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include",
61    "//third_party/ffmpeg",
62  ]
63
64  sources = [
65    "$av_codec_root_dir/services/engine/codec/audio/audio_buffer_info.cpp",
66    "$av_codec_root_dir/services/engine/codec/audio/audio_buffers_manager.cpp",
67    "$av_codec_root_dir/services/engine/codec/audio/audio_codec_adapter.cpp",
68    "$av_codec_root_dir/services/engine/codec/audio/audio_codec_worker.cpp",
69    "$av_codec_root_dir/services/engine/codec/audio/audio_resample.cpp",
70    "$av_codec_root_dir/services/engine/codec/audio/decoder/audio_ffmpeg_aac_decoder_plugin.cpp",
71    "$av_codec_root_dir/services/engine/codec/audio/decoder/audio_ffmpeg_decoder_plugin.cpp",
72    "$av_codec_root_dir/services/engine/codec/audio/decoder/audio_ffmpeg_flac_decoder_plugin.cpp",
73    "$av_codec_root_dir/services/engine/codec/audio/decoder/audio_ffmpeg_mp3_decoder_plugin.cpp",
74    "$av_codec_root_dir/services/engine/codec/audio/decoder/audio_ffmpeg_vorbis_decoder_plugin.cpp",
75    "$av_codec_root_dir/services/engine/codec/audio/encoder/audio_ffmpeg_aac_encoder_plugin.cpp",
76    "$av_codec_root_dir/services/engine/codec/audio/encoder/audio_ffmpeg_encoder_plugin.cpp",
77    "$av_codec_root_dir/services/engine/codec/audio/encoder/audio_ffmpeg_flac_encoder_plugin.cpp",
78  ]
79
80  deps = [
81    "$av_codec_root_dir/services/engine/base:av_codec_codec_base",
82    "$av_codec_root_dir/services/engine/common:av_codec_engine_common",
83    "//third_party/ffmpeg:libohosffmpeg",
84  ]
85
86  public_deps = [
87    "$av_codec_root_dir/services/dfx:av_codec_service_dfx",
88    "$av_codec_root_dir/services/utils:av_codec_format",
89    "$av_codec_root_dir/services/utils:av_codec_service_utils",
90    "//third_party/bounds_checking_function:libsec_static",
91  ]
92
93  external_deps = [
94    "c_utils:utils",
95    "graphic_2d:surface",
96    "hilog:libhilog",
97    "hisysevent:libhisysevent",
98    "hitrace:hitrace_meter",
99  ]
100
101  subsystem_name = "multimedia"
102  part_name = "av_codec"
103}
104