1#ifndef _BBC_PARSE_DASH_MPD_SEGMENT_LIST_HH_
2#define _BBC_PARSE_DASH_MPD_SEGMENT_LIST_HH_
52 ,m_xLink(other.m_xLink)
53 ,m_segmentURLs(other.m_segmentURLs)
57 ,m_xLink(
std::move(other.m_xLink))
58 ,m_segmentURLs(
std::move(other.m_segmentURLs))
65 m_xLink = other.m_xLink;
66 m_segmentURLs = other.m_segmentURLs;
71 m_xLink = std::move(other.m_xLink);
72 m_segmentURLs = std::move(other.m_segmentURLs);
77 if (m_xLink.has_value() != other.m_xLink.has_value())
return false;
78 if (m_xLink && !(m_xLink.value() == other.m_xLink.value()))
return false;
79 if (m_segmentURLs != other.m_segmentURLs)
return false;
83 bool hasXLink()
const {
return m_xLink.has_value(); };
84 const std::optional<XLink> &
xLink()
const {
return m_xLink; };
89 const std::list<SegmentURL> &
segmentURLs()
const {
return m_segmentURLs; };
90 std::list<SegmentURL>::const_iterator
segmentURLsBegin()
const {
return m_segmentURLs.cbegin(); };
91 std::list<SegmentURL>::const_iterator
segmentURLsEnd()
const {
return m_segmentURLs.cend(); };
93 std::list<SegmentURL>::iterator
segmentURLsEnd() {
return m_segmentURLs.end(); };
111 void setXMLElement(xmlpp::Element&)
const;
117 std::optional<XLink> m_xLink;
119 std::list<SegmentURL> m_segmentURLs;
AdaptationSet class.
Definition AdaptationSet.hh:60
bool operator==(const MultipleSegmentBase &other) const
MultipleSegmentBase & operator=(const MultipleSegmentBase &other)
SegmentBase::duration_type duration_type
Definition MultipleSegmentBase.hh:41
Definition Representation.hh:55
bool operator==(const SegmentList &other) const
Definition SegmentList.hh:76
SegmentList(SegmentList &&other)
Definition SegmentList.hh:55
SegmentList & operator=(const SegmentList &other)
Definition SegmentList.hh:63
std::list< SegmentURL >::iterator segmentURLsEnd()
Definition SegmentList.hh:93
SegmentList & segmentURLRemove(const std::list< SegmentURL >::const_iterator &it)
Definition SegmentList.hh:97
MultipleSegmentBase::duration_type duration_type
Definition SegmentList.hh:43
SegmentList & xLink(const std::nullopt_t &)
Definition SegmentList.hh:85
std::list< SegmentURL >::const_iterator segmentURLsBegin() const
Definition SegmentList.hh:90
bool hasXLink() const
Definition SegmentList.hh:83
SegmentList & xLink(const XLink &val)
Definition SegmentList.hh:86
const std::string & getMediaURLForSegmentTime(unsigned long time) const
virtual ~SegmentList()
Definition SegmentList.hh:61
const std::list< SegmentURL > & segmentURLs() const
Definition SegmentList.hh:89
SegmentList & segmentURLAdd(const SegmentURL &val)
Definition SegmentList.hh:94
const std::string & getMediaURLForSegment(unsigned long segment_number) const
const std::optional< XLink > & xLink() const
Definition SegmentList.hh:84
SegmentList & segmentURLAdd(SegmentURL &&val)
Definition SegmentList.hh:95
std::list< SegmentURL >::const_iterator segmentURLsEnd() const
Definition SegmentList.hh:91
const std::string & getMediaURLForSegmentTime(const duration_type &time) const
std::list< SegmentURL >::iterator segmentURLsBegin()
Definition SegmentList.hh:92
SegmentList(const SegmentList &other)
Definition SegmentList.hh:50
SegmentList & segmentURLRemove(const std::list< SegmentURL >::iterator &it)
Definition SegmentList.hh:98
SegmentList & segmentURLRemove(const SegmentURL &val)
Definition SegmentList.hh:96
const std::string & getInitializationURL() const
SegmentList()
Definition SegmentList.hh:45
SegmentList & xLink(XLink &&val)
Definition SegmentList.hh:87
SegmentList & operator=(SegmentList &&other)
Definition SegmentList.hh:69
Definition SegmentURL.hh:37
#define LIBMPDPP_NAMESPACE_END
Definition macros.hh:54
#define LIBMPDPP_PUBLIC_API
Used to mark something as part of the public API.
Definition macros.hh:21
#define LIBMPDPP_NAMESPACE_BEGIN
Definition macros.hh:50
Definition SegmentAvailability.hh:87