]> git.sesse.net Git - vlc/commitdiff
dash: Removing factory another class instantiation.
authorHugo Beauzée-Luyssen <beauze.h@gmail.com>
Thu, 24 Nov 2011 10:29:59 +0000 (11:29 +0100)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 24 Nov 2011 16:59:50 +0000 (18:59 +0200)
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
modules/stream_filter/dash/DASHManager.cpp
modules/stream_filter/dash/DASHManager.h
modules/stream_filter/dash/mpd/MPDManagerFactory.cpp
modules/stream_filter/dash/mpd/MPDManagerFactory.h

index 9dfb3335e73b4813251933bff882763be31e09ae..aa4e8fbdf25a086b63d2635172a36f01efbc44ae 100644 (file)
@@ -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)
index e35d10b8192719409731d771ff6a8692eee13f4e..a9affcb5fd2bb484561d75223a7e17dfc6d83c7e 100644 (file)
@@ -51,7 +51,6 @@ namespace dash
             logic::IAdaptationLogic::LogicType  logicType;
             mpd::Profile                        profile;
             xml::Node                           *node;
-            mpd::MPDManagerFactory              *mpdManagerFactory;
             mpd::IMPDManager                    *mpdManager;
     };
 }
index fdf3e2e68bd30933ecf4c327ce2e2ed5b46291a5..9412acf48fc440f21442465cf0293fe0e92fad86 100644 (file)
 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);
index 6741696457caf01dfaec26932de0a0de1688473f..b5cf9b522dcfd7825815b13db1e616548c1ab747 100644 (file)
@@ -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);
         };
     }
 }