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}