vlc | branch: master | Christopher Mueller <christopher.muel...@itec.aau.at> | Fri Mar 9 16:21:08 2012 +0100| [c030c882fde09d295dd90c7fbd85314fe4fb68df] | committer: Hugo Beauzée-Luyssen
dash: added byte count methods to chunk Signed-off-by: Hugo Beauzée-Luyssen <beauz...@gmail.com> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c030c882fde09d295dd90c7fbd85314fe4fb68df --- modules/stream_filter/dash/http/Chunk.cpp | 58 +++++++++++++++++++++-------- modules/stream_filter/dash/http/Chunk.h | 22 +++++++--- 2 files changed, 57 insertions(+), 23 deletions(-) diff --git a/modules/stream_filter/dash/http/Chunk.cpp b/modules/stream_filter/dash/http/Chunk.cpp index 250f04d..ee43048 100644 --- a/modules/stream_filter/dash/http/Chunk.cpp +++ b/modules/stream_filter/dash/http/Chunk.cpp @@ -34,31 +34,33 @@ Chunk::Chunk () : endByte (0), hasByteRange (false), port (0), - isHostname (false) + isHostname (false), + length (0), + bytesRead (0) { } -int Chunk::getEndByte () const +int Chunk::getEndByte () const { return endByte; } -int Chunk::getStartByte () const +int Chunk::getStartByte () const { return startByte; } -const std::string& Chunk::getUrl () const +const std::string& Chunk::getUrl () const { return url; } -void Chunk::setEndByte (int endByte) +void Chunk::setEndByte (int endByte) { this->endByte = endByte; } -void Chunk::setStartByte (int startByte) +void Chunk::setStartByte (int startByte) { this->startByte = startByte; } -void Chunk::setUrl (const std::string& url ) +void Chunk::setUrl (const std::string& url ) { this->url = url; @@ -78,39 +80,63 @@ void Chunk::setUrl (const std::string& url ) vlc_UrlClean(&url_components); } -void Chunk::addOptionalUrl (const std::string& url) +void Chunk::addOptionalUrl (const std::string& url) { this->optionalUrls.push_back(url); } -bool Chunk::useByteRange () +bool Chunk::useByteRange () { return this->hasByteRange; } -void Chunk::setUseByteRange (bool value) +void Chunk::setUseByteRange (bool value) { this->hasByteRange = value; } -void Chunk::setBitrate (uint64_t bitrate) +void Chunk::setBitrate (uint64_t bitrate) { this->bitrate = bitrate; } -int Chunk::getBitrate () +int Chunk::getBitrate () { return this->bitrate; } -bool Chunk::hasHostname () const +bool Chunk::hasHostname () const { return this->isHostname; } -const std::string& Chunk::getHostname () const +const std::string& Chunk::getHostname () const { return this->hostname; } -const std::string& Chunk::getPath () const +const std::string& Chunk::getPath () const { return this->path; } -int Chunk::getPort () const +int Chunk::getPort () const { return this->port; } +uint64_t Chunk::getLength () const +{ + return this->length; +} +void Chunk::setLength (uint64_t length) +{ + this->length = length; +} +uint64_t Chunk::getBytesRead () const +{ + return this->bytesRead; +} +void Chunk::setBytesRead (uint64_t bytes) +{ + this->bytesRead = bytes; +} +uint64_t Chunk::getBytesToRead () const +{ + return this->length - this->bytesRead; +} +size_t Chunk::getPercentDownloaded () const +{ + return (size_t)(((float)this->bytesRead / this->length) * 100); +} diff --git a/modules/stream_filter/dash/http/Chunk.h b/modules/stream_filter/dash/http/Chunk.h index be6284f..2d2f96c 100644 --- a/modules/stream_filter/dash/http/Chunk.h +++ b/modules/stream_filter/dash/http/Chunk.h @@ -41,14 +41,20 @@ namespace dash public: Chunk (); - int getEndByte () const; - int getStartByte () const; - const std::string& getUrl () const; - bool hasHostname () const; - const std::string& getHostname () const; - const std::string& getPath () const; - int getPort () const; + int getEndByte () const; + int getStartByte () const; + const std::string& getUrl () const; + bool hasHostname () const; + const std::string& getHostname () const; + const std::string& getPath () const; + int getPort () const; + uint64_t getLength () const; + uint64_t getBytesRead () const; + uint64_t getBytesToRead () const; + size_t getPercentDownloaded () const; + void setBytesRead (uint64_t bytes); + void setLength (uint64_t length); void setEndByte (int endByte); void setStartByte (int startByte); void setUrl (const std::string& url); @@ -69,6 +75,8 @@ namespace dash int bitrate; int port; bool isHostname; + size_t length; + uint64_t bytesRead; }; } } _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org http://mailman.videolan.org/listinfo/vlc-commits