[vlc-devel] [PATCH 9/9] dash: dashmanager refactoring
Christopher at mailsrv.uni-klu.ac.at
Christopher at mailsrv.uni-klu.ac.at
Fri Mar 9 19:05:27 CET 2012
From: Christopher Mueller <christopher.mueller at itec.aau.at>
---
modules/stream_filter/dash/DASHManager.cpp | 31 +++++++++++++++------------
modules/stream_filter/dash/dash.cpp | 5 +---
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/modules/stream_filter/dash/DASHManager.cpp b/modules/stream_filter/dash/DASHManager.cpp
index bb2f3f0..dfa275e 100644
--- a/modules/stream_filter/dash/DASHManager.cpp
+++ b/modules/stream_filter/dash/DASHManager.cpp
@@ -43,20 +43,6 @@ DASHManager::DASHManager ( MPD *mpd,
mpd ( mpd ),
stream (stream)
{
- this->mpdManager = mpd::MPDManagerFactory::create( mpd );
- if ( this->mpdManager == NULL )
- return ;
- this->adaptationLogic = AdaptationLogicFactory::create( this->logicType, this->mpdManager, this->stream);
- if ( this->adaptationLogic == NULL )
- return ;
-
- this->conManager = new dash::http::HTTPConnectionManager(this->adaptationLogic, this->stream);
-
- this->buffer = new BlockBuffer(this->stream);
- this->downloader = new DASHDownloader(this->conManager, this->buffer);
-
- this->conManager->attach(this->adaptationLogic);
- this->buffer->attach(this->adaptationLogic);
}
DASHManager::~DASHManager ()
{
@@ -69,6 +55,23 @@ DASHManager::~DASHManager ()
bool DASHManager::start()
{
+ this->mpdManager = mpd::MPDManagerFactory::create( mpd );
+
+ if ( this->mpdManager == NULL )
+ return false;
+
+ this->adaptationLogic = AdaptationLogicFactory::create( this->logicType, this->mpdManager, this->stream);
+
+ if ( this->adaptationLogic == NULL )
+ return false;
+
+ this->conManager = new dash::http::HTTPConnectionManager(this->adaptationLogic, this->stream);
+ this->buffer = new BlockBuffer(this->stream);
+ this->downloader = new DASHDownloader(this->conManager, this->buffer);
+
+ this->conManager->attach(this->adaptationLogic);
+ this->buffer->attach(this->adaptationLogic);
+
return this->downloader->start();
}
int DASHManager::read( void *p_buffer, size_t len )
diff --git a/modules/stream_filter/dash/dash.cpp b/modules/stream_filter/dash/dash.cpp
index ee42beb..0f7f3bc 100644
--- a/modules/stream_filter/dash/dash.cpp
+++ b/modules/stream_filter/dash/dash.cpp
@@ -117,10 +117,7 @@ static int Open(vlc_object_t *p_obj)
dash::logic::IAdaptationLogic::RateBased,
p_stream);
- if ( p_dashManager->getMpdManager() == NULL ||
- p_dashManager->getMpdManager()->getMPD() == NULL ||
- p_dashManager->getAdaptionLogic() == NULL ||
- p_dashManager->start() == false)
+ if(!p_dashManager->start())
{
delete p_dashManager;
free( p_sys );
--
1.7.0.4
More information about the vlc-devel
mailing list