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

📄 callmanagerplayertest.cpp

📁 基于sipfoundy 公司开发的sipx协议API
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//// Copyright (C) 2004, 2005 Pingtel Corp.// //// $$////////////////////////////////////////////////////////////////////////#include <cppunit/extensions/HelperMacros.h>#include <cppunit/TestCase.h>#include "test/mp/MpTestConfig.h"#include "os/OsDefs.h"#include "mp/MpStreamQueuePlayer.h"#include "mp/MpStreamPlayer.h"#include "mp/StreamDefs.h"#include "mp/MpMisc.h"class CallManagerPlayerTest : public CppUnit::TestCase{    CPPUNIT_TEST_SUITE(CallManagerPlayerTest);    CPPUNIT_TEST(testQueuePlayerSimple);    CPPUNIT_TEST(testBasicPlayerRaw);    CPPUNIT_TEST(testBasicPlayerRaw);    CPPUNIT_TEST(testBasicPlayerWav);    CPPUNIT_TEST(testQueuePlayerSuperDrop);    CPPUNIT_TEST(testSuperDrop);    CPPUNIT_TEST(testSuperCreateDestory);    CPPUNIT_TEST(testQueuePlayerCallGoesAwayFirst);    CPPUNIT_TEST(testQueuePlayerDropCallMiddle);    CPPUNIT_TEST(testQueuePlayerManyDropCallRandom);    CPPUNIT_TEST_SUITE_END();public:    void setUp()    {        mCfg = MpTestConfig::getTestInstance();    }    void testQueuePlayerSimple()    {       osPrintf("testQueuePlayerSimple\n") ;       char szUrl[128] ;       MpStreamQueuePlayer* pQPlayer ;       MpStreamPlayer* pPlayer =  NULL ;       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()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ;          mCfg->getCallManager()->drop(callId) ;       }    }    void debug(const char* msg )    {       osPrintf("\n******************************\n");       osPrintf("%s\n", msg);       osPrintf("******************************\n");    }    void testBasicPlayerRaw()    {       debug("testBasicPlayerRaw") ;       char szUrl[128] ;       MpStreamPlayer* pPlayer =  NULL ;       for (int j=0; j<3; j++)       {          sprintf(szUrl, "http://%s/nums/1.raw", BASE_URL) ;          Url url(szUrl) ;          // debug("NEW TEST ATTEMPT ******************************" );          UtlString callId ;          mCfg->getCallManager()->createCall(&callId) ;          mCfg->getCallManager()->unholdAllTerminalConnections(callId) ;           debug("before createPlayer");          mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl,                            STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW  , &pPlayer) ;           debug("after createPlayer");          pPlayer->setLoopCount(-1);          // debug("before realize");          pPlayer->realize() ;          // debug("before prefetch");          pPlayer->prefetch() ;          // debug("before Playing" );          pPlayer->play(false) ;          osPrintf("before sleeping for 20 seconds");          OsTask::delay(1000*20) ;          // debug("before stop");          pPlayer->stop() ;          pPlayer->rewind() ;          mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ;          mCfg->getCallManager()->drop(callId) ;       }    }    void testBasicPlayerWav()    {       debug("testBasicPlayerWav\n") ;       char szUrl[128] ;       MpStreamPlayer* pPlayer =  NULL ;       for (int j=0; j<3; j++)       {          sprintf(szUrl, "http://%s/nums/1.wav", BASE_URL) ;          Url url(szUrl) ;          // debug("NEW TEST ATTEMPT ******************************" );          UtlString callId ;          mCfg->getCallManager()->createCall(&callId) ;          mCfg->getCallManager()->unholdAllTerminalConnections(callId) ;          debug("before createPlayer");          mCfg->getCallManager()->createPlayer(MpPlayer::STREAM_PLAYER, callId, szUrl,                            STREAM_SOUND_LOCAL | STREAM_FORMAT_WAV  , &pPlayer) ;          debug("after createPlayer");          pPlayer->setLoopCount(-1);          // debug("before realize");          pPlayer->realize() ;          // debug("before prefetch");          pPlayer->prefetch() ;          // debug("before Playing" );          pPlayer->play(false) ;          osPrintf("before sleeping for 20 seconds");          OsTask::delay(1000*20) ;            debug("before stop");          pPlayer->stop() ;            debug("after stop");          pPlayer->rewind() ;           debug("before destroy player");          mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_PLAYER, callId, pPlayer) ;           debug("after destroy player");          mCfg->getCallManager()->drop(callId) ;       }    }    void testQueuePlayerSuperDrop()    {       char szUrl[128] ;       MpStreamQueuePlayer* pQPlayer ;       MpStreamPlayer* pPlayer =  NULL ;       int j ;       osPrintf("testQueuePlayerSuperDrop.1\n") ;       for (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 ;          sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, 1) ;          Url url(szUrl) ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          mCfg->getCallManager()->drop(callId) ;          mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ;          OsTask::delay(DELAY_BEWTEEN_CALLS) ;   // Delay so that we don't run out of flowgraphs       }       osPrintf("testQueuePlayerSuperDrop.2\n") ;       for (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 ;          sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, 1) ;          Url url(szUrl) ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ;          mCfg->getCallManager()->drop(callId) ;          OsTask::delay(DELAY_BEWTEEN_CALLS) ;      // Delay so that we don't run out of flowgraphs       }       osPrintf("testQueuePlayerSuperDrop.3\n") ;       for (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 ;          sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, 1) ;          Url url(szUrl) ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          mCfg->getCallManager()->drop(callId) ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          mCfg->getCallManager()->drop(callId) ;          mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ;          OsTask::delay(DELAY_BEWTEEN_CALLS) ;      // Delay so that we don't run out of flowgraphs       }       osPrintf("testQueuePlayerSuperDrop.4\n") ;       for (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 ;          sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, 1) ;          Url url(szUrl) ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          mCfg->getCallManager()->drop(callId) ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          pQPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;          pQPlayer->play() ;          mCfg->getCallManager()->destroyPlayer(MpPlayer::STREAM_QUEUE_PLAYER, callId, pPlayer) ;          mCfg->getCallManager()->drop(callId) ;          OsTask::delay(DELAY_BEWTEEN_CALLS) ;      // Delay so that we don't run out of flowgraphs       }    }    void testSuperDrop()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -