• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2022 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
17export async function initCaptureSession(cameraInput, videoOutPut, cameraManager, previewOutput) {
18    await cameraInput.open().then(() => {
19        console.info('[camera] case cameraInput.open() called');
20    }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback);
21    console.info('[camera] case cameraInput open success');
22    let captureSession = cameraManager.createCaptureSession();
23    console.info('[camera] case createCaptureSession success');
24    captureSession.beginConfig();
25    console.info('[camera] case beginConfig success');
26    captureSession.addInput(cameraInput);
27    console.info('[camera] case addInput(cameraInput) success');
28    captureSession.addOutput(previewOutput);
29    console.info('[camera] case addOutput(previewOutput) success');
30    captureSession.addOutput(videoOutPut);
31    console.info('[camera] case addOutput(videoOutPut) success');
32    await captureSession.commitConfig().then(() => {
33        console.info('[camera] case commitConfig');
34    }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback);
35    console.info('[camera] case commitConfig success');
36    await captureSession.start().then(() => {
37        console.info('[camera] case captureSession.start()');
38    }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback);
39    console.info('[camera] case captureSession.start() success');
40    return captureSession;
41}
42
43export async function stopCaptureSession(captureSession) {
44    await captureSession.stop().then(() => {
45        console.info('[camera] case captureSession stop success');
46    });
47    await captureSession.release().then(() => {
48        console.info('[camera] case captureSession release success');
49    });
50}