1/* 2 * Copyright (c) 2025 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 16package OHOS.CameraStandard; 17import CameraTypes; 18import IStreamCaptureCallback; 19import IStreamCapturePhotoAssetCallback; 20 21interface IStreamCommon; 22interface OHOS.IBufferProducer; 23interface OHOS.CameraStandard.IStreamCapturePhotoCallback; 24interface OHOS.CameraStandard.IStreamCaptureThumbnailCallback; 25 26sequenceable CameraMetadataInfo..OHOS.Camera.CameraMetadata; 27sequenceable CameraPhotoProxy..OHOS.CameraStandard.CameraPhotoProxy; 28sequenceable PictureInterface..OHOS.CameraStandard.PictureIntf; 29option_stub_hooks on; 30 31interface IStreamCapture extends IStreamCommon { 32 [ipccode 0] void Capture([in] sharedptr<CameraMetadata> captureSettings); 33 [ipccode 1] void CancelCapture(); 34 [ipccode 2] void SetCallback([in] IStreamCaptureCallback callbackFunc); 35 [ipccode 3] void Release(); 36 [ipccode 4] void SetThumbnail([in] boolean isEnabled); 37 [ipccode 5] void ConfirmCapture(); 38 [ipccode 6] void DeferImageDeliveryFor([in] int type); 39 [ipccode 7] void IsDeferredPhotoEnabled(); 40 [ipccode 8] void IsDeferredVideoEnabled(); 41 [ipccode 9] void SetBufferProducerInfo([in] String bufName, [in] IBufferProducer producer); 42 [ipccode 10] void SetMovingPhotoVideoCodecType([in] int videoCodecType); 43 [ipccode 11] void EnableRawDelivery([in] boolean enabled); 44 [ipccode 12] void SetCameraPhotoRotation([in] boolean isEnable); 45 [ipccode 13] void EnableMovingPhoto([in] boolean enabled); 46 [ipccode 16] void UnSetCallback(); 47 [ipccode 17] void EnableOfflinePhoto([in] boolean isEnable); 48 [ipccode 18] void SetPhotoAvailableCallback([in] IStreamCapturePhotoCallback callbackFunc); 49 [ipccode 19] void SetPhotoAssetAvailableCallback([in] IStreamCapturePhotoAssetCallback callbackFunc); 50 [ipccode 20] void SetThumbnailCallback([in] IStreamCaptureThumbnailCallback callbackFunc); 51 [ipccode 21] void UnSetPhotoAvailableCallback(); 52 [ipccode 22] void UnSetPhotoAssetAvailableCallback(); 53 [ipccode 23] void UnSetThumbnailCallback(); 54 [ipccode 24] void CreateMediaLibrary([in] sptr<CameraPhotoProxy> photoProxy, [out] String uri, [out] int cameraShotType, [out] String burstKey, [in] long timestamp); 55}