• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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