#include <libmpd++/BaseURL.hh>
Public Types | |
using | duration_type = std::chrono::microseconds |
The type used to represent durations in this class. | |
Public Member Functions | |
BaseURL () | |
BaseURL (const BaseURL &other) | |
BaseURL (BaseURL &&other) | |
virtual | ~BaseURL () |
bool | operator== (const BaseURL &other) const |
BaseURL | resolveURL (const std::list< BaseURL > &base_urls) const |
bool | hasServiceLocation () const |
const std::optional< std::string > & | serviceLocation () const |
BaseURL & | serviceLocation (const std::nullopt_t &) |
bool | hasByteRange () const |
const std::optional< std::string > & | byteRange () const |
BaseURL & | byteRange (const std::nullopt_t &) |
bool | hasAvailabilityTimeOffset () const |
const std::optional< double > & | availabilityTimeOffset () const |
BaseURL & | availabilityTimeOffset (const std::nullopt_t &) |
BaseURL & | availabilityTimeOffset (double val) |
bool | hasAvailabilityTimeComplete () const |
const std::optional< bool > & | availabilityTimeComplete () const |
BaseURL & | availabilityTimeComplete (const std::nullopt_t &) |
BaseURL & | availabilityTimeComplete (bool val) |
bool | hasTimeShiftBufferDepth () const |
const std::optional< duration_type > & | timeShiftBufferDepth () const |
BaseURL & | timeShiftBufferDepth (const std::nullopt_t &) |
bool | rangeAccess () const |
BaseURL & | rangeAccess (bool val) |
BaseURL (const std::string &url) | |
BaseURL (std::string &&url) | |
BaseURL & | operator= (const BaseURL &other) |
BaseURL & | operator= (BaseURL &&other) |
const URI & | url () const |
URI & | url () |
BaseURL & | url (const URI &_url) |
BaseURL & | url (URI &&_url) |
BaseURL & | serviceLocation (const std::string &val) |
BaseURL & | serviceLocation (std::string &&val) |
BaseURL & | byteRange (const std::string &val) |
BaseURL & | byteRange (std::string &&val) |
BaseURL & | timeShiftBufferDepth (const duration_type &val) |
BaseURL & | timeShiftBufferDepth (duration_type &&val) |
![]() | |
URI () | |
URI (const char *uri) | |
URI (const std::string &uri) | |
URI (std::string &&uri) | |
URI (const URI &other) | |
URI (URI &&other) | |
virtual | ~URI () |
URI & | operator= (const URI &other) |
URI & | operator= (URI &&other) |
URI & | operator= (const std::string &val) |
URI & | operator= (std::string &&val) |
bool | operator== (const URI &other) const |
operator std::string () const | |
const std::string & | str () const |
URI | resolveUsingBaseURLs (const std::list< BaseURL > &base_urls) const |
bool | isURL () const |
bool | isAbsoluteURL () const |
BaseURL class
This is a container for BaseURL element values and attributes as given in the DASH MPD XML schema found in ISO 23009-1:2022 Clause 5.6.3.
using com::bbc::libmpdpp::BaseURL::duration_type = std::chrono::microseconds |
The type used to represent durations in this class.
com::bbc::libmpdpp::BaseURL::BaseURL | ( | ) |
Default constructor
Create an empty BaseURL element.
com::bbc::libmpdpp::BaseURL::BaseURL | ( | const std::string & | url | ) |
com::bbc::libmpdpp::BaseURL::BaseURL | ( | std::string && | url | ) |
com::bbc::libmpdpp::BaseURL::BaseURL | ( | const BaseURL & | other | ) |
com::bbc::libmpdpp::BaseURL::BaseURL | ( | BaseURL && | other | ) |
|
inlinevirtual |
Destructor
|
inline |
Get the optional @pvailabilityTimeComplete attribute value
|
inline |
Set the @pvailabilityTimeComplete attribute value
val | The value for the @pvailabilityTimeComplete attribute. |
|
inline |
Unset the @pvailabilityTimeComplete attribute value
|
inline |
Get the optional @pvailabilityTimeOffset attribute value
|
inline |
Unset the @pvailabilityTimeOffset attribute value
|
inline |
Set the @pvailabilityTimeOffset attribute value
val | The value to set as the @pvailabilityTimeOffset attribute value. |
|
inline |
Get the optional @byteRange attribute value
|
inline |
Unset the @byteRange attribute value
|
inline |
Set the optional @byteRange attribute value
val | The value of the byte range to set as the @byteRange attribute. |
|
inline |
Set the optional @byteRange attribute value
val | The value of the byte range to set as the @byteRange attribute. |
|
inline |
Check if the @pvailabilityTimeComplete attribute has been set
true
if the @pvailabilityTimeComplete attribute has been set.
|
inline |
Check if the @pvailabilityTimeOffset attribute has been set
true
if the @pvailabilityTimeOffset attribute has been set, otherwise false
.
|
inline |
Check if the @byteRange attribute has been set
true
if the @byteRange attribute has been set.
|
inline |
Check if the serviceLocation attribute is set
true
if the serviceLocation attribute has been set.
|
inline |
Check if the @timeShiftBufferDepth attribute value has been set
true
if the @timeShiftBufferDepth attribute value has been set. bool com::bbc::libmpdpp::BaseURL::operator== | ( | const BaseURL & | other | ) | const |
|
inline |
Get the @rangeAccess attribute value
|
inline |
Set the @rangeAccess attribute value
Sets the @rangeAccess attribute value. Setting this to the default value of false
will cause this field to be omitted from XML output.
val | The value to set the @rangeAccess attribute to. |
Create a new BaseURL with the resolved version of this URL
Create a copy of this BaseURL with the url resolved using the provided base_urls
. If this BaseURL is absolute then the result will just be a copy of this one. If this BaseURL is relative then the base_urls
list will be used to generate an absolute (if possible) URL by combining the relative URL from this BaseURL with one of the absolute URLs from base_urls
.
base_urls
.
|
inline |
Get the optional serviceLocation attribute value
|
inline |
Unset the serviceLocation attribute value
|
inline |
Set the @serviceLocation attribute value
val | The value to set for the @serviceLocation attribute. |
|
inline |
Set the @serviceLocation attribute value
val | The value to set for the @serviceLocation attribute. |
|
inline |
Get the optional @timeShiftBufferDepth attribute value
|
inline |
Set the @timeShiftBufferDepth attribute value
val | The value to set for the @timeShiftBufferDepth attribute. |
|
inline |
Unset the @timeShiftBufferDepth attribute value
|
inline |
Set the @timeShiftBufferDepth attribute value
val | The value to set for the @timeShiftBufferDepth attribute. |
|
inline |
Get the URL value
|
inline |
Get the URL value