vlc | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Thu Nov 24 
11:52:44 2011 +0100| [df9757124d8e12c0fbf39803f3d3e8057262f353] | committer: 
Rémi Denis-Courmont

dash: Avoid multiple lookups.

Signed-off-by: Rémi Denis-Courmont <[email protected]>

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

 modules/stream_filter/dash/mpd/MPD.cpp |   16 ++++++++++------
 modules/stream_filter/dash/mpd/MPD.h   |    4 +++-
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/modules/stream_filter/dash/mpd/MPD.cpp 
b/modules/stream_filter/dash/mpd/MPD.cpp
index 69b4c05..cb8c7e0 100644
--- a/modules/stream_filter/dash/mpd/MPD.cpp
+++ b/modules/stream_filter/dash/mpd/MPD.cpp
@@ -60,24 +60,28 @@ std::vector<BaseUrl*>   MPD::getBaseUrls            ()
 }
 std::string             MPD::getMinBufferTime       () 
throw(AttributeNotPresentException)
 {
-    if(this->attributes.find("minBufferTime") == this->attributes.end())
+    AttributesMap::iterator     it = this->attributes.find("minBufferTime");
+    if( it == this->attributes.end())
         throw AttributeNotPresentException();
 
-    return this->attributes["minBufferTime"];
+    return it->second;
 }
 std::string             MPD::getType                () 
throw(AttributeNotPresentException)
 {
-    if(this->attributes.find("type") == this->attributes.end())
+    AttributesMap::iterator     it = this->attributes.find( "type" );
+    if( it == this->attributes.end() )
         throw AttributeNotPresentException();
 
-    return this->attributes["type"];
+    return it->second;
 }
 std::string             MPD::getDuration            () 
throw(AttributeNotPresentException)
 {
-    if(this->attributes.find("mediaPresentationDuration") == 
this->attributes.end())
+    AttributesMap::iterator     it = 
this->attributes.find("mediaPresentationDuration");
+
+    if( it == this->attributes.end())
         throw AttributeNotPresentException();
 
-    return this->attributes["mediaPresentationDuration"];
+    return it->second;
 }
 ProgramInformation*     MPD::getProgramInformation  () 
throw(ElementNotPresentException)
 {
diff --git a/modules/stream_filter/dash/mpd/MPD.h 
b/modules/stream_filter/dash/mpd/MPD.h
index 732d38b..2942b18 100644
--- a/modules/stream_filter/dash/mpd/MPD.h
+++ b/modules/stream_filter/dash/mpd/MPD.h
@@ -41,6 +41,8 @@ namespace dash
     {
         class MPD
         {
+            typedef std::map<std::string, std::string>      AttributesMap;
+
             public:
                 MPD         (std::map<std::string, std::string> attributes);
                 MPD         ();
@@ -58,7 +60,7 @@ namespace dash
                 void    setProgramInformation   (ProgramInformation *progInfo);
 
             private:
-                std::map<std::string, std::string>  attributes;
+                AttributesMap                       attributes;
                 std::vector<Period *>               periods;
                 std::vector<BaseUrl *>              baseUrls;
                 ProgramInformation                  *programInfo;

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

Reply via email to