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