[vlc-devel] [PATCH 4/9] dash: added byte count methods to chunk

Hugo Beauzée-Luyssen beauze.h at gmail.com
Mon Mar 12 11:06:51 CET 2012


On Fri, Mar 9, 2012 at 7:05 PM,  <Christopher at mailsrv.uni-klu.ac.at> wrote:
> From: Christopher Mueller <christopher.mueller at itec.aau.at>
>
> ---
>  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 a3ecf7e..56ce1aa 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;
>
> @@ -76,39 +78,63 @@ void                Chunk::setUrl           (const std::string& url )
>     this->hostname      = url_components.psz_host;
>     this->isHostname    = true;
>  }
> -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 a4b41f1..4deec4b 100644
> --- a/modules/stream_filter/dash/http/Chunk.h
> +++ b/modules/stream_filter/dash/http/Chunk.h
> @@ -44,14 +44,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);
> @@ -72,6 +78,8 @@ namespace dash
>                 int                         bitrate;
>                 int                         port;
>                 bool                        isHostname;
> +                size_t                      length;
> +                uint64_t                    bytesRead;
>         };
>     }
>  }
> --
> 1.7.0.4
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel

Looks good, also it would be cool if you could split the cosmetic part
in another patch next time :)

-- 
Hugo Beauzée-Luyssen


More information about the vlc-devel mailing list