1#ifndef _BBC_PARSE_DASH_MPD_MULTIPLE_SEGMENT_BASE_HH_
2#define _BBC_PARSE_DASH_MPD_MULTIPLE_SEGMENT_BASE_HH_
56 const std::optional<unsigned int> &
duration()
const {
return m_duration; };
63 const std::optional<unsigned int> &
startNumber()
const {
return m_startNumber; };
69 const std::optional<unsigned int> &
endNumber()
const {
return m_endNumber; };
75 const std::optional<SegmentTimeline> &
segmentTimeline()
const {
return m_segmentTimeline; };
102 void setXMLElement(xmlpp::Element&)
const;
108 std::optional<unsigned int> m_duration;
109 std::optional<unsigned int> m_startNumber;
110 std::optional<unsigned int> m_endNumber;
112 std::optional<SegmentTimeline> m_segmentTimeline;
113 std::optional<URL> m_bitstreamSwitching;
const std::optional< SegmentTimeline > & segmentTimeline() const
Definition MultipleSegmentBase.hh:75
MultipleSegmentBase & duration(unsigned int val)
Definition MultipleSegmentBase.hh:58
const std::optional< URL > & bitstreamSwitching() const
Definition MultipleSegmentBase.hh:82
MultipleSegmentBase & segmentTimeline(SegmentTimeline &&val)
Definition MultipleSegmentBase.hh:78
MultipleSegmentBase & bitstreamSwitching(URL &&val)
Definition MultipleSegmentBase.hh:85
MultipleSegmentBase & startNumber(unsigned int val)
Definition MultipleSegmentBase.hh:65
bool hasStartNumber() const
Definition MultipleSegmentBase.hh:62
MultipleSegmentBase(const MultipleSegmentBase &other)
MultipleSegmentBase & segmentTimeline(const std::nullopt_t &)
Definition MultipleSegmentBase.hh:76
bool hasEndNumber() const
Definition MultipleSegmentBase.hh:68
const std::optional< unsigned int > & duration() const
Definition MultipleSegmentBase.hh:56
MultipleSegmentBase & endNumber(unsigned int val)
Definition MultipleSegmentBase.hh:71
MultipleSegmentBase & startNumber(const std::nullopt_t &)
Definition MultipleSegmentBase.hh:64
MultipleSegmentBase(MultipleSegmentBase &&other)
bool operator==(const MultipleSegmentBase &other) const
MultipleSegmentBase & operator=(const MultipleSegmentBase &other)
const std::optional< unsigned int > & startNumber() const
Definition MultipleSegmentBase.hh:63
bool hasDuration() const
Definition MultipleSegmentBase.hh:55
unsigned long timeOffsetToSegmentNumber(unsigned long time_offset) const
bool hasBitstreamSwitching() const
Definition MultipleSegmentBase.hh:81
duration_type durationAsDurationType() const
bool hasSegmentTimeline() const
Definition MultipleSegmentBase.hh:74
MultipleSegmentBase & segmentTimeline(const SegmentTimeline &val)
Definition MultipleSegmentBase.hh:77
virtual ~MultipleSegmentBase()
Definition MultipleSegmentBase.hh:47
unsigned long segmentNumberToTime(unsigned long segment_number) const
SegmentBase::duration_type duration_type
Definition MultipleSegmentBase.hh:41
MultipleSegmentBase & endNumber(const std::nullopt_t &)
Definition MultipleSegmentBase.hh:70
MultipleSegmentBase & operator=(MultipleSegmentBase &&other)
MultipleSegmentBase & bitstreamSwitching(const URL &val)
Definition MultipleSegmentBase.hh:84
const std::optional< unsigned int > & endNumber() const
Definition MultipleSegmentBase.hh:69
MultipleSegmentBase & bitstreamSwitching(const std::nullopt_t &)
Definition MultipleSegmentBase.hh:83
MultipleSegmentBase & duration(const std::nullopt_t &)
Definition MultipleSegmentBase.hh:57
duration_type segmentNumberToDurationType(unsigned long segment_number) const
unsigned long durationTypeToSegmentNumber(const duration_type &offset) const
std::chrono::microseconds duration_type
Definition SegmentBase.hh:43
Definition SegmentTimeline.hh:39
#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