// 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 ;
}