]> git.sesse.net Git - vlc/commitdiff
dash: Removing empty IAdaptionLogic implementation.
authorHugo Beauzée-Luyssen <beauze.h@gmail.com>
Fri, 6 Jan 2012 10:25:47 +0000 (11:25 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Fri, 6 Jan 2012 11:40:40 +0000 (12:40 +0100)
This is crash prone, and makes us maintain another implementation if we
ever edit the interface.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
modules/stream_filter/dash/DASHManager.cpp
modules/stream_filter/dash/DASHManager.h
modules/stream_filter/dash/Modules.am
modules/stream_filter/dash/adaptationlogic/AdaptationLogicFactory.cpp
modules/stream_filter/dash/adaptationlogic/AdaptationLogicFactory.h
modules/stream_filter/dash/adaptationlogic/NullAdaptationLogic.h [deleted file]
modules/stream_filter/dash/dash.cpp

index 849aec473a4be060b313efadc4ec850bb2ca2e15..f14e1f72f2326377699e256b5ce4c60b8dac617e 100644 (file)
@@ -47,6 +47,8 @@ DASHManager::DASHManager    ( HTTPConnectionManager *conManager, MPD *mpd,
     if ( this->mpdManager == NULL )
         return ;
     this->adaptationLogic   = AdaptationLogicFactory::create( this->logicType, this->mpdManager );
+    if ( this->adaptationLogic == NULL )
+        return ;
     this->conManager->attach(this->adaptationLogic);
 }
 DASHManager::~DASHManager   ()
@@ -98,7 +100,12 @@ int     DASHManager::peek( const uint8_t **pp_peek, size_t i_peek )
     return ret;
 }
 
-const mpd::IMPDManager* DASHManager::getMpdManager() const
+const mpd::IMPDManager*         DASHManager::getMpdManager() const
 {
     return this->mpdManager;
 }
+
+const logic::IAdaptationLogic*  DASHManager::getAdaptionLogic() const
+{
+    return this->adaptationLogic;
+}
index d824808d56e3e7b6d55e731987cfec3c6aa93d53..860eee2acc37188bb054ad82038aa0644563e314 100644 (file)
@@ -45,7 +45,8 @@ namespace dash
 
             int read( void *p_buffer, size_t len );
             int peek( const uint8_t **pp_peek, size_t i_peek );
-            const mpd::IMPDManager* getMpdManager() const;
+            const mpd::IMPDManager*         getMpdManager() const;
+            const logic::IAdaptationLogic*  getAdaptionLogic() const;
 
         private:
             http::HTTPConnectionManager         *conManager;
index b38bb188cc565a6197e4c2c5df22d2d99c78221e..f6c11f2cc3df9caec56e9dfa0f173b3a90d518c1 100644 (file)
@@ -7,7 +7,6 @@ SOURCES_stream_filter_dash = \
     adaptationlogic/AlwaysBestAdaptationLogic.h \
     adaptationlogic/IAdaptationLogic.h \
     adaptationlogic/IDownloadRateObserver.h \
-    adaptationlogic/NullAdaptationLogic.h \
     adaptationlogic/RateBasedAdaptationLogic.h \
     adaptationlogic/RateBasedAdaptationLogic.cpp \
     exceptions/EOFException.h \
index 80469c092f5dad180bfcfa259c012d785b93a761..341c739030adc387a82021a5e75f6ea101a37c94 100644 (file)
@@ -36,11 +36,11 @@ IAdaptationLogic* AdaptationLogicFactory::create ( IAdaptationLogic::LogicType l
 {
     switch(logic)
     {
-        case IAdaptationLogic::Default:         return new NullAdaptationLogic          (mpdManager);
         case IAdaptationLogic::AlwaysBest:      return new AlwaysBestAdaptationLogic    (mpdManager);
-        case IAdaptationLogic::AlwaysLowest:    return new NullAdaptationLogic          (mpdManager);
         case IAdaptationLogic::RateBased:       return new RateBasedAdaptationLogic     (mpdManager);
-
-        default:                                return new NullAdaptationLogic          (mpdManager);
+        case IAdaptationLogic::Default:
+        case IAdaptationLogic::AlwaysLowest:
+        default:
+            return NULL;
     }
 }
index 79ff47b3c062260c20952ea9f4e7c75895359c04..f27cf254fbf41368826e353d64050e930b57ce6d 100644 (file)
@@ -29,7 +29,6 @@
 #include "xml/Node.h"
 #include "mpd/IMPDManager.h"
 #include "adaptationlogic/AlwaysBestAdaptationLogic.h"
-#include "adaptationlogic/NullAdaptationLogic.h"
 #include "adaptationlogic/RateBasedAdaptationLogic.h"
 
 namespace dash
diff --git a/modules/stream_filter/dash/adaptationlogic/NullAdaptationLogic.h b/modules/stream_filter/dash/adaptationlogic/NullAdaptationLogic.h
deleted file mode 100644 (file)
index e88c07a..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * NullAdaptationLogic.h
- *****************************************************************************
- * Copyright (C) 2010 - 2011 Klagenfurt University
- *
- * Created on: Aug 10, 2010
- * Authors: Christopher Mueller <christopher.mueller@itec.uni-klu.ac.at>
- *          Christian Timmerer  <christian.timmerer@itec.uni-klu.ac.at>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef NULLADAPTATIONLOGIC_H_
-#define NULLADAPTATIONLOGIC_H_
-
-#include "adaptationlogic/AbstractAdaptationLogic.h"
-#include "http/Chunk.h"
-#include "xml/Node.h"
-#include "mpd/IMPDManager.h"
-#include "exceptions/EOFException.h"
-
-namespace dash
-{
-    namespace logic
-    {
-        class NullAdaptationLogic : public AbstractAdaptationLogic
-        {
-            public:
-                NullAdaptationLogic         (dash::mpd::IMPDManager *mpdManager) : AbstractAdaptationLogic(mpdManager)  {}
-                virtual ~NullAdaptationLogic()                                                                          {}
-
-                dash::http::Chunk* getNextChunk() throw(dash::exception::EOFException) { throw dash::exception::EOFException(); }
-        };
-    }
-}
-
-#endif /* NULLADAPTATIONLOGIC_H_ */
index 18541fa08d9500922bfc9bd4bea881d747c9759b..56333165d1e3404c0bbc3770c881812d59be6c96 100644 (file)
@@ -110,7 +110,8 @@ static int Open(vlc_object_t *p_obj)
                                    dash::logic::IAdaptationLogic::RateBased );
 
     if ( p_dashManager->getMpdManager() == NULL ||
-         p_dashManager->getMpdManager()->getMPD() == NULL )
+         p_dashManager->getMpdManager()->getMPD() == NULL ||
+         p_dashManager->getAdaptionLogic() == NULL )
     {
         delete p_conManager;
         delete p_dashManager;