1/*
2 * Copyright (c) 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/**
17 * @file istream_operator.h
18 *
19 * @brief Declares APIs for stream operations.
20 *
21 * @since 4.1
22 * @version 1.2
23 */
24
25package ohos.hdi.camera.v1_2;
26
27import ohos.hdi.camera.v1_1.IStreamOperator;
28import ohos.hdi.camera.v1_2.Types;
29
30interface IStreamOperator extends ohos.hdi.camera.v1_1.IStreamOperator {
31
32    /**
33     * @brief Update streams.
34     *
35     * The function must be called after Loop CancelCaptures {@link CancelCaptures}.
36     *
37     * @param streamInfos Indicates the list of stream information, which is defined by {@link StreamInfo}.
38     * The passed stream information may be changed. Therefore, you can run {@link GetStreamAttributes} to
39     * obtain the latest stream attributes after the stream is created.
40     *
41     * @return Returns <b>NO_ERROR</b> if the operation is successful;
42     * returns an error code defined in {@link CamRetCode} otherwise.
43     *
44     * @since 4.1
45     * @version 1.2
46     */
47    UpdateStreams([in] struct StreamInfo_V1_1[] streamInfos);
48
49    /**
50     * @brief Confirm capture.
51     *
52     * The function must be called after start capture, the scene is in night view mode.
53     *
54     * @param captureId Indicates the ID of the stream to confirm.
55     *
56     * @return Returns <b>NO_ERROR</b> if the operation is successful;
57     * returns an error code defined in {@link CamRetCode} otherwise.
58     *
59     * @since 4.1
60     * @version 1.2
61     */
62    ConfirmCapture([in] int captureId);
63}
64