fdb54f3b创建于 2025年8月15日历史提交
/*
 * Copyright (c) 2025 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.
 */

package OHOS.CameraStandard;
import CameraTypes;
import IStreamCaptureCallback;
import IStreamCapturePhotoAssetCallback;

interface IStreamCommon;
interface OHOS.IBufferProducer;
interface OHOS.CameraStandard.IStreamCapturePhotoCallback;
interface OHOS.CameraStandard.IStreamCaptureThumbnailCallback;

sequenceable CameraMetadataInfo..OHOS.Camera.CameraMetadata;
sequenceable CameraPhotoProxy..OHOS.CameraStandard.CameraPhotoProxy;
sequenceable PictureInterface..OHOS.CameraStandard.PictureIntf;
option_stub_hooks on;

interface IStreamCapture extends IStreamCommon {
  [ipccode 0] void Capture([in] sharedptr<CameraMetadata> captureSettings);
  [ipccode 1] void CancelCapture();
  [ipccode 2] void SetCallback([in] IStreamCaptureCallback callbackFunc);
  [ipccode 3] void Release();
  [ipccode 4] void SetThumbnail([in] boolean isEnabled);
  [ipccode 5] void ConfirmCapture();
  [ipccode 6] void DeferImageDeliveryFor([in] int type);
  [ipccode 7] void IsDeferredPhotoEnabled();
  [ipccode 8] void IsDeferredVideoEnabled();
  [ipccode 9] void SetBufferProducerInfo([in] String bufName, [in] IBufferProducer producer);
  [ipccode 10] void SetMovingPhotoVideoCodecType([in] int videoCodecType);
  [ipccode 11] void EnableRawDelivery([in] boolean enabled);
  [ipccode 12] void SetCameraPhotoRotation([in] boolean isEnable);
  [ipccode 13] void EnableMovingPhoto([in] boolean enabled);
  [ipccode 16] void UnSetCallback();
  [ipccode 17] void EnableOfflinePhoto([in] boolean isEnable);
  [ipccode 18] void SetPhotoAvailableCallback([in] IStreamCapturePhotoCallback callbackFunc);
  [ipccode 19] void SetPhotoAssetAvailableCallback([in] IStreamCapturePhotoAssetCallback callbackFunc);
  [ipccode 20] void SetThumbnailCallback([in] IStreamCaptureThumbnailCallback callbackFunc);
  [ipccode 21] void UnSetPhotoAvailableCallback();
  [ipccode 22] void UnSetPhotoAssetAvailableCallback();
  [ipccode 23] void UnSetThumbnailCallback();
  [ipccode 24] void CreateMediaLibrary([in] sptr<CameraPhotoProxy> photoProxy, [out] String uri, [out] int cameraShotType, [out] String burstKey, [in] long timestamp);
}