1/** 2 * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import media from '@ohos.multimedia.media' 17import * as mediaTestBase from './MediaTestBase.js'; 18 19export function resourceName(){ 20 let timestamp = Date.now(); 21 let filename = `avRecorder_${timestamp}.m4a`; 22 return filename; 23} 24 25export async function idleCallback(avRecorder, avConfig, done) { 26 console.info('case idleCallback called'); 27 media.createAVRecorder((error, recorder) => { 28 if (recorder != null) { 29 avRecorder = recorder; 30 console.info('createAVRecorder idleCallback success'); 31 avRecorder.prepare(avConfig) 32 releaseDone(avRecorder, done) 33 } else { 34 console.info(`createAVRecorder idleCallback fail, error:${error}`); 35 } 36 }); 37} 38 39// create avRecorder(promise) 40export async function idle(avRecorder) { 41 console.info('case createAVRecorder called'); 42 await media.createAVRecorder().then((recorder) => { 43 if (recorder != null) { 44 avRecorder = recorder; 45 console.info('createAVRecorder success'); 46 } else { 47 console.info('createAVRecorder fail'); 48 } 49 }).catch((error) => { 50 console.info(`createAVRecorder catchCallback, error:${error}`); 51 }); 52 return avRecorder; 53} 54 55export const AV_RECORDER_STATE = { 56 IDLE : 'idle', 57 PREPARED : 'prepared', 58 STARTED : 'started', 59 PAUSED : 'paused', 60 STOPPED : 'stopped', 61 RELEASED : 'released', 62 ERROR : 'error', 63} 64 65export function prepareCallback(avRecorder, avConfig) { 66 if (typeof(avRecorder) === 'undefined') { 67 return; 68 } 69 avRecorder.prepare(avConfig, (err) => { 70 console.info('case prepare called' + err); 71 if (err == null) { 72 sleep(200) 73 console.error(`case prepare success, state is ${avRecorder.state}`); 74 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 75 console.info('prepare success'); 76 } else { 77 console.error(`case prepare error, errMessage is ${err.message}`); 78 } 79 }) 80} 81 82export async function preparePromise(avRecorder, avConfig) { 83 if (typeof(avRecorder) == 'undefined') { 84 return; 85 } 86 await avRecorder.prepare(avConfig).then(() => { 87 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 88 console.info('prepare success'); 89 }).catch((err) => { 90 console.info('prepare failed and catch error is ' + err.message); 91 }); 92} 93 94export async function getInputSurfacePromise(avRecorder) { 95 let surfaceID = null; 96 if (typeof(avRecorder) == 'undefined') { 97 return; 98 } 99 await avRecorder.getInputSurface().then((surfaceId) => { 100 console.info('getInputSurface success'); 101 surfaceID = surfaceId; 102 }).catch((err) => { 103 console.info('getInputSurface failed and catch error is ' + err.message); 104 }); 105} 106 107export function getInputSurfaceCallback(avRecorder) { 108 if (typeof(avRecorder) == 'undefined') { 109 return; 110 } 111 let surfaceID = null; 112 avRecorder.getInputSurface((err, surfaceId) => { 113 if (err == null) { 114 console.info('getInputSurface success'); 115 surfaceID = surfaceId; 116 } else { 117 console.info('getInputSurface failed and error is ' + err.message); 118 } 119 }); 120} 121 122export async function getAVRecorderConfigPromise(avConfig, avRecorder) { 123 if (typeof(avRecorder) === 'undefined') { 124 return; 125 } 126 await avRecorder.getAVRecorderConfig().then((config) => { 127 console.info('getAVRecorderConfig success'); 128 expect(config.audioSourceType).assertEqual(avConfig.audioSourceType); 129 expect(config.audioBitrate).assertEqual(avConfig.audioBitrate); 130 }).catch((err) => { 131 console.info('getAVRecorderConfig failed and catch error is ' + err.message); 132 }); 133} 134 135export function getAVRecorderConfigCallback(avRecorder) { 136 if (typeof(avRecorder) === 'undefined') { 137 return; 138 } 139 let avRecorderConfig = null; 140 avRecorder.getAVRecorderConfig((err, config) => { 141 if (err == null) { 142 console.info('getAVRecorderConfig success'); 143 avRecorderConfig = config; 144 } else { 145 console.info('getAVRecorderConfig failed and error is ' + err.message); 146 } 147 }); 148} 149 150 151export async function startCallback(avRecorder, recorderTime) { 152 if (typeof(avRecorder) == 'undefined') { 153 return; 154 } 155 await avRecorder.start((err) => { 156 console.info('case start called'); 157 if (err == null) { 158 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 159 console.info('start AVRecorder success'); 160 if (recorderTime != undefined) { 161 setTimeout(() => { 162 console.info('startCallback setTimeout success'); 163 }, recorderTime); 164 } 165 } else { 166 console.info('start AVRecorder failed and error is ' + err.message); 167 } 168 }) 169} 170 171export async function startPromise(avRecorder, recorderTime) { 172 if (typeof(avRecorder) == 'undefined') { 173 return; 174 } 175 await avRecorder.start().then(() => { 176 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 177 console.info('start success'); 178 if (recorderTime != undefined) { 179 setTimeout(() => { 180 console.info('startPromise setTimeout success'); 181 }, recorderTime); 182 } 183 }).catch((err) => { 184 console.info('start failed and catch error is ' + err.message); 185 }); 186} 187 188export async function pauseCallback(avRecorder) { 189 if (typeof(avRecorder) == 'undefined') { 190 return; 191 } 192 await avRecorder.pause((err) => { 193 console.info('case pause called'); 194 if (err == null) { 195 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PAUSED); 196 console.info('pause AVRecorder success'); 197 } else { 198 console.info('pause AVRecorder failed and error is ' + err.message); 199 } 200 }) 201} 202 203export async function pausePromise(avRecorder) { 204 if (typeof(avRecorder) == 'undefined') { 205 return; 206 } 207 await avRecorder.pause().then(() => { 208 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PAUSED); 209 console.info('pause success'); 210 }).catch((err) => { 211 console.info('pause failed and catch error is ' + err.message); 212 }); 213} 214 215export async function resumeCallback(avRecorder) { 216 if (typeof(avRecorder) == 'undefined') { 217 return; 218 } 219 await avRecorder.resume((err) => { 220 console.info('case resume called'); 221 if (err == null) { 222 console.info('resume AVRecorder success'); 223 } else { 224 console.info('resume AVRecorder failed and error is ' + err.message); 225 } 226 }) 227} 228 229export async function resumePromise(avRecorder) { 230 if (typeof(avRecorder) == 'undefined') { 231 return; 232 } 233 await avRecorder.resume().then(() => { 234 console.info('resume success'); 235 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 236} 237 238export function stopCallback(avRecorder) { 239 if (typeof(avRecorder) == 'undefined') { 240 return; 241 } 242 avRecorder.stop((err) => { 243 console.info('case stop called'); 244 if (err == null) { 245 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STOPPED); 246 console.info('stop AVRecorder success'); 247 } else { 248 console.info('stop AVRecorder failed and error is ' + err.message); 249 } 250 }) 251} 252 253export async function stopPromise(avRecorder) { 254 if (typeof(avRecorder) == 'undefined') { 255 return; 256 } 257 await avRecorder.stop().then(() => { 258 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STOPPED); 259 console.info('stop success'); 260 }).catch((err) => { 261 console.info('stop failed and catch error is ' + err.message); 262 }); 263} 264 265export async function resetCallback(avRecorder) { 266 if (typeof(avRecorder) == 'undefined') { 267 return; 268 } 269 await avRecorder.reset((err) => { 270 console.info('case reset called'); 271 if (err == null) { 272 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 273 console.info('reset AVRecorder success'); 274 } else { 275 console.info('reset AVRecorder failed and error is ' + err.message); 276 } 277 }) 278} 279 280export async function resetPromise(avRecorder) { 281 if (typeof(avRecorder) == 'undefined') { 282 return; 283 } 284 await avRecorder.reset().then(() => { 285 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 286 }).catch((err) => { 287 console.info('reset AVRecorder failed and catch error is ' + err.message); 288 }); 289} 290 291export async function releaseCallback(avRecorder) { 292 if (typeof(avRecorder) == 'undefined') { 293 return; 294 } 295 avRecorder.release((err) => { 296 console.info('case release called'); 297 if (err == null) { 298 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 299 console.info('release AVRecorder success'); 300 } else { 301 console.info('release AVRecorder failed and error is ' + err.message); 302 } 303 }) 304} 305 306export async function releasePromise(avRecorder) { 307 if (typeof(avRecorder) == 'undefined') { 308 return; 309 } 310 await avRecorder.release().then(() => { 311 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 312 }).catch((err) => { 313 console.info('release AVRecorder failed and catch error is ' + err.message); 314 }); 315} 316 317export async function releaseDone(avRecorder, done){ 318 await avRecorder.release().then(() => { 319 console.info('releaseDone avRecorder.state is ' + avRecorder.state); 320 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 321 done(); 322 }).catch((err) => { 323 console.info('release releaseDone failed and catch error is ' + err.message); 324 }); 325} 326 327export function sleep(ms) { 328 return new Promise(resolve => setTimeout(resolve, ms)); 329} 330 331export function offCallback(avRecorder, typeArr) 332{ 333 if (avRecorder == null) { 334 return; 335 } 336 for (let i = 0; i < typeArr.length; i++) { 337 switch (typeArr[i]) { 338 case 'stateChange': 339 avRecorder.off('stateChange'); 340 break; 341 case 'error': 342 avRecorder.off('error'); 343 break; 344 default: 345 break; 346 } 347 } 348} 349 350export async function setOnCallback(avConfig, avRecorder, recorderTime, done) { 351 console.info(`case setOnCallback in`); 352 avRecorder.on('stateChange', async (state, reason) => { 353 console.info('case state has changed, new state is :' + state); 354 switch (state) { 355 case AV_RECORDER_STATE.IDLE: 356 console.info(`case avRecorderWithCallBack is idle`); 357 expect(avRecorder.state).assertEqual("idle"); 358 // start->stop->release 359 prepareCallback(avRecorder, avConfig); 360 break; 361 case AV_RECORDER_STATE.PREPARED: 362 console.info(`case avRecorderWithCallBack is prepared`); 363 expect(avRecorder.state).assertEqual('prepared'); 364 startCallback(avRecorder); 365 break; 366 case AV_RECORDER_STATE.STARTED: 367 console.info(`case avRecorderWithCallBack is started`) 368 expect(avRecorder.state).assertEqual('started'); 369 await sleep(recorderTime); 370 stopCallback(avRecorder); 371 break; 372 case AV_RECORDER_STATE.PAUSED: 373 console.info(`case avRecorderWithCallBackis paused`) 374 expect(avRecorder.state).assertEqual('paused'); 375 break; 376 case AV_RECORDER_STATE.STOPPED: 377 console.info(`case avRecorderWithCallBack is stopped`) 378 expect(avRecorder.state).assertEqual('stopped'); 379 releasePromise(avRecorder) 380 break; 381 case AV_RECORDER_STATE.RELEASED: 382 console.info(`case avRecorderWithCallBack is released`); 383 expect(avRecorder.state).assertEqual('released'); 384 done(); 385 break; 386 case AV_RECORDER_STATE.ERROR: 387 console.info(`case avRecorderWithCallBack is error`) 388 expect(avRecorder.state).assertEqual('error'); 389 break; 390 default: 391 console.info('case state is unknown'); 392 } 393 }); 394 395 avRecorder.on('error', (err) => { 396 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 397 }); 398} 399 400export async function setOnaudioCaptureChangeCallback(avConfig, avRecorder, recorderTime, done) { 401 console.info(`case setOnaudioCaptureChangeCallback in`); 402 let audioCaptureChangeInfo = null; 403 avRecorder.on('audioCaptureChange', async (audioCaptureChangeInfo) => { 404 if (state === AV_RECORDER_STATE.STARTED) { 405 expect(audioCaptureChangeInfo.capturerState).assertEqual(2); 406 } 407 if (state === AV_RECORDER_STATE.STOPPED) { 408 expect(audioCaptureChangeInfo.capturerState).assertEqual(3); 409 } 410 console.info('case avRecorder.on(audioCaptureChange) called, errMessage is ' + audioCaptureChangeInfo); 411 }); 412} 413 414export async function setPrepareOnCallback(avConfig, avRecorder, recorderTime, done) { 415 console.info(`case setOnCallback in`); 416 avRecorder.on('stateChange', async (state, reason) => { 417 console.info('case state has changed, new state is :' + state); 418 switch (state) { 419 case AV_RECORDER_STATE.PREPARED: 420 console.info(`case AV_RECORDER_STATE.PREPARED`); 421 expect(avRecorder.state).assertEqual('prepared'); 422 releaseCallback(avRecorder); 423 break; 424 case AV_RECORDER_STATE.RELEASED: 425 console.info(`case setPrepareOnCallback is released`); 426 expect(avRecorder.state).assertEqual('released'); 427 done(); 428 break; 429 case AV_RECORDER_STATE.ERROR: 430 console.info(`case AV_RECORDER_STATE.ERROR`) 431 expect(avRecorder.state).assertEqual('error'); 432 break; 433 default: 434 console.info('case state is unknown'); 435 } 436 }); 437} 438 439export async function avRecorderWithCallBack(avConfig, avRecorder, recorderTime, done) { 440 // Create an instance 441 avRecorder = await idle(avRecorder) 442 setOnCallback(avConfig, avRecorder, recorderTime, done); 443 await avRecorder.prepare(avConfig) 444} 445 446export async function avRecorderWithCallBack2(avConfig, avRecorder, recorderTime, done) { 447 avRecorder = await idle(avRecorder); 448 console.info('case avConfig.url is ' + avConfig.url); 449 await preparePromise(avRecorder, avConfig); 450 await startPromise(avRecorder, recorderTime); 451 await pausePromise(avRecorder); 452 await stopPromise(avRecorder); 453 await avRecorder.reset().then(() => { 454 console.info('reset avRecorderWithCallBack2 success'); 455 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 456 }).catch((err) => { 457 console.info('reset avRecorderWithCallBack2 failed and catch error is ' + err.message); 458 }); 459 await releaseDone(avRecorder, done) 460} 461 462export async function avRecorderWithCallBack3(avConfig, avRecorder, recorderTime, done) { 463 avRecorder = await idle(avRecorder); 464 console.info('case avConfig.url is ' + avConfig.url); 465 await preparePromise(avRecorder, avConfig); 466 await startPromise(avRecorder, recorderTime); 467 await pausePromise(avRecorder); 468 await resumePromise(avRecorder); 469 await stopPromise(avRecorder); 470 await avRecorder.reset().then(() => { 471 console.info('reset avRecorderWithCallBack3 success'); 472 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 473 }).catch((err) => { 474 console.info('reset avRecorderWithCallBack3 failed and catch error is ' + err.message); 475 }); 476 await releaseDone(avRecorder, done) 477} 478 479export async function avRecorderWithCallBack4(avConfig, avRecorder, recorderTime, done) { 480 avRecorder = await idle(avRecorder); 481 console.info('case avConfig.url is ' + avConfig.url); 482 await preparePromise(avRecorder, avConfig); 483 await startPromise(avRecorder, recorderTime); 484 await stopPromise(avRecorder); 485 await avRecorder.reset().then(() => { 486 console.info('reset avRecorderWithCallBack4 success'); 487 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 488 }).catch((err) => { 489 console.info('reset avRecorderWithCallBack4 failed and catch error is ' + err.message); 490 }); 491 await releaseDone(avRecorder, done) 492} 493 494export async function avRecorderWithCallBack5(avConfig, avRecorder, recorderTime, done) { 495 avRecorder = await idle(avRecorder); 496 console.info('case avConfig.url is ' + avConfig.url); 497 await preparePromise(avRecorder, avConfig); 498 await startPromise(avRecorder, recorderTime); 499 await pausePromise(avRecorder); 500 await resumePromise(avRecorder); 501 await avRecorder.reset().then(() => { 502 console.info('reset avRecorderWithCallBack5 success'); 503 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 504 }).catch((err) => { 505 console.info('reset avRecorderWithCallBack5 failed and catch error is ' + err.message); 506 }); 507 await releaseDone(avRecorder, done) 508} 509 510export async function avRecorderWithCallBack6(avConfig, avRecorder, recorderTime, done) { 511 avRecorder = await idle(avRecorder); 512 console.info('case avConfig.url is ' + avConfig.url); 513 await preparePromise(avRecorder, avConfig); 514 await startPromise(avRecorder, recorderTime); 515 await pausePromise(avRecorder); 516 await startPromise(avRecorder, recorderTime); 517 await avRecorder.reset().then(() => { 518 console.info('reset avRecorderWithCallBack6 success'); 519 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 520 }).catch((err) => { 521 console.info('reset avRecorderWithCallBack6 failed and catch error is ' + err.message); 522 }); 523 await releaseDone(avRecorder, done) 524} 525 526export async function avRecorderWithCallBack7(avConfig, avRecorder, recorderTime, done) { 527 avRecorder = await idle(avRecorder); 528 console.info('case avConfig.url is ' + avConfig.url); 529 await preparePromise(avRecorder, avConfig); 530 await startPromise(avRecorder, recorderTime); 531 await pausePromise(avRecorder); 532 await resumePromise(avRecorder); 533 await pausePromise(avRecorder); 534 await avRecorder.reset().then(() => { 535 console.info('reset avRecorderWithCallBack7 success'); 536 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 537 }).catch((err) => { 538 console.info('reset avRecorderWithCallBack7 failed and catch error is ' + err.message); 539 }); 540 await releaseDone(avRecorder, done) 541} 542 543export async function avRecorderWithCallBack8(avConfig, avRecorder, recorderTime, done) { 544 avRecorder = await idle(avRecorder); 545 console.info('case avConfig.url is ' + avConfig.url); 546 await preparePromise(avRecorder, avConfig); 547 await startPromise(avRecorder, recorderTime); 548 await pausePromise(avRecorder); 549 await stopPromise(avRecorder); 550 await startPromise(avRecorder, recorderTime); 551 await pausePromise(avRecorder); 552 await avRecorder.reset().then(() => { 553 console.info('reset avRecorderWithCallBack8 success'); 554 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 555 }).catch((err) => { 556 console.info('reset avRecorderWithCallBack8 failed and catch error is ' + err.message); 557 }); 558 await releaseDone(avRecorder, done) 559} 560 561export async function avRecorderWithCallBack9(avConfig, avRecorder, recorderTime, done) { 562 avRecorder = await idle(avRecorder); 563 console.info('case avConfig.url is ' + avConfig.url); 564 await preparePromise(avRecorder, avConfig); 565 await startPromise(avRecorder, recorderTime); 566 await stopPromise(avRecorder); 567 await avRecorder.reset().then(() => { 568 console.info('reset avRecorderWithCallBack9 success'); 569 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 570 }).catch((err) => { 571 console.info('reset avRecorderWithCallBack9 failed and catch error is ' + err.message); 572 }); 573 await releaseDone(avRecorder, done) 574} 575 576export async function avRecorderWithCallBack10(avConfig, avRecorder, recorderTime, done) { 577 avRecorder = await idle(avRecorder); 578 console.info('case avConfig.url is ' + avConfig.url); 579 await preparePromise(avRecorder, avConfig); 580 await startPromise(avRecorder, recorderTime); 581 await stopPromise(avRecorder); 582 await pausePromise(avRecorder); 583 await avRecorder.reset().then(() => { 584 console.info('reset AVRecorder success'); 585 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 586 }).catch((err) => { 587 console.info('reset AVRecorder failed and catch error is ' + err.message); 588 }); 589 await releaseDone(avRecorder, done) 590} 591 592export async function avRecorderWithCallBack11(avConfig, avRecorder, recorderTime, done) { 593 avRecorder = await idle(avRecorder); 594 console.info('case avConfig.url is ' + avConfig.url); 595 await preparePromise(avRecorder, avConfig); 596 await startPromise(avRecorder, recorderTime); 597 await pausePromise(avRecorder); 598 await avRecorder.reset().then(() => { 599 console.info('avRecorderWithCallBack11 reset AVRecorder success'); 600 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 601 }).catch((err) => { 602 console.info('avRecorderWithCallBack11 reset AVRecorder failed and catch error is ' + err.message); 603 }); 604 await releaseDone(avRecorder, done) 605} 606 607export async function avRecorderWithCallBack13(avConfig, avRecorder, recorderTime, done) { 608 avRecorder = await idle(avRecorder); 609 console.info('case avConfig.url is ' + avConfig.url); 610 await preparePromise(avRecorder, avConfig); 611 await startPromise(avRecorder, recorderTime); 612 await pausePromise(avRecorder); 613 await resumePromise(avRecorder); 614 await sleep(recorderTime); 615 await stopPromise(avRecorder); 616 await avRecorder.release().then(() => { 617 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 618 console.info('release success'); 619 done(); 620 }).catch((err) => { 621 console.info('release failed and catch error is ' + err.message); 622 }); 623} 624 625export async function avRecorderWithPreparePromise(avConfig, avRecorder, loopTimes, done) { 626 avRecorder = await idle(avRecorder); 627 console.info('case avConfig.url is ' + avConfig.url); 628 while (loopTimes > 0) { 629 await preparePromise(avRecorder, avConfig); 630 loopTimes--; 631 } 632 await releaseDone(avRecorder, done) 633} 634 635export async function avRecorderWithStartPromise(avConfig, avRecorder, loopTimes, done) { 636 avRecorder = await idle(avRecorder); 637 console.info('case avConfig.url is ' + avConfig.url); 638 await preparePromise(avRecorder, avConfig); 639 while (loopTimes > 0) { 640 await startPromise(avRecorder); 641 loopTimes--; 642 } 643 await releaseDone(avRecorder, done) 644} 645 646export async function avRecorderWithPausePromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 647 avRecorder = await idle(avRecorder); 648 console.info('case avConfig.url is ' + avConfig.url); 649 await preparePromise(avRecorder, avConfig); 650 await startPromise(avRecorder, recorderTime); 651 while (loopTimes > 0) { 652 await pausePromise(avRecorder); 653 loopTimes--; 654 } 655 await releaseDone(avRecorder, done) 656} 657 658export async function avRecorderWithResumePromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 659 avRecorder = await idle(avRecorder); 660 console.info('case avConfig.url is ' + avConfig.url); 661 await preparePromise(avRecorder, avConfig); 662 await startPromise(avRecorder, recorderTime); 663 await pausePromise(avRecorder); 664 while (loopTimes > 0) { 665 await resumePromise(avRecorder); 666 loopTimes--; 667 } 668 await releaseDone(avRecorder, done) 669} 670 671export async function avRecorderWithStopPromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 672 avRecorder = await idle(avRecorder); 673 console.info('case avConfig.url is ' + avConfig.url); 674 await preparePromise(avRecorder, avConfig); 675 await startPromise(avRecorder, recorderTime); 676 while (loopTimes > 0) { 677 await stopPromise(avRecorder); 678 loopTimes--; 679 } 680 await releaseDone(avRecorder, done) 681} 682 683export async function avRecorderWithResetPromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 684 avRecorder = await idle(avRecorder); 685 console.info('case avConfig.url is ' + avConfig.url); 686 await preparePromise(avRecorder, avConfig); 687 await startPromise(avRecorder, recorderTime); 688 while (loopTimes > 0) { 689 await resetPromise(avRecorder); 690 loopTimes--; 691 } 692 await releaseDone(avRecorder, done) 693} 694 695export async function avRecorderWithReleasePromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 696 avRecorder = await idle(avRecorder); 697 console.info('case avConfig.url is ' + avConfig.url); 698 await preparePromise(avRecorder, avConfig); 699 await startPromise(avRecorder, recorderTime); 700 while (loopTimes > 0) { 701 await releasePromise(avRecorder); 702 loopTimes--; 703 } 704 done(); 705} 706 707export async function avRecorderWithPrepareCallback(avConfig, avRecorder, loopTimes, done) { 708 avRecorder = await idle(avRecorder); 709 console.info('case avConfig.url is ' + avConfig.url); 710 while (loopTimes > 0) { 711 if(loopTimes == 1){ 712 avRecorder.release() 713 done(); 714 } 715 prepareCallback(avRecorder, avConfig); 716 loopTimes--; 717 } 718} 719 720export async function avRecorderWithStartCallback(avConfig, avRecorder, loopTimes, done) { 721 avRecorder = await idle(avRecorder); 722 sleep(300) 723 await avRecorder.prepare(avConfig).then(() => { 724 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 725 console.info('prepare success'); 726 }).catch((err) => { 727 console.info('prepare failed and catch error is ' + err.message); 728 }); 729 await sleep(300) 730 while (loopTimes > 0) { 731 console.info(`avRecorderWithStartCallback loop time is :${loopTimes}`) 732 startCallback(avRecorder); 733 await sleep(200) 734 loopTimes--; 735 if(loopTimes == 0){ 736 await avRecorder.release().then(() => { 737 console.info(`avRecorderWithStartCallback release success`) 738 done(); 739 }).catch((err) => { 740 console.info('release avRecorderWithStartCallback failed and catch error is ' + err.message); 741 }); 742 done(); 743 } 744 } 745} 746 747export async function avRecorderWithPauseCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 748 avRecorder = await idle(avRecorder); 749 console.info('case avRecorderWithPauseCallback avConfig.url is ' + avConfig.url); 750 await preparePromise(avRecorder, avConfig); 751 await startPromise(avRecorder, recorderTime); 752 for(var i = 0;i < 1001;i++){ 753 if(i == 1000){ 754 avRecorder.release() 755 done(); 756 }else{ 757 console.info(`avRecorderWithPauseCallback loop time is :${i}`) 758 } 759 await pauseCallback(avRecorder, avConfig); 760 } 761} 762 763export async function avRecorderWithResumeCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 764 avRecorder = await idle(avRecorder); 765 console.info('case avRecorderWithPauseCallback avConfig.url is ' + avConfig.url); 766 await preparePromise(avRecorder, avConfig); 767 await startPromise(avRecorder, recorderTime); 768 await pausePromise(avRecorder); 769 for(var i = 0;i < 1001;i++){ 770 if(i == 1000){ 771 avRecorder.release() 772 done(); 773 }else{ 774 console.info(`avRecorderWithResumeCallback loop time is :${i}`) 775 } 776 await resumeCallback(avRecorder); 777 } 778} 779 780export async function avRecorderWithStopCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 781 avRecorder = await idle(avRecorder); 782 console.info('case avRecorderWithStopCallback avConfig.url is ' + avConfig.url); 783 await preparePromise(avRecorder, avConfig); 784 await startPromise(avRecorder, recorderTime); 785 while (loopTimes > 0) { 786 if(loopTimes == 1){ 787 avRecorder.release() 788 done(); 789 } 790 stopCallback(avRecorder, avConfig); 791 loopTimes--; 792 } 793 // await releaseDone(avRecorder, done) 794} 795 796export async function avRecorderWithResetCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 797 avRecorder = await idle(avRecorder); 798 console.info('case avRecorderWithResetCallback avConfig.url is ' + avConfig.url); 799 await preparePromise(avRecorder, avConfig); 800 await startPromise(avRecorder, recorderTime); 801 while (loopTimes > 0) { 802 if(loopTimes == 1){ 803 avRecorder.release() 804 done(); 805 } 806 await resetCallback(avRecorder); 807 loopTimes--; 808 } 809 // await releaseDone(avRecorder, done) 810} 811 812export async function avRecorderWithReleaseCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 813 avRecorder = await idle(avRecorder); 814 console.info('case avRecorderWithReleaseCallback avConfig.url is ' + avConfig.url); 815 await preparePromise(avRecorder, avConfig); 816 await startPromise(avRecorder, recorderTime); 817 while (loopTimes > 0) { 818 if(loopTimes == 1){ 819 avRecorder.release() 820 done(); 821 } 822 releaseCallback(avRecorder, avConfig); 823 loopTimes--; 824 } 825} 826 827///xxxxx 828export async function avRecorderLoopPrepare2ResetWithPromise(avConfig, avRecorder, loopTimes, done) { 829 avRecorder = await idle(avRecorder); 830 sleep(300) 831 console.info('case avRecorderLoopPrepare2ResetWithPromise avConfig.url is ' + avConfig.url); 832 while (loopTimes > 0) { 833 await preparePromise(avRecorder, avConfig); 834 await startPromise(avRecorder); 835 await resetPromise(avRecorder); 836 console.info(`avRecorderLoopPrepare2ResetWithPromise loop time is :${loopTimes}`) 837 loopTimes--; 838 if(loopTimes == 0){ 839 await avRecorder.release().then(() => { 840 console.info(`avRecorderLoopPrepare2ResetWithPromise release success`) 841 done(); 842 }).catch((err) => { 843 console.info('release avRecorderLoopPrepare2ResetWithPromise failed and catch error is ' + err.message); 844 }); 845 done(); 846 } 847 } 848 // await releaseDone(avRecorder, done) 849} 850 851export async function avRecorderLoopCreate2ReleaseWithPromise(avConfig, avRecorder, loopTimes, done) { 852 console.info(`avRecorderLoopCreate2ReleaseWithPromise loop begin`) 853 while (loopTimes > 0) { 854 avRecorder = await idle(avRecorder); 855 await preparePromise(avRecorder, avConfig); 856 await startPromise(avRecorder); 857 await resetPromise(avRecorder); 858 await releasePromise(avRecorder); 859 console.info(`avRecorderLoopCreate2ReleaseWithPromise loop time is :${loopTimes}`) 860 loopTimes--; 861 if(loopTimes == 0){ 862 done(); 863 } 864 } 865} 866 867 868export async function avRecorderLoopPrepare2StopWithPromise(avConfig, avRecorder, loopTimes, done) { 869 avRecorder = await idle(avRecorder); 870 console.info('case avConfig.url is ' + avConfig.url); 871 await preparePromise(avRecorder, avConfig); 872 while (loopTimes > 0) { 873 await startPromise(avRecorder); 874 await stopPromise(avRecorder); 875 loopTimes--; 876 console.info(`avRecorderLoopPrepare2StopWithPromise loop time is :${loopTimes}`) 877 if(loopTimes == 0){ 878 await avRecorder.release().then(() => { 879 done(); 880 console.info(`avRecorderLoopPrepare2StopWithPromise release success`) 881 }).catch((err) => { 882 console.info('release avRecorderLoopPrepare2StopWithPromise failed and catch error is ' + err.message); 883 }); 884 } 885 } 886 // await releaseDone(avRecorder, done) 887} 888 889export async function avRecorderLoopPause2ResumeWithPromise(avConfig, avRecorder, loopTimes, done) { 890 avRecorder = await idle(avRecorder); 891 sleep(200) 892 console.info('case avConfig.url is ' + avConfig.url); 893 await preparePromise(avRecorder, avConfig); 894 sleep(200) 895 await startPromise(avRecorder); 896 while (loopTimes > 0) { 897 await pausePromise(avRecorder); 898 await sleep(20) 899 await resumePromise(avRecorder); 900 console.info(`avRecorderLoopPause2ResumeWithPromise loop time is :${loopTimes}`) 901 loopTimes--; 902 if(loopTimes == 0){ 903 await sleep(2000) 904 await avRecorder.release().then(() => { 905 console.info(`avRecorderLoopPause2ResumeWithPromise release success`) 906 done(); 907 }).catch((err) => { 908 console.info('release avRecorderLoopPause2ResumeWithPromise failed and catch error is ' + err.message); 909 }); 910 } 911 } 912 // await releaseDone(avRecorder, done) 913} 914 915export async function avRecorderLoopCreate2Release2WithPromise(avConfig, avRecorder, loopTimes, done) { 916 while (loopTimes > 0) { 917 avRecorder = await idle(avRecorder); 918 console.info('case avConfig.url is ' + avConfig.url); 919 await releasePromise(avRecorder); 920 console.info(`avRecorderLoopCreate2Release2WithPromise loop time is :${loopTimes}`) 921 loopTimes--; 922 if(loopTimes == 0){ 923 avRecorder.release() 924 done(); 925 } 926 } 927} 928 929export async function avRecorderLoopPrepare2ResetWithCallback(avConfig, avRecorder, loopTimes, done) { 930 avRecorder = await idle(avRecorder); 931 sleep(200) 932 while (loopTimes > 0) { 933 await avRecorder.prepare(avConfig).then(() => { 934 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 935 console.info('prepare success'); 936 }).catch((err) => { 937 console.info('prepare failed and catch error is ' + err.message); 938 }); 939 await sleep(100) 940 await startCallback(avRecorder); 941 await sleep(100) 942 await resetCallback(avRecorder); 943 loopTimes--; 944 console.info(`avRecorderLoopPrepare2ResetWithCallback loop time is :${loopTimes}`) 945 if(loopTimes == 0){ 946 await sleep(2000) 947 await avRecorder.release().then(() => { 948 console.info(`avRecorderLoopPrepare2ResetWithCallback release success`) 949 done(); 950 }).catch((err) => { 951 console.info('release avRecorderLoopPrepare2ResetWithCallback failed and catch error is ' + err.message); 952 }); 953 } 954 } 955} 956 957export async function avRecorderLoopCreate2ReleaseWithCallback(avConfig, avRecorder, loopTimes, done) { 958 while (loopTimes > 0) { 959 console.info(`avRecorderLoopCreate2ReleaseWithCallback test loop start1 `) 960 avRecorder = await idle(avRecorder); 961 await sleep(200) 962 console.info(`avRecorderLoopCreate2ReleaseWithCallback test loop start2 `) 963 await avRecorder.prepare(avConfig).then(() => { 964 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 965 console.info('prepare success'); 966 }).catch((err) => { 967 console.info('prepare failed and catch error is ' + err.message); 968 }); 969 console.info(`avRecorderLoopCreate2ReleaseWithCallback test loop start3 `) 970 await startCallback(avRecorder); 971 await sleep(100) 972 console.info(`avRecorderLoopCreate2ReleaseWithCallback test loop start4 `) 973 await resetCallback(avRecorder); 974 console.info(`avRecorderLoopCreate2ReleaseWithCallback test loop start5 `) 975 console.info(`avRecorderLoopCreate2ReleaseWithCallback loop time is :${loopTimes}`) 976 loopTimes--; 977 avRecorder.release((err) => { 978 if (err == null) { 979 console.info('release AVRecorder success'); 980 if(loopTimes == 0){ 981 done(); 982 } 983 } else { 984 console.info('release AVRecorder failed and error is ' + err.message); 985 } 986 }); 987 } 988} 989 990export async function avRecorderLoopPrepare2StopWithCallback(avConfig, avRecorder, done, eventEmitter, mySteps) { 991 avRecorder = await idle(avRecorder); 992 sleep(200) 993 eventEmitter.emit(mySteps[0], avRecorder, avConfig, 3000, mySteps, done); 994} 995 996 997export async function avRecorderLoopPause2ResumeWithCallback(avConfig, avRecorder, done, eventEmitter, mySteps) { 998 avRecorder = await idle(avRecorder); 999 console.info('case avConfig.url is ' + avConfig.url); 1000 await preparePromise(avRecorder, avConfig); 1001 sleep(2000) 1002 await startPromise(avRecorder); 1003 eventEmitter.emit(mySteps[0], avRecorder, avConfig, 3000, mySteps, done); 1004} 1005 1006export async function avRecorderLoopCreate2Release2WithCallback(avConfig, avRecorder, loopTimes, done) { 1007 while (loopTimes > 0) { 1008 avRecorder = await idle(avRecorder); 1009 console.info('case avConfig.url is ' + avConfig.url); 1010 releaseCallback(avRecorder); 1011 console.info(`avRecorderLoopCreate2Release2WithCallback loop time is :${loopTimes}`) 1012 loopTimes--; 1013 if(loopTimes == 0){ 1014 sleep(2000) 1015 done(); 1016 } 1017 } 1018} 1019 1020export async function avRecorderReliabilitTest01(avConfig, avRecorder, recorderTime, done) { 1021 let result = true; 1022 avRecorder = await idle(avRecorder); 1023 sleep(2000) 1024 await avRecorder.pause((err) => { 1025 if (err == null) { 1026 console.info('pause avRecorderReliabilitTest01 success'); 1027 } else { 1028 result = false 1029 expect(result).assertEqual(false); 1030 console.info('pause avRecorderReliabilitTest01 failed and error is ' + err.message); 1031 sleep(1000) 1032 } 1033 }); 1034 sleep(2000) 1035 console.info('pause avRecorderReliabilitTest01 001'); 1036 await releaseDone(avRecorder, done) 1037} 1038 1039export async function avRecorderReliabilitTest02(avConfig, avRecorder, recorderTime, done) { 1040 avRecorder = await idle(avRecorder); 1041 await preparePromise(avRecorder, avConfig) 1042 await releaseDone(avRecorder, done) 1043} 1044 1045export async function avRecorderReliabilitTest03(avConfig, avRecorder, recorderTime, done) { 1046 avRecorder = await idle(avRecorder); 1047 setPrepareOnCallback(avConfig, avRecorder, recorderTime, done) 1048 await avRecorder.prepare(avConfig) 1049} 1050 1051export async function avRecorderReliabilitTest001(avConfig, avRecorder, recorderTime, done) { 1052 idleCallback(avRecorder, avConfig, done) 1053} 1054 1055export async function avRecorderReliabilitTest04(avConfig, avRecorder, recorderTime, done) { 1056 let result = true; 1057 avRecorder = await idle(avRecorder); 1058 await avRecorder.resume().then(() => { 1059 console.info('resume avRecorderReliabilitTest04 success'); 1060 }).catch((err) => { 1061 console.info('resume avRecorderReliabilitTest04 failed and catch error is ' + err.message); 1062 result = false 1063 }); 1064 expect(result).assertEqual(false); 1065 await preparePromise(avRecorder, avConfig) 1066 await releaseDone(avRecorder, done) 1067} 1068 1069export async function avRecorderReliabilitTest05(avConfig, avRecorder, recorderTime, done) { 1070 avRecorder = await idle(avRecorder); 1071 await prepareCallback(avRecorder, avConfig) 1072 await releaseDone(avRecorder, done) 1073} 1074 1075export async function avRecorderReliabilitTest06(avConfig, avRecorder, recorderTime, done) { 1076 avRecorder = await idle(avRecorder); 1077 await preparePromise(avRecorder, avConfig) 1078 await startPromise(avRecorder) 1079 await pausePromise(avRecorder) 1080 await startPromise(avRecorder) 1081 await releaseDone(avRecorder, done) 1082} 1083 1084export async function avRecorderReliabilitTest07(avConfig, avRecorder, recorderTime, done) { 1085 avRecorder = await idle(avRecorder); 1086 await preparePromise(avRecorder, avConfig) 1087 await startPromise(avRecorder) 1088 await resumePromise(avRecorder) 1089 await startPromise(avRecorder) 1090 await releaseDone(avRecorder, done) 1091} 1092 1093export async function avRecorderReliabilitTest08(avConfig, avRecorder, recorderTime, done) { 1094 let result = true; 1095 avRecorder = await idle(avRecorder); 1096 await avRecorder.pause().then(() => { 1097 console.info('pause avRecorderReliabilitTest08 success'); 1098 }).catch((err) => { 1099 console.info('pause avRecorderReliabilitTest08 failed and catch error is ' + err.message); 1100 result = false 1101 }); 1102 expect(result).assertEqual(false); 1103 await releaseDone(avRecorder, done) 1104} 1105 1106export async function avRecorderReliabilitTest09(avConfig, avRecorder, recorderTime, done) { 1107 let result = true; 1108 avRecorder = await idle(avRecorder); 1109 await preparePromise(avRecorder, avConfig) 1110 await avRecorder.pause().then(() => { 1111 console.info('pause avRecorderReliabilitTest09 success'); 1112 }).catch((err) => { 1113 console.info('pause avRecorderReliabilitTest09 failed and catch error is ' + err.message); 1114 result = false 1115 }); 1116 expect(result).assertEqual(false); 1117 await releaseDone(avRecorder, done) 1118} 1119 1120export async function avRecorderReliabilitTest10(avConfig, avRecorder, recorderTime, done) { 1121 avRecorder = await idle(avRecorder); 1122 await preparePromise(avRecorder, avConfig) 1123 await startPromise(avRecorder) 1124 await pausePromise(avRecorder) 1125 await releaseDone(avRecorder, done) 1126} 1127 1128export async function avRecorderReliabilitTest11(avConfig, avRecorder, recorderTime, done) { 1129 avRecorder = await idle(avRecorder); 1130 await preparePromise(avRecorder, avConfig) 1131 await startPromise(avRecorder) 1132 await resumePromise(avRecorder) 1133 await pausePromise(avRecorder) 1134 await releaseDone(avRecorder, done) 1135} 1136 1137export async function avRecorderReliabilitTest12(avConfig, avRecorder, recorderTime, done) { 1138 let result = true; 1139 avRecorder = await idle(avRecorder); 1140 await preparePromise(avRecorder, avConfig) 1141 await startPromise(avRecorder) 1142 await stopPromise(avRecorder) 1143 await avRecorder.pause().then(() => { 1144 console.info('pause avRecorderReliabilitTest12 success'); 1145 }).catch((err) => { 1146 console.info('pause avRecorderReliabilitTest12 failed and catch error is ' + err.message); 1147 result = false 1148 }); 1149 expect(result).assertEqual(false); 1150 await releaseDone(avRecorder, done) 1151} 1152 1153export async function avRecorderReliabilitTest13(avConfig, avRecorder, recorderTime, done) { 1154 let result = true; 1155 avRecorder = await idle(avRecorder); 1156 await preparePromise(avRecorder, avConfig) 1157 await startPromise(avRecorder) 1158 await stopPromise(avRecorder) 1159 await resetPromise(avRecorder) 1160 await avRecorder.pause().then(() => { 1161 console.info('pause avRecorderReliabilitTest13 success'); 1162 }).catch((err) => { 1163 console.info('pause avRecorderReliabilitTest13 failed and catch error is ' + err.message); 1164 result = false 1165 }); 1166 expect(result).assertEqual(false); 1167 await releaseDone(avRecorder, done) 1168} 1169 1170export async function avRecorderReliabilitTest14(avConfig, avRecorder, recorderTime, done) { 1171 let result1 = true; 1172 let result2 = true; 1173 let result3 = true; 1174 let result4 = true; 1175 let result5 = true; 1176 1177 avRecorder = await idle(avRecorder); 1178 await avRecorder.pause().then(() => { 1179 console.info('pause avRecorderReliabilitTest14 success'); 1180 }).catch((err) => { 1181 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1182 result1 = false 1183 }); 1184 expect(result1).assertEqual(false); 1185 1186 await preparePromise(avRecorder, avConfig) 1187 await avRecorder.pause().then(() => { 1188 console.info('pause avRecorderReliabilitTest14 success'); 1189 }).catch((err) => { 1190 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1191 result2 = false 1192 }); 1193 expect(result2).assertEqual(false); 1194 1195 await startPromise(avRecorder) 1196 await avRecorder.pause().then(() => { 1197 console.info('pause avRecorderReliabilitTest14 success'); 1198 }).catch((err) => { 1199 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1200 result3 = false 1201 }); 1202 expect(result3).assertEqual(true); 1203 1204 await stopPromise(avRecorder) 1205 await avRecorder.pause().then(() => { 1206 console.info('pause avRecorderReliabilitTest14 success'); 1207 }).catch((err) => { 1208 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1209 result4 = false 1210 }); 1211 expect(result4).assertEqual(false); 1212 1213 await resetPromise(avRecorder) 1214 await avRecorder.pause().then(() => { 1215 console.info('pause avRecorderReliabilitTest14 success'); 1216 }).catch((err) => { 1217 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1218 result5 = false 1219 }); 1220 expect(result5).assertEqual(false); 1221 1222 await releaseDone(avRecorder, done) 1223} 1224 1225export async function avRecorderReliabilitTest15(avConfig, avRecorder, recorderTime, done) { 1226 let result1 = true; 1227 let result2 = true; 1228 let result3 = true; 1229 1230 avRecorder = await idle(avRecorder); 1231 await preparePromise(avRecorder, avConfig) 1232 await startPromise(avRecorder) 1233 await avRecorder.pause().then(() => { 1234 console.info('pause avRecorderReliabilitTest15 success'); 1235 }).catch((err) => { 1236 console.info('pause avRecorderReliabilitTest15 failed and catch error is ' + err.message); 1237 result1 = false 1238 }); 1239 expect(result1).assertEqual(true); 1240 1241 await avRecorder.pause().then(() => { 1242 console.info('pause avRecorderReliabilitTest15 success'); 1243 }).catch((err) => { 1244 console.info('pause avRecorderReliabilitTest15 failed and catch error is ' + err.message); 1245 result2 = false 1246 }); 1247 expect(result2).assertEqual(true); 1248 1249 await avRecorder.pause().then(() => { 1250 console.info('pause avRecorderReliabilitTest15 success'); 1251 }).catch((err) => { 1252 console.info('pause avRecorderReliabilitTest15 failed and catch error is ' + err.message); 1253 result3 = false 1254 }); 1255 expect(result3).assertEqual(true); 1256 1257 await releaseDone(avRecorder, done) 1258} 1259 1260export async function avRecorderReliabilitTest16(avConfig, avRecorder, recorderTime, done) { 1261 let result = true; 1262 avRecorder = await idle(avRecorder); 1263 await avRecorder.resume().then(() => { 1264 console.info('resume AVRecorder success'); 1265 }).catch((err) => { 1266 console.info('resume AVRecorder failed and catch error is ' + err.message); 1267 result = false 1268 }); 1269 expect(result).assertEqual(false); 1270 await releaseDone(avRecorder, done) 1271} 1272 1273export async function avRecorderReliabilitTest17(avConfig, avRecorder, recorderTime, done) { 1274 let result = true; 1275 avRecorder = await idle(avRecorder); 1276 await preparePromise(avRecorder, avConfig) 1277 await avRecorder.resume().then(() => { 1278 console.info('resume AVRecorder success'); 1279 }).catch((err) => { 1280 console.info('resume AVRecorder failed and catch error is ' + err.message); 1281 result = false 1282 }); 1283 expect(result).assertEqual(false); 1284 await releaseDone(avRecorder, done) 1285} 1286 1287export async function avRecorderReliabilitTest18(avConfig, avRecorder, recorderTime, done) { 1288 let result = true; 1289 avRecorder = await idle(avRecorder); 1290 await preparePromise(avRecorder, avConfig) 1291 await startPromise(avRecorder) 1292 await avRecorder.resume().then(() => { 1293 console.info('avRecorderReliabilitTest18 resume AVRecorder success'); 1294 }).catch((err) => { 1295 console.info('avRecorderReliabilitTest18 resume AVRecorder failed and catch error is ' + err.message); 1296 result = false 1297 }); 1298 expect(result).assertEqual(true); 1299 await releaseDone(avRecorder, done) 1300} 1301 1302export async function avRecorderReliabilitTest19(avConfig, avRecorder, recorderTime, done) { 1303 let result = true; 1304 avRecorder = await idle(avRecorder); 1305 await preparePromise(avRecorder, avConfig) 1306 await startPromise(avRecorder) 1307 await pausePromise(avRecorder) 1308 await avRecorder.resume().then(() => { 1309 console.info('avRecorderReliabilitTest19 resume AVRecorder success'); 1310 }).catch((err) => { 1311 console.info('avRecorderReliabilitTest19 resume AVRecorder failed and catch error is ' + err.message); 1312 result = false 1313 }); 1314 expect(result).assertEqual(true); 1315 await releaseDone(avRecorder, done) 1316} 1317 1318export async function avRecorderReliabilitTest20(avConfig, avRecorder, recorderTime, done) { 1319 let result = true; 1320 avRecorder = await idle(avRecorder); 1321 await preparePromise(avRecorder, avConfig) 1322 await startPromise(avRecorder) 1323 await stopPromise(avRecorder) 1324 await avRecorder.resume().then(() => { 1325 console.info('avRecorderReliabilitTest20 resume AVRecorder success'); 1326 }).catch((err) => { 1327 console.info('avRecorderReliabilitTest20 resume AVRecorder failed and catch error is ' + err.message); 1328 result = false 1329 }); 1330 expect(result).assertEqual(false); 1331 await releaseDone(avRecorder, done) 1332} 1333 1334export async function avRecorderReliabilitTest21(avConfig, avRecorder, recorderTime, done) { 1335 let result = true; 1336 avRecorder = await idle(avRecorder); 1337 await preparePromise(avRecorder, avConfig) 1338 await startPromise(avRecorder) 1339 await pausePromise(avRecorder) 1340 await resetPromise(avRecorder) 1341 await avRecorder.resume().then(() => { 1342 console.info('avRecorderReliabilitTest20 resume AVRecorder success'); 1343 }).catch((err) => { 1344 console.info('avRecorderReliabilitTest20 resume AVRecorder failed and catch error is ' + err.message); 1345 result = false 1346 }); 1347 expect(result).assertEqual(false); 1348 await releaseDone(avRecorder, done) 1349} 1350 1351export async function avRecorderReliabilitTest22(avConfig, avRecorder, recorderTime, done) { 1352 let result1 = true; 1353 let result2 = true; 1354 let result3 = true; 1355 let result4 = true; 1356 let result5 = true; 1357 1358 avRecorder = await idle(avRecorder); 1359 await avRecorder.resume().then(() => { 1360 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1361 }).catch((err) => { 1362 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1363 result1 = false 1364 }); 1365 expect(result1).assertEqual(false); 1366 1367 await preparePromise(avRecorder, avConfig) 1368 await avRecorder.resume().then(() => { 1369 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1370 }).catch((err) => { 1371 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1372 result2 = false 1373 }); 1374 expect(result2).assertEqual(false); 1375 1376 await startPromise(avRecorder) 1377 await avRecorder.resume().then(() => { 1378 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1379 }).catch((err) => { 1380 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1381 result3 = false 1382 }); 1383 expect(result3).assertEqual(true); 1384 1385 await pausePromise(avRecorder) 1386 await avRecorder.resume().then(() => { 1387 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1388 }).catch((err) => { 1389 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1390 result4 = false 1391 }); 1392 expect(result4).assertEqual(true); 1393 1394 await resetPromise(avRecorder) 1395 await avRecorder.resume().then(() => { 1396 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1397 }).catch((err) => { 1398 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1399 result5 = false 1400 }); 1401 expect(result5).assertEqual(false); 1402 1403 await releaseDone(avRecorder, done) 1404} 1405 1406export async function avRecorderReliabilitTest23(avConfig, avRecorder, recorderTime, done) { 1407 let result1 = true; 1408 let result2 = true; 1409 let result3 = true; 1410 1411 avRecorder = await idle(avRecorder); 1412 await preparePromise(avRecorder, avConfig) 1413 await startPromise(avRecorder) 1414 await pausePromise(avRecorder) 1415 await avRecorder.resume().then(() => { 1416 console.info('avRecorderReliabilitTest23 resume avRecorder success'); 1417 }).catch((err) => { 1418 console.info('avRecorderReliabilitTest23 resume avRecorder failed and catch error is ' + err.message); 1419 result1 = false 1420 }); 1421 expect(result1).assertEqual(true); 1422 1423 await avRecorder.resume().then(() => { 1424 console.info('avRecorderReliabilitTest23 resume avRecorder success'); 1425 }).catch((err) => { 1426 console.info('avRecorderReliabilitTest23 resume avRecorder failed and catch error is ' + err.message); 1427 result2 = false 1428 }); 1429 expect(result2).assertEqual(true); 1430 1431 await avRecorder.resume().then(() => { 1432 console.info('avRecorderReliabilitTest23 resume avRecorder success'); 1433 }).catch((err) => { 1434 console.info('avRecorderReliabilitTest23 resume avRecorder failed and catch error is ' + err.message); 1435 result3 = false 1436 }); 1437 expect(result3).assertEqual(true); 1438 1439 await releaseDone(avRecorder, done) 1440} 1441 1442export async function avRecorderReliabilitTest24(avConfig, avRecorder, recorderTime, done) { 1443 let result = true; 1444 avRecorder = await idle(avRecorder); 1445 await preparePromise(avRecorder, avConfig) 1446 await startPromise(avRecorder, recorderTime) 1447 await pausePromise(avRecorder) 1448 await avRecorder.stop().then(() => { 1449 console.info('avRecorderReliabilitTest24 stop avRecorder success'); 1450 }).catch((err) => { 1451 console.info('avRecorderReliabilitTest24 stop avRecorder failed and catch error is ' + err.message); 1452 result = false 1453 }); 1454 expect(result).assertEqual(true); 1455 await releaseDone(avRecorder, done) 1456} 1457 1458export async function avRecorderReliabilitTest25(avConfig, avRecorder, recorderTime, done) { 1459 let result = true; 1460 avRecorder = await idle(avRecorder); 1461 await preparePromise(avRecorder, avConfig) 1462 await startPromise(avRecorder, recorderTime) 1463 await pausePromise(avRecorder) 1464 await resumePromise(avRecorder) 1465 await avRecorder.stop().then(() => { 1466 console.info('avRecorderReliabilitTest25 stop avRecorder success'); 1467 }).catch((err) => { 1468 console.info('avRecorderReliabilitTest25 stop avRecorder failed and catch error is ' + err.message); 1469 result = false 1470 }); 1471 expect(result).assertEqual(true); 1472 await releaseDone(avRecorder, done) 1473} 1474 1475export async function avRecorderReliabilitTest26(avConfig, avRecorder, recorderTime, done) { 1476 let result = true; 1477 avRecorder = await idle(avRecorder); 1478 await preparePromise(avRecorder, avConfig) 1479 await startPromise(avRecorder) 1480 await pausePromise(avRecorder) 1481 await avRecorder.reset().then(() => { 1482 console.info('avRecorderReliabilitTest26 reset avRecorder success'); 1483 }).catch((err) => { 1484 console.info('avRecorderReliabilitTest26 reset avRecorder failed and catch error is ' + err.message); 1485 result = false 1486 }); 1487 expect(result).assertEqual(true); 1488 await releaseDone(avRecorder, done) 1489} 1490 1491export async function avRecorderReliabilitTest27(avConfig, avRecorder, recorderTime, done) { 1492 let result = true; 1493 avRecorder = await idle(avRecorder); 1494 await preparePromise(avRecorder, avConfig) 1495 await startPromise(avRecorder) 1496 await pausePromise(avRecorder) 1497 await resumePromise(avRecorder) 1498 await avRecorder.reset().then(() => { 1499 console.info('avRecorderReliabilitTest27 reset avRecorder success'); 1500 }).catch((err) => { 1501 console.info('avRecorderReliabilitTest27 reset avRecorder failed and catch error is ' + err.message); 1502 result = false 1503 }); 1504 expect(result).assertEqual(true); 1505 await releaseDone(avRecorder, done) 1506} 1507 1508export async function avRecorderReliabilitTest28(avConfig, avRecorder, recorderTime, done) { 1509 let result = true; 1510 avRecorder = await idle(avRecorder); 1511 await preparePromise(avRecorder, avConfig) 1512 await startPromise(avRecorder) 1513 await pausePromise(avRecorder) 1514 await avRecorder.release().then(() => { 1515 console.info('avRecorderReliabilitTest28 release avRecorder success'); 1516 }).catch((err) => { 1517 console.info('avRecorderReliabilitTest28 release avRecorder failed and catch error is ' + err.message); 1518 result = false 1519 }); 1520 expect(result).assertEqual(true); 1521 await releaseDone(avRecorder, done) 1522} 1523 1524export async function avRecorderReliabilitTest29(avConfig, avRecorder, recorderTime, done) { 1525 let result = true; 1526 avRecorder = await idle(avRecorder); 1527 await preparePromise(avRecorder, avConfig) 1528 await startPromise(avRecorder) 1529 await pausePromise(avRecorder) 1530 await resumePromise(avRecorder) 1531 await avRecorder.release().then(() => { 1532 console.info('avRecorderReliabilitTest29 release avRecorder success'); 1533 }).catch((err) => { 1534 console.info('avRecorderReliabilitTest29 release avRecorder failed and catch error is ' + err.message); 1535 result = false 1536 }); 1537 expect(result).assertEqual(true); 1538 await releaseDone(avRecorder, done) 1539} 1540 1541export async function avRecorderReliabilitTest30(avConfig, avRecorder, recorderTime, done) { 1542 let result1 = true; 1543 let result2 = true; 1544 let result3 = true; 1545 1546 avRecorder = await idle(avRecorder); 1547 await preparePromise(avRecorder, avConfig) 1548 await startPromise(avRecorder) 1549 await pausePromise(avRecorder) 1550 await avRecorder.release().then(() => { 1551 console.info('avRecorderReliabilitTest30 release avRecorder success'); 1552 }).catch((err) => { 1553 console.info('avRecorderReliabilitTest30 release avRecorder failed and catch error is ' + err.message); 1554 result1 = false 1555 }); 1556 expect(result1).assertEqual(true); 1557 1558 await avRecorder.release().then(() => { 1559 console.info('avRecorderReliabilitTest30 release avRecorder success'); 1560 }).catch((err) => { 1561 console.info('avRecorderReliabilitTest30 release avRecorder failed and catch error is ' + err.message); 1562 result2 = false 1563 }); 1564 expect(result2).assertEqual(true); 1565 1566 await avRecorder.release().then(() => { 1567 console.info('avRecorderReliabilitTest30 release avRecorder success'); 1568 }).catch((err) => { 1569 console.info('avRecorderReliabilitTest30 release avRecorder failed and catch error is ' + err.message); 1570 result3 = false 1571 }); 1572 expect(result3).assertEqual(true); 1573 done(); 1574} 1575 1576export async function avRecorderReliabilitTest31(avConfig, avRecorder, recorderTime, done) { 1577 let surfaceID = null; 1578 let result = true; 1579 avRecorder = await idle(avRecorder); 1580 await avRecorder.getInputSurface().then((surfaceId) => { 1581 console.info('avRecorderReliabilitTest31 getInputSurface success'); 1582 surfaceID = surfaceId; 1583 }).catch((err) => { 1584 console.info('avRecorderReliabilitTest31 getInputSurface failed and catch error is ' + err.message); 1585 result = false 1586 }); 1587 expect(result).assertEqual(false); 1588 await releaseDone(avRecorder, done) 1589} 1590 1591 1592export async function getInputSurfaceTest32(avConfig, avRecorder, recorderTime, done) { 1593 console.info(`case getInputSurfaceTest in`); 1594 avRecorder.on('stateChange', async (state, reason) => { 1595 console.info('case state has changed, new state is :' + state); 1596 switch (state) { 1597 case AV_RECORDER_STATE.PREPARED: 1598 console.info(`case getInputSurfaceTest32 state is PREPARED`); 1599 expect(avRecorder.state).assertEqual('prepared'); 1600 setTimeout(async () => { 1601 await getInputSurfacePromise(avRecorder) 1602 await releasePromise(avRecorder) 1603 }, 2000); 1604 1605 break; 1606 case AV_RECORDER_STATE.RELEASED: 1607 console.info(`case getInputSurfaceTest32 state is released`); 1608 expect(avRecorder.state).assertEqual('released'); 1609 done(); 1610 break; 1611 case AV_RECORDER_STATE.ERROR: 1612 console.info(`case getInputSurfaceTest32 state is ERROR`) 1613 expect(avRecorder.state).assertEqual('error'); 1614 break; 1615 default: 1616 console.info('case state is unknown'); 1617 } 1618 }); 1619 avRecorder.on('error', (err) => { 1620 console.info('case getInputSurfaceTest32 avRecorder.on(error) called, errMessage is ' + err.message); 1621 done(); 1622 }); 1623} 1624 1625export async function avRecorderReliabilitTest32(avConfig, avRecorder, recorderTime, done) { 1626 avRecorder = await idle(avRecorder); 1627 getInputSurfaceTest32(avConfig, avRecorder, recorderTime, done) 1628 await preparePromise(avRecorder, avConfig) 1629} 1630 1631export async function getInputSurfaceTest33(avConfig, avRecorder, recorderTime, done) { 1632 console.info(`case getInputSurfaceTest33 in`); 1633 avRecorder.on('stateChange', async (state, reason) => { 1634 console.info('case state has changed, new state is :' + state); 1635 switch (state) { 1636 case AV_RECORDER_STATE.PREPARED: 1637 console.info(`case getInputSurfaceTest33 state is PREPARED`); 1638 expect(avRecorder.state).assertEqual('prepared'); 1639 getInputSurfacePromise(avRecorder) 1640 startPromise(avRecorder) 1641 break; 1642 case AV_RECORDER_STATE.STARTED: 1643 console.info(`case getInputSurfaceTest33 state is started`) 1644 expect(avRecorder.state).assertEqual('started'); 1645 await sleep(recorderTime); 1646 console.info(`case getInputSurfaceTest33 111`) 1647 getInputSurfacePromise(avRecorder) 1648 console.info(`case getInputSurfaceTest33 222`) 1649 releasePromise(avRecorder) 1650 break; 1651 case AV_RECORDER_STATE.RELEASED: 1652 console.info(`case getInputSurfaceTest33 state is released`); 1653 expect(avRecorder.state).assertEqual('released'); 1654 done(); 1655 break; 1656 case AV_RECORDER_STATE.ERROR: 1657 console.info(`case getInputSurfaceTest33 state is ERROR`) 1658 expect(avRecorder.state).assertEqual('error'); 1659 break; 1660 default: 1661 console.info('case state is unknown'); 1662 } 1663 }); 1664 avRecorder.on('error', (err) => { 1665 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 1666 done(); 1667 }); 1668} 1669 1670export async function avRecorderReliabilitTest33(avConfig, avRecorder, recorderTime, done) { 1671 avRecorder = await idle(avRecorder); 1672 getInputSurfaceTest33(avConfig, avRecorder, recorderTime, done) 1673 await preparePromise(avRecorder, avConfig) 1674} 1675 1676export async function getInputSurfaceTest34(avConfig, avRecorder, recorderTime, done) { 1677 console.info(`case getInputSurfaceTest34 in`); 1678 avRecorder.on('stateChange', async (state, reason) => { 1679 console.info('case state has changed, new state is :' + state); 1680 switch (state) { 1681 case AV_RECORDER_STATE.PREPARED: 1682 console.info(`case getInputSurfaceTest34 state is PREPARED`); 1683 expect(avRecorder.state).assertEqual('prepared'); 1684 getInputSurfacePromise(avRecorder) 1685 startPromise(avRecorder) 1686 break; 1687 case AV_RECORDER_STATE.STARTED: 1688 console.info(`case getInputSurfaceTest34 state is started`) 1689 expect(avRecorder.state).assertEqual('started'); 1690 await sleep(recorderTime); 1691 pausePromise(avRecorder) 1692 break; 1693 case AV_RECORDER_STATE.PAUSED: 1694 console.info(`case getInputSurfaceTest34 state is paused`) 1695 expect(avRecorder.state).assertEqual('paused'); 1696 getInputSurfacePromise(avRecorder) 1697 releasePromise(avRecorder) 1698 break; 1699 case AV_RECORDER_STATE.RELEASED: 1700 console.info(`case getInputSurfaceTest34 state is released`); 1701 expect(avRecorder.state).assertEqual('released'); 1702 done(); 1703 break; 1704 case AV_RECORDER_STATE.ERROR: 1705 console.info(`case getInputSurfaceTest34 state is ERROR`) 1706 expect(avRecorder.state).assertEqual('error'); 1707 break; 1708 default: 1709 console.info('case state is unknown'); 1710 } 1711 }); 1712 avRecorder.on('error', (err) => { 1713 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 1714 done(); 1715 }); 1716} 1717 1718export async function avRecorderReliabilitTest34(avConfig, avRecorder, recorderTime, done) { 1719 avRecorder = await idle(avRecorder); 1720 getInputSurfaceTest34(avConfig, avRecorder, recorderTime, done) 1721 await preparePromise(avRecorder, avConfig) 1722} 1723 1724export async function getInputSurfaceTest35(avConfig, avRecorder, recorderTime, done) { 1725 console.info(`case getInputSurfaceTest35 in`); 1726 avRecorder.on('stateChange', async (state, reason) => { 1727 console.info('case state has changed, new state is :' + state); 1728 switch (state) { 1729 case AV_RECORDER_STATE.PREPARED: 1730 console.info(`case getInputSurfaceTest35 state is PREPARED`); 1731 expect(avRecorder.state).assertEqual('prepared'); 1732 await getInputSurfacePromise(avRecorder) 1733 await startPromise(avRecorder) 1734 break; 1735 case AV_RECORDER_STATE.STARTED: 1736 console.info(`case getInputSurfaceTest35 state is started`) 1737 expect(avRecorder.state).assertEqual('started'); 1738 setTimeout(async () => { 1739 console.info('getInputSurfaceTest35 setTimeout success'); 1740 await pausePromise(avRecorder) 1741 }, recorderTime); 1742 break; 1743 case AV_RECORDER_STATE.PAUSED: 1744 console.info(`case getInputSurfaceTest35 state is paused`) 1745 expect(avRecorder.state).assertEqual('paused'); 1746 await resumePromise(avRecorder) 1747 await getInputSurfacePromise(avRecorder) 1748 await releasePromise(avRecorder) 1749 break; 1750 case AV_RECORDER_STATE.RELEASED: 1751 console.info(`case getInputSurfaceTest35 state is released`); 1752 expect(avRecorder.state).assertEqual('released'); 1753 done(); 1754 break; 1755 case AV_RECORDER_STATE.ERROR: 1756 console.info(`case getInputSurfaceTest35 state is ERROR`) 1757 expect(avRecorder.state).assertEqual('error'); 1758 break; 1759 default: 1760 console.info('case state is unknown'); 1761 } 1762 }); 1763 avRecorder.on('error', (err) => { 1764 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 1765 done(); 1766 }); 1767} 1768 1769export async function avRecorderReliabilitTest35(avConfig, avRecorder, recorderTime, done) { 1770 avRecorder = await idle(avRecorder); 1771 getInputSurfaceTest35(avConfig, avRecorder, recorderTime, done) 1772 await preparePromise(avRecorder, avConfig) 1773} 1774 1775export async function getInputSurfaceTest36(avConfig, avRecorder, recorderTime, done) { 1776 console.info(`case getInputSurfaceTest36 in`); 1777 avRecorder.on('stateChange', async (state, reason) => { 1778 console.info('case state has changed, new state is :' + state); 1779 switch (state) { 1780 case AV_RECORDER_STATE.PREPARED: 1781 console.info(`case getInputSurfaceTest36 state is PREPARED`); 1782 expect(avRecorder.state).assertEqual('prepared'); 1783 await getInputSurfacePromise(avRecorder) 1784 await startPromise(avRecorder) 1785 break; 1786 case AV_RECORDER_STATE.STARTED: 1787 console.info(`case getInputSurfaceTest36 state is started`) 1788 expect(avRecorder.state).assertEqual('started'); 1789 await sleep(recorderTime); 1790 setTimeout(async () => { 1791 console.info('getInputSurfaceTest36 setTimeout success'); 1792 await stopPromise(avRecorder) 1793 }, recorderTime); 1794 break; 1795 case AV_RECORDER_STATE.STOPPED: 1796 console.info(`case getInputSurfaceTest36 state is stopped`) 1797 expect(avRecorder.state).assertEqual('stopped'); 1798 await getInputSurfacePromise(avRecorder) 1799 await releasePromise(avRecorder) 1800 break; 1801 case AV_RECORDER_STATE.RELEASED: 1802 console.info(`case getInputSurfaceTest36 state is released`); 1803 expect(avRecorder.state).assertEqual('released'); 1804 done(); 1805 break; 1806 case AV_RECORDER_STATE.ERROR: 1807 console.info(`case getInputSurfaceTest36 state is ERROR`) 1808 expect(avRecorder.state).assertEqual('error'); 1809 break; 1810 default: 1811 console.info('case state is unknown'); 1812 } 1813 }); 1814 avRecorder.on('error', (err) => { 1815 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 1816 done(); 1817 }); 1818} 1819 1820export async function avRecorderReliabilitTest36(avConfig, avRecorder, recorderTime, done) { 1821 avRecorder = await idle(avRecorder); 1822 getInputSurfaceTest36(avConfig, avRecorder, recorderTime, done) 1823 await preparePromise(avRecorder, avConfig) 1824} 1825 1826export async function getInputSurfaceTest37(avConfig, avRecorder, recorderTime, done) { 1827 console.info(`case getInputSurfaceTest37 in`); 1828 avRecorder.on('stateChange', async (state, reason) => { 1829 console.info('case state has changed, new state is :' + state); 1830 switch (state) { 1831 case AV_RECORDER_STATE.IDLE: 1832 console.info(`case getInputSurfaceTest37 state is idle`); 1833 expect(avRecorder.state).assertEqual("idle"); 1834 await getInputSurfacePromise(avRecorder) 1835 await releasePromise(avRecorder) 1836 break; 1837 case AV_RECORDER_STATE.PREPARED: 1838 console.info(`case getInputSurfaceTest37 state isPREPARED`); 1839 expect(avRecorder.state).assertEqual('prepared'); 1840 await getInputSurfacePromise(avRecorder) 1841 await startPromise(avRecorder) 1842 break; 1843 case AV_RECORDER_STATE.STARTED: 1844 console.info(`case getInputSurfaceTest37 state isstarted`) 1845 expect(avRecorder.state).assertEqual('started'); 1846 setTimeout(async () => { 1847 console.info('getInputSurfaceTest37 setTimeout success'); 1848 await resetPromise(avRecorder) 1849 }, recorderTime); 1850 break; 1851 case AV_RECORDER_STATE.RELEASED: 1852 console.info(`case getInputSurfaceTest37 state is released`); 1853 expect(avRecorder.state).assertEqual('released'); 1854 done(); 1855 break; 1856 case AV_RECORDER_STATE.ERROR: 1857 console.info(`case getInputSurfaceTest37 state is ERROR`) 1858 expect(avRecorder.state).assertEqual('error'); 1859 break; 1860 default: 1861 console.info('case state is unknown'); 1862 } 1863 }); 1864 avRecorder.on('error', (err) => { 1865 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 1866 done(); 1867 }); 1868} 1869 1870export async function avRecorderReliabilitTest37(avConfig, avRecorder, recorderTime, done) { 1871 avRecorder = await idle(avRecorder); 1872 getInputSurfaceTest37(avConfig, avRecorder, recorderTime, done) 1873 await preparePromise(avRecorder, avConfig) 1874} 1875 1876async function getInputSurfaceCatachError(avRecorder, result, surfaceID){ 1877 await avRecorder.getInputSurface().then((surfaceId) => { 1878 console.info('getInputSurfaceTest38 getInputSurface success'); 1879 surfaceID = surfaceId; 1880 }).catch((err) => { 1881 console.info('getInputSurfaceTest38 getInputSurface failed and catch error is ' + err.message); 1882 result = false 1883 console.info('getInputSurfaceTest38 getInputSurface result is ' + result); 1884 expect(result).assertEqual(false); 1885 }); 1886} 1887 1888export async function getInputSurfaceTest38(avConfig, avRecorder, recorderTime, done) { 1889 let result1 = true; 1890 let result2 = true; 1891 let result3 = true; 1892 let surfaceID = null; 1893 console.info(`case getInputSurfaceTest38 in`); 1894 avRecorder.on('stateChange', async (state, reason) => { 1895 console.info('case state has changed, new state is :' + state); 1896 switch (state) { 1897 case AV_RECORDER_STATE.PREPARED: 1898 console.info(`case getInputSurfaceTest38 state is PREPARED`); 1899 expect(avRecorder.state).assertEqual('prepared'); 1900 getInputSurfaceCatachError(avRecorder, result1, surfaceID) 1901 getInputSurfaceCatachError(avRecorder, result2, surfaceID) 1902 getInputSurfaceCatachError(avRecorder, result3, surfaceID) 1903 releasePromise(avRecorder) 1904 break; 1905 case AV_RECORDER_STATE.RELEASED: 1906 console.info(`case getInputSurfaceTest38 state is released`); 1907 expect(avRecorder.state).assertEqual('released'); 1908 done(); 1909 break; 1910 case AV_RECORDER_STATE.ERROR: 1911 console.info(`case getInputSurfaceTest38 state is ERROR`) 1912 expect(avRecorder.state).assertEqual('error'); 1913 break; 1914 default: 1915 console.info('case state is unknown'); 1916 } 1917 }); 1918 avRecorder.on('error', (err) => { 1919 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 1920 done(); 1921 }); 1922} 1923 1924export async function avRecorderReliabilitTest38(avConfig, avRecorder, recorderTime, done) { 1925 avRecorder = await idle(avRecorder); 1926 getInputSurfaceTest38(avConfig, avRecorder, recorderTime, done) 1927 await preparePromise(avRecorder, avConfig) 1928} 1929 1930export async function avRecorderReliabilitTest39(avConfig, avRecorder, recorderTime, done) { 1931 let avRecorderConfig = null; 1932 let result = true; 1933 avRecorder = await idle(avRecorder); 1934 await avRecorder.getAVRecorderConfig().then((config) => { 1935 console.info('avRecorderReliabilitTest39 getAVRecorderConfig success'); 1936 avRecorderConfig = config; 1937 }).catch((err) => { 1938 console.info('avRecorderReliabilitTest31 getAVRecorderConfig failed and catch error is ' + err.message); 1939 result = false 1940 }); 1941 expect(result).assertEqual(false); 1942 await releaseDone(avRecorder, done) 1943} 1944 1945export async function getAVRecorderConfigTest40(avConfig, avRecorder, recorderTime, done) { 1946 console.info(`case getAVRecorderConfigTest40 in`); 1947 avRecorder.on('stateChange', async (state, reason) => { 1948 console.info('case state has changed, new state is :' + state); 1949 switch (state) { 1950 case AV_RECORDER_STATE.PREPARED: 1951 console.info(`case getAVRecorderConfigTest40 state is PREPARED`); 1952 expect(avRecorder.state).assertEqual('prepared'); 1953 setTimeout(async () => { 1954 await getAVRecorderConfigPromise(avConfig, avRecorder) 1955 await releasePromise(avRecorder) 1956 }, 2000); 1957 break; 1958 case AV_RECORDER_STATE.RELEASED: 1959 console.info(`case getAVRecorderConfigTest40 state is released`); 1960 expect(avRecorder.state).assertEqual('released'); 1961 done(); 1962 break; 1963 case AV_RECORDER_STATE.ERROR: 1964 console.info(`case getAVRecorderConfigTest40 state is ERROR`) 1965 expect(avRecorder.state).assertEqual('error'); 1966 break; 1967 default: 1968 console.info('case state is unknown'); 1969 } 1970 }); 1971 avRecorder.on('error', (err) => { 1972 console.info('case getAVRecorderConfigTest40 avRecorder.on(error) called, errMessage is ' + err.message); 1973 done(); 1974 }); 1975} 1976 1977export async function avRecorderReliabilitTest40(avConfig, avRecorder, recorderTime, done) { 1978 avRecorder = await idle(avRecorder); 1979 getAVRecorderConfigTest40(avConfig, avRecorder, recorderTime, done) 1980 await preparePromise(avRecorder, avConfig) 1981} 1982 1983export async function getAVRecorderConfigTest41(avConfig, avRecorder, recorderTime, done) { 1984 console.info(`case getAVRecorderConfigTest41 in`); 1985 avRecorder.on('stateChange', async (state, reason) => { 1986 console.info('case state has changed, new state is :' + state); 1987 switch (state) { 1988 case AV_RECORDER_STATE.PREPARED: 1989 console.info(`case getAVRecorderConfigTest41 state is PREPARED`); 1990 expect(avRecorder.state).assertEqual('prepared'); 1991 getAVRecorderConfigPromise(avConfig, avRecorder) 1992 startPromise(avRecorder) 1993 break; 1994 case AV_RECORDER_STATE.STARTED: 1995 console.info(`case getAVRecorderConfigTest41 state is started`) 1996 expect(avRecorder.state).assertEqual('started'); 1997 await sleep(recorderTime); 1998 console.info(`case getAVRecorderConfigTest41 111`) 1999 getAVRecorderConfigPromise(avConfig, avRecorder) 2000 console.info(`case getAVRecorderConfigTest41 222`) 2001 releasePromise(avRecorder) 2002 break; 2003 case AV_RECORDER_STATE.RELEASED: 2004 console.info(`case getAVRecorderConfigTest41 state is released`); 2005 expect(avRecorder.state).assertEqual('released'); 2006 done(); 2007 break; 2008 case AV_RECORDER_STATE.ERROR: 2009 console.info(`case getAVRecorderConfigTest41 state is ERROR`) 2010 expect(avRecorder.state).assertEqual('error'); 2011 break; 2012 default: 2013 console.info('case state is unknown'); 2014 } 2015 }); 2016 avRecorder.on('error', (err) => { 2017 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2018 done(); 2019 }); 2020} 2021 2022export async function avRecorderReliabilitTest41(avConfig, avRecorder, recorderTime, done) { 2023 avRecorder = await idle(avRecorder); 2024 getAVRecorderConfigTest41(avConfig, avRecorder, recorderTime, done) 2025 await preparePromise(avRecorder, avConfig) 2026} 2027 2028export async function getAVRecorderConfigTest42(avConfig, avRecorder, recorderTime, done) { 2029 console.info(`case getAVRecorderConfigTest42 in`); 2030 avRecorder.on('stateChange', async (state, reason) => { 2031 console.info('case state has changed, new state is :' + state); 2032 switch (state) { 2033 case AV_RECORDER_STATE.PREPARED: 2034 console.info(`case getAVRecorderConfigTest42 state is PREPARED`); 2035 expect(avRecorder.state).assertEqual('prepared'); 2036 getAVRecorderConfigPromise(avConfig, avRecorder) 2037 startPromise(avRecorder) 2038 break; 2039 case AV_RECORDER_STATE.STARTED: 2040 console.info(`case getAVRecorderConfigTest42 state is started`) 2041 expect(avRecorder.state).assertEqual('started'); 2042 await sleep(recorderTime); 2043 pausePromise(avRecorder) 2044 break; 2045 case AV_RECORDER_STATE.PAUSED: 2046 console.info(`case getAVRecorderConfigTest42 state is paused`) 2047 expect(avRecorder.state).assertEqual('paused'); 2048 getAVRecorderConfigPromise(avConfig, avRecorder) 2049 releasePromise(avRecorder) 2050 break; 2051 case AV_RECORDER_STATE.RELEASED: 2052 console.info(`case getAVRecorderConfigTest42 state is released`); 2053 expect(avRecorder.state).assertEqual('released'); 2054 done(); 2055 break; 2056 case AV_RECORDER_STATE.ERROR: 2057 console.info(`case getAVRecorderConfigTest42 state is ERROR`) 2058 expect(avRecorder.state).assertEqual('error'); 2059 break; 2060 default: 2061 console.info('case state is unknown'); 2062 } 2063 }); 2064 avRecorder.on('error', (err) => { 2065 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2066 done(); 2067 }); 2068} 2069 2070export async function avRecorderReliabilitTest42(avConfig, avRecorder, recorderTime, done) { 2071 avRecorder = await idle(avRecorder); 2072 getAVRecorderConfigTest42(avConfig, avRecorder, recorderTime, done) 2073 await preparePromise(avRecorder, avConfig) 2074} 2075 2076export async function getAVRecorderConfigTest43(avConfig, avRecorder, recorderTime, done) { 2077 console.info(`case getAVRecorderConfigTest43 in`); 2078 avRecorder.on('stateChange', async (state, reason) => { 2079 console.info('case state has changed, new state is :' + state); 2080 switch (state) { 2081 case AV_RECORDER_STATE.PREPARED: 2082 console.info(`case getAVRecorderConfigTest43 state is PREPARED`); 2083 expect(avRecorder.state).assertEqual('prepared'); 2084 await getAVRecorderConfigPromise(avConfig, avRecorder) 2085 await startPromise(avRecorder) 2086 break; 2087 case AV_RECORDER_STATE.STARTED: 2088 console.info(`case getAVRecorderConfigTest43 state is started`) 2089 expect(avRecorder.state).assertEqual('started'); 2090 setTimeout(async () => { 2091 console.info('getAVRecorderConfigTest43 setTimeout success'); 2092 await pausePromise(avRecorder) 2093 }, recorderTime); 2094 break; 2095 case AV_RECORDER_STATE.PAUSED: 2096 console.info(`case getAVRecorderConfigTest43 state is paused`) 2097 expect(avRecorder.state).assertEqual('paused'); 2098 await resumePromise(avRecorder) 2099 await getAVRecorderConfigPromise(avConfig, avRecorder) 2100 await releasePromise(avRecorder) 2101 break; 2102 case AV_RECORDER_STATE.RELEASED: 2103 console.info(`case getAVRecorderConfigTest43 state is released`); 2104 expect(avRecorder.state).assertEqual('released'); 2105 done(); 2106 break; 2107 case AV_RECORDER_STATE.ERROR: 2108 console.info(`case getAVRecorderConfigTest43 state is ERROR`) 2109 expect(avRecorder.state).assertEqual('error'); 2110 break; 2111 default: 2112 console.info('case state is unknown'); 2113 } 2114 }); 2115 avRecorder.on('error', (err) => { 2116 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2117 done(); 2118 }); 2119} 2120 2121export async function avRecorderReliabilitTest43(avConfig, avRecorder, recorderTime, done) { 2122 avRecorder = await idle(avRecorder); 2123 getAVRecorderConfigTest43(avConfig, avRecorder, recorderTime, done) 2124 await preparePromise(avRecorder, avConfig) 2125} 2126 2127export async function getAVRecorderConfigTest44(avConfig, avRecorder, recorderTime, done) { 2128 console.info(`case getAVRecorderConfigTest44 in`); 2129 avRecorder.on('stateChange', async (state, reason) => { 2130 console.info('case state has changed, new state is :' + state); 2131 switch (state) { 2132 case AV_RECORDER_STATE.PREPARED: 2133 console.info(`case getAVRecorderConfigTest44 state is PREPARED`); 2134 expect(avRecorder.state).assertEqual('prepared'); 2135 await getAVRecorderConfigPromise(avConfig, avRecorder) 2136 await startPromise(avRecorder) 2137 break; 2138 case AV_RECORDER_STATE.STARTED: 2139 console.info(`case getAVRecorderConfigTest44 state is started`) 2140 expect(avRecorder.state).assertEqual('started'); 2141 await sleep(recorderTime); 2142 setTimeout(async () => { 2143 console.info('getAVRecorderConfigTest44 setTimeout success'); 2144 await stopPromise(avRecorder) 2145 }, recorderTime); 2146 break; 2147 case AV_RECORDER_STATE.STOPPED: 2148 console.info(`case getAVRecorderConfigTest44 state is stopped`) 2149 expect(avRecorder.state).assertEqual('stopped'); 2150 await getAVRecorderConfigPromise(avConfig, avRecorder) 2151 await releasePromise(avRecorder) 2152 break; 2153 case AV_RECORDER_STATE.RELEASED: 2154 console.info(`case getAVRecorderConfigTest44 state is released`); 2155 expect(avRecorder.state).assertEqual('released'); 2156 done(); 2157 break; 2158 case AV_RECORDER_STATE.ERROR: 2159 console.info(`case getAVRecorderConfigTest44 state is ERROR`) 2160 expect(avRecorder.state).assertEqual('error'); 2161 break; 2162 default: 2163 console.info('case state is unknown'); 2164 } 2165 }); 2166 avRecorder.on('error', (err) => { 2167 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2168 done(); 2169 }); 2170} 2171 2172export async function avRecorderReliabilitTest44(avConfig, avRecorder, recorderTime, done) { 2173 avRecorder = await idle(avRecorder); 2174 getAVRecorderConfigTest44(avConfig, avRecorder, recorderTime, done) 2175 await preparePromise(avRecorder, avConfig) 2176} 2177 2178export async function getAVRecorderConfigTest45(avConfig, avRecorder, recorderTime, done) { 2179 console.info(`case getAVRecorderConfigTest45 in`); 2180 avRecorder.on('stateChange', async (state, reason) => { 2181 console.info('case state has changed, new state is :' + state); 2182 switch (state) { 2183 case AV_RECORDER_STATE.IDLE: 2184 console.info(`case getAVRecorderConfigTest45 state is idle`); 2185 expect(avRecorder.state).assertEqual("idle"); 2186 await getAVRecorderConfigPromise(avConfig, avRecorder) 2187 await releasePromise(avRecorder) 2188 break; 2189 case AV_RECORDER_STATE.PREPARED: 2190 console.info(`case getAVRecorderConfigTest45 state isPREPARED`); 2191 expect(avRecorder.state).assertEqual('prepared'); 2192 await getAVRecorderConfigPromise(avConfig, avRecorder) 2193 await startPromise(avRecorder) 2194 break; 2195 case AV_RECORDER_STATE.STARTED: 2196 console.info(`case getAVRecorderConfigTest45 state isstarted`) 2197 expect(avRecorder.state).assertEqual('started'); 2198 setTimeout(async () => { 2199 console.info('getAVRecorderConfigTest45 setTimeout success'); 2200 await resetPromise(avRecorder) 2201 }, recorderTime); 2202 break; 2203 case AV_RECORDER_STATE.RELEASED: 2204 console.info(`case getAVRecorderConfigTest45 state is released`); 2205 expect(avRecorder.state).assertEqual('released'); 2206 done(); 2207 break; 2208 case AV_RECORDER_STATE.ERROR: 2209 console.info(`case getAVRecorderConfigTest45 state is ERROR`) 2210 expect(avRecorder.state).assertEqual('error'); 2211 break; 2212 default: 2213 console.info('case state is unknown'); 2214 } 2215 }); 2216 avRecorder.on('error', (err) => { 2217 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2218 done(); 2219 }); 2220} 2221 2222export async function avRecorderReliabilitTest45(avConfig, avRecorder, recorderTime, done) { 2223 avRecorder = await idle(avRecorder); 2224 getAVRecorderConfigTest45(avConfig, avRecorder, recorderTime, done) 2225 await preparePromise(avRecorder, avConfig) 2226} 2227 2228export async function createTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2229 let totalTime = 0; 2230 for(var i = 0;i < 10;i++){ 2231 let start = Date.now(); 2232 console.info(`createTimeTestCallback start time is : ${start}`) 2233 avRecorder = await idle(avRecorder); 2234 let end = Date.now() 2235 let execution = parseInt(end - start) 2236 console.info("createTimeTestCallback execution time is :" + execution) 2237 totalTime = totalTime + execution; 2238 await avRecorder.release().then(() => { 2239 console.info('createTimeTestCallback avPlayer is release') 2240 console.info(`createTimeTestCallback avRecorder.state is : ${avRecorder.state}`) 2241 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2242 if(i == 9){ 2243 let avg = totalTime/10; 2244 console.info("createTimeTest avg time is :" + avg) 2245 done(); 2246 } 2247 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2248 } 2249} 2250 2251export async function prepareTimeCallback(avConfig, avRecorder, recorderTime, done) { 2252 let totalTime = 0; 2253 for(var i = 0;i < 10;i++){ 2254 avRecorder = await idle(avRecorder); 2255 await sleep(20) 2256 let start = Date.now(); 2257 console.info(`prepareTimeWithoutCallback start time is : ${start}`) 2258 let end; 2259 await avRecorder.prepare(avConfig, (err) => { 2260 if (err == null) { 2261 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2262 console.info('prepareTimeWithoutCallback avPlayer state is prepared') 2263 end = Date.now() 2264 console.info(`prepareTimeWithoutCallback end time is : ${end}`) 2265 } else { 2266 console.info('prepare failed and error is ' + err.message); 2267 } 2268 }) 2269 let execution = parseInt(end - start) 2270 console.info("prepareTimeWithoutCallback execution time is :" + execution) 2271 totalTime = totalTime + execution; 2272 await avRecorder.release().then(() => { 2273 console.info('prepareTimeWithoutCallback avPlayer is release') 2274 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2275 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2276 } 2277 let avg = totalTime/10; 2278 console.info("prepareTimeWithoutCallback avg time is :" + avg) 2279 done(); 2280} 2281 2282export async function getInputSurfaceTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2283 let totalTime = 0; 2284 let surfaceID = null; 2285 for(var i = 0;i < 10;i++){ 2286 avRecorder = await idle(avRecorder); 2287 await sleep(20) 2288 let end; 2289 await avRecorder.prepare(avConfig).then(() => { 2290 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2291 console.info('getInputSurfaceTimeTestCallback avPlayer state is prepared') 2292 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2293 2294 let start = Date.now(); 2295 console.info(`getInputSurfaceTimeTestCallback start time is : ${start}`) 2296 await avRecorder.getInputSurface((err, surfaceId) => { 2297 if (err == null) { 2298 console.info('getInputSurfaceTimeTestCallback success'); 2299 surfaceID = surfaceId; 2300 end = Date.now() 2301 console.info(`getInputSurfaceTimeTestCallback end time is : ${end}`) 2302 let execution = parseInt(end - start) 2303 console.info("getInputSurfaceTimeTestCallback execution time is :" + execution) 2304 totalTime = totalTime + execution; 2305 } else { 2306 console.info('getInputSurfaceTimeTestCallback failed and error is ' + err.message); 2307 } 2308 }); 2309 await avRecorder.release().then(() => { 2310 console.info('getInputSurfaceTimeTestCallback avPlayer is release') 2311 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2312 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2313 } 2314 let avg = totalTime/10; 2315 console.info("getInputSurfaceTimeTestCallback avg time is :" + avg) 2316 done(); 2317} 2318 2319export async function startTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2320 let totalTime = 0; 2321 for(var i = 0;i < 10;i++){ 2322 avRecorder = await idle(avRecorder); 2323 await sleep(20) 2324 let end; 2325 await avRecorder.prepare(avConfig).then(() => { 2326 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2327 console.info('startTimeTestCallback avPlayer state is prepared') 2328 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2329 let start = Date.now(); 2330 console.info(`startTimeTestCallback start time is : ${start}`) 2331 await avRecorder.start((err) => { 2332 if (err == null) { 2333 end = Date.now() 2334 console.info(`startTimeTestCallback end time is : ${end}`) 2335 console.info('startTimeTestCallback avRecorder success'); 2336 let execution = parseInt(end - start) 2337 console.info("startTimeTestCallback execution time is :" + execution) 2338 totalTime = totalTime + execution; 2339 } else { 2340 console.info('startTimeTestCallback failed and error is ' + err.message); 2341 } 2342 }); 2343 await avRecorder.release().then(() => { 2344 console.info('startTimeTestCallback avPlayer is release') 2345 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2346 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2347 } 2348 let avg = totalTime/10; 2349 console.info("startTimeTestCallback avg time is :" + avg) 2350 done(); 2351} 2352 2353export async function pauseTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2354 let totalTime = 0; 2355 for(var i = 0;i < 10;i++){ 2356 avRecorder = await idle(avRecorder); 2357 await sleep(20) 2358 await avRecorder.prepare(avConfig).then(() => { 2359 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2360 console.info('pauseTimeTestCallback avPlayer state is prepared') 2361 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2362 2363 await avRecorder.start().then(() => { 2364 console.info('start avRecorder success'); 2365 }).catch((err) => { 2366 console.info('pauseTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2367 }); 2368 let start = Date.now(); 2369 console.info(`pauseTimeTestCallback start time is : ${start}`) 2370 let end; 2371 await avRecorder.pause((err) => { 2372 if (err == null) { 2373 end = Date.now() 2374 console.info(`pauseTimeTestCallback end time is : ${end}`) 2375 console.info('pause pauseTimeTestCallback success'); 2376 let execution = parseInt(end - start) 2377 console.info("pauseTimeTestCallback execution time is :" + execution) 2378 totalTime = totalTime + execution; 2379 } else { 2380 console.info('pause pauseTimeTestCallback failed and error is ' + err.message); 2381 } 2382 }); 2383 await avRecorder.release().then(() => { 2384 console.info('pauseTimeTestCallback avPlayer is release') 2385 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2386 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2387 } 2388 let avg = totalTime/10; 2389 console.info("pauseTimeTestCallback avg time is :" + avg) 2390 done(); 2391} 2392 2393export async function resumeTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2394 let totalTime = 0; 2395 for(var i = 0;i < 10;i++){ 2396 avRecorder = await idle(avRecorder); 2397 await sleep(20) 2398 await avRecorder.prepare(avConfig).then(() => { 2399 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2400 console.info('resumeTimeTestCallback avPlayer state is prepared') 2401 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2402 2403 await avRecorder.start().then(() => { 2404 console.info('start resumeTimeTestCallback success'); 2405 }).catch((err) => { 2406 console.info('resumeTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2407 }); 2408 let end; 2409 await avRecorder.pause((err) => { 2410 if (err == null) { 2411 console.info('pause resumeTimeTestCallback success'); 2412 } else { 2413 console.info('pause resumeTimeTestCallback failed and error is ' + err.message); 2414 } 2415 }); 2416 let start = Date.now(); 2417 console.info(`resumeTimeTestCallback start time is : ${start}`) 2418 await avRecorder.resume((err) => { 2419 if (err == null) { 2420 console.info('resume resumeTimeTestCallback success'); 2421 end = Date.now() 2422 console.info(`resumeTimeTestCallback end time is : ${end}`) 2423 let execution = parseInt(end - start) 2424 console.info("resumeTimeTestCallback execution time is :" + execution) 2425 totalTime = totalTime + execution; 2426 } else { 2427 console.info('resume resumeTimeTestCallback failed and error is ' + err.message); 2428 } 2429 }); 2430 await avRecorder.release().then(() => { 2431 console.info('resumeTimeTestCallback avPlayer is release') 2432 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2433 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2434 } 2435 let avg = totalTime/10; 2436 console.info("resumeTimeTestCallback avg time is :" + avg) 2437 done(); 2438} 2439 2440export async function stopTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2441 let totalTime = 0; 2442 for(var i = 0;i < 10;i++){ 2443 avRecorder = await idle(avRecorder); 2444 await sleep(20) 2445 await avRecorder.prepare(avConfig).then(() => { 2446 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2447 console.info('stopTimeTestCallback avPlayer state is prepared') 2448 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2449 2450 await avRecorder.start().then(() => { 2451 console.info('start stopTimeTestCallback success'); 2452 }).catch((err) => { 2453 console.info('stopTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2454 }); 2455 let end; 2456 let start = Date.now(); 2457 console.info(`stopTimeTestCallback start time is : ${start}`) 2458 await avRecorder.stop((err) => { 2459 if (err == null) { 2460 console.info('resume stopTimeTestCallback success'); 2461 end = Date.now() 2462 console.info(`stopTimeTestCallback end time is : ${end}`) 2463 let execution = parseInt(end - start) 2464 console.info("stopTimeTestCallback execution time is :" + execution) 2465 totalTime = totalTime + execution; 2466 } else { 2467 console.info('resume stopTimeTestCallback failed and error is ' + err.message); 2468 } 2469 }); 2470 await avRecorder.release().then(() => { 2471 console.info('stopTimeTestCallback avPlayer is release') 2472 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2473 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2474 } 2475 let avg = totalTime/10; 2476 console.info("stopTimeTestCallback avg time is :" + avg) 2477 done(); 2478} 2479 2480export async function resetTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2481 let totalTime = 0; 2482 for(var i = 0;i < 10;i++){ 2483 avRecorder = await idle(avRecorder); 2484 await sleep(20) 2485 await avRecorder.prepare(avConfig).then(() => { 2486 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2487 console.info('resetTimeTestCallback avPlayer state is prepared') 2488 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2489 2490 await avRecorder.start().then(() => { 2491 console.info('start resetTimeTestCallback success'); 2492 }).catch((err) => { 2493 console.info('resetTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2494 }); 2495 let end; 2496 let start = Date.now(); 2497 console.info(`resetTimeTestCallback start time is : ${start}`) 2498 await avRecorder.reset((err) => { 2499 if (err == null) { 2500 console.info('resume resetTimeTestCallback success'); 2501 end = Date.now() 2502 console.info(`resetTimeTestCallback end time is : ${end}`) 2503 let execution = parseInt(end - start) 2504 console.info("resetTimeTestCallback execution time is :" + execution) 2505 totalTime = totalTime + execution; 2506 } else { 2507 console.info('resume resetTimeTestCallback failed and error is ' + err.message); 2508 } 2509 }); 2510 await avRecorder.release().then(() => { 2511 console.info('resetTimeTestCallback avPlayer is release') 2512 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2513 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2514 } 2515 let avg = totalTime/10; 2516 console.info("resetTimeTestCallback avg time is :" + avg) 2517 done(); 2518} 2519 2520export async function releaseTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2521 let totalTime = 0; 2522 for(var i = 0;i < 10;i++){ 2523 avRecorder = await idle(avRecorder); 2524 await sleep(20) 2525 await avRecorder.prepare(avConfig).then(() => { 2526 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2527 console.info('releaseTimeTestCallback avPlayer state is prepared') 2528 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2529 2530 await avRecorder.start().then(() => { 2531 console.info('start releaseTimeTestCallback success'); 2532 }).catch((err) => { 2533 console.info('releaseTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2534 }); 2535 let end; 2536 let start = Date.now(); 2537 console.info(`releaseTimeTestCallback start time is : ${start}`) 2538 await avRecorder.release((err) => { 2539 if (err == null) { 2540 console.info(`releaseTimeTestCallback current state is : ${avRecorder.state}`) 2541 console.info('release releaseTimeTestCallback success'); 2542 end = Date.now() 2543 console.info(`releaseTimeTestCallback end time is : ${end}`) 2544 let execution = parseInt(end - start) 2545 console.info("releaseTimeTestCallback execution time is :" + execution) 2546 totalTime = totalTime + execution; 2547 if(i == 9){ 2548 let avg = totalTime/10; 2549 console.info("releaseTimeTestCallback avg time is :" + avg) 2550 done(); 2551 } 2552 } else { 2553 console.info('resume releaseTimeTestCallback failed and error is ' + err.message); 2554 } 2555 }); 2556 } 2557} 2558 2559export async function createTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2560 let totalTime = 0; 2561 for(var i = 0;i < 10;i++){ 2562 let start = Date.now(); 2563 console.info(`createTimeTestPromise start time is : ${start}`) 2564 avRecorder = await idle(avRecorder); 2565 let end = Date.now() 2566 let execution = parseInt(end - start) 2567 console.info("createTimeTestPromise execution time is :" + execution) 2568 totalTime = totalTime + execution; 2569 await avRecorder.release().then(() => { 2570 console.info('createTimeTestPromise avPlayer is release') 2571 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2572 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2573 } 2574 let avg = totalTime/10; 2575 console.info("createTimeTestPromise avg time is :" + avg) 2576 done(); 2577} 2578 2579export async function prepareTimePromise(avConfig, avRecorder, recorderTime, done) { 2580 let totalTime = 0; 2581 for(var i = 0;i < 10;i++){ 2582 avRecorder = await idle(avRecorder); 2583 await sleep(20) 2584 let start = Date.now(); 2585 console.info(`prepareTimeWithoutPromise start time is : ${start}`) 2586 let end; 2587 await avRecorder.prepare(avConfig).then(() => { 2588 console.info('prepare success'); 2589 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2590 console.info('prepareTimeWithoutPromise avPlayer state is prepared') 2591 end = Date.now() 2592 console.info(`prepareTimeWithoutPromise end time is : ${end}`) 2593 }).catch((err) => { 2594 console.info('prepare failed and catch error is ' + err.message); 2595 }); 2596 let execution = parseInt(end - start) 2597 console.info("prepareTimeWithoutPromise execution time is :" + execution) 2598 totalTime = totalTime + execution; 2599 await avRecorder.release().then(() => { 2600 console.info('prepareTimeWithoutPromise avPlayer is release') 2601 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2602 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2603 } 2604 let avg = totalTime/10; 2605 console.info("prepareTimeWithoutPromise avg time is :" + avg) 2606 done(); 2607} 2608 2609export async function getInputSurfaceTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2610 let totalTime = 0; 2611 let surfaceID = null; 2612 for(var i = 0;i < 10;i++){ 2613 avRecorder = await idle(avRecorder); 2614 await sleep(20) 2615 let end; 2616 await avRecorder.prepare(avConfig).then(() => { 2617 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2618 console.info('getInputSurfaceTimeTestPromise avPlayer state is prepared') 2619 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2620 let start = Date.now(); 2621 console.info(`getInputSurfaceTimeTestPromise start time is : ${start}`) 2622 await avRecorder.getInputSurface().then((surfaceId) => { 2623 console.info('getInputSurfaceTimeTestPromise success'); 2624 surfaceID = surfaceId; 2625 end = Date.now() 2626 console.info(`getInputSurfaceTimeTestPromise end time is : ${end}`) 2627 let execution = parseInt(end - start) 2628 console.info("getInputSurfaceTimeTestPromise execution time is :" + execution) 2629 totalTime = totalTime + execution; 2630 }).catch((err) => { 2631 console.info('getInputSurface failed and catch error is ' + err.message); 2632 }); 2633 await avRecorder.release().then(() => { 2634 console.info('getInputSurfaceTimeTestPromise avPlayer is release') 2635 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2636 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2637 } 2638 let avg = totalTime/10; 2639 console.info("getInputSurfaceTimeTestPromise avg time is :" + avg) 2640 done(); 2641} 2642 2643export async function startTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2644 let totalTime = 0; 2645 for(var i = 0;i < 10;i++){ 2646 avRecorder = await idle(avRecorder); 2647 await sleep(20) 2648 let end; 2649 await avRecorder.prepare(avConfig).then(() => { 2650 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2651 console.info('startTimeTestPromise avPlayer state is prepared') 2652 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2653 let start = Date.now(); 2654 console.info(`startTimeTestPromise start time is : ${start}`) 2655 await avRecorder.start().then(() => { 2656 console.info('start AVRecorder success'); 2657 end = Date.now() 2658 console.info(`startTimeTestPromise end time is : ${end}`) 2659 let execution = parseInt(end - start) 2660 console.info("startTimeTestPromise execution time is :" + execution) 2661 totalTime = totalTime + execution; 2662 console.info('startTimeTestPromise avRecorder success'); 2663 }).catch((err) => { 2664 console.info('start AVRecorder failed and catch error is ' + err.message); 2665 }); 2666 await avRecorder.release().then(() => { 2667 console.info('startTimeTestPromise avPlayer is release') 2668 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2669 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2670 } 2671 let avg = totalTime/10; 2672 console.info("startTimeTestPromise avg time is :" + avg) 2673 done(); 2674} 2675 2676export async function pauseTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2677 let totalTime = 0; 2678 for(var i = 0;i < 10;i++){ 2679 avRecorder = await idle(avRecorder); 2680 await sleep(20) 2681 await avRecorder.prepare(avConfig).then(() => { 2682 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2683 console.info('pauseTimeTestPromise avPlayer state is prepared') 2684 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2685 await avRecorder.start().then(() => { 2686 console.info('start avRecorder success'); 2687 }).catch((err) => { 2688 console.info('pauseTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2689 }); 2690 let start = Date.now(); 2691 console.info(`pauseTimeTestPromise start time is : ${start}`) 2692 let end; 2693 await avRecorder.pause().then(() => { 2694 console.info('pause AVRecorder success'); 2695 end = Date.now() 2696 console.info(`pauseTimeTestPromise end time is : ${end}`) 2697 let execution = parseInt(end - start) 2698 console.info("pauseTimeTestPromise execution time is :" + execution) 2699 totalTime = totalTime + execution; 2700 console.info('pause pauseTimeTestPromise success'); 2701 }).catch((err) => { 2702 console.info('pause AVRecorder failed and catch error is ' + err.message); 2703 }); 2704 await avRecorder.release().then(() => { 2705 console.info('pauseTimeTestPromise avPlayer is release') 2706 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2707 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2708 } 2709 let avg = totalTime/10; 2710 console.info("pauseTimeTestPromise avg time is :" + avg) 2711 done(); 2712} 2713 2714export async function resumeTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2715 let totalTime = 0; 2716 for(var i = 0;i < 10;i++){ 2717 avRecorder = await idle(avRecorder); 2718 await sleep(20) 2719 await avRecorder.prepare(avConfig).then(() => { 2720 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2721 console.info('resumeTimeTestPromise avPlayer state is prepared') 2722 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2723 2724 await avRecorder.start().then(() => { 2725 console.info('start resumeTimeTestPromise success'); 2726 }).catch((err) => { 2727 console.info('resumeTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2728 }); 2729 let end; 2730 await avRecorder.pause((err) => { 2731 if (err == null) { 2732 console.info('pause resumeTimeTestPromise success'); 2733 } else { 2734 console.info('pause resumeTimeTestPromise failed and error is ' + err.message); 2735 } 2736 }); 2737 let start = Date.now(); 2738 console.info(`resumeTimeTestPromise start time is : ${start}`) 2739 await avRecorder.resume().then(() => { 2740 console.info('resume AVRecorder success'); 2741 console.info('resume resumeTimeTestPromise success'); 2742 end = Date.now() 2743 console.info(`resumeTimeTestPromise end time is : ${end}`) 2744 let execution = parseInt(end - start) 2745 console.info("resumeTimeTestPromise execution time is :" + execution) 2746 totalTime = totalTime + execution; 2747 }).catch((err) => { 2748 console.info('resume AVRecorder failed and catch error is ' + err.message); 2749 }); 2750 await avRecorder.release().then(() => { 2751 console.info('resumeTimeTestPromise avPlayer is release') 2752 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2753 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2754 } 2755 let avg = totalTime/10; 2756 console.info("resumeTimeTestPromise avg time is :" + avg) 2757 done(); 2758} 2759 2760export async function stopTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2761 let totalTime = 0; 2762 for(var i = 0;i < 10;i++){ 2763 avRecorder = await idle(avRecorder); 2764 await sleep(20) 2765 await avRecorder.prepare(avConfig).then(() => { 2766 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2767 console.info('stopTimeTestPromise avPlayer state is prepared') 2768 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2769 2770 await avRecorder.start().then(() => { 2771 console.info('start stopTimeTestPromise success'); 2772 }).catch((err) => { 2773 console.info('stopTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2774 }); 2775 let end; 2776 let start = Date.now(); 2777 console.info(`stopTimeTestPromise start time is : ${start}`) 2778 await avRecorder.stop().then(() => { 2779 console.info('stop AVRecorder success'); 2780 console.info('resume stopTimeTestPromise success'); 2781 end = Date.now() 2782 console.info(`stopTimeTestPromise end time is : ${end}`) 2783 let execution = parseInt(end - start) 2784 console.info("stopTimeTestPromise execution time is :" + execution) 2785 totalTime = totalTime + execution; 2786 }).catch((err) => { 2787 console.info('stop AVRecorder failed and catch error is ' + err.message); 2788 }); 2789 await avRecorder.release().then(() => { 2790 console.info('stopTimeTestPromise avPlayer is release') 2791 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2792 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2793 } 2794 let avg = totalTime/10; 2795 console.info("stopTimeTestPromise avg time is :" + avg) 2796 done(); 2797} 2798 2799export async function resetTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2800 let totalTime = 0; 2801 for(var i = 0;i < 10;i++){ 2802 avRecorder = await idle(avRecorder); 2803 await sleep(20) 2804 await avRecorder.prepare(avConfig).then(() => { 2805 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2806 console.info('resetTimeTestPromise avPlayer state is prepared') 2807 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2808 2809 await avRecorder.start().then(() => { 2810 console.info('start resetTimeTestPromise success'); 2811 }).catch((err) => { 2812 console.info('resetTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2813 }); 2814 let end; 2815 let start = Date.now(); 2816 console.info(`resetTimeTestPromise start time is : ${start}`) 2817 await avRecorder.reset().then(() => { 2818 console.info('reset AVRecorder success'); 2819 console.info('resume resetTimeTestPromise success'); 2820 end = Date.now() 2821 console.info(`resetTimeTestPromise end time is : ${end}`) 2822 let execution = parseInt(end - start) 2823 console.info("resetTimeTestPromise execution time is :" + execution) 2824 totalTime = totalTime + execution; 2825 }).catch((err) => { 2826 console.info('resume resetTimeTestPromise failed and error is ' + err.message); 2827 }); 2828 await avRecorder.release().then(() => { 2829 console.info('resetTimeTestPromise avPlayer is release') 2830 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2831 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2832 } 2833 let avg = totalTime/10; 2834 console.info("resetTimeTestPromise avg time is :" + avg) 2835 done(); 2836} 2837 2838export async function releaseTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2839 let totalTime = 0; 2840 for(var i = 0;i < 10;i++){ 2841 avRecorder = await idle(avRecorder); 2842 await sleep(20) 2843 await avRecorder.prepare(avConfig).then(() => { 2844 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2845 console.info('releaseTimeTestPromise avPlayer state is prepared') 2846 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2847 2848 await avRecorder.start().then(() => { 2849 console.info('start releaseTimeTestPromise success'); 2850 }).catch((err) => { 2851 console.info('releaseTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2852 }); 2853 let end; 2854 let start = Date.now(); 2855 console.info(`releaseTimeTestPromise start time is : ${start}`) 2856 await avRecorder.release().then(() => { 2857 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2858 console.info('release AVRecorder success'); 2859 console.info('resume releaseTimeTestPromise success'); 2860 end = Date.now() 2861 let execution = parseInt(end - start) 2862 console.info("releaseTimeTestPromise execution time is :" + execution) 2863 totalTime = totalTime + execution; 2864 console.info(`releaseTimeTestPromise end time is : ${end}`) 2865 }).catch((err) => { 2866 console.info('resume releaseTimeTestPromise failed and error is ' + err.message); 2867 }); 2868 } 2869 let avg = totalTime/10; 2870 console.info("releaseTimeTestPromise avg time is :" + avg) 2871 done(); 2872} 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888