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

📄 mpstreamplayertest.cpp

📁 基于sipfoundy 公司开发的sipx协议API
💻 CPP
📖 第 1 页 / 共 3 页
字号:
                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) ;                CPPUNIT_ASSERT(state == PlayerRealized) ;                status = pPlayer->prefetch(FALSE) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerPrefetched);  CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPrefetched) ;                status = pPlayer->play(FALSE) ;                 CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerPlaying);     CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPlaying) ;                // Wait a bit                OsTask::delay(2000) ;                status = pPlayer->pause() ;                bRC = pPoller->waitForState(PlayerPaused);      CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPaused) ;                pPoller->clearState() ;                // Wait a bit more                OsTask::delay(2000) ;                status = pPlayer->play(FALSE) ;                 CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerPlaying);     CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPlaying) ;                // Wait a bit more                OsTask::delay(2000) ;                status = pPlayer->stop() ;                      CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerAborted);     CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerAborted) ;                int expectedHistory[] =                    {                        PlayerRealized,                        PlayerPrefetched,                        PlayerPlaying,                        PlayerPaused,                        PlayerPlaying,                        PlayerAborted,                        -1,                    } ;                UtlBoolean bMatches = pVerifier->matchesHistory((void*) i, expectedHistory) ;                CPPUNIT_ASSERT(bMatches) ;                status = pPlayer->removeListener(pPoller) ;     CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->removeListener(pVerifier) ;   CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->removeListener(pPoller) ;     CPPUNIT_ASSERT(status == OS_NOT_FOUND) ;                status = pPlayer->removeListener(pVerifier) ;   CPPUNIT_ASSERT(status == OS_NOT_FOUND) ;                delete pPlayer ;                delete pPoller ;                delete pVerifier ;            }        }        void testRawAsynchronousAbortCache()        {            PlayerState state ;            UtlBoolean bRC ;            OsStatus status ;            char szUrl[128] ;            int i ;            osPrintf("testRawAsynchronousAbortCache\n") ;            //            // Abort while playing...  Cache            //            for (i=0; i<4; i++)            {                sprintf(szUrl, "http://%s/longstream.raw", BASE_URL) ;                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) ;                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) ;                CPPUNIT_ASSERT(state == PlayerRealized) ;                status = pPlayer->prefetch(FALSE) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerPrefetched);  CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPrefetched) ;                status = pPlayer->play(FALSE) ;                 CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerPlaying);     CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerPlaying) ;                // Wait a bit                OsTask::delay(2000) ;                status = pPlayer->stop() ;                      CPPUNIT_ASSERT(status == OS_SUCCESS) ;                bRC = pPoller->waitForState(PlayerAborted);     CPPUNIT_ASSERT(bRC) ;                status = pPlayer->getState(state) ;             CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerAborted) ;                int expectedHistory[] =                    {                        PlayerRealized,                        PlayerPrefetched,                        PlayerPlaying,                        PlayerAborted,                        -1,                    } ;                UtlBoolean bMatches = pVerifier->matchesHistory((void*) i, expectedHistory) ;                CPPUNIT_ASSERT(bMatches) ;                status = pPlayer->removeListener(pPoller) ;     CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->removeListener(pVerifier) ;   CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->removeListener(pPoller) ;     CPPUNIT_ASSERT(status == OS_NOT_FOUND) ;                status = pPlayer->removeListener(pVerifier) ;   CPPUNIT_ASSERT(status == OS_NOT_FOUND) ;                delete pPlayer ;                delete pPoller ;                delete pVerifier ;            }        }        void testWavSynchronousNonCache()        {            PlayerState state ;            OsStatus status ;            char szUrl[128] ;            int i ;            osPrintf("testSynchronousNonCache\n") ;            //            // Without Caching; play 0, 1, 2, 3            //            for (i=0; i<4; i++)            {                sprintf(szUrl, "http://%s/nums/%d.wav", BASE_URL, i) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                MpStreamPlayer* pPlayer = new MpStreamPlayer(mCfg->getFlowGraph()->getMsgQ(), url, STREAM_SOUND_LOCAL | STREAM_FORMAT_WAV) ;                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 ;            }            osPrintf("exiting testSynchronousNonCache\n") ;        }        void testRawASynchronousLoop()        {            PlayerState state ;            OsStatus status ;            char szUrl[128] ;            int i ;            osPrintf("testRawASynchronousLoop\n") ;            for (i=0; i<TESTING_ATTEMPTS; i++)            {                // Set up to fetch [i].wav.                sprintf(szUrl, "http://%s/nums/%d.wav", BASE_URL, i) ;                osPrintf("Playing %s\n", szUrl) ;                Url url(szUrl) ;                MpStreamPlayer* pPlayer = new MpStreamPlayer(                    mCfg->getFlowGraph()->getMsgQ(),                    url,                    STREAM_SOUND_LOCAL | STREAM_FORMAT_WAV ) ;                pPlayer->setLoopCount(-1);                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(FALSE) ;     CPPUNIT_ASSERT(status == OS_SUCCESS) ;                int delay = abs(rand() % 7000) ;                OsTask::delay(3000 + delay) ;                status = pPlayer->stop();           CPPUNIT_ASSERT(status == OS_SUCCESS) ;                status = pPlayer->getState(state) ; CPPUNIT_ASSERT(status == OS_SUCCESS) ;                CPPUNIT_ASSERT(state == PlayerAborted || state == PlayerFailed) ;                delete pPlayer ;            }        }    private:        MpTestConfig *mCfg;};CPPUNIT_TEST_SUITE_REGISTRATION(MpStreamPlayerTest);

⌨️ 快捷键说明

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