⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callmanagerplayertest.cpp

📁 基于sipfoundy 公司开发的sipx协议API
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    {       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 + -