// Queues an end of frame marker. This informs MprFromStream that the Stream // has ended. OsStatus StreamQueueingFormatDecoder::queueEndOfFrames() { // check if throttling needs to happen checkThrottle() ; // Queue an end of frame marker StreamQueueMsg* pMsg = (StreamQueueMsg*) mMsgPool.findFreeMsg() ; if (pMsg) { pMsg->setMsgSubType(StreamQueueMsg::EndOfFrameMarker) ; mMsgqFrames.send(*pMsg) ; } else { Os::Logger::instance().log(FAC_MP, PRI_ERR, "StreamQueueingFormatDecoder::queueEndOfFrames failed: free msg is NULL!\n"); } return OS_SUCCESS ; }
// Queues a frame of data OsStatus StreamQueueingFormatDecoder::queueFrame(const uint16_t* pSamples) { OsStatus status = OS_SUCCESS; // check if throttling needs to happen checkThrottle() ; // Queue frame StreamQueueMsg* pMsg = (StreamQueueMsg*) mMsgPool.findFreeMsg() ; if (pMsg) { pMsg->setSamples((const int16_t*)pSamples); mMsgqFrames.send(*pMsg) ; } else { status = OS_FAILED; OsSysLog::add(FAC_MP, PRI_ERR, "StreamQueueingFormatDecoder::queueFrame failed: free msg is NULL!\n"); } return status ; }