Commit c030c882 authored by Christopher Mueller's avatar Christopher Mueller Committed by Hugo Beauzée-Luyssen

dash: added byte count methods to chunk

Signed-off-by: default avatarHugo Beauzée-Luyssen <beauze.h@gmail.com>
parent 121f1710
...@@ -34,31 +34,33 @@ Chunk::Chunk () : ...@@ -34,31 +34,33 @@ Chunk::Chunk () :
endByte (0), endByte (0),
hasByteRange (false), hasByteRange (false),
port (0), port (0),
isHostname (false) isHostname (false),
length (0),
bytesRead (0)
{ {
} }
int Chunk::getEndByte () const int Chunk::getEndByte () const
{ {
return endByte; return endByte;
} }
int Chunk::getStartByte () const int Chunk::getStartByte () const
{ {
return startByte; return startByte;
} }
const std::string& Chunk::getUrl () const const std::string& Chunk::getUrl () const
{ {
return url; return url;
} }
void Chunk::setEndByte (int endByte) void Chunk::setEndByte (int endByte)
{ {
this->endByte = endByte; this->endByte = endByte;
} }
void Chunk::setStartByte (int startByte) void Chunk::setStartByte (int startByte)
{ {
this->startByte = startByte; this->startByte = startByte;
} }
void Chunk::setUrl (const std::string& url ) void Chunk::setUrl (const std::string& url )
{ {
this->url = url; this->url = url;
...@@ -78,39 +80,63 @@ void Chunk::setUrl (const std::string& url ) ...@@ -78,39 +80,63 @@ void Chunk::setUrl (const std::string& url )
vlc_UrlClean(&url_components); vlc_UrlClean(&url_components);
} }
void Chunk::addOptionalUrl (const std::string& url) void Chunk::addOptionalUrl (const std::string& url)
{ {
this->optionalUrls.push_back(url); this->optionalUrls.push_back(url);
} }
bool Chunk::useByteRange () bool Chunk::useByteRange ()
{ {
return this->hasByteRange; return this->hasByteRange;
} }
void Chunk::setUseByteRange (bool value) void Chunk::setUseByteRange (bool value)
{ {
this->hasByteRange = value; this->hasByteRange = value;
} }
void Chunk::setBitrate (uint64_t bitrate) void Chunk::setBitrate (uint64_t bitrate)
{ {
this->bitrate = bitrate; this->bitrate = bitrate;
} }
int Chunk::getBitrate () int Chunk::getBitrate ()
{ {
return this->bitrate; return this->bitrate;
} }
bool Chunk::hasHostname () const bool Chunk::hasHostname () const
{ {
return this->isHostname; return this->isHostname;
} }
const std::string& Chunk::getHostname () const const std::string& Chunk::getHostname () const
{ {
return this->hostname; return this->hostname;
} }
const std::string& Chunk::getPath () const const std::string& Chunk::getPath () const
{ {
return this->path; return this->path;
} }
int Chunk::getPort () const int Chunk::getPort () const
{ {
return this->port; 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);
}
...@@ -41,14 +41,20 @@ namespace dash ...@@ -41,14 +41,20 @@ namespace dash
public: public:
Chunk (); Chunk ();
int getEndByte () const; int getEndByte () const;
int getStartByte () const; int getStartByte () const;
const std::string& getUrl () const; const std::string& getUrl () const;
bool hasHostname () const; bool hasHostname () const;
const std::string& getHostname () const; const std::string& getHostname () const;
const std::string& getPath () const; const std::string& getPath () const;
int getPort () 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 setEndByte (int endByte);
void setStartByte (int startByte); void setStartByte (int startByte);
void setUrl (const std::string& url); void setUrl (const std::string& url);
...@@ -69,6 +75,8 @@ namespace dash ...@@ -69,6 +75,8 @@ namespace dash
int bitrate; int bitrate;
int port; int port;
bool isHostname; bool isHostname;
size_t length;
uint64_t bytesRead;
}; };
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment