1# Copyright (c) 2025 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("./../multimedia_camera_framework.gni") 16 17config("camera_dynamic_medialibrary_public_config") { 18 include_dirs = [ 19 "${multimedia_camera_framework_path}/dynamic_libs/media_library/include", 20 "${multimedia_camera_framework_path}/dynamic_libs/dfx/include" 21 ] 22} 23ohos_shared_library("camera_dynamic_medialibrary") { 24 install_enable = true 25 sources = [ 26 "${multimedia_camera_framework_path}/dynamic_libs/dfx/src/dfx_report.cpp", 27 "${multimedia_camera_framework_path}/dynamic_libs/media_library/src/photo_asset_adapter.cpp" 28 ] 29 cflags = [ 30 "-fPIC", 31 "-Wall", 32 "-Os", 33 ] 34 sanitize = { 35 cfi = true 36 cfi_cross_dso = true 37 debug = false 38 } 39 include_dirs = [ 40 "${multimedia_camera_framework_path}/common/utils" , 41 "${multimedia_camera_framework_path}/dynamic_libs/dfx/include", 42 ] 43 public_configs = [ ":camera_dynamic_medialibrary_public_config" ] 44 if (target_cpu == "arm") { 45 cflags += [ "-DBINDER_IPC_32BIT" ] 46 } 47 48 external_deps = [ 49 "c_utils:utils", 50 "data_share:datashare_common", 51 "data_share:datashare_consumer", 52 "hilog:libhilog", 53 "hisysevent:libhisysevent", 54 "hitrace:hitrace_meter", 55 "image_framework:image_native", 56 "ipc:ipc_single", 57 "media_library:media_library", 58 "media_library:media_library_manager", 59 "samgr:samgr_proxy", 60 ] 61 62 cflags_cc = cflags 63 64 part_name = "camera_framework" 65 subsystem_name = "multimedia" 66} 67 68config("camera_dynamic_picture_public_config") { 69 include_dirs = [ 70 "${multimedia_camera_framework_path}/dynamic_libs/image_framework/include", 71 "${multimedia_camera_framework_path}/dynamic_libs/dfx/include" 72 ] 73} 74 75ohos_shared_library("camera_dynamic_picture") { 76 install_enable = true 77 sources = [ 78 "${multimedia_camera_framework_path}/dynamic_libs/dfx/src/dfx_report.cpp", 79 "${multimedia_camera_framework_path}/dynamic_libs/image_framework/src/picture_adapter.cpp", 80 "${multimedia_camera_framework_path}/dynamic_libs/image_framework/src/image_source_adapter.cpp", 81 ] 82 cflags = [ 83 "-fPIC", 84 "-Wall", 85 "-Os", 86 ] 87 sanitize = { 88 cfi = true 89 cfi_cross_dso = true 90 debug = false 91 } 92 include_dirs = [ 93 "${multimedia_camera_framework_path}/common/utils" , 94 "${multimedia_camera_framework_path}/dynamic_libs/dfx/include", 95 "${multimedia_camera_framework_path}/common/utils/image_framework/include", 96 ] 97 public_configs = [ ":camera_dynamic_picture_public_config" ] 98 if (target_cpu == "arm") { 99 cflags += [ "-DBINDER_IPC_32BIT" ] 100 } 101 102 external_deps = [ 103 "c_utils:utils", 104 "hilog:libhilog", 105 "hisysevent:libhisysevent", 106 "hitrace:hitrace_meter", 107 "image_framework:image_native", 108 "ipc:ipc_single", 109 "samgr:samgr_proxy", 110 "graphic_surface:buffer_handle", 111 "graphic_surface:surface", 112 ] 113 114 cflags_cc = cflags 115 116 part_name = "camera_framework" 117 subsystem_name = "multimedia" 118} 119 120config("camera_dynamic_avcodec_public_config") { 121 include_dirs = [ 122 "${multimedia_camera_framework_path}/dynamic_libs/av_codec/include", 123 ] 124} 125 126ohos_shared_library("camera_dynamic_avcodec") { 127 install_enable = true 128 sources = [ "${multimedia_camera_framework_path}/dynamic_libs/av_codec/src/av_codec_adapter.cpp" ] 129 cflags = [ 130 "-fPIC", 131 "-Wall", 132 "-Os", 133 ] 134 sanitize = { 135 cfi = true 136 cfi_cross_dso = true 137 debug = false 138 } 139 include_dirs = [ 140 "${multimedia_camera_framework_path}/common/utils", 141 "${multimedia_camera_framework_path}/common/utils/av_codec/include", ] 142 public_configs = [ ":camera_dynamic_avcodec_public_config" ] 143 if (target_cpu == "arm") { 144 cflags += [ "-DBINDER_IPC_32BIT" ] 145 } 146 147 external_deps = [ 148 "av_codec:av_codec_client", 149 "av_codec:native_media_acodec", 150 "av_codec:native_media_codecbase", 151 "c_utils:utils", 152 "hilog:libhilog", 153 "hisysevent:libhisysevent", 154 "hitrace:hitrace_meter", 155 "ipc:ipc_single", 156 "samgr:samgr_proxy", 157 "graphic_surface:buffer_handle", 158 "graphic_surface:surface", 159 ] 160 161 cflags_cc = cflags 162 163 part_name = "camera_framework" 164 subsystem_name = "multimedia" 165} 166 167 168config("camera_dynamic_moving_photo_public_config") { 169 include_dirs = [ 170 "${multimedia_camera_framework_path}/common/", 171 "${multimedia_camera_framework_path}/common/utils", 172 "${multimedia_camera_framework_path}/common/utils/av_codec/include", 173 "${multimedia_camera_framework_path}/common/utils/moving_photo/include", 174 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/include/", 175 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/include/avcodec", 176 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/include/common", 177 "${multimedia_camera_framework_path}/interfaces/inner_api/native/camera/include", 178 "${multimedia_camera_framework_path}/interfaces/inner_api/native/camera/include/output", 179 "${multimedia_camera_framework_path}/interfaces/inner_api/native/camera/include/utils/", 180 "${multimedia_camera_framework_path}/services/camera_service/binder/base/include", 181 "${multimedia_camera_framework_path}/services/camera_service/include", 182 "${multimedia_camera_framework_path}/services/camera_service/include/camera_buffer_manager", 183 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base", 184 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base/task_manager", 185 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base/task_manager/task_group", 186 ] 187} 188 189ohos_shared_library("camera_dynamic_moving_photo") { 190 install_enable = true 191 sources = [ 192 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/moving_photo_adapter.cpp", 193 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/audio_capturer_session.cpp", 194 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/audio_deferred_process.cpp", 195 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/audio_encoder.cpp", 196 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/audio_video_muxer.cpp", 197 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/avcodec_task_manager.cpp", 198 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/moving_photo_video_cache.cpp", 199 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/sample_callback.cpp", 200 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/avcodec/video_encoder.cpp", 201 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/common/frame_record.cpp", 202 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/common/sample_info.cpp", 203 "${multimedia_camera_framework_path}/dynamic_libs/moving_photo/src/moving_photo_surface_wrapper.cpp", 204 "${multimedia_camera_framework_path}/frameworks/native/camera/base/src/output/camera_photo_proxy.cpp", 205 ] 206 cflags = [ 207 "-fPIC", 208 "-Wall", 209 "-Os", 210 ] 211 sanitize = { 212 cfi = true 213 cfi_cross_dso = true 214 debug = false 215 } 216 include_dirs = [ 217 ] 218 219 deps = [ 220 "${multimedia_camera_framework_path}/common:camera_utils", 221 "${multimedia_camera_framework_path}/services/camera_service:camera_service", 222 ] 223 224 public_configs = [ 225 ":camera_dynamic_moving_photo_public_config", 226 ] 227 228 if (target_cpu == "arm") { 229 cflags += [ "-DBINDER_IPC_32BIT" ] 230 } 231 232 external_deps = [ 233 "ability_base:base", 234 "access_token:libtokensetproc_shared", 235 "audio_framework:audio_capturer", 236 "audio_framework:audio_client", 237 "audio_framework:offline_audio_effect", 238 "av_codec:av_codec_client", 239 "av_codec:native_media_acodec", 240 "av_codec:native_media_codecbase", 241 "bundle_framework:appexecfwk_base", 242 "bundle_framework:appexecfwk_core", 243 "c_utils:utils", 244 "drivers_interface_camera:libbuffer_handle_sequenceable_1.0", 245 "drivers_interface_camera:libcamera_proxy_1.0", 246 "drivers_interface_camera:libcamera_proxy_1.1", 247 "drivers_interface_camera:libcamera_proxy_1.2", 248 "drivers_interface_camera:libcamera_proxy_1.3", 249 "drivers_interface_camera:libcamera_proxy_1.4", 250 "drivers_interface_camera:libmap_data_sequenceable_1.0", 251 "drivers_interface_camera:metadata", 252 "drivers_interface_display:libdisplay_commontype_proxy_1.0", 253 "graphic_surface:surface", 254 "graphic_surface:sync_fence", 255 "hilog:libhilog", 256 "hisysevent:libhisysevent", 257 "hitrace:hitrace_meter", 258 "ipc:ipc_core", 259 "media_foundation:media_foundation", 260 "media_foundation:native_media_core", 261 "media_library:media_library", 262 "samgr:samgr_proxy", 263 ] 264 defines = [] 265 defines += [ "MOVING_PHOTO_ADD_AUDIO" ] 266 cflags_cc = cflags 267 cflags_cc += ["-std=c++20",] 268 269 part_name = "camera_framework" 270 subsystem_name = "multimedia" 271} 272 273config("camera_dynamic_media_manager_public_config") { 274 include_dirs = [ 275 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/include", 276 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/include/media_manager", 277 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base", 278 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base/timer", 279 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base/timer/core", 280 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/base/task_manager", 281 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/dfx", 282 "${multimedia_camera_framework_path}/services/deferred_processing_service/include/utils", 283 ] 284} 285 286ohos_shared_library("camera_dynamic_media_manager") { 287 install_enable = true 288 sources = [ 289 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager_adapter.cpp", 290 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/demuxer.cpp", 291 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/media_manager.cpp", 292 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/mpeg_manager_factory.cpp", 293 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/mpeg_manager.cpp", 294 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/muxer.cpp", 295 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/reader.cpp", 296 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/track_factory.cpp", 297 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/track.cpp", 298 "${multimedia_camera_framework_path}/dynamic_libs/media_manager/src/media_manager/writer.cpp", 299 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/utils/dp_utils.cpp", 300 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/base/timer/core/timer_core.cpp", 301 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/base/timer/camera_deferred_timer.cpp", 302 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/base/timer/time_broker.cpp", 303 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/base/timer/steady_clock.cpp", 304 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/base/task_manager/thread_pool.cpp", 305 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/base/task_manager/thread_utils.cpp", 306 "${multimedia_camera_framework_path}/services/deferred_processing_service/src/dfx/dps_event_report.cpp", 307 ] 308 cflags = [ 309 "-fPIC", 310 "-Wall", 311 "-Os", 312 ] 313 sanitize = { 314 cfi = true 315 cfi_cross_dso = true 316 debug = false 317 } 318 include_dirs = [ 319 "${multimedia_camera_framework_path}/common/utils", 320 "${multimedia_camera_framework_path}/common/utils/media_manager/include", 321 ] 322 323 deps = [ 324 "${multimedia_camera_framework_path}/services/deferred_processing_service/idls:camera_deferred_idl_sa_proxy", 325 ] 326 327 public_configs = [ 328 ":camera_dynamic_media_manager_public_config", 329 "${multimedia_camera_framework_path}/services/deferred_processing_service/idls:deferred_processing_service_idl_config", ] 330 if (target_cpu == "arm") { 331 cflags += [ "-DBINDER_IPC_32BIT" ] 332 } 333 334 external_deps = [ 335 "av_codec:av_codec_client", 336 "av_codec:native_media_acodec", 337 "av_codec:native_media_aenc", 338 "av_codec:native_media_avcencinfo", 339 "av_codec:native_media_avdemuxer", 340 "av_codec:native_media_avmuxer", 341 "av_codec:native_media_avsource", 342 "av_codec:native_media_codecbase", 343 "av_codec:native_media_venc", 344 "bundle_framework:appexecfwk_base", 345 "bundle_framework:appexecfwk_core", 346 "c_utils:utils", 347 "drivers_interface_camera:libcamera_proxy_1.0", 348 "drivers_interface_camera:libcamera_proxy_1.1", 349 "drivers_interface_camera:libcamera_proxy_1.2", 350 "drivers_interface_camera:libcamera_proxy_1.3", 351 "drivers_interface_camera:libcamera_proxy_1.4", 352 "drivers_interface_camera:libmap_data_sequenceable_1.0", 353 "drivers_interface_camera:metadata", 354 "hilog:libhilog", 355 "hisysevent:libhisysevent", 356 "hitrace:hitrace_meter", 357 "image_framework:image_native", 358 "ipc:ipc_core", 359 "ipc:ipc_single", 360 "samgr:samgr_proxy", 361 "graphic_surface:buffer_handle", 362 "graphic_surface:surface", 363 "graphic_surface:sync_fence", 364 ] 365 366 cflags_cc = cflags 367 368 part_name = "camera_framework" 369 subsystem_name = "multimedia" 370} 371