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