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
