📄 callmanagerplayertest.cpp
字号:
{ char szUrl[128] ; MpStreamPlayer* pPlayer = NULL ; int j ; sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, 1) ; for (j=0; j<TESTING_ATTEMPTS; j++) { UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pPlayer->realize() ; pPlayer->prefetch() ; pPlayer->play() ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ; mCfg->getCallManager()->drop(callId) ; OsTask::delay(DELAY_BEWTEEN_CALLS) ; // Delay so that we don't run out of flowgraphs } for (j=0; j<TESTING_ATTEMPTS; j++) { UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pPlayer->realize(FALSE) ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ; mCfg->getCallManager()->drop(callId) ; OsTask::delay(DELAY_BEWTEEN_CALLS) ; // Delay so that we don't run out of flowgraphs } for (j=0; j<TESTING_ATTEMPTS; j++) { UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pPlayer->realize() ; pPlayer->prefetch(FALSE) ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ; mCfg->getCallManager()->drop(callId) ; OsTask::delay(DELAY_BEWTEEN_CALLS) ; // Delay so that we don't run out of flowgraphs } for (j=0; j<TESTING_ATTEMPTS; j++) { UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pPlayer->realize() ; pPlayer->prefetch() ; pPlayer->play(FALSE) ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ; mCfg->getCallManager()->drop(callId) ; OsTask::delay(DELAY_BEWTEEN_CALLS) ; // Delay so that we don't run out of flowgraphs } for (j=0; j<TESTING_ATTEMPTS; j++) { UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pPlayer->setLoopCount(-1) ; pPlayer->realize() ; pPlayer->prefetch() ; pPlayer->play(FALSE) ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ; mCfg->getCallManager()->drop(callId) ; OsTask::delay(DELAY_BEWTEEN_CALLS) ; // Delay so that we don't run out of flowgraphs } } void testSuperCreateDestory() { char szUrl[128] ; MpStreamPlayer* pPlayer = NULL ; int j ; sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, 1) ; for (j=0; j<TESTING_ATTEMPTS; j++) { UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; for (int l=0; l<25; l++) { mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pPlayer->setLoopCount(-1) ; pPlayer->realize(FALSE) ; pPlayer->prefetch(FALSE) ; pPlayer->play(FALSE) ; OsTask::delay(abs(rand() % 5000)) ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ; } mCfg->getCallManager()->drop(callId) ; OsTask::delay(DELAY_BEWTEEN_CALLS) ; // Delay so that we don't run out of flowgraphs } } void testQueuePlayerCallGoesAwayFirst() { char szUrl[128] ; MpStreamQueuePlayer* pQPlayer ; MpStreamPlayer* pPlayer = NULL ; osPrintf("testQueuePlayerCallGoesAwayFirst\n") ; for (int j=0; j<TESTING_ATTEMPTS; j++) { UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, NULL, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pQPlayer = (MpStreamQueuePlayer*) pPlayer ; for (int i=3; i>0; i--) { sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ; Url url(szUrl) ; pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ; } pQPlayer->play() ; pQPlayer->wait() ; mCfg->getCallManager()->drop(callId) ; osPrintf("Delaying for 25 seconds...") ; OsTask::delay(1000*25) ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ; } } void testQueuePlayerDropCallMiddle() { char szUrl[128] ; MpStreamQueuePlayer* pQPlayer ; MpStreamPlayer* pPlayer = NULL ; osPrintf("testQueuePlayerDropCallMiddle\n") ; for (int j=0; j<TESTING_ATTEMPTS; j++) { pPlayer = NULL ; UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, NULL, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pQPlayer = (MpStreamQueuePlayer*) pPlayer ; sprintf(szUrl, "http://%s/longstream.raw", BASE_URL) ; Url url(szUrl) ; pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ; pQPlayer->play() ; OsTask::delay(1500) ; mCfg->getCallManager()->drop(callId) ; pQPlayer->wait() ; mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ; OsTask::delay(500) ; } } void testQueuePlayerManyDropCallRandom() { char szUrl[128] ; MpStreamQueuePlayer* pQPlayer ; MpStreamPlayer* pPlayer = NULL ; int i ; osPrintf("testQueuePlayerManyDropCallRandom\n") ; for (int j=0; j<TESTING_ATTEMPTS; j++) { pPlayer = NULL ; UtlString callId ; mCfg->getCallManager()->createCall(&callId) ; mCfg->getCallManager()->unholdAllTerminalConnections(callId) ; mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, NULL, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW, &pPlayer) ; pQPlayer = (MpStreamQueuePlayer*) pPlayer ; for (i=10; i>0; i--) { sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ; Url url(szUrl) ; pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ; } pQPlayer->play() ; int delay = abs(rand() % 5000) ; OsTask::delay(delay) ; mCfg->getCallManager()->drop(callId) ; for (i=0; i<8; i++) { switch (abs(rand() % 8)) { case 0: pQPlayer->play() ; break ; case 1: pQPlayer->wait() ; break ; case 2: pQPlayer->reset() ; break ; case 3: pQPlayer->clear() ; break ; default: { ////////////////////////////////////////////////////// // TOO BAD!! $$$ I have no idea what this is supposed // to be accomplishing, but the compiler CORRECTLY // complains that there are too many arguments for the // format. Is "i" superfluous, or are we not inserting // the index into the string when we, in fact, need to? sprintf(szUrl, "http://%s/nums/10.raw", BASE_URL, i) ; ////////////////////////////////////////////////////// Url url(szUrl) ; pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ; } break ; } } mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ; OsTask::delay(500) ; } }private: MpTestConfig *mCfg;};CPPUNIT_TEST_SUITE_REGISTRATION(CallManagerPlayerTest);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -