Commit 7127d0c9 authored by Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen Committed by Jean-Baptiste Kempf

dash: Removing now useless AttributeNotPresentException

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent 45827b28
...@@ -10,7 +10,6 @@ SOURCES_stream_filter_dash = \ ...@@ -10,7 +10,6 @@ SOURCES_stream_filter_dash = \
adaptationlogic/NullAdaptationLogic.h \ adaptationlogic/NullAdaptationLogic.h \
adaptationlogic/RateBasedAdaptationLogic.h \ adaptationlogic/RateBasedAdaptationLogic.h \
adaptationlogic/RateBasedAdaptationLogic.cpp \ adaptationlogic/RateBasedAdaptationLogic.cpp \
exceptions/AttributeNotPresentException.h \
exceptions/EOFException.h \ exceptions/EOFException.h \
http/Chunk.cpp \ http/Chunk.cpp \
http/Chunk.h \ http/Chunk.h \
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include "mpd/Period.h" #include "mpd/Period.h"
#include "mpd/Representation.h" #include "mpd/Representation.h"
#include "mpd/Segment.h" #include "mpd/Segment.h"
#include "exceptions/AttributeNotPresentException.h"
#include "exceptions/EOFException.h" #include "exceptions/EOFException.h"
namespace dash namespace dash
......
/*
* AttributeNotPresentException.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 ATTRIBUTENOTPRESENTEXCEPTION_H_
#define ATTRIBUTENOTPRESENTEXCEPTION_H_
#include <stdexcept>
namespace dash
{
namespace exception
{
class AttributeNotPresentException : public std::exception
{
public:
AttributeNotPresentException() : std::exception() {}
};
}
}
#endif /* ATTRIBUTENOTPRESENTEXCEPTION_H_ */
...@@ -27,8 +27,9 @@ ...@@ -27,8 +27,9 @@
#include "BasicCMManager.h" #include "BasicCMManager.h"
#include <cassert>
using namespace dash::mpd; using namespace dash::mpd;
using namespace dash::exception;
BasicCMManager::BasicCMManager (MPD *mpd) BasicCMManager::BasicCMManager (MPD *mpd)
{ {
...@@ -60,7 +61,7 @@ Representation* BasicCMManager::getBestRepresentation (Period *period) ...@@ -60,7 +61,7 @@ Representation* BasicCMManager::getBestRepresentation (Period *period)
{ {
std::vector<Group *> groups = period->getGroups(); std::vector<Group *> groups = period->getGroups();
long bitrate = 0; int bitrate = 0;
Representation *best = NULL; Representation *best = NULL;
for(size_t i = 0; i < groups.size(); i++) for(size_t i = 0; i < groups.size(); i++)
...@@ -68,22 +69,16 @@ Representation* BasicCMManager::getBestRepresentation (Period *period) ...@@ -68,22 +69,16 @@ Representation* BasicCMManager::getBestRepresentation (Period *period)
std::vector<Representation *> reps = groups.at(i)->getRepresentations(); std::vector<Representation *> reps = groups.at(i)->getRepresentations();
for(size_t j = 0; j < reps.size(); j++) for(size_t j = 0; j < reps.size(); j++)
{ {
try int currentBitrate = reps.at(j)->getBandwidth();
{ assert( currentBitrate != -1 );
long currentBitrate = reps.at(j)->getBandwidth();
if(currentBitrate > bitrate) if( currentBitrate > bitrate)
{
bitrate = currentBitrate;
best = reps.at(j);
}
}
catch(AttributeNotPresentException &e)
{ {
/* TODO DEBUG */ bitrate = currentBitrate;
best = reps.at(j);
} }
} }
} }
return best; return best;
} }
Period* BasicCMManager::getFirstPeriod () Period* BasicCMManager::getFirstPeriod ()
...@@ -95,41 +90,35 @@ Period* BasicCMManager::getFirstPeriod () ...@@ -95,41 +90,35 @@ Period* BasicCMManager::getFirstPeriod ()
return periods.at(0); return periods.at(0);
} }
Representation* BasicCMManager::getRepresentation (Period *period, long bitrate) Representation* BasicCMManager::getRepresentation (Period *period, long bitrate)
{ {
std::vector<Group *> groups = period->getGroups(); std::vector<Group *> groups = period->getGroups();
Representation *best = NULL; Representation *best = NULL;
long bestDif = -1; int bestDif = -1;
for(size_t i = 0; i < groups.size(); i++) for(size_t i = 0; i < groups.size(); i++)
{ {
std::vector<Representation *> reps = groups.at(i)->getRepresentations(); std::vector<Representation *> reps = groups.at(i)->getRepresentations();
for(size_t j = 0; j < reps.size(); j++) for(size_t j = 0; j < reps.size(); j++)
{ {
try int currentBitrate = reps.at(j)->getBandwidth();
{ assert( currentBitrate != -1 );
long currentBitrate = reps.at(j)->getBandwidth(); int dif = bitrate - currentBitrate;
long dif = bitrate - currentBitrate;
if(bestDif == -1) if( bestDif == -1 )
{
bestDif = dif;
best = reps.at(j);
}
else
{
if ( dif >= 0 && dif < bestDif )
{ {
bestDif = dif; bestDif = dif;
best = reps.at(j); best = reps.at(j);
} }
else
{
if(dif >= 0 && dif < bestDif)
{
bestDif = dif;
best = reps.at(j);
}
}
}
catch(AttributeNotPresentException &e)
{
/* TODO DEBUG */
} }
} }
} }
......
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
#include "mpd/SegmentInfo.h" #include "mpd/SegmentInfo.h"
#include "mpd/Segment.h" #include "mpd/Segment.h"
#include "mpd/IMPDManager.h" #include "mpd/IMPDManager.h"
#include "exceptions/AttributeNotPresentException.h"
namespace dash namespace dash
{ {
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include <vlc_arrays.h> #include <vlc_arrays.h>
using namespace dash::mpd; using namespace dash::mpd;
using namespace dash::exception;
Group::Group() : Group::Group() :
subsegmentAlignmentFlag( false ) subsegmentAlignmentFlag( false )
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
#include "mpd/Representation.h" #include "mpd/Representation.h"
#include "mpd/CommonAttributesElements.h" #include "mpd/CommonAttributesElements.h"
#include "exceptions/AttributeNotPresentException.h"
namespace dash namespace dash
{ {
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "MPD.h" #include "MPD.h"
using namespace dash::mpd; using namespace dash::mpd;
using namespace dash::exception;
MPD::MPD () : MPD::MPD () :
profile( dash::mpd::UnknownProfile ), profile( dash::mpd::UnknownProfile ),
......
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
#include "mpd/Period.h" #include "mpd/Period.h"
#include "mpd/BaseUrl.h" #include "mpd/BaseUrl.h"
#include "mpd/ProgramInformation.h" #include "mpd/ProgramInformation.h"
#include "exceptions/AttributeNotPresentException.h"
#include "mpd/IMPDManager.h" #include "mpd/IMPDManager.h"
namespace dash namespace dash
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "ProgramInformation.h" #include "ProgramInformation.h"
using namespace dash::mpd; using namespace dash::mpd;
using namespace dash::exception;
const std::string &ProgramInformation::getSource() const const std::string &ProgramInformation::getSource() const
{ {
......
...@@ -28,8 +28,6 @@ ...@@ -28,8 +28,6 @@
#include <string> #include <string>
#include <map> #include <map>
#include "exceptions/AttributeNotPresentException.h"
namespace dash namespace dash
{ {
namespace mpd namespace mpd
......
...@@ -46,7 +46,8 @@ namespace dash ...@@ -46,7 +46,8 @@ namespace dash
/* /*
* @return The bitrate required for this representation * @return The bitrate required for this representation
* in Bytes per seconds. * in Bytes per seconds.
* -1 if an error occurs. * Will be a valid value, as the parser refuses Representation
* without bandwith.
*/ */
int getBandwidth () const; int getBandwidth () const;
void setBandwidth ( int bandwidth ); void setBandwidth ( int bandwidth );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment