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

📄 mpstreamqueueplayertest.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 "test/mp/MyPlayerListenerPoller.h"#include "test/mp/MyPlayerListenerHistoryKeeper.h"#include "test/mp/MyStreamQueueHistoryKeeper.h"#include "mp/MpMisc.h"#include "mp/MpStreamPlaylistPlayer.h"#include "mp/MpStreamQueuePlayer.h"#include "os/OsDefs.h"#include "mp/StreamDefs.h"#include "net/Url.h"class MpStreamQueuePlayerTest : public CppUnit::TestCase{        CPPUNIT_TEST_SUITE(MpStreamQueuePlayerTest);        CPPUNIT_TEST(testRawSynchronousSingle);        CPPUNIT_TEST(testRawSynchronousMultiple);        CPPUNIT_TEST(testRawSynchronousMultipleDelay);        CPPUNIT_TEST(testRawSynchronousMultiplePreload);        CPPUNIT_TEST(testRawSynchronousMultipleClear);        CPPUNIT_TEST(testRawSynchronousMultipleReset);        CPPUNIT_TEST(testRawSynchronousMultipleManyBad);        CPPUNIT_TEST(testRawSynchronousMultipleMany);        CPPUNIT_TEST(testRawSynchronousMultipleDelete);        CPPUNIT_TEST(testRawSynchronousMultipleBadRaw);        CPPUNIT_TEST(testRawSynchronousMultipleBadWav);        CPPUNIT_TEST(testRawSynchronousManyBadRaw);        CPPUNIT_TEST_SUITE_END();    public:        void setUp()        {            mCfg = MpTestConfig::getTestInstance();        }        void testRawSynchronousSingle()        {            char szUrl[128] ;            int i ;            osPrintf("testRawSynchronousSingle\n") ;            for (i=0; i<TESTING_ATTEMPTS; i++)            {                sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                MpStreamQueuePlayer* pPlayer = new MpStreamQueuePlayer(mCfg->getFlowGraph()->getMsgQ()) ;                pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                pPlayer->play() ;                pPlayer->wait() ;                delete pPlayer ;            }        }        void testRawSynchronousMultiple()        {            osPrintf("testRawSynchronousMultiple\n") ;            for (int j=0; j<TESTING_ATTEMPTS; j++)            {                char szUrl[128] ;                int i ;                MpStreamQueuePlayer* pPlayer = new MpStreamQueuePlayer(mCfg->getFlowGraph()->getMsgQ()) ;                for (i=0; i<4; i++)                {                    sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                    osPrintf("Playing %s\n", szUrl) ;                    Url url(szUrl) ;                    pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                }                pPlayer->play() ;                pPlayer->wait() ;                delete pPlayer ;            }        }        void testRawSynchronousMultipleDelay()        {            osPrintf("testRawSynchronousMultipleDelay\n") ;            for (int j=0; j<TESTING_ATTEMPTS; j++)            {                char szUrl[128] ;                int i ;                MpStreamQueuePlayer* pPlayer = new MpStreamQueuePlayer(mCfg->getFlowGraph()->getMsgQ()) ;                for (i=0; i<4; i++)                {                    sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                    osPrintf("Playing %s\n", szUrl) ;                    Url url(szUrl) ;                    pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                    pPlayer->play() ;                    OsTask::delay(500) ;                }                pPlayer->wait() ;                delete pPlayer ;            }        }        void testRawSynchronousMultiplePreload()        {            osPrintf("testRawSynchronousMultiplePreload\n") ;            for (int j=0; j<TESTING_ATTEMPTS; j++)            {                char szUrl[128] ;                int i ;                MpStreamQueuePlayer* pPlayer = new MpStreamQueuePlayer(mCfg->getFlowGraph()->getMsgQ()) ;                for (i=0; i<2; i++)                {                    sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                    osPrintf("Playing %s\n", szUrl) ;                    Url url(szUrl) ;                    pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                }                pPlayer->play() ;                for (i=2; i<5; i++)                {                    sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                    osPrintf("Playing %s\n", szUrl) ;                    Url url(szUrl) ;                    pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                }                pPlayer->wait() ;                pPlayer->play() ;                pPlayer->wait() ;                delete pPlayer ;            }        }        void testRawSynchronousMultipleClear()        {            osPrintf("testRawSynchronousMultipleClear\n") ;            for (int j=0; j<TESTING_ATTEMPTS; j++)            {                char szUrl[128] ;                int i ;                MpStreamQueuePlayer* pPlayer = new MpStreamQueuePlayer(mCfg->getFlowGraph()->getMsgQ()) ;                for (i=0; i<2; i++)                {                    sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                    osPrintf("Playing %s\n", szUrl) ;                    Url url(szUrl) ;                    pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                }                pPlayer->play() ;                for (i=2; i<4; i++)                {                    sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                    osPrintf("Playing %s\n", szUrl) ;                    Url url(szUrl) ;                    pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                }                OsTask::delay(1000) ;                pPlayer->clear() ;                for (i=5; i<7; i++)                {                    sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                    osPrintf("Playing %s\n", szUrl) ;                    Url url(szUrl) ;                    pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                }                pPlayer->wait() ;                pPlayer->play() ;                pPlayer->wait() ;                delete pPlayer ;            }        }        void testRawSynchronousMultipleReset()        {            osPrintf("testRawSynchronousMultipleReset\n") ;            for (int j=0; j<TESTING_ATTEMPTS; j++)            {                MyStreamQueueHistoryKeeper* pListener = new MyStreamQueueHistoryKeeper() ;                char szUrl[128] ;                MpStreamQueuePlayer* pPlayer = new MpStreamQueuePlayer(mCfg->getFlowGraph()->getMsgQ()) ;                pPlayer->addListener(pListener) ;                sprintf(szUrl, "http://%s/longstream.raw", BASE_URL) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                pPlayer->add(url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                pPlayer->play() ;                int delay = abs(rand() % 3000) ;                if (delay > 300)                    OsTask::delay(delay) ;                pPlayer->reset() ;                sprintf(szUrl, "http://%s/nums/8.wav", BASE_URL) ;

⌨️ 快捷键说明

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