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

📄 mpstreamplayertest.cpp

📁 基于sipfoundy 公司开发的sipx协议API
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//// 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/MpStreamPlayer.h"#include "mp/MpStreamQueuePlayer.h"#include "os/OsDefs.h"#include "mp/StreamDefs.h"#include "net/Url.h"class MpStreamPlayerTest : public CppUnit::TestCase{        CPPUNIT_TEST_SUITE(MpStreamPlayerTest);        CPPUNIT_TEST(testRawSynchronousNonCache);        CPPUNIT_TEST(testRawSynchronousCache);        CPPUNIT_TEST(testRawSynchronousListener);        CPPUNIT_TEST(testRawAsynchronousNonCache);        CPPUNIT_TEST(testRawAsynchronousCache);        CPPUNIT_TEST(testRawAsynchronousAbortNonCache);        CPPUNIT_TEST(testRawAsynchronousPauseNonCache);        CPPUNIT_TEST(testRawAsynchronousAbortCache);        CPPUNIT_TEST(testWavSynchronousNonCache);        CPPUNIT_TEST(testRawASynchronousLoop);        CPPUNIT_TEST_SUITE_END();    public:        void setUp()        {            mCfg = MpTestConfig::getTestInstance();        }        void testRawSynchronousNonCache()        {            PlayerState state ;            OsStatus status ;            char szUrl[128] ;            int i ;            osPrintf("testRawSynchronousNonCache\n") ;            //            // Without Caching; play 0, 1, 2, 3            //            for (i=0; i<4; i++)            {                sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                MpStreamPlayer* pPlayer = new MpStreamPlayer(mCfg->getFlowGraph()->getMsgQ(), url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerUnrealized) ;                status = pPlayer->realize() ;       CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerRealized) ;                status = pPlayer->prefetch() ;      CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPrefetched) ;                status = pPlayer->play() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                status = pPlayer->stop() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                delete pPlayer ;            }        }        void testRawSynchronousCache()        {            osPrintf("testRawSynchronousCache\n") ;            PlayerState state ;            OsStatus status ;            char szUrl[128] ;            int i ;            //            // With Caching, play 0, 0, 1, 1, 2, 2, 3, 3            //            for (i=0; i<4; i++)            {                sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                MpStreamPlayer* pPlayer = new MpStreamPlayer(mCfg->getFlowGraph()->getMsgQ(), url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW | STREAM_HINT_CACHE) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerUnrealized) ;                status = pPlayer->realize() ;       CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerRealized) ;                status = pPlayer->prefetch() ;      CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPrefetched) ;                status = pPlayer->play() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                status = pPlayer->rewind() ;        CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPrefetched) ;                status = pPlayer->play() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                status = pPlayer->stop() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                delete pPlayer ;            }        }        void testRawSynchronousListener()        {            PlayerState state ;            OsStatus status ;            char szUrl[128] ;            int i ;            osPrintf("testRawSynchronousListener\n") ;            //            // With Caching and listener, play 0, 0, 1, 1, 2, 2, 3, 3            //            for (i=0; i<4; i++)            {                sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                MpStreamPlayer* pPlayer = new MpStreamPlayer(mCfg->getFlowGraph()->getMsgQ(), url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW | STREAM_HINT_CACHE) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerUnrealized) ;                MyPlayerListenerHistoryKeeper* pListener = new MyPlayerListenerHistoryKeeper() ;                status = pPlayer->addListener(pListener, (void*) i) ;                CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->realize() ;       CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerRealized) ;                status = pPlayer->prefetch() ;      CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPrefetched) ;                status = pPlayer->play() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                status = pPlayer->rewind() ;        CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPrefetched) ;                status = pPlayer->play() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                status = pPlayer->stop() ;          CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerStopped) ;                int expectedHistory[] =                    {                        PlayerRealized,                        PlayerPrefetched,                        PlayerPlaying,                        PlayerStopped,                        PlayerPrefetched,                        PlayerPlaying,                        PlayerStopped,                        -1,                    } ;                UtlBoolean bMatches = pListener->matchesHistory((void*) i, expectedHistory) ;                CPPUNIT_ASSERT(bMatches) ;                status = pPlayer->removeListener(pListener) ;   CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->removeListener(pListener) ;   CPPUNIT_ASSERT(status == OS_NOT_FOUND) ;                delete pPlayer ;                delete pListener ;            }        }        void testRawAsynchronousNonCache()        {            PlayerState state ;            UtlBoolean bRC ;            OsStatus status ;            char szUrl[128] ;            int i ;            osPrintf("testRawAsynchronousNonCache\n") ;            //            // Without Caching; play 0, 1, 2, 3            //            for (i=0; i<4; i++)            {                sprintf(szUrl, "http://%s/nums/%d.raw", BASE_URL, i) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                MpStreamPlayer* pPlayer = new MpStreamPlayer(mCfg->getFlowGraph()->getMsgQ(), url, STREAM_SOUND_LOCAL | STREAM_FORMAT_RAW) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerUnrealized) ;                MyPlayerListenerPoller* pPoller = new MyPlayerListenerPoller() ;                status = pPlayer->addListener(pPoller, (void*) i) ;                CPPUNIT_ASSERT(status == OS_SUCCESS) ;                MyPlayerListenerHistoryKeeper* pVerifier = new MyPlayerListenerHistoryKeeper() ;                status = pPlayer->addListener(pVerifier, (void*) i) ;                CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->realize(FALSE) ;              CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerRealized);    CPPUNIT_ASSERT(bRC ) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;

⌨️ 快捷键说明

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