vlc | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Wed Nov 30 
18:25:58 2011 +0100| [dce9c498c06e1c2bd4907dda58ebde3f6331814f] | committer: 
Jean-Baptiste Kempf

dash: Representation: Return a usable bandwith value.

Signed-off-by: Jean-Baptiste Kempf <[email protected]>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dce9c498c06e1c2bd4907dda58ebde3f6331814f
---

 modules/stream_filter/dash/mpd/BasicCMManager.cpp |    4 ++--
 modules/stream_filter/dash/mpd/Representation.cpp |    8 +++++---
 modules/stream_filter/dash/mpd/Representation.h   |    7 ++++++-
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/modules/stream_filter/dash/mpd/BasicCMManager.cpp 
b/modules/stream_filter/dash/mpd/BasicCMManager.cpp
index fd1fee1..4a488c6 100644
--- a/modules/stream_filter/dash/mpd/BasicCMManager.cpp
+++ b/modules/stream_filter/dash/mpd/BasicCMManager.cpp
@@ -80,7 +80,7 @@ Representation*         BasicCMManager::getBestRepresentation 
  (Period *period)
         {
             try
             {
-                long currentBitrate = atol(reps.at(j)->getBandwidth().c_str());
+                long currentBitrate = reps.at(j)->getBandwidth();
                 if(currentBitrate > bitrate)
                 {
                     bitrate = currentBitrate;
@@ -119,7 +119,7 @@ Representation*         BasicCMManager::getRepresentation   
    (Period *period,
         {
             try
             {
-                long currentBitrate = atol(reps.at(j)->getBandwidth().c_str());
+                long currentBitrate = reps.at(j)->getBandwidth();
                 long dif = bitrate - currentBitrate;
 
                 if(bestDif == -1)
diff --git a/modules/stream_filter/dash/mpd/Representation.cpp 
b/modules/stream_filter/dash/mpd/Representation.cpp
index 17fd248..0a8a4dc 100644
--- a/modules/stream_filter/dash/mpd/Representation.cpp
+++ b/modules/stream_filter/dash/mpd/Representation.cpp
@@ -25,6 +25,8 @@
 # include "config.h"
 #endif
 
+#include <cstdlib>
+
 #include "Representation.h"
 
 using namespace dash::mpd;
@@ -126,13 +128,13 @@ std::string         Representation::getWidth              
  () const throw(Attri
     return it->second;
 
 }
-std::string         Representation::getBandwidth            () const 
throw(AttributeNotPresentException)
+int     Representation::getBandwidth            () const
 {
     std::map<std::string, std::string>::const_iterator  it = 
this->attributes.find("bandwidth");
     if ( it == this->attributes.end())
-        throw AttributeNotPresentException();
+        return -1;
 
-    return it->second;
+    return atoi( it->second.c_str() ) / 8;
 
 }
 std::string         Representation::getNumberOfChannels     () const 
throw(AttributeNotPresentException)
diff --git a/modules/stream_filter/dash/mpd/Representation.h 
b/modules/stream_filter/dash/mpd/Representation.h
index 0a2668c..a47d867 100644
--- a/modules/stream_filter/dash/mpd/Representation.h
+++ b/modules/stream_filter/dash/mpd/Representation.h
@@ -52,7 +52,12 @@ namespace dash
                 std::string         getLang                 () const 
throw(dash::exception::AttributeNotPresentException);
                 std::string         getFrameRate            () const 
throw(dash::exception::AttributeNotPresentException);
                 std::string         getId                   () const 
throw(dash::exception::AttributeNotPresentException);
-                std::string         getBandwidth            () const 
throw(dash::exception::AttributeNotPresentException);
+                /*
+                 *  @return The bitrate required for this representation
+                 *          in Bytes per seconds.
+                 *          -1 if an error occurs.
+                 */
+                int                 getBandwidth            () const;
                 std::string         getDependencyId         () const 
throw(dash::exception::AttributeNotPresentException);
                 std::string         getNumberOfChannels     () const 
throw(dash::exception::AttributeNotPresentException);
                 std::string         getSamplingRate         () const 
throw(dash::exception::AttributeNotPresentException);

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to