未验证 提交 6b6a1cd8 编写于 作者: O openharmony_ci 提交者: Gitee

!1848 videoRecorder 测试代码添加camera组件功能

Merge pull request !1848 from FULIZHONG/recorder0209
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
*/ */
import media from '@ohos.multimedia.media' import media from '@ohos.multimedia.media'
import mediademo from '@ohos.multimedia.mediademo' import camera from '@ohos.multimedia.camera'
import mediaLibrary from '@ohos.multimedia.mediaLibrary'
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
describe('VideoRecorderAPICallbackTest', function () { describe('VideoRecorderAPICallbackTest', function () {
...@@ -37,8 +38,11 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -37,8 +38,11 @@ describe('VideoRecorderAPICallbackTest', function () {
const SETPAUSE = 'setPause'; const SETPAUSE = 'setPause';
const CLOSE_STREAM = 'close_stream'; const CLOSE_STREAM = 'close_stream';
const ERROR_EVENT = 'error'; const ERROR_EVENT = 'error';
let surfaceID = null; let cameraManager;
let mediaTest = null; let cameras;
let captureSession;
let videoOutput;
let surfaceID;
let events = require('events'); let events = require('events');
let eventEmitter = new events.EventEmitter(); let eventEmitter = new events.EventEmitter();
...@@ -52,8 +56,8 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -52,8 +56,8 @@ describe('VideoRecorderAPICallbackTest', function () {
fileFormat : 'mp4', fileFormat : 'mp4',
videoBitrate : 48000, videoBitrate : 48000,
videoCodec : 'video/mp4v-es', videoCodec : 'video/mp4v-es',
videoFrameWidth : 120, videoFrameWidth : 640,
videoFrameHeight : 120, videoFrameHeight : 480,
videoFrameRate : 10 videoFrameRate : 10
} }
// orientationHint 0, 90, 180, 270 // orientationHint 0, 90, 180, 270
...@@ -73,8 +77,8 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -73,8 +77,8 @@ describe('VideoRecorderAPICallbackTest', function () {
fileFormat : 'mp4', fileFormat : 'mp4',
videoBitrate : 48000, videoBitrate : 48000,
videoCodec : 'video/mp4v-es', videoCodec : 'video/mp4v-es',
videoFrameWidth : 120, videoFrameWidth : 640,
videoFrameHeight : 120, videoFrameHeight : 480,
videoFrameRate : 10 videoFrameRate : 10
} }
...@@ -90,14 +94,13 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -90,14 +94,13 @@ describe('VideoRecorderAPICallbackTest', function () {
function sleep(time) { function sleep(time) {
for(let t = Date.now();Date.now() - t <= time;); for(let t = Date.now();Date.now() - t <= time;);
}; }
beforeAll(function () { beforeAll(function () {
console.info('beforeAll case'); console.info('beforeAll case');
}) })
beforeEach(function () { beforeEach(function () {
mediaTest = null;
surfaceID = null; surfaceID = null;
console.info('beforeEach case'); console.info('beforeEach case');
}) })
...@@ -110,6 +113,43 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -110,6 +113,43 @@ describe('VideoRecorderAPICallbackTest', function () {
console.info('afterAll case'); console.info('afterAll case');
}) })
async function initCamera() {
cameraManager = await camera.getCameraManager(null);
if (cameraManager != null) {
console.info('[camera] case getCameraManager success');
} else {
console.info('[camera] case getCameraManager failed');
return;
}
cameras = await cameraManager.getCameras();
if (cameras != null) {
console.info('[camera] case getCameras success');
} else {
console.info('[camera] case getCameras failed');
}
}
async function initCaptureSession(videoOutPut) {
let cameraInput = await cameraManager.createCameraInput(cameras[0].cameraId);
if (cameraInput != null) {
console.info('[camera] case createCameraInput success');
} else {
console.info('[camera] case createCameraInput failed');
return;
}
captureSession = await camera.createCaptureSession(null);
await captureSession.beginConfig();
await captureSession.addInput(cameraInput);
await captureSession.addOutput(videoOutPut);
await captureSession.commitConfig();
await captureSession.start();
}
async function stopCaptureSession() {
await captureSession.stop();
await captureSession.release();
}
function printfError(error, done) { function printfError(error, done) {
expect().assertFail(); expect().assertFail();
console.info(`case error called,errMessage is ${error.message}`); console.info(`case error called,errMessage is ${error.message}`);
...@@ -125,45 +165,45 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -125,45 +165,45 @@ describe('VideoRecorderAPICallbackTest', function () {
} }
} }
eventEmitter.on(START_STREEAM, (videoRecorder, steps, done) => { eventEmitter.on(START_STREEAM, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
mediaTest = mediademo.createMediaTest(); videoOutput = await camera.createVideoOutput(surfaceID);
mediaTest.isExit = 0; if (videoOutput == null) {
mediaTest.isStart = 1; console.info('[camera] case createVideoOutput failed');
mediaTest.isPause = 0; } else {
mediaTest.startStream(surfaceID); console.info('[camera] case createVideoOutput success');
toNextStep(videoRecorder, steps, done); }
await initCaptureSession(videoOutput);
await videoOutput.start().then(() => {
console.info('[camera] case videoOutput start success');
}); });
eventEmitter.on(SETEXIT, (videoRecorder, steps, done) => {
mediaTest.isExit = steps[1];
steps.shift();
steps.shift();
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
}); });
eventEmitter.on(SETSTART, (videoRecorder, steps, done) => { eventEmitter.on(SETSTART, async (videoRecorder, steps, done) => {
mediaTest.isStart = steps[1];
steps.shift();
steps.shift(); steps.shift();
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
}); });
eventEmitter.on(SETPAUSE, (videoRecorder, steps, done) => { eventEmitter.on(SETPAUSE, async (videoRecorder, steps, done) => {
mediaTest.isPause = steps[1];
steps.shift();
steps.shift(); steps.shift();
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
}); });
eventEmitter.on(CLOSE_STREAM, (videoRecorder, steps, done) => { eventEmitter.on(CLOSE_STREAM, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
mediaTest.isExit = 1; await videoOutput.stop().then(() => {
mediaTest.closeStream(); console.info('[camera] case videoOutput stop success');
});
await videoOutput.release().then(() => {
console.info('[camera] case videoOutput release success');
});
videoOutput = undefined;
await stopCaptureSession();
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
}); });
eventEmitter.on(CREATE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(CREATE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
media.createVideoRecorder((err, recorder) => { media.createVideoRecorder((err, recorder) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
...@@ -171,76 +211,68 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -171,76 +211,68 @@ describe('VideoRecorderAPICallbackTest', function () {
videoRecorder = recorder; videoRecorder = recorder;
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case createVideoRecorder error hanpped'); console.info('case createVideoRecorder error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(PREPARE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(PREPARE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.prepare(videoConfig, (err) => { videoRecorder.prepare(videoConfig, (err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case prepare success'); console.info('case prepare success');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case prepare error hanpped'); console.info('case prepare error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(PREPARE_OLNYVIDEO_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(PREPARE_OLNYVIDEO_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.prepare(onlyVideoConfig, (err) => { videoRecorder.prepare(onlyVideoConfig, (err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case prepare success'); console.info('case prepare success');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case prepare error hanpped'); console.info('case prepare error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(GETSURFACE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(GETSURFACE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.getInputSurface((err, outPutSurface) => { videoRecorder.getInputSurface((err, outPutSurface) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case getInputSurface success'); console.info('case getInputSurface success');
surfaceID = outPutSurface; surfaceID = outPutSurface;
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case getInputSurface error hanpped'); console.info('case getInputSurface error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(START_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(START_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.start((err) => { videoRecorder.start((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
...@@ -248,19 +280,17 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -248,19 +280,17 @@ describe('VideoRecorderAPICallbackTest', function () {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case start error hanpped'); console.info('case start error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(PAUSE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(PAUSE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.pause((err) => { videoRecorder.pause((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
...@@ -268,19 +298,17 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -268,19 +298,17 @@ describe('VideoRecorderAPICallbackTest', function () {
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case pause error hanpped'); console.info('case pause error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(RESUME_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(RESUME_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.resume((err) => { videoRecorder.resume((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
...@@ -288,72 +316,64 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -288,72 +316,64 @@ describe('VideoRecorderAPICallbackTest', function () {
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case resume error hanpped'); console.info('case resume error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(STOP_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(STOP_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.stop((err) => { videoRecorder.stop((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case stop success'); console.info('case stop success');
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case stop error hanpped'); console.info('case stop error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(RESET_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(RESET_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.reset((err) => { videoRecorder.reset((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case reset success'); console.info('case reset success');
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case reset error hanpped'); console.info('case reset error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
eventEmitter.on(RELEASE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(RELEASE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.release((err) => { videoRecorder.release((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release success'); console.info('case release success');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else if ((typeof (err) != 'undefined') && (steps[0] == ERROR_EVENT)) {
if (steps[0] == ERROR_EVENT) {
steps.shift(); steps.shift();
console.info('case release error hanpped'); console.info('case release error hanpped');
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
} }
}
}); });
}); });
...@@ -366,6 +386,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -366,6 +386,7 @@ describe('VideoRecorderAPICallbackTest', function () {
* @tc.level : Level2 * @tc.level : Level2
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_PREPARE_CALLBACK_0100', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_PREPARE_CALLBACK_0100', 0, async function (done) {
await initCamera();
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, RELEASE_EVENT, END_EVENT); let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
...@@ -397,7 +418,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -397,7 +418,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_PREPARE_CALLBACK_0300', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_PREPARE_CALLBACK_0300', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, CLOSE_STREAM, PREPARE_EVENT, ERROR_EVENT, RELEASE_EVENT, END_EVENT); START_EVENT, SETPAUSE, PAUSE_EVENT, CLOSE_STREAM, PREPARE_EVENT, ERROR_EVENT, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -412,7 +433,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -412,7 +433,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_PREPARE_CALLBACK_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_PREPARE_CALLBACK_0400', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, RESUME_EVENT, START_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART, RESUME_EVENT,
PREPARE_EVENT, ERROR_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); PREPARE_EVENT, ERROR_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -517,7 +538,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -517,7 +538,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_START_CALLBACK_0300', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_START_CALLBACK_0300', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, START_EVENT, ERROR_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); START_EVENT, SETPAUSE, PAUSE_EVENT, START_EVENT, ERROR_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -532,7 +553,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -532,7 +553,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_START_CALLBACK_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_START_CALLBACK_0400', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, RESUME_EVENT, START_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART, RESUME_EVENT,
START_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); START_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -636,7 +657,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -636,7 +657,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_PAUSE_CALLBACK_0300', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_PAUSE_CALLBACK_0300', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); START_EVENT, SETPAUSE, PAUSE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -651,7 +672,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -651,7 +672,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_PAUSE_CALLBACK_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_PAUSE_CALLBACK_0400', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, RESUME_EVENT, SETPAUSE, 1, START_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART, RESUME_EVENT, SETPAUSE,
PAUSE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); PAUSE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -712,7 +733,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -712,7 +733,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_PAUSE_CALLBACK_0800', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_PAUSE_CALLBACK_0800', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, PAUSE_EVENT, PAUSE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); START_EVENT, SETPAUSE, PAUSE_EVENT, PAUSE_EVENT, PAUSE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -770,7 +791,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -770,7 +791,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_RESUME_CALLBACK_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_RESUME_CALLBACK_0400', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, START_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART,
RESUME_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); RESUME_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -831,7 +852,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -831,7 +852,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_RESUME_CALLBACK_0800', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_RESUME_CALLBACK_0800', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, START_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART,
RESUME_EVENT, RESUME_EVENT, RESUME_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); RESUME_EVENT, RESUME_EVENT, RESUME_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -890,7 +911,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -890,7 +911,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_STOP_CALLBACK_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_STOP_CALLBACK_0400', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, STOP_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); START_EVENT, SETPAUSE, PAUSE_EVENT, STOP_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -905,7 +926,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -905,7 +926,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_STOP_CALLBACK_0500', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_STOP_CALLBACK_0500', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, RESUME_EVENT, START_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART, RESUME_EVENT,
STOP_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); STOP_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -1010,7 +1031,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -1010,7 +1031,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_RESET_CALLBACK_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_RESET_CALLBACK_0400', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, RESET_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); START_EVENT, SETPAUSE, PAUSE_EVENT, RESET_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -1025,7 +1046,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -1025,7 +1046,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_RESET_CALLBACK_0500', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_RESET_CALLBACK_0500', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM,
START_EVENT, SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, RESUME_EVENT, START_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART, RESUME_EVENT,
RESET_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); RESET_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -1128,7 +1149,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -1128,7 +1149,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_GETSURFACE_CALLBACK_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_GETSURFACE_CALLBACK_0400', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, START_EVENT, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, START_EVENT,
SETPAUSE, 1, PAUSE_EVENT, GETSURFACE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT); SETPAUSE, PAUSE_EVENT, GETSURFACE_EVENT, CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
...@@ -1143,7 +1164,7 @@ describe('VideoRecorderAPICallbackTest', function () { ...@@ -1143,7 +1164,7 @@ describe('VideoRecorderAPICallbackTest', function () {
it('SUB_MEDIA_VIDEO_RECORDER_GETSURFACE_CALLBACK_0500', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_GETSURFACE_CALLBACK_0500', 0, async function (done) {
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, START_EVENT, let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_STREEAM, START_EVENT,
SETPAUSE, 1, PAUSE_EVENT, SETPAUSE, 0, SETSTART, 1, RESUME_EVENT, GETSURFACE_EVENT, SETPAUSE, PAUSE_EVENT, SETPAUSE, SETSTART, RESUME_EVENT, GETSURFACE_EVENT,
CLOSE_STREAM, RELEASE_EVENT, END_EVENT); CLOSE_STREAM, RELEASE_EVENT, END_EVENT);
eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done); eventEmitter.emit(mySteps[0], videoRecorder, mySteps, done);
}) })
......
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
*/ */
import media from '@ohos.multimedia.media' import media from '@ohos.multimedia.media'
import mediademo from '@ohos.multimedia.mediademo' import camera from '@ohos.multimedia.camera'
import mediaLibrary from '@ohos.multimedia.mediaLibrary'
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
describe('RecorderLocalTestVideoFUNC', function () { describe('RecorderLocalTestVideoFUNC', function () {
...@@ -31,7 +32,11 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -31,7 +32,11 @@ describe('RecorderLocalTestVideoFUNC', function () {
const STOP_EVENT = 'stop'; const STOP_EVENT = 'stop';
const RESET_EVENT = 'reset'; const RESET_EVENT = 'reset';
const RELEASE_EVENT = 'release'; const RELEASE_EVENT = 'release';
let mediaTest = null; let cameraManager;
let cameras;
let captureSession;
let videoOutput;
let surfaceID;
let configFile = { let configFile = {
audioBitrate : 48000, audioBitrate : 48000,
audioChannels : 2, audioChannels : 2,
...@@ -41,8 +46,8 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -41,8 +46,8 @@ describe('RecorderLocalTestVideoFUNC', function () {
fileFormat : 'mp4', fileFormat : 'mp4',
videoBitrate : 48000, videoBitrate : 48000,
videoCodec : 'video/mp4v-es', videoCodec : 'video/mp4v-es',
videoFrameWidth : 120, videoFrameWidth : 640,
videoFrameHeight : 120, videoFrameHeight : 480,
videoFrameRate : 10 videoFrameRate : 10
} }
// orientationHint 0, 90, 180, 270 // orientationHint 0, 90, 180, 270
...@@ -62,8 +67,8 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -62,8 +67,8 @@ describe('RecorderLocalTestVideoFUNC', function () {
fileFormat : 'mp4', fileFormat : 'mp4',
videoBitrate : 48000, videoBitrate : 48000,
videoCodec : 'video/mp4v-es', videoCodec : 'video/mp4v-es',
videoFrameWidth : 120, videoFrameWidth : 640,
videoFrameHeight : 120, videoFrameHeight : 480,
videoFrameRate : 10 videoFrameRate : 10
} }
...@@ -79,14 +84,13 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -79,14 +84,13 @@ describe('RecorderLocalTestVideoFUNC', function () {
function sleep(time) { function sleep(time) {
for(let t = Date.now();Date.now() - t <= time;); for(let t = Date.now();Date.now() - t <= time;);
}; }
beforeAll(function () { beforeAll(function () {
console.info('beforeAll case'); console.info('beforeAll case');
}) })
beforeEach(function () { beforeEach(function () {
mediaTest = null;
console.info('beforeEach case'); console.info('beforeEach case');
}) })
...@@ -98,6 +102,43 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -98,6 +102,43 @@ describe('RecorderLocalTestVideoFUNC', function () {
console.info('afterAll case'); console.info('afterAll case');
}) })
async function initCamera() {
cameraManager = await camera.getCameraManager(null);
if (cameraManager != null) {
console.info('[camera] case getCameraManager success');
} else {
console.info('[camera] case getCameraManager failed');
return;
}
cameras = await cameraManager.getCameras();
if (cameras != null) {
console.info('[camera] case getCameras success');
} else {
console.info('[camera] case getCameras failed');
}
}
async function initCaptureSession(videoOutPut) {
let cameraInput = await cameraManager.createCameraInput(cameras[0].cameraId);
if (cameraInput != null) {
console.info('[camera] case createCameraInput success');
} else {
console.info('[camera] case createCameraInput failed');
return;
}
captureSession = await camera.createCaptureSession(null);
await captureSession.beginConfig();
await captureSession.addInput(cameraInput);
await captureSession.addOutput(videoOutPut);
await captureSession.commitConfig();
await captureSession.start();
}
async function stopCaptureSession() {
await captureSession.stop();
await captureSession.release();
}
function printfError(error, done) { function printfError(error, done) {
expect().assertFail(); expect().assertFail();
console.info(`case error called,errMessage is ${error.message}`); console.info(`case error called,errMessage is ${error.message}`);
...@@ -128,7 +169,7 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -128,7 +169,7 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
} }
eventEmitter.on(CREATE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(CREATE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
media.createVideoRecorder((err, recorder) => { media.createVideoRecorder((err, recorder) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
...@@ -143,13 +184,12 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -143,13 +184,12 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(PREPARE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(PREPARE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.prepare(videoConfig, (err) => { videoRecorder.prepare(videoConfig, (err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case prepare success'); console.info('case prepare success');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
...@@ -157,13 +197,12 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -157,13 +197,12 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(PREPARE_OLNYVIDEO_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(PREPARE_OLNYVIDEO_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.prepare(onlyVideoConfig, (err) => { videoRecorder.prepare(onlyVideoConfig, (err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case prepare success'); console.info('case prepare success');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
...@@ -171,15 +210,13 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -171,15 +210,13 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(GETSURFACE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(GETSURFACE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.getInputSurface((err, surfaceID) => { videoRecorder.getInputSurface((err, outPutsurface) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case getInputSurface success');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest.isExit = 0; surfaceID = outPutsurface;
mediaTest.isStart = 1; console.info('case getInputSurface success :' + surfaceID);
mediaTest.startStream(surfaceID);
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
printfError(err, done); printfError(err, done);
...@@ -187,8 +224,18 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -187,8 +224,18 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(START_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(START_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoOutput = await camera.createVideoOutput(surfaceID);
if (videoOutput == null) {
console.info('case createVideoOutput failed');
} else {
console.info('case createVideoOutput success');
}
await initCaptureSession(videoOutput);
await videoOutput.start().then(() => {
console.info('case videoOutput start success');
});
videoRecorder.start((err) => { videoRecorder.start((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case start success'); console.info('case start success');
...@@ -201,15 +248,12 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -201,15 +248,12 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(PAUSE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(PAUSE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
mediaTest.isPause = 1;
sleep(100);
videoRecorder.pause((err) => { videoRecorder.pause((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case pause success'); console.info('case pause success');
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
mediaTest.isPause = 0;
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
toNextStep(videoRecorder, steps, done); toNextStep(videoRecorder, steps, done);
} else { } else {
...@@ -218,9 +262,8 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -218,9 +262,8 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(RESUME_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(RESUME_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
mediaTest.isStart = 1;
videoRecorder.resume((err) => { videoRecorder.resume((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
console.info('case resume success'); console.info('case resume success');
...@@ -233,7 +276,7 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -233,7 +276,7 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(STOP_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(STOP_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.stop((err) => { videoRecorder.stop((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
...@@ -246,7 +289,7 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -246,7 +289,7 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(RESET_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(RESET_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
videoRecorder.reset((err) => { videoRecorder.reset((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
...@@ -259,10 +302,16 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -259,10 +302,16 @@ describe('RecorderLocalTestVideoFUNC', function () {
}); });
}); });
eventEmitter.on(RELEASE_EVENT, (videoRecorder, steps, done) => { eventEmitter.on(RELEASE_EVENT, async (videoRecorder, steps, done) => {
steps.shift(); steps.shift();
mediaTest.isExit = 1; await videoOutput.stop().then(() => {
mediaTest.closeStream(); console.info('case videoOutput stop success');
});
await videoOutput.release().then(() => {
console.info('case videoOutput release success');
});
videoOutput = undefined;
await stopCaptureSession();
videoRecorder.release((err) => { videoRecorder.release((err) => {
if (typeof (err) == 'undefined') { if (typeof (err) == 'undefined') {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
...@@ -283,6 +332,7 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -283,6 +332,7 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_CALLBACK_0100', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_CALLBACK_0100', 0, async function (done) {
await initCamera();
videoConfig.url = 'file:///data/media/19.mp4'; videoConfig.url = 'file:///data/media/19.mp4';
let videoRecorder = null; let videoRecorder = null;
let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_EVENT, RELEASE_EVENT, END_EVENT); let mySteps = new Array(CREATE_EVENT, PREPARE_EVENT, GETSURFACE_EVENT, START_EVENT, RELEASE_EVENT, END_EVENT);
......
...@@ -14,12 +14,17 @@ ...@@ -14,12 +14,17 @@
*/ */
import media from '@ohos.multimedia.media' import media from '@ohos.multimedia.media'
import mediademo from '@ohos.multimedia.mediademo' import camera from '@ohos.multimedia.camera'
import mediaLibrary from '@ohos.multimedia.mediaLibrary'
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
describe('RecorderLocalTestVideoFUNC', function () { describe('RecorderLocalTestVideoFUNC', function () {
const RECORDER_TIME = 3000; const RECORDER_TIME = 3000;
const PAUSE_TIME = 1000; const PAUSE_TIME = 1000;
let cameraManager;
let cameras;
let captureSession;
let testFdNumber;
let configFile = { let configFile = {
audioBitrate : 48000, audioBitrate : 48000,
audioChannels : 2, audioChannels : 2,
...@@ -29,8 +34,8 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -29,8 +34,8 @@ describe('RecorderLocalTestVideoFUNC', function () {
fileFormat : 'mp4', fileFormat : 'mp4',
videoBitrate : 48000, videoBitrate : 48000,
videoCodec : 'video/mp4v-es', videoCodec : 'video/mp4v-es',
videoFrameWidth : 120, videoFrameWidth : 640,
videoFrameHeight : 120, videoFrameHeight : 480,
videoFrameRate : 10 videoFrameRate : 10
} }
...@@ -50,8 +55,8 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -50,8 +55,8 @@ describe('RecorderLocalTestVideoFUNC', function () {
fileFormat : 'mp4', fileFormat : 'mp4',
videoBitrate : 48000, videoBitrate : 48000,
videoCodec : 'video/mp4v-es', videoCodec : 'video/mp4v-es',
videoFrameWidth : 120, videoFrameWidth : 640,
videoFrameHeight : 120, videoFrameHeight : 480,
videoFrameRate : 10 videoFrameRate : 10
} }
...@@ -67,7 +72,7 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -67,7 +72,7 @@ describe('RecorderLocalTestVideoFUNC', function () {
function sleep(time) { function sleep(time) {
for(let t = Date.now();Date.now() - t <= time;); for(let t = Date.now();Date.now() - t <= time;);
}; }
beforeAll(function () { beforeAll(function () {
console.info('beforeAll case'); console.info('beforeAll case');
...@@ -85,6 +90,85 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -85,6 +90,85 @@ describe('RecorderLocalTestVideoFUNC', function () {
console.info('afterAll case'); console.info('afterAll case');
}) })
async function initCamera() {
cameraManager = await camera.getCameraManager(null);
if (cameraManager != null) {
console.info('[camera] case getCameraManager success');
} else {
console.info('[camera] case getCameraManager failed');
return;
}
cameras = await cameraManager.getCameras();
if (cameras != null) {
console.info('[camera] case getCameras success');
} else {
console.info('[camera] case getCameras failed');
}
}
async function initCaptureSession(videoOutPut) {
let cameraInput = await cameraManager.createCameraInput(cameras[0].cameraId);
if (cameraInput != null) {
console.info('[camera] case createCameraInput success');
} else {
console.info('[camera] case createCameraInput failed');
return;
}
captureSession = await camera.createCaptureSession(null);
await captureSession.beginConfig();
await captureSession.addInput(cameraInput);
await captureSession.addOutput(videoOutPut);
await captureSession.commitConfig();
await captureSession.start();
}
async function stopCaptureSession() {
await captureSession.stop();
await captureSession.release();
}
async function startVideoOutput(videoOutPut) {
if (videoOutPut == null) {
console.info('[camera] case videoOutPut is null');
return;
}
await initCaptureSession(videoOutPut);
await videoOutPut.start().then(() => {
console.info('[camera] case videoOutput start success');
});
}
async function stopVideoOutput(videoOutPut) {
await videoOutPut.release().then(() => {
console.info('[camera] case videoOutput release success');
});
videoOutPut = undefined;
await stopCaptureSession();
}
async function getFd() {
let displayName = 'VID_202202081551.mp4';
const medialib = mediaLibrary.getMediaLibrary();
let fileKeyObj = mediaLibrary.FileKey;
let mediaType = mediaLibrary.MediaType.VIDEO;
let publicPath = await medialib.getPublicDirectory(mediaLibrary.DirectoryType.DIR_VIDEO);
let dataUri = await medialib.createAsset(mediaType, displayName, publicPath);
if (dataUri != undefined) {
let args = dataUri.id.toString();
let fetchOp = {
selections : fileKeyObj.ID + "=?",
selectionArgs : [args],
}
let fetchFileResult = await medialib.getFileAssets(fetchOp);
let fileAsset = await fetchFileResult.getAllObject();
let fdNumber = await fileAsset[0].open('Rw');
fdNumber = "fd://" + fdNumber.toString();
testFdNumber = fdNumber;
}
}
function failureCallback(error) { function failureCallback(error) {
expect().assertFail(); expect().assertFail();
console.info(`case error called,errMessage is ${error.message}`); console.info(`case error called,errMessage is ${error.message}`);
...@@ -104,9 +188,10 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -104,9 +188,10 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0100', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0100', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
await initCamera();
videoConfig.url = 'file:///data/media/01.mp4'; videoConfig.url = 'file:///data/media/01.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -121,30 +206,25 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -121,30 +206,25 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
console.info('case start called'); console.info('case start called');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -157,9 +237,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -157,9 +237,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0200', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0200', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/02.mp4'; videoConfig.url = 'file:///data/media/02.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -174,7 +254,6 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -174,7 +254,6 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
...@@ -182,33 +261,26 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -182,33 +261,26 @@ describe('RecorderLocalTestVideoFUNC', function () {
console.info(`case getInputSurface,state is ${videoRecorder.state}`); console.info(`case getInputSurface,state is ${videoRecorder.state}`);
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
console.info('case pause called'); console.info('case pause called');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0;
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
console.info('case release '); console.info('case release ');
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -221,9 +293,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -221,9 +293,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0300', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0300', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/03.mp4'; videoConfig.url = 'file:///data/media/03.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -238,47 +310,40 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -238,47 +310,40 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
console.info('case start called'); console.info('case start called');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
console.info('case pause called'); console.info('case pause called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0; await videoOutput.start();
mediaTest.isStart = 1;
await videoRecorder.resume().then(() => { await videoRecorder.resume().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
console.info('case resume called'); console.info('case resume called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -291,9 +356,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -291,9 +356,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0400', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/04.mp4'; videoConfig.url = 'file:///data/media/04.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -308,36 +373,32 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -308,36 +373,32 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
console.info('case getInputSurface called'); console.info('case getInputSurface called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1; await videoOutput.stop();
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -350,9 +411,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -350,9 +411,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0500', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0500', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/05.mp4'; videoConfig.url = 'file:///data/media/05.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -367,36 +428,31 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -367,36 +428,31 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
await videoRecorder.reset().then(() => { await videoRecorder.reset().then(() => {
console.info('case reset called'); console.info('case reset called');
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -409,9 +465,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -409,9 +465,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0600', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0600', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/06.mp4'; videoConfig.url = 'file:///data/media/06.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -426,44 +482,38 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -426,44 +482,38 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
console.info('case pause called'); console.info('case pause called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0;
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -476,9 +526,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -476,9 +526,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0700', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0700', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/07.mp4'; videoConfig.url = 'file:///data/media/07.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -493,44 +543,38 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -493,44 +543,38 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
console.info('case pause called'); console.info('case pause called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0;
await videoRecorder.reset().then(() => { await videoRecorder.reset().then(() => {
console.info('case reset called'); console.info('case reset called');
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -543,9 +587,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -543,9 +587,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0800', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0800', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/08.mp4'; videoConfig.url = 'file:///data/media/08.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -560,51 +604,45 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -560,51 +604,45 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
console.info('case pause called'); console.info('case pause called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0; await videoOutput.start();
mediaTest.isStart = 1;
await videoRecorder.resume().then(() => { await videoRecorder.resume().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
console.info('case resume called'); console.info('case resume called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1;
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -617,9 +655,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -617,9 +655,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0900', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_0900', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/09.mp4'; videoConfig.url = 'file:///data/media/09.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -634,51 +672,45 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -634,51 +672,45 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
console.info('case pause called'); console.info('case pause called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0; await videoOutput.start();
mediaTest.isStart = 1;
await videoRecorder.resume().then(() => { await videoRecorder.resume().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
console.info('case resume called'); console.info('case resume called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
await videoRecorder.reset().then(() => { await videoRecorder.reset().then(() => {
console.info('case reset called'); console.info('case reset called');
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -692,9 +724,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -692,9 +724,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1000', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1000', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/10.mp4'; videoConfig.url = 'file:///data/media/10.mp4';
configFile.audioBitrate = 8000; configFile.audioBitrate = 8000;
configFile.audioSampleRate = 8000; configFile.audioSampleRate = 8000;
...@@ -712,36 +744,32 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -712,36 +744,32 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
console.info('case getInputSurface called'); console.info('case getInputSurface called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1; await videoOutput.stop();
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -755,9 +783,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -755,9 +783,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1100', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1100', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/11.mp4'; videoConfig.url = 'file:///data/media/11.mp4';
configFile.audioBitrate = 16000; configFile.audioBitrate = 16000;
configFile.audioSampleRate = 32000; configFile.audioSampleRate = 32000;
...@@ -775,36 +803,32 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -775,36 +803,32 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
console.info('case getInputSurface called'); console.info('case getInputSurface called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1; await videoOutput.stop();
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -818,9 +842,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -818,9 +842,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1200', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1200', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/12.mp4'; videoConfig.url = 'file:///data/media/12.mp4';
configFile.audioBitrate = 32000; configFile.audioBitrate = 32000;
configFile.audioSampleRate = 44100; configFile.audioSampleRate = 44100;
...@@ -838,36 +862,32 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -838,36 +862,32 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
console.info('case getInputSurface called'); console.info('case getInputSurface called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1; await videoOutput.stop();
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -881,9 +901,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -881,9 +901,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1300', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1300', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/13.mp4'; videoConfig.url = 'file:///data/media/13.mp4';
configFile.audioBitrate = 112000; configFile.audioBitrate = 112000;
configFile.audioSampleRate = 96000; configFile.audioSampleRate = 96000;
...@@ -901,36 +921,32 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -901,36 +921,32 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
console.info('case getInputSurface called'); console.info('case getInputSurface called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1; await videoOutput.stop();
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -943,9 +959,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -943,9 +959,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1400', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1400', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
onlyVideoConfig.url = 'file:///data/media/14.mp4'; onlyVideoConfig.url = 'file:///data/media/14.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -960,31 +976,25 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -960,31 +976,25 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(onlyVideoConfig).then(() => { await videoRecorder.prepare(onlyVideoConfig).then(() => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
console.info('case prepare called'); console.info('case prepare called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
console.info('case start called'); console.info('case start called');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -997,9 +1007,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -997,9 +1007,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1500', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1500', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
onlyVideoConfig.url = 'file:///data/media/15.mp4'; onlyVideoConfig.url = 'file:///data/media/15.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -1014,7 +1024,6 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1014,7 +1024,6 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(onlyVideoConfig).then(() => { await videoRecorder.prepare(onlyVideoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
...@@ -1022,33 +1031,27 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1022,33 +1031,27 @@ describe('RecorderLocalTestVideoFUNC', function () {
console.info(`case getInputSurface,state is ${videoRecorder.state}`); console.info(`case getInputSurface,state is ${videoRecorder.state}`);
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
console.info('case pause called'); console.info('case pause called');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0;
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
console.info('case release '); console.info('case release ');
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -1061,9 +1064,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1061,9 +1064,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1600', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1600', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
onlyVideoConfig.url = 'file:///data/media/16.mp4'; onlyVideoConfig.url = 'file:///data/media/16.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -1078,47 +1081,40 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1078,47 +1081,40 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(onlyVideoConfig).then(() => { await videoRecorder.prepare(onlyVideoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
console.info('case start called'); console.info('case start called');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 1; await videoOutput.stop();
sleep(100);
await videoRecorder.pause().then(() => { await videoRecorder.pause().then(() => {
expect(videoRecorder.state).assertEqual('paused'); expect(videoRecorder.state).assertEqual('paused');
sleep(PAUSE_TIME); sleep(PAUSE_TIME);
console.info('case pause called'); console.info('case pause called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isPause = 0; await videoOutput.start();
mediaTest.isStart = 0;
await videoRecorder.resume().then(() => { await videoRecorder.resume().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
console.info('case resume called'); console.info('case resume called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -1131,9 +1127,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1131,9 +1127,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1700', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1700', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
onlyVideoConfig.url = 'file:///data/media/17.mp4'; onlyVideoConfig.url = 'file:///data/media/17.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -1148,36 +1144,31 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1148,36 +1144,31 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(onlyVideoConfig).then(() => { await videoRecorder.prepare(onlyVideoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
console.info('case getInputSurface called'); console.info('case getInputSurface called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
await videoRecorder.stop().then(() => { await videoRecorder.stop().then(() => {
expect(videoRecorder.state).assertEqual('stopped'); expect(videoRecorder.state).assertEqual('stopped');
console.info('case stop called'); console.info('case stop called');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -1190,9 +1181,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1190,9 +1181,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level1 * @tc.level : Level1
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1800', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1800', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
onlyVideoConfig.url = 'file:///data/media/18.mp4'; onlyVideoConfig.url = 'file:///data/media/18.mp4';
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
console.info('case createVideoRecorder called'); console.info('case createVideoRecorder called');
...@@ -1207,36 +1198,31 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1207,36 +1198,31 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(onlyVideoConfig).then(() => { await videoRecorder.prepare(onlyVideoConfig).then(() => {
console.info('case recordr prepare called'); console.info('case recordr prepare called');
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
console.info('case getInputSurface called'); console.info('case getInputSurface called');
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
console.info('case start called'); console.info('case start called');
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
await videoRecorder.reset().then(() => { await videoRecorder.reset().then(() => {
console.info('case reset called'); console.info('case reset called');
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -1249,9 +1235,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1249,9 +1235,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1900', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_1900', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/40.mp4'; videoConfig.url = 'file:///data/media/40.mp4';
videoConfig.orientationHint = 90; videoConfig.orientationHint = 90;
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
...@@ -1267,30 +1253,24 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1267,30 +1253,24 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
console.info('case start called'); console.info('case start called');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -1303,9 +1283,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1303,9 +1283,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_2000', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_2000', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/41.mp4'; videoConfig.url = 'file:///data/media/41.mp4';
videoConfig.orientationHint = 180; videoConfig.orientationHint = 180;
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
...@@ -1321,30 +1301,24 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1321,30 +1301,24 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
console.info('case start called'); console.info('case start called');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
...@@ -1357,9 +1331,9 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1357,9 +1331,9 @@ describe('RecorderLocalTestVideoFUNC', function () {
* @tc.level : Level0 * @tc.level : Level0
*/ */
it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_2100', 0, async function (done) { it('SUB_MEDIA_VIDEO_RECORDER_FUNCTION_PROMISE_2100', 0, async function (done) {
let mediaTest;
let videoRecorder = undefined; let videoRecorder = undefined;
let surfaceID = ''; let surfaceID = '';
let videoOutput;
videoConfig.url = 'file:///data/media/42.mp4'; videoConfig.url = 'file:///data/media/42.mp4';
videoConfig.orientationHint = 270; videoConfig.orientationHint = 270;
await media.createVideoRecorder().then((recorder) => { await media.createVideoRecorder().then((recorder) => {
...@@ -1375,30 +1349,24 @@ describe('RecorderLocalTestVideoFUNC', function () { ...@@ -1375,30 +1349,24 @@ describe('RecorderLocalTestVideoFUNC', function () {
await videoRecorder.prepare(videoConfig).then(() => { await videoRecorder.prepare(videoConfig).then(() => {
expect(videoRecorder.state).assertEqual('prepared'); expect(videoRecorder.state).assertEqual('prepared');
mediaTest = mediademo.createMediaTest();
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoRecorder.getInputSurface().then((outPutSurface) => { await videoRecorder.getInputSurface().then((outPutSurface) => {
surfaceID = outPutSurface; surfaceID = outPutSurface;
mediaTest.isExit = 0;
mediaTest.isStart = 1;
mediaTest.startStream(surfaceID);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
videoOutput = await camera.createVideoOutput(surfaceID);
await startVideoOutput(videoOutput);
await videoRecorder.start().then(() => { await videoRecorder.start().then(() => {
expect(videoRecorder.state).assertEqual('playing'); expect(videoRecorder.state).assertEqual('playing');
console.info('case start called'); console.info('case start called');
sleep(RECORDER_TIME); sleep(RECORDER_TIME);
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await videoOutput.stop();
mediaTest.isExit = 1;
mediaTest.closeStream();
await videoRecorder.release().then(() => { await videoRecorder.release().then(() => {
expect(videoRecorder.state).assertEqual('idle'); expect(videoRecorder.state).assertEqual('idle');
console.info('case release '); console.info('case release ');
}, failureCallback).catch(catchCallback); }, failureCallback).catch(catchCallback);
await stopVideoOutput(videoOutput);
done(); done();
}) })
}) })
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册