Beispiel #1
0
OsStatus mpStopTasks(void)
{

    mpShutdown();
    shutdownNetInTask();
    dmaShutdown();

    return OS_SUCCESS;
}
Beispiel #2
0
OsStatus mpShutdown()
{
   if (shutdownNetInTask() != OS_SUCCESS)
   {
      return OS_FAILED;
   }
  
   if (MpMediaTask::getMediaTask(FALSE))
   {
      // This will MpMediaTask::spInstance to NULL
      delete MpMediaTask::getMediaTask(FALSE);
   }

#ifndef DISABLE_LOCAL_AUDIO
   MpAudioDriverManager* pAudioManager = MpAudioDriverManager::getInstance(FALSE);
   if (pAudioManager)
   {
      pAudioManager->release();
   }
#endif

   if (MpMisc.m_pEchoQ)
   {
      delete MpMisc.m_pEchoQ;
      MpMisc.m_pEchoQ = NULL;
   }

   MpMisc.m_fgSilence.release();

   if (MpMisc.m_pUdpHeadersPool)
   {
      delete MpMisc.m_pUdpHeadersPool;
      MpMisc.m_pUdpHeadersPool = NULL;
      MpUdpBuf::smpDefaultPool = NULL;
   }

   if (MpMisc.m_pUdpPool)
   {
      delete MpMisc.m_pUdpPool;
      MpMisc.m_pUdpPool = NULL;
   }

   if (MpMisc.m_pRtpHeadersPool)
   {
      delete MpMisc.m_pRtpHeadersPool;
      MpMisc.m_pRtpHeadersPool = NULL;
      MpRtpBuf::smpDefaultPool = NULL;
   }

   if (MpMisc.m_pRtpPool)
   {
      delete MpMisc.m_pRtpPool;
      MpMisc.m_pRtpPool = NULL;
   }

   if (MpMisc.m_pRtcpPool)
   {
      delete MpMisc.m_pRtcpPool;
      MpMisc.m_pRtcpPool = NULL;
   }

   if (MpMisc.m_pAudioHeadersPool)
   {
      delete MpMisc.m_pAudioHeadersPool;
      MpMisc.m_pAudioHeadersPool = NULL;
      MpAudioBuf::smpDefaultPool = NULL;
   }
   
   if (MpMisc.m_pRawAudioPool)
   {
      delete MpMisc.m_pRawAudioPool;
      MpMisc.m_pRawAudioPool = NULL;
   }

   return OS_SUCCESS;
}