# Copyright (c) 2024 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/ohos.gni")
import("../multimedia_camera_framework.gni")
config("movie_file_config") {
include_dirs = [
"include",
"include/movie_file",
"include/movie_file/plugin",
"include/movie_file/producer",
"include/pipeline",
"include/pipeline/buffer",
"include/pipeline/plugin",
"include/pipeline/producer",
"include/pipeline/thread",
"${multimedia_camera_framework_path}/dynamic_libs/media_library/include",
]
}
ohos_shared_library("movie_file") {
sanitize = {
cfi = true
cfi_cross_dso = true
debug = false
}
branch_protector_ret = "pac_ret"
cflags = [
"-Werror",
"-Os",
]
sources = [
"src/movie_file_adapter.cpp",
"src/movie_file/movie_file_common_utils.cpp",
"src/movie_file/movie_file_consumer.cpp",
"src/movie_file/movie_file_controller_base.cpp",
"src/movie_file/movie_file_controller_video.cpp",
"src/movie_file/plugin/movie_file_audio_effect_plugin.cpp",
"src/movie_file/plugin/movie_file_audio_encoder_encode_node.cpp",
"src/movie_file/plugin/movie_file_audio_encoder_plugin.cpp",
"src/movie_file/plugin/movie_file_audio_offline_algo_node.cpp",
"src/movie_file/plugin/movie_file_audio_raw_package_node.cpp",
"src/movie_file/plugin/movie_file_audio_raw_plugin.cpp",
"src/movie_file/plugin/movie_file_audio_plugin.cpp",
"src/movie_file/plugin/movie_file_audio_package_node.cpp",
"src/movie_file/plugin/movie_file_meta_plugin.cpp",
"src/movie_file/plugin/movie_file_video_encoder_encode_node.cpp",
"src/movie_file/plugin/movie_file_video_encoder_plugin.cpp",
"src/movie_file/producer/movie_file_audio_buffer_producer.cpp",
"src/movie_file/producer/movie_file_meta_buffer_producer.cpp",
"src/movie_file/producer/movie_file_video_buffer_producer.cpp",
"src/movie_file/producer/movie_file_video_encoded_buffer_producer.cpp",
"src/pipeline/buffer/unified_pipeline_audio_buffer.cpp",
"src/pipeline/buffer/unified_pipeline_audio_encoded_buffer.cpp",
"src/pipeline/buffer/unified_pipeline_buffer.cpp",
"src/pipeline/buffer/unified_pipeline_command.cpp",
"src/pipeline/buffer/unified_pipeline_surface_buffer.cpp",
"src/pipeline/buffer/unified_pipeline_video_encoded_buffer.cpp",
"src/pipeline/plugin/unified_pipeline_plugin.cpp",
"src/pipeline/producer/unified_pipeline_audio_capture_wrap.cpp",
"src/pipeline/producer/unified_pipeline_audio_data_producer.cpp",
"src/pipeline/producer/unified_pipeline_data_producer.cpp",
"src/pipeline/producer/unified_pipeline_surface_data_producer.cpp",
"src/pipeline/thread/unified_pipeline_threadpool.cpp",
"src/pipeline/thread/unified_pipeline_worker_thread.cpp",
"src/pipeline/unified_pipeline.cpp",
"src/pipeline/unified_pipeline_manager.cpp",
]
deps = [
"${multimedia_camera_framework_path}/common:camera_utils",
"${multimedia_camera_framework_path}/dynamic_libs:camera_dynamic_medialibrary",
]
external_deps = [
"av_codec:av_codec_client",
"av_codec:av_codec_media_engine_modules",
"audio_framework:audio_capturer",
"c_utils:utils",
"graphic_surface:surface",
"graphic_surface:sync_fence",
"hilog:libhilog",
"hisysevent:libhisysevent",
"hitrace:hitrace_meter",
"image_framework:image_native",
"ipc:ipc_core",
"samgr:samgr_proxy",
"access_token:libtokensetproc_shared",
"audio_framework:audio_client",
"audio_framework:offline_audio_effect",
"av_codec:native_media_acodec",
"av_codec:native_media_codecbase",
"drivers_interface_camera:libbuffer_handle_sequenceable_1.0",
"drivers_interface_camera:libmap_data_sequenceable_1.0",
"drivers_interface_camera:metadata",
"media_library:media_library_camera_helper",
"drivers_interface_camera:libcamera_proxy_1.0",
"init:libbegetutil",
"window_manager:libdm_lite",
"media_foundation:media_foundation",
"media_foundation:native_media_core",
]
defines = [
]
public_configs = [
":movie_file_config",
]
part_name = "camera_framework"
subsystem_name = "multimedia"
}