libmpd++
DASH MPD parsing and manipulation library
 
Loading...
Searching...
No Matches
com::bbc::libmpdpp::Period Class Reference

#include <libmpd++/Period.hh>

Public Types

using time_type = std::chrono::system_clock::time_point
 Date-time type used in this class.
 
using duration_type = std::chrono::microseconds
 Time duration type used in this class.
 

Public Member Functions

 Period ()
 
 Period (const Period &to_copy)
 
 Period (Period &&to_move)
 
virtual ~Period ()
 
Periodoperator= (const Period &to_copy)
 
Periodoperator= (Period &&to_move)
 
bool operator== (const Period &to_compare) const
 
bool hasId () const
 
const std::optional< std::string > & id () const
 
Periodid (const std::nullopt_t &)
 
Periodid (const std::string &id)
 
Periodid (std::string &&id)
 
Periodid (const std::optional< std::string > &id)
 
Periodid (std::optional< std::string > &&id)
 
bool hasStart () const
 
const std::optional< duration_type > & start () const
 
Periodstart (const std::nullopt_t &)
 
Periodstart (const duration_type &start)
 
Periodstart (const std::optional< duration_type > &start)
 
bool hasDuration () const
 
const std::optional< duration_type > & duration () const
 
Periodduration (const std::nullopt_t &)
 
Periodduration (const duration_type &durn)
 
Periodduration (const std::optional< duration_type > &durn)
 
bool bitstreamSwitching () const
 
PeriodbitstreamSwitching (bool bitstream_switching)
 
const std::list< BaseURL > & baseURLs () const
 
std::list< BaseURL >::const_iterator baseURLsBegin () const
 
std::list< BaseURL >::const_iterator baseURLsEnd () const
 
std::list< BaseURL >::iterator baseURLsBegin ()
 
std::list< BaseURL >::iterator baseURLsEnd ()
 
PeriodbaseURLAdd (const BaseURL &base_url)
 
PeriodbaseURLAdd (BaseURL &&base_url)
 
PeriodbaseURLRemove (const BaseURL &base_url)
 
PeriodbaseURLRemove (const std::list< BaseURL >::const_iterator &)
 
PeriodbaseURLRemove (const std::list< BaseURL >::iterator &)
 
std::list< BaseURLgetBaseURLs () const
 
bool hasSegmentBase () const
 
const std::optional< SegmentBase > & segmentBase () const
 
PeriodsegmentBase (const std::nullopt_t &)
 
PeriodsegmentBase (const SegmentBase &seg_base)
 
PeriodsegmentBase (SegmentBase &&seg_base)
 
PeriodsegmentBase (const std::optional< SegmentBase > &seg_base)
 
PeriodsegmentBase (std::optional< SegmentBase > &&seg_base)
 
bool hasSegmentList () const
 
const std::optional< SegmentList > & segmentList () const
 
PeriodsegmentList (const std::nullopt_t &)
 
PeriodsegmentList (const SegmentList &seg_list)
 
PeriodsegmentList (SegmentList &&seg_list)
 
PeriodsegmentList (const std::optional< SegmentList > &seg_list)
 
PeriodsegmentList (std::optional< SegmentList > &&seg_list)
 
bool hasSegmentTemplate () const
 
const std::optional< SegmentTemplate > & segmentTemplate () const
 
PeriodsegmentTemplate (const std::nullopt_t &)
 
PeriodsegmentTemplate (const SegmentTemplate &seg_template)
 
PeriodsegmentTemplate (SegmentTemplate &&seg_template)
 
PeriodsegmentTemplate (const std::optional< SegmentTemplate > &seg_template)
 
PeriodsegmentTemplate (std::optional< SegmentTemplate > &&seg_template)
 
bool hasAssetIdentifier () const
 
const std::optional< Descriptor > & assetIdentifier () const
 
PeriodassetIdentifier (const std::nullopt_t &)
 
PeriodassetIdentifier (const Descriptor &asset_id)
 
PeriodassetIdentifier (Descriptor &&asset_id)
 
PeriodassetIdentifier (const std::optional< Descriptor > &asset_id)
 
PeriodassetIdentifier (std::optional< Descriptor > &&asset_id)
 
const std::list< EventStream > & eventStreams () const
 
std::list< EventStream >::const_iterator eventStreamsBegin () const
 
std::list< EventStream >::const_iterator eventStreamsEnd () const
 
std::list< EventStream >::iterator eventStreamsBegin ()
 
std::list< EventStream >::iterator eventStreamsEnd ()
 
PeriodeventStreamAdd (const EventStream &event_stream)
 
PeriodeventStreamAdd (EventStream &&event_stream)
 
PeriodeventStreamRemove (const EventStream &event_stream)
 
PeriodeventStreamRemove (const std::list< EventStream >::const_iterator &)
 
PeriodeventStreamRemove (const std::list< EventStream >::iterator &)
 
const std::list< ServiceDescription > & serviceDescriptions () const
 
std::list< ServiceDescription >::const_iterator serviceDescriptionsBegin () const
 
std::list< ServiceDescription >::const_iterator serviceDescriptionsEnd () const
 
std::list< ServiceDescription >::iterator serviceDescriptionsBegin ()
 
std::list< ServiceDescription >::iterator serviceDescriptionsEnd ()
 
PeriodserviceDescriptionAdd (const ServiceDescription &service_desc)
 
PeriodserviceDescriptionAdd (ServiceDescription &&service_desc)
 
PeriodserviceDescriptionRemove (const ServiceDescription &service_desc)
 
PeriodserviceDescriptionRemove (const std::list< ServiceDescription >::const_iterator &)
 
PeriodserviceDescriptionRemove (const std::list< ServiceDescription >::iterator &)
 
const std::list< ContentProtection > & contentProtections () const
 
std::list< ContentProtection >::const_iterator contentProtectionsBegin () const
 
std::list< ContentProtection >::const_iterator contentProtectionsEnd () const
 
std::list< ContentProtection >::iterator contentProtectionsBegin ()
 
std::list< ContentProtection >::iterator contentProtectionsEnd ()
 
PeriodcontentProtectionAdd (const ContentProtection &content_prot)
 
PeriodcontentProtectionAdd (ContentProtection &&content_prot)
 
PeriodcontentProtectionRemove (const ContentProtection &content_prot)
 
PeriodcontentProtectionRemove (const std::list< ContentProtection >::const_iterator &)
 
PeriodcontentProtectionRemove (const std::list< ContentProtection >::iterator &)
 
const std::list< AdaptationSet > & adaptationSets () const
 
std::list< AdaptationSet >::const_iterator adaptationSetsBegin () const
 
std::list< AdaptationSet >::const_iterator adaptationSetsEnd () const
 
std::list< AdaptationSet >::iterator adaptationSetsBegin ()
 
std::list< AdaptationSet >::iterator adaptationSetsEnd ()
 
PeriodadaptationSetAdd (const AdaptationSet &adapt_set)
 
PeriodadaptationSetAdd (AdaptationSet &&adapt_set)
 
PeriodadaptationSetRemove (const AdaptationSet &adapt_set)
 
PeriodadaptationSetRemove (const std::list< AdaptationSet >::const_iterator &)
 
PeriodadaptationSetRemove (const std::list< AdaptationSet >::iterator &)
 
const std::list< Subset > & subsets () const
 
std::list< Subset >::const_iterator subsetsBegin () const
 
std::list< Subset >::const_iterator subsetsEnd () const
 
std::list< Subset >::iterator subsetsBegin ()
 
std::list< Subset >::iterator subsetsEnd ()
 
PeriodsubsetAdd (const Subset &subset)
 
PeriodsubsetAdd (Subset &&subset)
 
PeriodsubsetRemove (const Subset &subset)
 
PeriodsubsetRemove (const std::list< Subset >::const_iterator &)
 
PeriodsubsetRemove (const std::list< Subset >::iterator &)
 
const std::list< Descriptor > & supplementalProperties () const
 
std::list< Descriptor >::const_iterator supplementalPropertiesBegin () const
 
std::list< Descriptor >::const_iterator supplementalPropertiesEnd () const
 
std::list< Descriptor >::iterator supplementalPropertiesBegin ()
 
std::list< Descriptor >::iterator supplementalPropertiesEnd ()
 
PeriodsupplementalPropertyAdd (const Descriptor &supp_prop)
 
PeriodsupplementalPropertyAdd (Descriptor &&supp_prop)
 
PeriodsupplementalPropertyRemove (const Descriptor &supp_prop)
 
PeriodsupplementalPropertyRemove (const std::list< Descriptor >::const_iterator &)
 
PeriodsupplementalPropertyRemove (const std::list< Descriptor >::iterator &)
 
const std::list< AdaptationSet > & emptyAdaptationSets () const
 
std::list< AdaptationSet >::const_iterator emptyAdaptationSetsBegin () const
 
std::list< AdaptationSet >::const_iterator emptyAdaptationSetsEnd () const
 
std::list< AdaptationSet >::iterator emptyAdaptationSetsBegin ()
 
std::list< AdaptationSet >::iterator emptyAdaptationSetsEnd ()
 
PeriodemptyAdaptationSetAdd (const AdaptationSet &adapt_set)
 
PeriodemptyAdaptationSetAdd (AdaptationSet &&adapt_set)
 
PeriodemptyAdaptationSetRemove (const AdaptationSet &adapt_set)
 
PeriodemptyAdaptationSetRemove (const std::list< AdaptationSet >::const_iterator &)
 
PeriodemptyAdaptationSetRemove (const std::list< AdaptationSet >::iterator &)
 
const std::list< Label > & groupLabels () const
 
std::list< Label >::const_iterator groupLabelsBegin () const
 
std::list< Label >::const_iterator groupLabelsEnd () const
 
std::list< Label >::iterator groupLabelsBegin ()
 
std::list< Label >::iterator groupLabelsEnd ()
 
PeriodgroupLabelAdd (const Label &label)
 
PeriodgroupLabelAdd (Label &&label)
 
PeriodgroupLabelRemove (const Label &label)
 
PeriodgroupLabelRemove (const std::list< Label >::const_iterator &)
 
PeriodgroupLabelRemove (const std::list< Label >::iterator &)
 
const std::list< Preselection > & preselections () const
 
std::list< Preselection >::const_iterator preselectionsBegin () const
 
std::list< Preselection >::const_iterator preselectionsEnd () const
 
std::list< Preselection >::iterator preselectionsBegin ()
 
std::list< Preselection >::iterator preselectionsEnd ()
 
PeriodpreselectionAdd (const Preselection &preselection)
 
PeriodpreselectionAdd (Preselection &&preselection)
 
PeriodpreselectionRemove (const Preselection &preselection)
 
PeriodpreselectionRemove (const std::list< Preselection >::const_iterator &)
 
PeriodpreselectionRemove (const std::list< Preselection >::iterator &)
 
void selectAllRepresentations ()
 
void deselectAllRepresentations ()
 
std::unordered_set< const Representation * > selectedRepresentations () const
 
std::list< SegmentAvailabilityselectedSegmentAvailability (const time_type &query_time=std::chrono::system_clock::now()) const
 
std::list< SegmentAvailabilityselectedInitializationSegments () const
 
PeriodsetMPD (MPD *mpd)
 
const std::optional< duration_type > & calcStart () const
 
const std::optional< duration_type > & calcDuration () const
 
MPDgetMPD ()
 
const MPDgetMPD () const
 

Detailed Description

Period element class

This is the container class for Period elements from an MPD as described in ISO 23009-1:2022 Clause 5.3.2.3.

Member Typedef Documentation

◆ duration_type

using com::bbc::libmpdpp::Period::duration_type = std::chrono::microseconds

Time duration type used in this class.

◆ time_type

using com::bbc::libmpdpp::Period::time_type = std::chrono::system_clock::time_point

Date-time type used in this class.

Constructor & Destructor Documentation

◆ Period() [1/3]

com::bbc::libmpdpp::Period::Period ( )

Default constructor

Create an empty Period that can be added to an MPD.

◆ Period() [2/3]

com::bbc::libmpdpp::Period::Period ( const Period & to_copy)

Copy constructor

Copy the values from the to_copy Period into a new Period object.

Parameters
to_copyThe Period to copy into the new Period.

◆ Period() [3/3]

com::bbc::libmpdpp::Period::Period ( Period && to_move)

Move constructor

Move the values from the to_move Period into a new Period object.

Parameters
to_moveThe Period to move the values and other resources from to create the new Period.

◆ ~Period()

virtual com::bbc::libmpdpp::Period::~Period ( )
virtual

Destructor

Member Function Documentation

◆ adaptationSetAdd() [1/2]

Period & com::bbc::libmpdpp::Period::adaptationSetAdd ( AdaptationSet && adapt_set)

◆ adaptationSetAdd() [2/2]

Period & com::bbc::libmpdpp::Period::adaptationSetAdd ( const AdaptationSet & adapt_set)

◆ adaptationSetRemove() [1/3]

Period & com::bbc::libmpdpp::Period::adaptationSetRemove ( const AdaptationSet & adapt_set)

◆ adaptationSetRemove() [2/3]

Period & com::bbc::libmpdpp::Period::adaptationSetRemove ( const std::list< AdaptationSet >::const_iterator & )

◆ adaptationSetRemove() [3/3]

Period & com::bbc::libmpdpp::Period::adaptationSetRemove ( const std::list< AdaptationSet >::iterator & )

◆ adaptationSets()

const std::list< AdaptationSet > & com::bbc::libmpdpp::Period::adaptationSets ( ) const
inline

◆ adaptationSetsBegin() [1/2]

std::list< AdaptationSet >::iterator com::bbc::libmpdpp::Period::adaptationSetsBegin ( )
inline

◆ adaptationSetsBegin() [2/2]

std::list< AdaptationSet >::const_iterator com::bbc::libmpdpp::Period::adaptationSetsBegin ( ) const
inline

◆ adaptationSetsEnd() [1/2]

std::list< AdaptationSet >::iterator com::bbc::libmpdpp::Period::adaptationSetsEnd ( )
inline

◆ adaptationSetsEnd() [2/2]

std::list< AdaptationSet >::const_iterator com::bbc::libmpdpp::Period::adaptationSetsEnd ( ) const
inline

◆ assetIdentifier() [1/6]

const std::optional< Descriptor > & com::bbc::libmpdpp::Period::assetIdentifier ( ) const
inline

◆ assetIdentifier() [2/6]

Period & com::bbc::libmpdpp::Period::assetIdentifier ( const Descriptor & asset_id)
inline

◆ assetIdentifier() [3/6]

Period & com::bbc::libmpdpp::Period::assetIdentifier ( const std::nullopt_t & )
inline

◆ assetIdentifier() [4/6]

Period & com::bbc::libmpdpp::Period::assetIdentifier ( const std::optional< Descriptor > & asset_id)
inline

◆ assetIdentifier() [5/6]

Period & com::bbc::libmpdpp::Period::assetIdentifier ( Descriptor && asset_id)
inline

◆ assetIdentifier() [6/6]

Period & com::bbc::libmpdpp::Period::assetIdentifier ( std::optional< Descriptor > && asset_id)
inline

◆ baseURLAdd() [1/2]

Period & com::bbc::libmpdpp::Period::baseURLAdd ( BaseURL && base_url)

◆ baseURLAdd() [2/2]

Period & com::bbc::libmpdpp::Period::baseURLAdd ( const BaseURL & base_url)

◆ baseURLRemove() [1/3]

Period & com::bbc::libmpdpp::Period::baseURLRemove ( const BaseURL & base_url)

◆ baseURLRemove() [2/3]

Period & com::bbc::libmpdpp::Period::baseURLRemove ( const std::list< BaseURL >::const_iterator & )

◆ baseURLRemove() [3/3]

Period & com::bbc::libmpdpp::Period::baseURLRemove ( const std::list< BaseURL >::iterator & )

◆ baseURLs()

const std::list< BaseURL > & com::bbc::libmpdpp::Period::baseURLs ( ) const
inline

◆ baseURLsBegin() [1/2]

std::list< BaseURL >::iterator com::bbc::libmpdpp::Period::baseURLsBegin ( )
inline

◆ baseURLsBegin() [2/2]

std::list< BaseURL >::const_iterator com::bbc::libmpdpp::Period::baseURLsBegin ( ) const
inline

◆ baseURLsEnd() [1/2]

std::list< BaseURL >::iterator com::bbc::libmpdpp::Period::baseURLsEnd ( )
inline

◆ baseURLsEnd() [2/2]

std::list< BaseURL >::const_iterator com::bbc::libmpdpp::Period::baseURLsEnd ( ) const
inline

◆ bitstreamSwitching() [1/2]

bool com::bbc::libmpdpp::Period::bitstreamSwitching ( ) const
inline

◆ bitstreamSwitching() [2/2]

Period & com::bbc::libmpdpp::Period::bitstreamSwitching ( bool bitstream_switching)
inline

◆ calcDuration()

const std::optional< duration_type > & com::bbc::libmpdpp::Period::calcDuration ( ) const

Calculate the duration of this Period

If the @duration attribute is set then the calculated duration time will be the same as @duration. If not set then Periods of the same MPD from before and after this Period are checked to see if the duration of this period can be derived from their calculated start times and calculated durations.

If the duration cannot be assertained then a std::nullopt will be returned.

Returns
The duration of this Period or std::nullopt if the duration could not be assertained.

◆ calcStart()

const std::optional< duration_type > & com::bbc::libmpdpp::Period::calcStart ( ) const

Calculate the start time of this Period

If the @start attribute is set then the calculated start time will be the same as @start. If not set then Periods of the same MPD from before and after this Period are checked to see if the start time of this period can be derived from their calculated start times and calculated durations.

If the start time cannot be assertained then a std::nullopt will be returned.

Returns
The start offset of this Period or std::nullopt if the start offset could not be assertained.

◆ contentProtectionAdd() [1/2]

Period & com::bbc::libmpdpp::Period::contentProtectionAdd ( const ContentProtection & content_prot)

◆ contentProtectionAdd() [2/2]

Period & com::bbc::libmpdpp::Period::contentProtectionAdd ( ContentProtection && content_prot)

◆ contentProtectionRemove() [1/3]

Period & com::bbc::libmpdpp::Period::contentProtectionRemove ( const ContentProtection & content_prot)

◆ contentProtectionRemove() [2/3]

Period & com::bbc::libmpdpp::Period::contentProtectionRemove ( const std::list< ContentProtection >::const_iterator & )

◆ contentProtectionRemove() [3/3]

Period & com::bbc::libmpdpp::Period::contentProtectionRemove ( const std::list< ContentProtection >::iterator & )

◆ contentProtections()

const std::list< ContentProtection > & com::bbc::libmpdpp::Period::contentProtections ( ) const
inline

◆ contentProtectionsBegin() [1/2]

std::list< ContentProtection >::iterator com::bbc::libmpdpp::Period::contentProtectionsBegin ( )
inline

◆ contentProtectionsBegin() [2/2]

std::list< ContentProtection >::const_iterator com::bbc::libmpdpp::Period::contentProtectionsBegin ( ) const
inline

◆ contentProtectionsEnd() [1/2]

std::list< ContentProtection >::iterator com::bbc::libmpdpp::Period::contentProtectionsEnd ( )
inline

◆ contentProtectionsEnd() [2/2]

std::list< ContentProtection >::const_iterator com::bbc::libmpdpp::Period::contentProtectionsEnd ( ) const
inline

◆ deselectAllRepresentations()

void com::bbc::libmpdpp::Period::deselectAllRepresentations ( )

Deselect all Represtations

This will remove every Representation in every child AdaptationSet from the set of selected Representations.

◆ duration() [1/4]

const std::optional< duration_type > & com::bbc::libmpdpp::Period::duration ( ) const
inline

◆ duration() [2/4]

Period & com::bbc::libmpdpp::Period::duration ( const duration_type & durn)
inline

◆ duration() [3/4]

Period & com::bbc::libmpdpp::Period::duration ( const std::nullopt_t & )
inline

◆ duration() [4/4]

Period & com::bbc::libmpdpp::Period::duration ( const std::optional< duration_type > & durn)
inline

◆ emptyAdaptationSetAdd() [1/2]

Period & com::bbc::libmpdpp::Period::emptyAdaptationSetAdd ( AdaptationSet && adapt_set)

◆ emptyAdaptationSetAdd() [2/2]

Period & com::bbc::libmpdpp::Period::emptyAdaptationSetAdd ( const AdaptationSet & adapt_set)

◆ emptyAdaptationSetRemove() [1/3]

Period & com::bbc::libmpdpp::Period::emptyAdaptationSetRemove ( const AdaptationSet & adapt_set)

◆ emptyAdaptationSetRemove() [2/3]

Period & com::bbc::libmpdpp::Period::emptyAdaptationSetRemove ( const std::list< AdaptationSet >::const_iterator & )

◆ emptyAdaptationSetRemove() [3/3]

Period & com::bbc::libmpdpp::Period::emptyAdaptationSetRemove ( const std::list< AdaptationSet >::iterator & )

◆ emptyAdaptationSets()

const std::list< AdaptationSet > & com::bbc::libmpdpp::Period::emptyAdaptationSets ( ) const
inline

◆ emptyAdaptationSetsBegin() [1/2]

std::list< AdaptationSet >::iterator com::bbc::libmpdpp::Period::emptyAdaptationSetsBegin ( )
inline

◆ emptyAdaptationSetsBegin() [2/2]

std::list< AdaptationSet >::const_iterator com::bbc::libmpdpp::Period::emptyAdaptationSetsBegin ( ) const
inline

◆ emptyAdaptationSetsEnd() [1/2]

std::list< AdaptationSet >::iterator com::bbc::libmpdpp::Period::emptyAdaptationSetsEnd ( )
inline

◆ emptyAdaptationSetsEnd() [2/2]

std::list< AdaptationSet >::const_iterator com::bbc::libmpdpp::Period::emptyAdaptationSetsEnd ( ) const
inline

◆ eventStreamAdd() [1/2]

Period & com::bbc::libmpdpp::Period::eventStreamAdd ( const EventStream & event_stream)

◆ eventStreamAdd() [2/2]

Period & com::bbc::libmpdpp::Period::eventStreamAdd ( EventStream && event_stream)

◆ eventStreamRemove() [1/3]

Period & com::bbc::libmpdpp::Period::eventStreamRemove ( const EventStream & event_stream)

◆ eventStreamRemove() [2/3]

Period & com::bbc::libmpdpp::Period::eventStreamRemove ( const std::list< EventStream >::const_iterator & )

◆ eventStreamRemove() [3/3]

Period & com::bbc::libmpdpp::Period::eventStreamRemove ( const std::list< EventStream >::iterator & )

◆ eventStreams()

const std::list< EventStream > & com::bbc::libmpdpp::Period::eventStreams ( ) const
inline

◆ eventStreamsBegin() [1/2]

std::list< EventStream >::iterator com::bbc::libmpdpp::Period::eventStreamsBegin ( )
inline

◆ eventStreamsBegin() [2/2]

std::list< EventStream >::const_iterator com::bbc::libmpdpp::Period::eventStreamsBegin ( ) const
inline

◆ eventStreamsEnd() [1/2]

std::list< EventStream >::iterator com::bbc::libmpdpp::Period::eventStreamsEnd ( )
inline

◆ eventStreamsEnd() [2/2]

std::list< EventStream >::const_iterator com::bbc::libmpdpp::Period::eventStreamsEnd ( ) const
inline

◆ getBaseURLs()

std::list< BaseURL > com::bbc::libmpdpp::Period::getBaseURLs ( ) const

Get the combined BaseURLs

This will get the list of BaseURL elements, which are children of the Period, with their URLs resolved using the MPD::getBaseURLs() URLs, i.e. any relative BaseURL entries will be resolved using the getMPD()->getBaseURLs() list if available.

If there are no BaseURLs set, then the return value is equivalent to getMPD()->getBaseURLs(). If the Period has not been added to an MPD then an empty list will be returned.

Returns
The list of resolved BaseURL values applicable at this Period level.

◆ getMPD() [1/2]

MPD * com::bbc::libmpdpp::Period::getMPD ( )
inline

Get the attached MPD

Get the MPD that this Period is part of.

Returns
A pointer to the MPD this period is part of or nullptr if the Period has not been added to an MPD.

◆ getMPD() [2/2]

const MPD * com::bbc::libmpdpp::Period::getMPD ( ) const
inline

Get the attached MPD

Get the MPD that this Period is part of.

Returns
A pointer to the MPD this period is part of or nullptr if the Period has not been added to an MPD.

◆ groupLabelAdd() [1/2]

Period & com::bbc::libmpdpp::Period::groupLabelAdd ( const Label & label)

◆ groupLabelAdd() [2/2]

Period & com::bbc::libmpdpp::Period::groupLabelAdd ( Label && label)

◆ groupLabelRemove() [1/3]

Period & com::bbc::libmpdpp::Period::groupLabelRemove ( const Label & label)

◆ groupLabelRemove() [2/3]

Period & com::bbc::libmpdpp::Period::groupLabelRemove ( const std::list< Label >::const_iterator & )

◆ groupLabelRemove() [3/3]

Period & com::bbc::libmpdpp::Period::groupLabelRemove ( const std::list< Label >::iterator & )

◆ groupLabels()

const std::list< Label > & com::bbc::libmpdpp::Period::groupLabels ( ) const
inline

◆ groupLabelsBegin() [1/2]

std::list< Label >::iterator com::bbc::libmpdpp::Period::groupLabelsBegin ( )
inline

◆ groupLabelsBegin() [2/2]

std::list< Label >::const_iterator com::bbc::libmpdpp::Period::groupLabelsBegin ( ) const
inline

◆ groupLabelsEnd() [1/2]

std::list< Label >::iterator com::bbc::libmpdpp::Period::groupLabelsEnd ( )
inline

◆ groupLabelsEnd() [2/2]

std::list< Label >::const_iterator com::bbc::libmpdpp::Period::groupLabelsEnd ( ) const
inline

◆ hasAssetIdentifier()

bool com::bbc::libmpdpp::Period::hasAssetIdentifier ( ) const
inline

◆ hasDuration()

bool com::bbc::libmpdpp::Period::hasDuration ( ) const
inline

◆ hasId()

bool com::bbc::libmpdpp::Period::hasId ( ) const
inline

◆ hasSegmentBase()

bool com::bbc::libmpdpp::Period::hasSegmentBase ( ) const
inline

◆ hasSegmentList()

bool com::bbc::libmpdpp::Period::hasSegmentList ( ) const
inline

◆ hasSegmentTemplate()

bool com::bbc::libmpdpp::Period::hasSegmentTemplate ( ) const
inline

◆ hasStart()

bool com::bbc::libmpdpp::Period::hasStart ( ) const
inline

◆ id() [1/6]

const std::optional< std::string > & com::bbc::libmpdpp::Period::id ( ) const
inline

◆ id() [2/6]

Period & com::bbc::libmpdpp::Period::id ( const std::nullopt_t & )
inline

◆ id() [3/6]

Period & com::bbc::libmpdpp::Period::id ( const std::optional< std::string > & id)
inline

◆ id() [4/6]

Period & com::bbc::libmpdpp::Period::id ( const std::string & id)
inline

◆ id() [5/6]

Period & com::bbc::libmpdpp::Period::id ( std::optional< std::string > && id)
inline

◆ id() [6/6]

Period & com::bbc::libmpdpp::Period::id ( std::string && id)
inline

◆ operator=() [1/2]

Period & com::bbc::libmpdpp::Period::operator= ( const Period & to_copy)

Copy operator

Copy the values from the to_copy Period into this Period object.

Parameters
to_copyThe Period to copy into this Period.
Returns
This Period.

◆ operator=() [2/2]

Period & com::bbc::libmpdpp::Period::operator= ( Period && to_move)

Move operator

Move the values and resources from the to_move Period into this Period object.

Parameters
to_moveThe Period to move the values and other resources from to create the new Period.
Returns
This Period.

◆ operator==()

bool com::bbc::libmpdpp::Period::operator== ( const Period & to_compare) const

Equality operator

Check if this Period holds the same values as to_compare.

Parameters
to_compareThe other Period to compare to this one.
Returns
true If this Period and to_compare conmtain the same values.

◆ preselectionAdd() [1/2]

Period & com::bbc::libmpdpp::Period::preselectionAdd ( const Preselection & preselection)

◆ preselectionAdd() [2/2]

Period & com::bbc::libmpdpp::Period::preselectionAdd ( Preselection && preselection)

◆ preselectionRemove() [1/3]

Period & com::bbc::libmpdpp::Period::preselectionRemove ( const Preselection & preselection)

◆ preselectionRemove() [2/3]

Period & com::bbc::libmpdpp::Period::preselectionRemove ( const std::list< Preselection >::const_iterator & )

◆ preselectionRemove() [3/3]

Period & com::bbc::libmpdpp::Period::preselectionRemove ( const std::list< Preselection >::iterator & )

◆ preselections()

const std::list< Preselection > & com::bbc::libmpdpp::Period::preselections ( ) const
inline

◆ preselectionsBegin() [1/2]

std::list< Preselection >::iterator com::bbc::libmpdpp::Period::preselectionsBegin ( )
inline

◆ preselectionsBegin() [2/2]

std::list< Preselection >::const_iterator com::bbc::libmpdpp::Period::preselectionsBegin ( ) const
inline

◆ preselectionsEnd() [1/2]

std::list< Preselection >::iterator com::bbc::libmpdpp::Period::preselectionsEnd ( )
inline

◆ preselectionsEnd() [2/2]

std::list< Preselection >::const_iterator com::bbc::libmpdpp::Period::preselectionsEnd ( ) const
inline

◆ segmentBase() [1/6]

const std::optional< SegmentBase > & com::bbc::libmpdpp::Period::segmentBase ( ) const
inline

◆ segmentBase() [2/6]

Period & com::bbc::libmpdpp::Period::segmentBase ( const SegmentBase & seg_base)
inline

◆ segmentBase() [3/6]

Period & com::bbc::libmpdpp::Period::segmentBase ( const std::nullopt_t & )
inline

◆ segmentBase() [4/6]

Period & com::bbc::libmpdpp::Period::segmentBase ( const std::optional< SegmentBase > & seg_base)
inline

◆ segmentBase() [5/6]

Period & com::bbc::libmpdpp::Period::segmentBase ( SegmentBase && seg_base)
inline

◆ segmentBase() [6/6]

Period & com::bbc::libmpdpp::Period::segmentBase ( std::optional< SegmentBase > && seg_base)
inline

◆ segmentList() [1/6]

const std::optional< SegmentList > & com::bbc::libmpdpp::Period::segmentList ( ) const
inline

◆ segmentList() [2/6]

Period & com::bbc::libmpdpp::Period::segmentList ( const SegmentList & seg_list)
inline

◆ segmentList() [3/6]

Period & com::bbc::libmpdpp::Period::segmentList ( const std::nullopt_t & )
inline

◆ segmentList() [4/6]

Period & com::bbc::libmpdpp::Period::segmentList ( const std::optional< SegmentList > & seg_list)
inline

◆ segmentList() [5/6]

Period & com::bbc::libmpdpp::Period::segmentList ( SegmentList && seg_list)
inline

◆ segmentList() [6/6]

Period & com::bbc::libmpdpp::Period::segmentList ( std::optional< SegmentList > && seg_list)
inline

◆ segmentTemplate() [1/6]

const std::optional< SegmentTemplate > & com::bbc::libmpdpp::Period::segmentTemplate ( ) const
inline

◆ segmentTemplate() [2/6]

Period & com::bbc::libmpdpp::Period::segmentTemplate ( const SegmentTemplate & seg_template)
inline

◆ segmentTemplate() [3/6]

Period & com::bbc::libmpdpp::Period::segmentTemplate ( const std::nullopt_t & )
inline

◆ segmentTemplate() [4/6]

Period & com::bbc::libmpdpp::Period::segmentTemplate ( const std::optional< SegmentTemplate > & seg_template)
inline

◆ segmentTemplate() [5/6]

Period & com::bbc::libmpdpp::Period::segmentTemplate ( SegmentTemplate && seg_template)
inline

◆ segmentTemplate() [6/6]

Period & com::bbc::libmpdpp::Period::segmentTemplate ( std::optional< SegmentTemplate > && seg_template)
inline

◆ selectAllRepresentations()

void com::bbc::libmpdpp::Period::selectAllRepresentations ( )

Select all Representations

This will mark every Representation in every child AdaptationSet as selected.

◆ selectedInitializationSegments()

std::list< SegmentAvailability > com::bbc::libmpdpp::Period::selectedInitializationSegments ( ) const

Get the initialization segment availability

Gets the list of the initialization segment URLs from the selected Representations and their availability for the Period.

Returns
The list of unique initialization segment URLs and the availability times for those URLs.

◆ selectedRepresentations()

std::unordered_set< const Representation * > com::bbc::libmpdpp::Period::selectedRepresentations ( ) const

Get the list of all selected Representation objects

Returns
The list of all currently selected Representations of AdaptationSet children.

◆ selectedSegmentAvailability()

std::list< SegmentAvailability > com::bbc::libmpdpp::Period::selectedSegmentAvailability ( const time_type & query_time = std::chrono::system_clock::now()) const

Get the media segment availability

Gets the list of the segment URLs and their availability for the next segments available on or after query_time. If an empty list is returned then the query_time represents a time after the last segment is available in this Period.

Parameters
query_timeThe time to perform the query for, for live MPDs this is the wallclock time, for on-demand MPDs this is the stream offset assuming the stream starts from the epoch.
Returns
The list of the next available segments.

◆ serviceDescriptionAdd() [1/2]

Period & com::bbc::libmpdpp::Period::serviceDescriptionAdd ( const ServiceDescription & service_desc)

◆ serviceDescriptionAdd() [2/2]

Period & com::bbc::libmpdpp::Period::serviceDescriptionAdd ( ServiceDescription && service_desc)

◆ serviceDescriptionRemove() [1/3]

Period & com::bbc::libmpdpp::Period::serviceDescriptionRemove ( const ServiceDescription & service_desc)

◆ serviceDescriptionRemove() [2/3]

Period & com::bbc::libmpdpp::Period::serviceDescriptionRemove ( const std::list< ServiceDescription >::const_iterator & )

◆ serviceDescriptionRemove() [3/3]

Period & com::bbc::libmpdpp::Period::serviceDescriptionRemove ( const std::list< ServiceDescription >::iterator & )

◆ serviceDescriptions()

const std::list< ServiceDescription > & com::bbc::libmpdpp::Period::serviceDescriptions ( ) const
inline

◆ serviceDescriptionsBegin() [1/2]

std::list< ServiceDescription >::iterator com::bbc::libmpdpp::Period::serviceDescriptionsBegin ( )
inline

◆ serviceDescriptionsBegin() [2/2]

std::list< ServiceDescription >::const_iterator com::bbc::libmpdpp::Period::serviceDescriptionsBegin ( ) const
inline

◆ serviceDescriptionsEnd() [1/2]

std::list< ServiceDescription >::iterator com::bbc::libmpdpp::Period::serviceDescriptionsEnd ( )
inline

◆ serviceDescriptionsEnd() [2/2]

std::list< ServiceDescription >::const_iterator com::bbc::libmpdpp::Period::serviceDescriptionsEnd ( ) const
inline

◆ setMPD()

Period & com::bbc::libmpdpp::Period::setMPD ( MPD * mpd)
inline

Set the MPD this Period belongs to

This should only be called by the MPD object.

Parameters
mpdThe MPD pointer to attach this Period to. Use nullptr to detach the Period from the MPD.

◆ start() [1/4]

const std::optional< duration_type > & com::bbc::libmpdpp::Period::start ( ) const
inline

◆ start() [2/4]

Period & com::bbc::libmpdpp::Period::start ( const duration_type & start)
inline

◆ start() [3/4]

Period & com::bbc::libmpdpp::Period::start ( const std::nullopt_t & )
inline

◆ start() [4/4]

Period & com::bbc::libmpdpp::Period::start ( const std::optional< duration_type > & start)
inline

◆ subsetAdd() [1/2]

Period & com::bbc::libmpdpp::Period::subsetAdd ( const Subset & subset)

◆ subsetAdd() [2/2]

Period & com::bbc::libmpdpp::Period::subsetAdd ( Subset && subset)

◆ subsetRemove() [1/3]

Period & com::bbc::libmpdpp::Period::subsetRemove ( const std::list< Subset >::const_iterator & )

◆ subsetRemove() [2/3]

Period & com::bbc::libmpdpp::Period::subsetRemove ( const std::list< Subset >::iterator & )

◆ subsetRemove() [3/3]

Period & com::bbc::libmpdpp::Period::subsetRemove ( const Subset & subset)

◆ subsets()

const std::list< Subset > & com::bbc::libmpdpp::Period::subsets ( ) const
inline

◆ subsetsBegin() [1/2]

std::list< Subset >::iterator com::bbc::libmpdpp::Period::subsetsBegin ( )
inline

◆ subsetsBegin() [2/2]

std::list< Subset >::const_iterator com::bbc::libmpdpp::Period::subsetsBegin ( ) const
inline

◆ subsetsEnd() [1/2]

std::list< Subset >::iterator com::bbc::libmpdpp::Period::subsetsEnd ( )
inline

◆ subsetsEnd() [2/2]

std::list< Subset >::const_iterator com::bbc::libmpdpp::Period::subsetsEnd ( ) const
inline

◆ supplementalProperties()

const std::list< Descriptor > & com::bbc::libmpdpp::Period::supplementalProperties ( ) const
inline

◆ supplementalPropertiesBegin() [1/2]

std::list< Descriptor >::iterator com::bbc::libmpdpp::Period::supplementalPropertiesBegin ( )
inline

◆ supplementalPropertiesBegin() [2/2]

std::list< Descriptor >::const_iterator com::bbc::libmpdpp::Period::supplementalPropertiesBegin ( ) const
inline

◆ supplementalPropertiesEnd() [1/2]

std::list< Descriptor >::iterator com::bbc::libmpdpp::Period::supplementalPropertiesEnd ( )
inline

◆ supplementalPropertiesEnd() [2/2]

std::list< Descriptor >::const_iterator com::bbc::libmpdpp::Period::supplementalPropertiesEnd ( ) const
inline

◆ supplementalPropertyAdd() [1/2]

Period & com::bbc::libmpdpp::Period::supplementalPropertyAdd ( const Descriptor & supp_prop)

◆ supplementalPropertyAdd() [2/2]

Period & com::bbc::libmpdpp::Period::supplementalPropertyAdd ( Descriptor && supp_prop)

◆ supplementalPropertyRemove() [1/3]

Period & com::bbc::libmpdpp::Period::supplementalPropertyRemove ( const Descriptor & supp_prop)

◆ supplementalPropertyRemove() [2/3]

Period & com::bbc::libmpdpp::Period::supplementalPropertyRemove ( const std::list< Descriptor >::const_iterator & )

◆ supplementalPropertyRemove() [3/3]

Period & com::bbc::libmpdpp::Period::supplementalPropertyRemove ( const std::list< Descriptor >::iterator & )

The documentation for this class was generated from the following file: