[vlc-commits] dash: added byte count methods to chunk
Christopher Mueller
git at videolan.org
Tue Mar 20 15:14:36 CET 2012
vlc | branch: master | Christopher Mueller <christopher.mueller at 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 <beauze.h at 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;
};
}
}
More information about the vlc-commits
mailing list