[vlc-devel] [PATCH 7/9] dash: removed EOFException
Christopher at mailsrv.uni-klu.ac.at
Christopher at mailsrv.uni-klu.ac.at
Fri Mar 9 19:05:25 CET 2012
From: Christopher Mueller <christopher.mueller at itec.aau.at>
---
modules/stream_filter/dash/DASHDownloader.cpp | 8 +---
modules/stream_filter/dash/DASHDownloader.h | 1 -
modules/stream_filter/dash/DASHManager.cpp | 1 -
modules/stream_filter/dash/DASHManager.h | 1 -
modules/stream_filter/dash/Modules.am | 1 -
.../adaptationlogic/AbstractAdaptationLogic.cpp | 1 -
.../dash/adaptationlogic/AbstractAdaptationLogic.h | 1 -
.../adaptationlogic/AlwaysBestAdaptationLogic.cpp | 7 +--
.../adaptationlogic/AlwaysBestAdaptationLogic.h | 3 +-
.../dash/adaptationlogic/IAdaptationLogic.h | 5 +-
.../adaptationlogic/RateBasedAdaptationLogic.cpp | 9 ++--
.../adaptationlogic/RateBasedAdaptationLogic.h | 3 +-
.../stream_filter/dash/exceptions/EOFException.h | 42 --------------------
13 files changed, 13 insertions(+), 70 deletions(-)
delete mode 100644 modules/stream_filter/dash/exceptions/EOFException.h
diff --git a/modules/stream_filter/dash/DASHDownloader.cpp b/modules/stream_filter/dash/DASHDownloader.cpp
index 1a0b21e..0fd5c92 100644
--- a/modules/stream_filter/dash/DASHDownloader.cpp
+++ b/modules/stream_filter/dash/DASHDownloader.cpp
@@ -30,7 +30,6 @@
using namespace dash;
using namespace dash::http;
using namespace dash::logic;
-using namespace dash::exception;
using namespace dash::buffer;
DASHDownloader::DASHDownloader (HTTPConnectionManager *conManager, IAdaptationLogic *adaptationLogic, BlockBuffer *buffer)
@@ -67,11 +66,8 @@ void* DASHDownloader::download (void *thread_sys)
{
if(currentChunk == NULL)
{
- try
- {
- currentChunk = adaptationLogic->getNextChunk();
- }
- catch(EOFException &e)
+ currentChunk = adaptationLogic->getNextChunk();
+ if(currentChunk == NULL)
{
buffer->setEOF(true);
}
diff --git a/modules/stream_filter/dash/DASHDownloader.h b/modules/stream_filter/dash/DASHDownloader.h
index 4ab84f1..1fcdf19 100644
--- a/modules/stream_filter/dash/DASHDownloader.h
+++ b/modules/stream_filter/dash/DASHDownloader.h
@@ -27,7 +27,6 @@
#include "http/HTTPConnectionManager.h"
#include "adaptationlogic/IAdaptationLogic.h"
-#include "exceptions/EOFException.h"
#include "buffer/BlockBuffer.h"
#define BLOCKSIZE 32768
diff --git a/modules/stream_filter/dash/DASHManager.cpp b/modules/stream_filter/dash/DASHManager.cpp
index a98e01a..f649015 100644
--- a/modules/stream_filter/dash/DASHManager.cpp
+++ b/modules/stream_filter/dash/DASHManager.cpp
@@ -33,7 +33,6 @@ using namespace dash::xml;
using namespace dash::logic;
using namespace dash::mpd;
using namespace dash::buffer;
-using namespace dash::exception;
DASHManager::DASHManager ( HTTPConnectionManager *conManager, MPD *mpd,
IAdaptationLogic::LogicType type, stream_t *stream) :
diff --git a/modules/stream_filter/dash/DASHManager.h b/modules/stream_filter/dash/DASHManager.h
index 6c9d16a..a09e98e 100644
--- a/modules/stream_filter/dash/DASHManager.h
+++ b/modules/stream_filter/dash/DASHManager.h
@@ -33,7 +33,6 @@
#include "mpd/MPDManagerFactory.h"
#include "buffer/BlockBuffer.h"
#include "DASHDownloader.h"
-#include "exceptions/EOFException.h"
#include "mpd/MPD.h"
namespace dash
diff --git a/modules/stream_filter/dash/Modules.am b/modules/stream_filter/dash/Modules.am
index fe6d7d4..39f7277 100644
--- a/modules/stream_filter/dash/Modules.am
+++ b/modules/stream_filter/dash/Modules.am
@@ -12,7 +12,6 @@ SOURCES_stream_filter_dash = \
buffer/BlockBuffer.cpp \
buffer/BlockBuffer.h \
buffer/IBufferObserver.h \
- exceptions/EOFException.h \
http/Chunk.cpp \
http/Chunk.h \
http/HTTPConnection.cpp \
diff --git a/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.cpp b/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.cpp
index dd15e87..c01af2b 100644
--- a/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.cpp
+++ b/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.cpp
@@ -30,7 +30,6 @@
using namespace dash::logic;
using namespace dash::xml;
using namespace dash::mpd;
-using namespace dash::exception;
AbstractAdaptationLogic::AbstractAdaptationLogic (IMPDManager *mpdManager, stream_t *stream) :
bpsAvg (0),
diff --git a/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.h b/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.h
index 0812cdd..4f2700b 100644
--- a/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.h
+++ b/modules/stream_filter/dash/adaptationlogic/AbstractAdaptationLogic.h
@@ -33,7 +33,6 @@
#include "mpd/Period.h"
#include "mpd/Representation.h"
#include "mpd/Segment.h"
-#include "exceptions/EOFException.h"
struct stream_t;
diff --git a/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.cpp b/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.cpp
index 01d7c44..053f815 100644
--- a/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.cpp
+++ b/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.cpp
@@ -31,7 +31,6 @@ using namespace dash::logic;
using namespace dash::xml;
using namespace dash::http;
using namespace dash::mpd;
-using namespace dash::exception;
AlwaysBestAdaptationLogic::AlwaysBestAdaptationLogic (IMPDManager *mpdManager, stream_t *stream) :
AbstractAdaptationLogic (mpdManager, stream)
@@ -44,13 +43,13 @@ AlwaysBestAdaptationLogic::~AlwaysBestAdaptationLogic ()
{
}
-Chunk* AlwaysBestAdaptationLogic::getNextChunk() throw(EOFException)
+Chunk* AlwaysBestAdaptationLogic::getNextChunk()
{
if(this->schedule.size() == 0)
- throw EOFException();
+ return NULL;
if(this->count == this->schedule.size())
- throw EOFException();
+ return NULL;
if ( this->count < this->schedule.size() )
{
diff --git a/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.h b/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.h
index 3b577f7..748a864 100644
--- a/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.h
+++ b/modules/stream_filter/dash/adaptationlogic/AlwaysBestAdaptationLogic.h
@@ -31,7 +31,6 @@
#include "mpd/IMPDManager.h"
#include "mpd/Period.h"
#include "mpd/Segment.h"
-#include "exceptions/EOFException.h"
#include "mpd/BasicCMManager.h"
#include <vector>
@@ -45,7 +44,7 @@ namespace dash
AlwaysBestAdaptationLogic (dash::mpd::IMPDManager *mpdManager, stream_t *stream);
virtual ~AlwaysBestAdaptationLogic ();
- dash::http::Chunk* getNextChunk() throw(dash::exception::EOFException);
+ dash::http::Chunk* getNextChunk();
const mpd::Representation *getCurrentRepresentation() const;
private:
diff --git a/modules/stream_filter/dash/adaptationlogic/IAdaptationLogic.h b/modules/stream_filter/dash/adaptationlogic/IAdaptationLogic.h
index 9fc71d4..f0defde 100644
--- a/modules/stream_filter/dash/adaptationlogic/IAdaptationLogic.h
+++ b/modules/stream_filter/dash/adaptationlogic/IAdaptationLogic.h
@@ -27,7 +27,6 @@
#include <http/Chunk.h>
#include <adaptationlogic/IDownloadRateObserver.h>
-#include <exceptions/EOFException.h>
#include "mpd/Representation.h"
#include "buffer/IBufferObserver.h"
@@ -47,8 +46,8 @@ namespace dash
RateBased
};
- virtual dash::http::Chunk* getNextChunk() throw(dash::exception::EOFException) = 0;
- virtual const dash::mpd::Representation *getCurrentRepresentation() const = 0;
+ virtual dash::http::Chunk* getNextChunk () = 0;
+ virtual const dash::mpd::Representation* getCurrentRepresentation() const = 0;
/**
* \return The average bitrate in bits per second.
*/
diff --git a/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.cpp b/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.cpp
index 5214777..daa14a1 100644
--- a/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.cpp
+++ b/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.cpp
@@ -31,7 +31,6 @@ using namespace dash::logic;
using namespace dash::xml;
using namespace dash::http;
using namespace dash::mpd;
-using namespace dash::exception;
RateBasedAdaptationLogic::RateBasedAdaptationLogic (IMPDManager *mpdManager, stream_t *stream) :
AbstractAdaptationLogic (mpdManager, stream),
@@ -45,13 +44,13 @@ RateBasedAdaptationLogic::RateBasedAdaptationLogic (IMPDManager *mpdManager, st
this->height = var_InheritInteger(stream, "dash-prefheight");
}
-Chunk* RateBasedAdaptationLogic::getNextChunk() throw(EOFException)
+Chunk* RateBasedAdaptationLogic::getNextChunk()
{
if(this->mpdManager == NULL)
- throw EOFException();
+ return NULL;
if(this->currentPeriod == NULL)
- throw EOFException();
+ return NULL;
uint64_t bitrate = this->getBpsAvg();
@@ -61,7 +60,7 @@ Chunk* RateBasedAdaptationLogic::getNextChunk() throw(EOFException)
Representation *rep = this->mpdManager->getRepresentation(this->currentPeriod, bitrate, this->width, this->height);
if ( rep == NULL )
- throw EOFException();
+ return NULL;
std::vector<Segment *> segments = this->mpdManager->getSegments(rep);
diff --git a/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.h b/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.h
index 204de72..b53d0a9 100644
--- a/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.h
+++ b/modules/stream_filter/dash/adaptationlogic/RateBasedAdaptationLogic.h
@@ -29,7 +29,6 @@
#include "xml/Node.h"
#include "mpd/IMPDManager.h"
#include "http/Chunk.h"
-#include "exceptions/EOFException.h"
#include "mpd/BasicCMManager.h"
#include <vlc_common.h>
@@ -46,7 +45,7 @@ namespace dash
public:
RateBasedAdaptationLogic (dash::mpd::IMPDManager *mpdManager, stream_t *stream);
- dash::http::Chunk* getNextChunk() throw(dash::exception::EOFException);
+ dash::http::Chunk* getNextChunk();
const dash::mpd::Representation *getCurrentRepresentation() const;
private:
diff --git a/modules/stream_filter/dash/exceptions/EOFException.h b/modules/stream_filter/dash/exceptions/EOFException.h
deleted file mode 100644
index 06a95d1..0000000
--- a/modules/stream_filter/dash/exceptions/EOFException.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * EOFException.h
- *****************************************************************************
- * Copyright (C) 2010 - 2011 Klagenfurt University
- *
- * Created on: Aug 10, 2010
- * Authors: Christopher Mueller <christopher.mueller at itec.uni-klu.ac.at>
- * Christian Timmerer <christian.timmerer at 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 EOFEXCEPTION_H_
-#define EOFEXCEPTION_H_
-
-#include <stdexcept>
-
-namespace dash
-{
- namespace exception
- {
- class EOFException : public std::exception
- {
- public:
- EOFException() : std::exception() {}
- };
- }
-}
-
-#endif /* EOFEXCEPTION_H_ */
--
1.7.0.4
More information about the vlc-devel
mailing list