1  /*
2   * Copyright (c) 2023-2023 Huawei Device Co., Ltd.
3   * Licensed under the Apache License, Version 2.0 (the "License");
4   * you may not use this file except in compliance with the License.
5   * You may obtain a copy of the License at
6   *
7   *     http://www.apache.org/licenses/LICENSE-2.0
8   *
9   * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  
16  #include "kits/native/include/camera/capture_session.h"
17  #include "impl/capture_session_impl.h"
18  #include "camera_log.h"
19  #include "hilog/log.h"
20  
21  /**
22   * @since 13
23   * @version 1.0
24   */
OH_CaptureSession_RegisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession * session,OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange)25  Camera_ErrorCode OH_CaptureSession_RegisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession* session,
26      OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange)
27  {
28      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
29      CHECK_AND_RETURN_RET_LOG(autoDeviceSwitchStatusChange != nullptr, CAMERA_INVALID_ARGUMENT,
30          "Invaild argument, callback is null!");
31      session->RegisterAutoDeviceSwitchStatusCallback(autoDeviceSwitchStatusChange);
32      return CAMERA_OK;
33  }
34  
35  /**
36   * @since 13
37   * @version 1.0
38   */
OH_CaptureSession_UnregisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession * session,OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange)39  Camera_ErrorCode OH_CaptureSession_UnregisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession* session,
40      OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange)
41  {
42      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
43      CHECK_AND_RETURN_RET_LOG(autoDeviceSwitchStatusChange != nullptr, CAMERA_INVALID_ARGUMENT,
44          "Invaild argument, callback is null!");
45      session->UnregisterAutoDeviceSwitchStatusCallback(autoDeviceSwitchStatusChange);
46      return CAMERA_OK;
47  }
48  
49  /**
50   * @since 13
51   * @version 1.0
52   */
OH_CaptureSession_IsAutoDeviceSwitchSupported(Camera_CaptureSession * session,bool * isSupported)53  Camera_ErrorCode OH_CaptureSession_IsAutoDeviceSwitchSupported(Camera_CaptureSession* session, bool* isSupported)
54  {
55      MEDIA_DEBUG_LOG("OH_CaptureSession_IsAutoDeviceSwitchSupported is called");
56      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
57          "Invaild argument, session is null!");
58      return session->IsAutoDeviceSwitchSupported(isSupported);
59  }
60  
61  /**
62   * @since 13
63   * @version 1.0
64   */
OH_CaptureSession_EnableAutoDeviceSwitch(Camera_CaptureSession * session,bool enabled)65  Camera_ErrorCode OH_CaptureSession_EnableAutoDeviceSwitch(Camera_CaptureSession* session, bool enabled)
66  {
67      MEDIA_DEBUG_LOG("OH_CaptureSession_EnableAutoDeviceSwitch is called");
68      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
69          "Invaild argument, session is null!");
70      return session->EnableAutoDeviceSwitch(enabled);
71  }
72  #ifdef __cplusplus
73  extern "C" {
74  #endif
75  
OH_CaptureSession_RegisterCallback(Camera_CaptureSession * session,CaptureSession_Callbacks * callback)76  Camera_ErrorCode OH_CaptureSession_RegisterCallback(Camera_CaptureSession* session, CaptureSession_Callbacks* callback)
77  {
78      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
79      CHECK_AND_RETURN_RET_LOG(callback != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, callback is null!");
80      CHECK_AND_RETURN_RET_LOG(callback->onFocusStateChange != nullptr || callback->onError != nullptr,
81          CAMERA_INVALID_ARGUMENT, "Invaild argument, callback onFocusStateChange and onError are null!");
82  
83      session->RegisterCallback(callback);
84      return CAMERA_OK;
85  }
86  
OH_CaptureSession_UnregisterCallback(Camera_CaptureSession * session,CaptureSession_Callbacks * callback)87  Camera_ErrorCode OH_CaptureSession_UnregisterCallback(Camera_CaptureSession* session,
88      CaptureSession_Callbacks* callback)
89  {
90      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
91      CHECK_AND_RETURN_RET_LOG(callback != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, callback is null!");
92      CHECK_AND_RETURN_RET_LOG(callback->onFocusStateChange != nullptr || callback->onError != nullptr,
93          CAMERA_INVALID_ARGUMENT, "Invaild argument, callback onFocusStateChange and onError are null!");
94  
95      session->UnregisterCallback(callback);
96      return CAMERA_OK;
97  }
98  
OH_CaptureSession_RegisterSmoothZoomInfoCallback(Camera_CaptureSession * session,OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback)99  Camera_ErrorCode OH_CaptureSession_RegisterSmoothZoomInfoCallback(Camera_CaptureSession* session,
100      OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback)
101  {
102      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
103      CHECK_AND_RETURN_RET_LOG(smoothZoomInfoCallback != nullptr, CAMERA_INVALID_ARGUMENT,
104          "Invaild argument, callback is null!");
105      session->RegisterSmoothZoomInfoCallback(smoothZoomInfoCallback);
106      return CAMERA_OK;
107  }
108  
OH_CaptureSession_UnregisterSmoothZoomInfoCallback(Camera_CaptureSession * session,OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback)109  Camera_ErrorCode OH_CaptureSession_UnregisterSmoothZoomInfoCallback(Camera_CaptureSession* session,
110      OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback)
111  {
112      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
113      CHECK_AND_RETURN_RET_LOG(smoothZoomInfoCallback != nullptr, CAMERA_INVALID_ARGUMENT,
114          "Invaild argument, callback is null!");
115      session->UnregisterSmoothZoomInfoCallback(smoothZoomInfoCallback);
116      return CAMERA_OK;
117  }
118  
OH_CaptureSession_SetSessionMode(Camera_CaptureSession * session,Camera_SceneMode sceneMode)119  Camera_ErrorCode OH_CaptureSession_SetSessionMode(Camera_CaptureSession* session, Camera_SceneMode sceneMode)
120  {
121      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
122  
123      return session->SetSessionMode(sceneMode);
124  }
125  
OH_CaptureSession_AddSecureOutput(Camera_CaptureSession * session,Camera_PreviewOutput * previewOutput)126  Camera_ErrorCode OH_CaptureSession_AddSecureOutput(Camera_CaptureSession* session, Camera_PreviewOutput* previewOutput)
127  {
128      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invalid argument, session is null!");
129      CHECK_AND_RETURN_RET_LOG(previewOutput != nullptr,
130          CAMERA_INVALID_ARGUMENT, "Invalid argument, previewOutput is null!");
131      return session->AddSecureOutput(previewOutput);
132  }
133  
OH_CaptureSession_BeginConfig(Camera_CaptureSession * session)134  Camera_ErrorCode OH_CaptureSession_BeginConfig(Camera_CaptureSession* session)
135  {
136      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
137  
138      return session->BeginConfig();
139  }
140  
OH_CaptureSession_CommitConfig(Camera_CaptureSession * session)141  Camera_ErrorCode OH_CaptureSession_CommitConfig(Camera_CaptureSession* session)
142  {
143      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
144  
145      return session->CommitConfig();
146  }
147  
OH_CaptureSession_AddInput(Camera_CaptureSession * session,Camera_Input * cameraInput)148  Camera_ErrorCode OH_CaptureSession_AddInput(Camera_CaptureSession* session, Camera_Input* cameraInput)
149  {
150      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
151      CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
152          "Invaild argument, cameraInput is null!");
153  
154      return session->AddInput(cameraInput);
155  }
156  
OH_CaptureSession_RemoveInput(Camera_CaptureSession * session,Camera_Input * cameraInput)157  Camera_ErrorCode OH_CaptureSession_RemoveInput(Camera_CaptureSession* session, Camera_Input* cameraInput)
158  {
159      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
160      CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
161          "Invaild argument, cameraInput is null!");
162  
163      return session->RemoveInput(cameraInput);
164  }
165  
OH_CaptureSession_AddPreviewOutput(Camera_CaptureSession * session,Camera_PreviewOutput * previewOutput)166  Camera_ErrorCode OH_CaptureSession_AddPreviewOutput(Camera_CaptureSession* session,
167      Camera_PreviewOutput* previewOutput)
168  {
169      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
170      CHECK_AND_RETURN_RET_LOG(previewOutput != nullptr, CAMERA_INVALID_ARGUMENT,
171          "Invaild argument, previewOutput is null!");
172  
173      return session->AddPreviewOutput(previewOutput);
174  }
175  
OH_CaptureSession_RemovePreviewOutput(Camera_CaptureSession * session,Camera_PreviewOutput * previewOutput)176  Camera_ErrorCode OH_CaptureSession_RemovePreviewOutput(Camera_CaptureSession* session,
177      Camera_PreviewOutput* previewOutput)
178  {
179      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
180      CHECK_AND_RETURN_RET_LOG(previewOutput != nullptr, CAMERA_INVALID_ARGUMENT,
181          "Invaild argument, previewOutput is null!");
182  
183      return session->RemovePreviewOutput(previewOutput);
184  }
185  
OH_CaptureSession_AddPhotoOutput(Camera_CaptureSession * session,Camera_PhotoOutput * photoOutput)186  Camera_ErrorCode OH_CaptureSession_AddPhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* photoOutput)
187  {
188      MEDIA_DEBUG_LOG("OH_CaptureSession_AddPhotoOutput is called");
189      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
190      CHECK_AND_RETURN_RET_LOG(photoOutput != nullptr, CAMERA_INVALID_ARGUMENT,
191          "Invaild argument, photoOutput is null!");
192  
193      return session->AddPhotoOutput(photoOutput);
194  }
195  
OH_CaptureSession_RemovePhotoOutput(Camera_CaptureSession * session,Camera_PhotoOutput * photoOutput)196  Camera_ErrorCode OH_CaptureSession_RemovePhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* photoOutput)
197  {
198      MEDIA_DEBUG_LOG("OH_CaptureSession_RemovePhotoOutput is called");
199      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
200      CHECK_AND_RETURN_RET_LOG(photoOutput != nullptr, CAMERA_INVALID_ARGUMENT,
201          "Invaild argument, photoOutput is null!");
202  
203      return session->RemovePhotoOutput(photoOutput);
204  }
205  
OH_CaptureSession_AddMetadataOutput(Camera_CaptureSession * session,Camera_MetadataOutput * metadataOutput)206  Camera_ErrorCode OH_CaptureSession_AddMetadataOutput(Camera_CaptureSession* session,
207      Camera_MetadataOutput* metadataOutput)
208  {
209      MEDIA_DEBUG_LOG("OH_CaptureSession_AddMetadataOutput is called");
210      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
211      CHECK_AND_RETURN_RET_LOG(metadataOutput != nullptr, CAMERA_INVALID_ARGUMENT,
212          "Invaild argument, metadataOutput is null!");
213  
214      return session->AddMetaDataOutput(metadataOutput);
215  }
216  
OH_CaptureSession_RemoveMetadataOutput(Camera_CaptureSession * session,Camera_MetadataOutput * metadataOutput)217  Camera_ErrorCode OH_CaptureSession_RemoveMetadataOutput(Camera_CaptureSession* session,
218      Camera_MetadataOutput* metadataOutput)
219  {
220      MEDIA_DEBUG_LOG("OH_CaptureSession_RemoveMetadataOutput is called");
221      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
222      CHECK_AND_RETURN_RET_LOG(metadataOutput != nullptr, CAMERA_INVALID_ARGUMENT,
223          "Invaild argument, metadataOutput is null!");
224  
225      return session->RemoveMetaDataOutput(metadataOutput);
226  }
227  
OH_CaptureSession_IsVideoStabilizationModeSupported(Camera_CaptureSession * session,Camera_VideoStabilizationMode mode,bool * isSupported)228  Camera_ErrorCode OH_CaptureSession_IsVideoStabilizationModeSupported(Camera_CaptureSession* session,
229      Camera_VideoStabilizationMode mode, bool* isSupported)
230  {
231      MEDIA_DEBUG_LOG("OH_CaptureSession_IsVideoStabilizationModeSupported is called");
232      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
233      CHECK_AND_RETURN_RET_LOG(isSupported != nullptr, CAMERA_INVALID_ARGUMENT,
234          "Invaild argument, isSupported is null!");
235      CHECK_AND_RETURN_RET_LOG(mode == STABILIZATION_MODE_OFF ||
236          mode == STABILIZATION_MODE_LOW ||
237          mode == STABILIZATION_MODE_MIDDLE ||
238          mode == STABILIZATION_MODE_HIGH ||
239          mode == STABILIZATION_MODE_AUTO,
240          CAMERA_INVALID_ARGUMENT, "Invaild argument,mode is invaild!");
241  
242      return session->IsVideoStabilizationModeSupported(mode, isSupported);
243  }
244  
OH_CaptureSession_GetVideoStabilizationMode(Camera_CaptureSession * session,Camera_VideoStabilizationMode * mode)245  Camera_ErrorCode OH_CaptureSession_GetVideoStabilizationMode(Camera_CaptureSession* session,
246      Camera_VideoStabilizationMode* mode)
247  {
248      MEDIA_DEBUG_LOG("OH_CaptureSession_GetVideoStabilizationMode is called");
249      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
250      CHECK_AND_RETURN_RET_LOG(mode != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, mode is null!");
251  
252      return session->GetVideoStabilizationMode(mode);
253  }
254  
OH_CaptureSession_SetVideoStabilizationMode(Camera_CaptureSession * session,Camera_VideoStabilizationMode mode)255  Camera_ErrorCode OH_CaptureSession_SetVideoStabilizationMode(Camera_CaptureSession* session,
256      Camera_VideoStabilizationMode mode)
257  {
258      MEDIA_DEBUG_LOG("OH_CaptureSession_SetVideoStabilizationMode is called");
259      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
260      CHECK_AND_RETURN_RET_LOG(mode == STABILIZATION_MODE_OFF ||
261          mode == STABILIZATION_MODE_LOW ||
262          mode == STABILIZATION_MODE_MIDDLE ||
263          mode == STABILIZATION_MODE_HIGH ||
264          mode == STABILIZATION_MODE_AUTO,
265          CAMERA_INVALID_ARGUMENT, "Invaild argument,mode is invaild!");
266  
267      return session->SetVideoStabilizationMode(mode);
268  }
269  
OH_CaptureSession_GetZoomRatioRange(Camera_CaptureSession * session,float * minZoom,float * maxZoom)270  Camera_ErrorCode OH_CaptureSession_GetZoomRatioRange(Camera_CaptureSession* session, float* minZoom, float* maxZoom)
271  {
272      MEDIA_DEBUG_LOG("OH_CaptureSession_GetZoomRatioRange is called");
273      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
274      CHECK_AND_RETURN_RET_LOG(minZoom != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, minZoom is null!");
275      CHECK_AND_RETURN_RET_LOG(maxZoom != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, maxZoom is null!");
276  
277      return session->GetZoomRatioRange(minZoom, maxZoom);
278  }
279  
OH_CaptureSession_GetZoomRatio(Camera_CaptureSession * session,float * zoom)280  Camera_ErrorCode OH_CaptureSession_GetZoomRatio(Camera_CaptureSession* session, float* zoom)
281  {
282      MEDIA_DEBUG_LOG("OH_CaptureSession_GetZoomRatio is called");
283      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
284      CHECK_AND_RETURN_RET_LOG(zoom != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, zoom is null!");
285  
286      return session->GetZoomRatio(zoom);
287  }
288  
OH_CaptureSession_SetZoomRatio(Camera_CaptureSession * session,float zoom)289  Camera_ErrorCode OH_CaptureSession_SetZoomRatio(Camera_CaptureSession* session, float zoom)
290  {
291      MEDIA_DEBUG_LOG("OH_CaptureSession_SetZoomRatio is called");
292      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
293  
294      return session->SetZoomRatio(zoom);
295  }
296  
OH_CaptureSession_IsFocusModeSupported(Camera_CaptureSession * session,Camera_FocusMode focusMode,bool * isSupported)297  Camera_ErrorCode OH_CaptureSession_IsFocusModeSupported(Camera_CaptureSession* session,
298      Camera_FocusMode focusMode, bool* isSupported)
299  {
300      MEDIA_DEBUG_LOG("OH_CaptureSession_IsFocusModeSupported is called");
301      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
302      CHECK_AND_RETURN_RET_LOG(isSupported != nullptr, CAMERA_INVALID_ARGUMENT,
303          "Invaild argument, isSupported is null!");
304      CHECK_AND_RETURN_RET_LOG(focusMode == FOCUS_MODE_MANUAL ||
305          focusMode == FOCUS_MODE_CONTINUOUS_AUTO ||
306          focusMode == FOCUS_MODE_AUTO ||
307          focusMode == FOCUS_MODE_LOCKED,
308          CAMERA_INVALID_ARGUMENT, "Invaild argument, focusMode is invaild!");
309  
310      return session->IsFocusModeSupported(focusMode, isSupported);
311  }
312  
OH_CaptureSession_GetFocusMode(Camera_CaptureSession * session,Camera_FocusMode * focusMode)313  Camera_ErrorCode OH_CaptureSession_GetFocusMode(Camera_CaptureSession* session, Camera_FocusMode* focusMode)
314  {
315      MEDIA_DEBUG_LOG("OH_CaptureSession_GetFocusMode is called");
316      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
317      CHECK_AND_RETURN_RET_LOG(focusMode != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, focusMode is null!");
318  
319      return session->GetFocusMode(focusMode);
320  }
321  
OH_CaptureSession_SetFocusMode(Camera_CaptureSession * session,Camera_FocusMode focusMode)322  Camera_ErrorCode OH_CaptureSession_SetFocusMode(Camera_CaptureSession* session, Camera_FocusMode focusMode)
323  {
324      MEDIA_DEBUG_LOG("OH_CaptureSession_SetFocusMode is called");
325      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
326      CHECK_AND_RETURN_RET_LOG(focusMode == FOCUS_MODE_MANUAL ||
327          focusMode == FOCUS_MODE_CONTINUOUS_AUTO ||
328          focusMode == FOCUS_MODE_AUTO ||
329          focusMode == FOCUS_MODE_LOCKED,
330          CAMERA_INVALID_ARGUMENT, "Invaild argument, focusMode is invaild!");
331  
332      return session->SetFocusMode(focusMode);
333  }
334  
OH_CaptureSession_SetFocusPoint(Camera_CaptureSession * session,Camera_Point focusPoint)335  Camera_ErrorCode OH_CaptureSession_SetFocusPoint(Camera_CaptureSession* session, Camera_Point focusPoint)
336  {
337      MEDIA_DEBUG_LOG("OH_CaptureSession_SetFocusPoint is called");
338      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
339  
340      return session->SetFocusPoint(focusPoint);
341  }
342  
OH_CaptureSession_GetFocusPoint(Camera_CaptureSession * session,Camera_Point * focusPoint)343  Camera_ErrorCode OH_CaptureSession_GetFocusPoint(Camera_CaptureSession* session, Camera_Point* focusPoint)
344  {
345      MEDIA_DEBUG_LOG("OH_CaptureSession_GetFocusPoint is called");
346      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
347      CHECK_AND_RETURN_RET_LOG(focusPoint != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, focusPoint is null!");
348  
349      return session->GetFocusPoint(focusPoint);
350  }
351  
OH_CaptureSession_AddVideoOutput(Camera_CaptureSession * session,Camera_VideoOutput * videoOutput)352  Camera_ErrorCode OH_CaptureSession_AddVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* videoOutput)
353  {
354      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
355      CHECK_AND_RETURN_RET_LOG(videoOutput != nullptr, CAMERA_INVALID_ARGUMENT,
356          "Invaild argument, videoOutput is null!");
357  
358      return session->AddVideoOutput(videoOutput);
359  }
360  
OH_CaptureSession_RemoveVideoOutput(Camera_CaptureSession * session,Camera_VideoOutput * videoOutput)361  Camera_ErrorCode OH_CaptureSession_RemoveVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* videoOutput)
362  {
363      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
364      CHECK_AND_RETURN_RET_LOG(videoOutput != nullptr, CAMERA_INVALID_ARGUMENT,
365          "Invaild argument, videoOutput is null!");
366  
367      return session->RemoveVideoOutput(videoOutput);
368  }
369  
OH_CaptureSession_Start(Camera_CaptureSession * session)370  Camera_ErrorCode OH_CaptureSession_Start(Camera_CaptureSession* session)
371  {
372      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
373  
374      return session->Start();
375  }
376  
OH_CaptureSession_Stop(Camera_CaptureSession * session)377  Camera_ErrorCode OH_CaptureSession_Stop(Camera_CaptureSession* session)
378  {
379      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
380  
381      return session->Stop();
382  }
383  
OH_CaptureSession_Release(Camera_CaptureSession * session)384  Camera_ErrorCode OH_CaptureSession_Release(Camera_CaptureSession* session)
385  {
386      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
387  
388      Camera_ErrorCode retCode = session->Release();
389      if (session != nullptr) {
390          delete session;
391      }
392      return retCode;
393  }
394  
OH_CaptureSession_HasFlash(Camera_CaptureSession * session,bool * hasFlash)395  Camera_ErrorCode OH_CaptureSession_HasFlash(Camera_CaptureSession* session, bool* hasFlash)
396  {
397      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
398      CHECK_AND_RETURN_RET_LOG(hasFlash != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, hasFlash is null!");
399  
400      return session->HasFlash(hasFlash);
401  }
402  
OH_CaptureSession_IsFlashModeSupported(Camera_CaptureSession * session,Camera_FlashMode flashMode,bool * isSupported)403  Camera_ErrorCode OH_CaptureSession_IsFlashModeSupported(Camera_CaptureSession* session,
404      Camera_FlashMode flashMode, bool* isSupported)
405  {
406      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
407      CHECK_AND_RETURN_RET_LOG(isSupported != nullptr, CAMERA_INVALID_ARGUMENT,
408          "Invaild argument, isSupported is null!");
409  
410      return session->IsFlashModeSupported(flashMode, isSupported);
411  }
412  
OH_CaptureSession_GetFlashMode(Camera_CaptureSession * session,Camera_FlashMode * flashMode)413  Camera_ErrorCode OH_CaptureSession_GetFlashMode(Camera_CaptureSession* session, Camera_FlashMode* flashMode)
414  {
415      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
416      CHECK_AND_RETURN_RET_LOG(flashMode != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, flashMode is null!");
417  
418      return session->GetFlashMode(flashMode);
419  }
420  
OH_CaptureSession_SetFlashMode(Camera_CaptureSession * session,Camera_FlashMode flashMode)421  Camera_ErrorCode OH_CaptureSession_SetFlashMode(Camera_CaptureSession* session, Camera_FlashMode flashMode)
422  {
423      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
424  
425      CHECK_AND_RETURN_RET_LOG(flashMode == FLASH_MODE_CLOSE ||
426          flashMode == FLASH_MODE_OPEN ||
427          flashMode == FLASH_MODE_AUTO ||
428          flashMode == FLASH_MODE_ALWAYS_OPEN,
429          CAMERA_INVALID_ARGUMENT, "Invaild argument, flashMode is invaild!");
430  
431      return session->SetFlashMode(flashMode);
432  }
433  
OH_CaptureSession_IsExposureModeSupported(Camera_CaptureSession * session,Camera_ExposureMode exposureMode,bool * isSupported)434  Camera_ErrorCode OH_CaptureSession_IsExposureModeSupported(Camera_CaptureSession* session,
435      Camera_ExposureMode exposureMode, bool* isSupported)
436  {
437      MEDIA_DEBUG_LOG("OH_CaptureSession_IsExposureModeSupported is called");
438      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
439      CHECK_AND_RETURN_RET_LOG(isSupported != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, isSupported is null!");
440      CHECK_AND_RETURN_RET_LOG(exposureMode == EXPOSURE_MODE_LOCKED ||
441          exposureMode == EXPOSURE_MODE_AUTO ||
442          exposureMode == EXPOSURE_MODE_CONTINUOUS_AUTO,
443          CAMERA_INVALID_ARGUMENT, "Invaild argument,exposureMode is invalid");
444      return session->IsExposureModeSupported(exposureMode, isSupported);
445  }
446  
OH_CaptureSession_GetExposureMode(Camera_CaptureSession * session,Camera_ExposureMode * exposureMode)447  Camera_ErrorCode OH_CaptureSession_GetExposureMode(Camera_CaptureSession* session, Camera_ExposureMode* exposureMode)
448  {
449      MEDIA_DEBUG_LOG("OH_CaptureSession_GetExposureMode is called");
450      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
451      CHECK_AND_RETURN_RET_LOG(exposureMode != nullptr, CAMERA_INVALID_ARGUMENT,
452          "Invaild argument, exposureMode is null!");
453      return session->GetExposureMode(exposureMode);
454  }
455  
OH_CaptureSession_SetExposureMode(Camera_CaptureSession * session,Camera_ExposureMode exposureMode)456  Camera_ErrorCode OH_CaptureSession_SetExposureMode(Camera_CaptureSession* session, Camera_ExposureMode exposureMode)
457  {
458      MEDIA_DEBUG_LOG("OH_CaptureSession_SetExposureMode is called");
459      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
460      CHECK_AND_RETURN_RET_LOG(exposureMode == EXPOSURE_MODE_LOCKED ||
461          exposureMode == EXPOSURE_MODE_AUTO ||
462          exposureMode == EXPOSURE_MODE_CONTINUOUS_AUTO,
463          CAMERA_INVALID_ARGUMENT, "Invaild argument,exposureMode is invalid");
464      return session->SetExposureMode(exposureMode);
465  }
466  
OH_CaptureSession_GetMeteringPoint(Camera_CaptureSession * session,Camera_Point * point)467  Camera_ErrorCode OH_CaptureSession_GetMeteringPoint(Camera_CaptureSession* session, Camera_Point* point)
468  {
469      MEDIA_DEBUG_LOG("OH_CaptureSession_GetMeteringPoint is called");
470      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
471      CHECK_AND_RETURN_RET_LOG(point != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, point is null!");
472      return session->GetMeteringPoint(point);
473  }
474  
OH_CaptureSession_SetMeteringPoint(Camera_CaptureSession * session,Camera_Point point)475  Camera_ErrorCode OH_CaptureSession_SetMeteringPoint(Camera_CaptureSession* session, Camera_Point point)
476  {
477      MEDIA_DEBUG_LOG("OH_CaptureSession_SetMeteringPoint is called");
478      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
479      CHECK_AND_RETURN_RET_LOG(point.x >= 0 && point.y >= 0, CAMERA_INVALID_ARGUMENT,
480          "Invaild argument, point is illeagal!");
481      return session->SetMeteringPoint(point);
482  }
483  
OH_CaptureSession_GetExposureBiasRange(Camera_CaptureSession * session,float * minExposureBias,float * maxExposureBias,float * step)484  Camera_ErrorCode OH_CaptureSession_GetExposureBiasRange(Camera_CaptureSession* session,
485      float* minExposureBias, float* maxExposureBias, float* step)
486  {
487      MEDIA_DEBUG_LOG("OH_CaptureSession_GetExposureBiasRange is called");
488      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
489      CHECK_AND_RETURN_RET_LOG(minExposureBias != nullptr, CAMERA_INVALID_ARGUMENT,
490          "Invaild argument, minExposureBias is null!");
491      CHECK_AND_RETURN_RET_LOG(maxExposureBias != nullptr, CAMERA_INVALID_ARGUMENT,
492          "Invaild argument, maxExposureBias is null!");
493      CHECK_AND_RETURN_RET_LOG(step != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, step is null!");
494      return session->GetExposureBiasRange(minExposureBias, maxExposureBias, step);
495  }
496  
OH_CaptureSession_SetExposureBias(Camera_CaptureSession * session,float exposureBias)497  Camera_ErrorCode OH_CaptureSession_SetExposureBias(Camera_CaptureSession* session, float exposureBias)
498  {
499      MEDIA_DEBUG_LOG("OH_CaptureSession_SetExposureBias is called");
500      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
501      return session->SetExposureBias(exposureBias);
502  }
OH_CaptureSession_GetExposureBias(Camera_CaptureSession * session,float * exposureBias)503  Camera_ErrorCode OH_CaptureSession_GetExposureBias(Camera_CaptureSession* session, float* exposureBias)
504  {
505      MEDIA_DEBUG_LOG("OH_CaptureSession_GetExposureBias is called");
506      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invaild argument, session is null!");
507      CHECK_AND_RETURN_RET_LOG(exposureBias != nullptr, CAMERA_INVALID_ARGUMENT,
508          "Invaild argument, exposureBias is null!");
509      return session->GetExposureBias(exposureBias);
510  }
511  
OH_CaptureSession_CanAddInput(Camera_CaptureSession * session,Camera_Input * cameraInput,bool * isSuccessful)512  Camera_ErrorCode OH_CaptureSession_CanAddInput(Camera_CaptureSession* session,
513      Camera_Input* cameraInput, bool* isSuccessful)
514  {
515      MEDIA_DEBUG_LOG("OH_CaptureSession_CanAddInput is called");
516      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
517          "Invaild argument, session is null!");
518      CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
519          "Invaild argument, cameraInput is null!");
520      CHECK_AND_RETURN_RET_LOG(isSuccessful != nullptr, CAMERA_INVALID_ARGUMENT,
521          "Invaild argument, isSuccessful is null!");
522  
523      return session->CanAddInput(cameraInput, isSuccessful);
524  }
525  
OH_CaptureSession_CanAddPreviewOutput(Camera_CaptureSession * session,Camera_PreviewOutput * cameraOutput,bool * isSuccessful)526  Camera_ErrorCode OH_CaptureSession_CanAddPreviewOutput(Camera_CaptureSession* session,
527      Camera_PreviewOutput* cameraOutput, bool* isSuccessful)
528  {
529      MEDIA_DEBUG_LOG("OH_CaptureSession_CanAddPreviewOutput is called");
530      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
531          "Invaild argument, session is null!");
532      CHECK_AND_RETURN_RET_LOG(cameraOutput != nullptr, CAMERA_INVALID_ARGUMENT,
533          "Invaild argument, cameraOutput is null!");
534      CHECK_AND_RETURN_RET_LOG(isSuccessful != nullptr, CAMERA_INVALID_ARGUMENT,
535          "Invaild argument, isSuccessful is null!");
536  
537      return session->CanAddPreviewOutput(cameraOutput, isSuccessful);
538  }
539  
OH_CaptureSession_CanAddPhotoOutput(Camera_CaptureSession * session,Camera_PhotoOutput * cameraOutput,bool * isSuccessful)540  Camera_ErrorCode OH_CaptureSession_CanAddPhotoOutput(Camera_CaptureSession* session,
541      Camera_PhotoOutput* cameraOutput, bool* isSuccessful)
542  {
543      MEDIA_DEBUG_LOG("OH_CaptureSession_CanAddPhotoOutput is called");
544      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
545          "Invaild argument, session is null!");
546      CHECK_AND_RETURN_RET_LOG(cameraOutput != nullptr, CAMERA_INVALID_ARGUMENT,
547          "Invaild argument, cameraOutput is null!");
548      CHECK_AND_RETURN_RET_LOG(isSuccessful != nullptr, CAMERA_INVALID_ARGUMENT,
549          "Invaild argument, isSuccessful is null!");
550  
551      return session->CanAddPhotoOutput(cameraOutput, isSuccessful);
552  }
553  
OH_CaptureSession_CanAddVideoOutput(Camera_CaptureSession * session,Camera_VideoOutput * cameraOutput,bool * isSuccessful)554  Camera_ErrorCode OH_CaptureSession_CanAddVideoOutput(Camera_CaptureSession* session,
555      Camera_VideoOutput* cameraOutput, bool* isSuccessful)
556  {
557      MEDIA_DEBUG_LOG("OH_CaptureSession_CanAddVideoOutput is called");
558      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
559          "Invaild argument, session is null!");
560      CHECK_AND_RETURN_RET_LOG(cameraOutput != nullptr, CAMERA_INVALID_ARGUMENT,
561          "Invaild argument, cameraOutput is null!");
562      CHECK_AND_RETURN_RET_LOG(isSuccessful != nullptr, CAMERA_INVALID_ARGUMENT,
563          "Invaild argument, isSuccessful is null!");
564  
565      return session->CanAddVideoOutput(cameraOutput, isSuccessful);
566  }
567  
OH_CaptureSession_CanPreconfig(Camera_CaptureSession * session,Camera_PreconfigType preconfigType,bool * canPreconfig)568  Camera_ErrorCode OH_CaptureSession_CanPreconfig(Camera_CaptureSession* session,
569      Camera_PreconfigType preconfigType, bool* canPreconfig)
570  {
571      MEDIA_DEBUG_LOG("OH_CaptureSession_CanPreconfig is called.");
572      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
573          "Invaild argument, session is null!");
574      CHECK_AND_RETURN_RET_LOG(canPreconfig != nullptr, CAMERA_INVALID_ARGUMENT,
575          "Invaild argument, canPreconfig is null!");
576  
577      return session->CanPreconfig(preconfigType, canPreconfig);
578  }
579  
OH_CaptureSession_CanPreconfigWithRatio(Camera_CaptureSession * session,Camera_PreconfigType preconfigType,Camera_PreconfigRatio preconfigRatio,bool * canPreconfig)580  Camera_ErrorCode OH_CaptureSession_CanPreconfigWithRatio(Camera_CaptureSession* session,
581      Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio, bool* canPreconfig)
582  {
583      MEDIA_DEBUG_LOG("OH_CaptureSession_CanPreconfigWithRatio is called.");
584      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
585          "Invaild argument, session is null!");
586      CHECK_AND_RETURN_RET_LOG(canPreconfig != nullptr, CAMERA_INVALID_ARGUMENT,
587          "Invaild argument, canPreconfig is null!");
588  
589      return session->CanPreconfigWithRatio(preconfigType, preconfigRatio, canPreconfig);
590  }
591  
OH_CaptureSession_Preconfig(Camera_CaptureSession * session,Camera_PreconfigType preconfigType)592  Camera_ErrorCode OH_CaptureSession_Preconfig(Camera_CaptureSession* session, Camera_PreconfigType preconfigType)
593  {
594      MEDIA_DEBUG_LOG("OH_CaptureSession_Preconfig is called.");
595      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
596          "Invaild argument, session is null!");
597  
598      return session->Preconfig(preconfigType);
599  }
600  
OH_CaptureSession_PreconfigWithRatio(Camera_CaptureSession * session,Camera_PreconfigType preconfigType,Camera_PreconfigRatio preconfigRatio)601  Camera_ErrorCode OH_CaptureSession_PreconfigWithRatio(Camera_CaptureSession* session,
602      Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio)
603  {
604      MEDIA_DEBUG_LOG("OH_CaptureSession_PreconfigWithRatio is called.");
605      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
606          "Invaild argument, session is null!");
607  
608      return session->PreconfigWithRatio(preconfigType, preconfigRatio);
609  }
610  
611  /**
612   * @since 12
613   * @version 1.0
614   */
OH_CaptureSession_GetExposureValue(Camera_CaptureSession * session,float * exposureValue)615  Camera_ErrorCode OH_CaptureSession_GetExposureValue(Camera_CaptureSession* session, float* exposureValue)
616  {
617      MEDIA_DEBUG_LOG("OH_CaptureSession_GetExposureValue is called");
618      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
619          "Invaild argument, session is null!");
620      CHECK_AND_RETURN_RET_LOG(exposureValue != nullptr, CAMERA_INVALID_ARGUMENT,
621          "Invaild argument, exposureValue is null!");
622  
623      return session->GetExposureValue(exposureValue);
624  }
625  
626  /**
627   * @since 12
628   * @version 1.0
629   */
OH_CaptureSession_GetFocalLength(Camera_CaptureSession * session,float * focalLength)630  Camera_ErrorCode OH_CaptureSession_GetFocalLength(Camera_CaptureSession* session, float* focalLength)
631  {
632      MEDIA_DEBUG_LOG("OH_CaptureSession_GetFocalLength is called");
633      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
634          "Invaild argument, session is null!");
635      CHECK_AND_RETURN_RET_LOG(focalLength != nullptr, CAMERA_INVALID_ARGUMENT,
636          "Invaild argument, focalLength is null!");
637  
638      return session->GetFocalLength(focalLength);
639  }
640  
641  /**
642   * @since 12
643   * @version 1.0
644   */
OH_CaptureSession_SetSmoothZoom(Camera_CaptureSession * session,float targetZoom,Camera_SmoothZoomMode smoothZoomMode)645  Camera_ErrorCode OH_CaptureSession_SetSmoothZoom(Camera_CaptureSession *session, float targetZoom,
646      Camera_SmoothZoomMode smoothZoomMode)
647  {
648      MEDIA_DEBUG_LOG("OH_CaptureSession_SetSmoothZoom is called");
649      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
650          "Invaild argument, session is null!");
651  
652      return session->SetSmoothZoom(targetZoom, smoothZoomMode);
653  }
654  
655  /**
656   * @since 12
657   * @version 1.0
658   */
OH_CaptureSession_GetSupportedColorSpaces(Camera_CaptureSession * session,OH_NativeBuffer_ColorSpace ** colorSpace,uint32_t * size)659  Camera_ErrorCode OH_CaptureSession_GetSupportedColorSpaces(Camera_CaptureSession* session,
660      OH_NativeBuffer_ColorSpace** colorSpace, uint32_t* size)
661  {
662      MEDIA_DEBUG_LOG("OH_CaptureSession_GetSupportedColorSpaces is called");
663      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
664          "Invaild argument, session is null!");
665      CHECK_AND_RETURN_RET_LOG(colorSpace != nullptr, CAMERA_INVALID_ARGUMENT,
666          "Invaild argument, colorSpace is null!");
667      CHECK_AND_RETURN_RET_LOG(size != nullptr, CAMERA_INVALID_ARGUMENT,
668          "Invaild argument, size is null!");
669  
670      return session->GetSupportedColorSpaces(colorSpace, size);
671  }
672  
673  /**
674   * @since 12
675   * @version 1.0
676   */
OH_CaptureSession_DeleteColorSpaces(Camera_CaptureSession * session,OH_NativeBuffer_ColorSpace * colorSpace)677  Camera_ErrorCode OH_CaptureSession_DeleteColorSpaces(Camera_CaptureSession* session,
678      OH_NativeBuffer_ColorSpace* colorSpace)
679  {
680      MEDIA_DEBUG_LOG("OH_CaptureSession_DeleteSupportedColorSpaces is called");
681      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
682          "Invaild argument, session is null!");
683      CHECK_AND_RETURN_RET_LOG(colorSpace != nullptr, CAMERA_INVALID_ARGUMENT,
684          "Invaild argument, colorSpace is null!");
685  
686      return session->DeleteColorSpaces(colorSpace);
687  }
688  
689  /**
690   * @since 12
691   * @version 1.0
692   */
OH_CaptureSession_GetActiveColorSpace(Camera_CaptureSession * session,OH_NativeBuffer_ColorSpace * colorSpace)693  Camera_ErrorCode OH_CaptureSession_GetActiveColorSpace(Camera_CaptureSession* session,
694      OH_NativeBuffer_ColorSpace* colorSpace)
695  {
696      MEDIA_DEBUG_LOG("OH_CaptureSession_GetActiveColorSpace is called");
697      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
698          "Invaild argument, session is null!");
699      CHECK_AND_RETURN_RET_LOG(colorSpace != nullptr, CAMERA_INVALID_ARGUMENT,
700          "Invaild argument, colorSpace is null!");
701  
702      return session->GetActiveColorSpace(colorSpace);
703  }
704  
705  /**
706   * @since 12
707   * @version 1.0
708   */
OH_CaptureSession_SetActiveColorSpace(Camera_CaptureSession * session,OH_NativeBuffer_ColorSpace colorSpace)709  Camera_ErrorCode OH_CaptureSession_SetActiveColorSpace(Camera_CaptureSession* session,
710      OH_NativeBuffer_ColorSpace colorSpace)
711  {
712      MEDIA_DEBUG_LOG("OH_CaptureSession_SetActiveColorSpace is called");
713      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT,
714          "Invaild argument, session is null!");
715  
716      return session->SetActiveColorSpace(colorSpace);
717  }
718  
719  /**
720   * @since 14
721   * @version 1.0
722   */
OH_CaptureSession_SetQualityPrioritization(Camera_CaptureSession * session,Camera_QualityPrioritization qualityPrioritization)723  Camera_ErrorCode OH_CaptureSession_SetQualityPrioritization(
724      Camera_CaptureSession* session, Camera_QualityPrioritization qualityPrioritization)
725  {
726      MEDIA_DEBUG_LOG("OH_CaptureSession_SetQualityPrioritization is called");
727      CHECK_AND_RETURN_RET_LOG(session != nullptr, CAMERA_INVALID_ARGUMENT, "Invalid argument, session is null!");
728  
729      return session->SetQualityPrioritization(qualityPrioritization);
730  }
731  
732  #ifdef __cplusplus
733  }
734  #endif