2013年9月15日 星期日

XBMC used strategy pattern to implement player to playback file.

XBMC 使用 Strategy pattern 實作 player,各 player 實作 IPlayer 介面,提供控制方法由 CApplication 控制

在執行時期由 CPlayerCoreFactory::Get().CreatePlayer(eNewCore, *this)
動態決定要掛載的 player 實體


bool CApplication::PlayFile(const CFileItem& item, bool bRestart)
{
     :
     :
  if (!m_pPlayer)
  {
    m_eCurrentPlayer = eNewCore;
    m_pPlayer = CPlayerCoreFactory::Get().CreatePlayer(eNewCore, *this);
  }
:
     :
}

沒有留言:

張貼留言