From: Hugo Beauzée-Luyssen Date: Thu, 24 Nov 2011 10:29:59 +0000 (+0100) Subject: dash: Removing factory another class instantiation. X-Git-Tag: 1.3.0-git~124 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=dd159d0811d89c2bb90408fc1fc63cff0791cda2;p=vlc dash: Removing factory another class instantiation. Signed-off-by: Rémi Denis-Courmont --- diff --git a/modules/stream_filter/dash/DASHManager.cpp b/modules/stream_filter/dash/DASHManager.cpp index 9dfb3335e7..aa4e8fbdf2 100644 --- a/modules/stream_filter/dash/DASHManager.cpp +++ b/modules/stream_filter/dash/DASHManager.cpp @@ -40,8 +40,7 @@ DASHManager::DASHManager (HTTPConnectionManager *conManager, Node *node, IAda this->node = node; this->logicType = type; this->profile = profile; - this->mpdManagerFactory = new MPDManagerFactory(); - this->mpdManager = this->mpdManagerFactory->create(this->profile, this->node); + this->mpdManager = mpd::MPDManagerFactory::create(this->profile, this->node); this->adaptationLogic = AdaptationLogicFactory::create( this->logicType, this->mpdManager ); this->currentChunk = NULL; @@ -50,7 +49,6 @@ DASHManager::DASHManager (HTTPConnectionManager *conManager, Node *node, IAda DASHManager::~DASHManager () { delete(this->adaptationLogic); - delete(this->mpdManager); } int DASHManager::read (void *p_buffer, size_t len) diff --git a/modules/stream_filter/dash/DASHManager.h b/modules/stream_filter/dash/DASHManager.h index e35d10b819..a9affcb5fd 100644 --- a/modules/stream_filter/dash/DASHManager.h +++ b/modules/stream_filter/dash/DASHManager.h @@ -51,7 +51,6 @@ namespace dash logic::IAdaptationLogic::LogicType logicType; mpd::Profile profile; xml::Node *node; - mpd::MPDManagerFactory *mpdManagerFactory; mpd::IMPDManager *mpdManager; }; } diff --git a/modules/stream_filter/dash/mpd/MPDManagerFactory.cpp b/modules/stream_filter/dash/mpd/MPDManagerFactory.cpp index fdf3e2e68b..9412acf48f 100644 --- a/modules/stream_filter/dash/mpd/MPDManagerFactory.cpp +++ b/modules/stream_filter/dash/mpd/MPDManagerFactory.cpp @@ -30,29 +30,19 @@ using namespace dash::mpd; using namespace dash::xml; -MPDManagerFactory::MPDManagerFactory() -{ - // TODO Auto-generated constructor stub - -} - -MPDManagerFactory::~MPDManagerFactory() -{ - // TODO Auto-generated destructor stub -} - IMPDManager* MPDManagerFactory::create (Profile profile, Node *root) { switch(profile) { case mpd::Basic: return new NullManager(); - case mpd::BasicCM: return this->createBasicCMManager(root); + case mpd::BasicCM: return createBasicCMManager(root); case mpd::Full2011: return new NullManager(); case mpd::NotValid: return new NullManager(); default: return new NullManager(); } } + IMPDManager* MPDManagerFactory::createBasicCMManager (Node *root) { BasicCMParser *parser = new BasicCMParser(root); diff --git a/modules/stream_filter/dash/mpd/MPDManagerFactory.h b/modules/stream_filter/dash/mpd/MPDManagerFactory.h index 6741696457..b5cf9b522d 100644 --- a/modules/stream_filter/dash/mpd/MPDManagerFactory.h +++ b/modules/stream_filter/dash/mpd/MPDManagerFactory.h @@ -38,13 +38,10 @@ namespace dash class MPDManagerFactory { public: - MPDManagerFactory (); - virtual ~MPDManagerFactory (); - - IMPDManager* create(Profile profile, dash::xml::Node *root); + static IMPDManager* create(Profile profile, dash::xml::Node *root); private: - IMPDManager* createBasicCMManager(dash::xml::Node *root); + static IMPDManager* createBasicCMManager(dash::xml::Node *root); }; } }