#include <libmpd++/MPD.hh>
Public Types | |
enum | PresentationType { STATIC , DYNAMIC } |
using | time_type = std::chrono::system_clock::time_point |
Date-time type used in the MPD. | |
using | duration_type = std::chrono::microseconds |
Time duration type used in the MPD. | |
Public Member Functions | |
MPD ()=delete | |
MPD (std::istream &input_stream, const std::optional< URI > &mpd_location=std::nullopt) | |
MPD (const std::string &filename, const std::optional< URI > &mpd_location=std::nullopt) | |
MPD (const MPD &other) | |
MPD (MPD &&other) | |
virtual | ~MPD () |
MPD & | operator= (const MPD &other) |
MPD & | operator= (MPD &&other) |
bool | operator== (const MPD &other) const |
bool | hasSourceURL () const |
const std::optional< URI > & | sourceURL () const |
MPD & | sourceURL (const std::nullopt_t &) |
bool | isLive () const |
std::string | asXML (bool compact_form) const |
bool | hasId () const |
const std::string & | id (const std::string &default_val) const |
const std::optional< std::string > & | id () const |
MPD & | id (const std::string &val) |
MPD & | id (std::string &&val) |
MPD & | id (const std::nullopt_t &) |
const std::list< URI > & | profiles () const |
std::list< URI >::const_iterator | profilesBegin () const |
std::list< URI >::const_iterator | profilesEnd () const |
std::list< URI >::iterator | profilesBegin () |
std::list< URI >::iterator | profilesEnd () |
const URI & | profile (std::list< URI >::size_type idx) const |
bool | profilesContain (const URI &uri) const |
MPD & | profileAdd (const URI &uri) |
MPD & | profileAdd (URI &&uri) |
MPD & | profileRemove (const std::list< URI >::const_iterator &it) |
MPD & | profileRemove (const URI &uri) |
bool | isStaticPresentation () const |
bool | isDynamicPresentation () const |
PresentationType | presentationType () const |
MPD & | presentationType (PresentationType pres_type) |
bool | hasAvailabilityStartTime () const |
const time_type & | availabilityStartTime (const time_type &default_val) const |
const std::optional< time_type > & | availabilityStartTime () const |
MPD & | availabilityStartTime (const time_type &val) |
MPD & | availabilityStartTime (time_type &&val) |
MPD & | availabilityStartTime (const std::nullopt_t &) |
bool | hasAvailabilityEndTime () const |
const time_type & | availabilityEndTime (const time_type &default_val) const |
const std::optional< time_type > & | availabilityEndTime () const |
MPD & | availabilityEndTime (const time_type &val) |
MPD & | availabilityEndTime (time_type &&val) |
MPD & | availabilityEndTime (const std::nullopt_t &) |
bool | hasPublishTime () const |
const time_type & | publishTime (const time_type &default_val) const |
const std::optional< time_type > & | publishTime () const |
MPD & | publishTime (const time_type &val) |
MPD & | publishTime (time_type &&val) |
MPD & | publishTime (const std::nullopt_t &) |
bool | hasMediaPresentationDuration () const |
const duration_type & | mediaPresentationDuration (const duration_type &default_val) const |
const std::optional< duration_type > & | mediaPresentationDuration () const |
MPD & | mediaPresentationDuration (const duration_type &val) |
MPD & | mediaPresentationDuration (duration_type &&val) |
MPD & | mediaPresentationDuration (const std::nullopt_t &) |
bool | hasMinimumUpdatePeriod () const |
const duration_type & | minimumUpdatePeriod (const duration_type &default_val) const |
const std::optional< duration_type > & | minimumUpdatePeriod () const |
MPD & | minimumUpdatePeriod (const duration_type &val) |
MPD & | minimumUpdatePeriod (duration_type &&val) |
MPD & | minimumUpdatePeriod (const std::nullopt_t &) |
const duration_type & | minBufferTime () const |
MPD & | minBufferTime (const duration_type &val) |
MPD & | minBufferTime (duration_type &&val) |
bool | hasTimeShiftBufferDepth () const |
const duration_type & | timeShiftBufferDepth (const duration_type &default_val) const |
const std::optional< duration_type > & | timeShiftBufferDepth () const |
MPD & | timeShiftBufferDepth (const duration_type &val) |
MPD & | timeShiftBufferDepth (duration_type &&val) |
MPD & | timeShiftBufferDepth (const std::nullopt_t &) |
bool | hasSuggestedPresentationDelay () const |
const duration_type & | suggestedPresentationDelay (const duration_type &default_val) const |
const std::optional< duration_type > & | suggestedPresentationDelay () const |
MPD & | suggestedPresentationDelay (const duration_type &val) |
MPD & | suggestedPresentationDelay (duration_type &&val) |
MPD & | suggestedPresentationDelay (const std::nullopt_t &) |
bool | hasMaxSegmentDuration () const |
const duration_type & | maxSegmentDuration (const duration_type &default_val) const |
const std::optional< duration_type > & | maxSegmentDuration () const |
MPD & | maxSegmentDuration (const duration_type &val) |
MPD & | maxSegmentDuration (duration_type &&val) |
MPD & | maxSegmentDuration (const std::nullopt_t &) |
bool | hasMaxSubsegmentDuration () const |
const duration_type & | maxSubsegmentDuration (const duration_type &default_val) const |
const std::optional< duration_type > & | maxSubsegmentDuration () const |
MPD & | maxSubsegmentDuration (const duration_type &val) |
MPD & | maxSubsegmentDuration (duration_type &&val) |
MPD & | maxSubsegmentDuration (const std::nullopt_t &) |
const std::list< ProgramInformation > & | programInformations () const |
std::list< ProgramInformation >::const_iterator | programInformationsBegin () const |
std::list< ProgramInformation >::const_iterator | programInformationsEnd () const |
std::list< ProgramInformation >::iterator | programInformationsBegin () |
std::list< ProgramInformation >::iterator | programInformationsEnd () |
MPD & | programInformationAdd (const ProgramInformation &prog_info) |
MPD & | programInformationAdd (ProgramInformation &&prog_info) |
MPD & | programInformationRemove (const ProgramInformation &prog_info) |
MPD & | programInformationRemove (const std::list< ProgramInformation >::const_iterator &) |
MPD & | programInformationRemove (const std::list< ProgramInformation >::iterator &) |
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 () |
MPD & | baseURLAdd (const BaseURL &base_url) |
MPD & | baseURLAdd (BaseURL &&base_url) |
MPD & | baseURLRemove (const BaseURL &base_url) |
MPD & | baseURLRemove (const std::list< BaseURL >::const_iterator &) |
MPD & | baseURLRemove (const std::list< BaseURL >::iterator &) |
std::list< BaseURL > | getBaseURLs () const |
const std::list< URI > & | locations () const |
std::list< URI >::const_iterator | locationsBegin () const |
std::list< URI >::const_iterator | locationsEnd () const |
std::list< URI >::iterator | locationsBegin () |
std::list< URI >::iterator | locationsEnd () |
MPD & | locationAdd (const URI &location) |
MPD & | locationAdd (URI &&location) |
MPD & | locationRemove (const URI &location) |
MPD & | locationRemove (const std::list< URI >::const_iterator &) |
MPD & | locationRemove (const std::list< URI >::iterator &) |
const std::list< PatchLocation > & | patchLocations () const |
std::list< PatchLocation >::const_iterator | patchLocationsBegin () const |
std::list< PatchLocation >::const_iterator | patchLocationsEnd () const |
std::list< PatchLocation >::iterator | patchLocationsBegin () |
std::list< PatchLocation >::iterator | patchLocationsEnd () |
MPD & | patchLocationAdd (const PatchLocation &patch_location) |
MPD & | patchLocationAdd (PatchLocation &&patch_location) |
MPD & | patchLocationRemove (const PatchLocation &patch_location) |
MPD & | patchLocationRemove (const std::list< PatchLocation >::const_iterator &) |
MPD & | patchLocationRemove (const std::list< PatchLocation >::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 () |
MPD & | serviceDescriptionAdd (const ServiceDescription &service_desc) |
MPD & | serviceDescriptionAdd (ServiceDescription &&service_desc) |
MPD & | serviceDescriptionRemove (const ServiceDescription &service_desc) |
MPD & | serviceDescriptionRemove (const std::list< ServiceDescription >::const_iterator &) |
MPD & | serviceDescriptionRemove (const std::list< ServiceDescription >::iterator &) |
const std::list< InitializationSet > & | initializationSets () const |
std::list< InitializationSet >::const_iterator | initializationSetsBegin () const |
std::list< InitializationSet >::const_iterator | initializationSetsEnd () const |
std::list< InitializationSet >::iterator | initializationSetsBegin () |
std::list< InitializationSet >::iterator | initializationSetsEnd () |
MPD & | initializationSetAdd (const InitializationSet &init_set) |
MPD & | initializationSetAdd (InitializationSet &&init_set) |
MPD & | initializationSetRemove (const InitializationSet &init_set) |
MPD & | initializationSetRemove (const std::list< InitializationSet >::const_iterator &) |
MPD & | initializationSetRemove (const std::list< InitializationSet >::iterator &) |
const std::list< UIntVWithID > & | initializationGroups () const |
std::list< UIntVWithID >::const_iterator | initializationGroupsBegin () const |
std::list< UIntVWithID >::const_iterator | initializationGroupsEnd () const |
std::list< UIntVWithID >::iterator | initializationGroupsBegin () |
std::list< UIntVWithID >::iterator | initializationGroupsEnd () |
MPD & | initializationGroupAdd (const UIntVWithID &init_group) |
MPD & | initializationGroupAdd (UIntVWithID &&init_group) |
MPD & | initializationGroupRemove (const UIntVWithID &init_group) |
MPD & | initializationGroupRemove (const std::list< UIntVWithID >::const_iterator &) |
MPD & | initializationGroupRemove (const std::list< UIntVWithID >::iterator &) |
const std::list< UIntVWithID > & | initializationPresentations () const |
std::list< UIntVWithID >::const_iterator | initializationPresentationsBegin () const |
std::list< UIntVWithID >::const_iterator | initializationPresentationsEnd () const |
std::list< UIntVWithID >::iterator | initializationPresentationsBegin () |
std::list< UIntVWithID >::iterator | initializationPresentationsEnd () |
MPD & | initializationPresentationAdd (const UIntVWithID &init_pres) |
MPD & | initializationPresentationAdd (UIntVWithID &&init_pres) |
MPD & | initializationPresentationRemove (const UIntVWithID &init_pres) |
MPD & | initializationPresentationRemove (const std::list< UIntVWithID >::const_iterator &) |
MPD & | initializationPresentationRemove (const std::list< UIntVWithID >::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 () |
MPD & | contentProtectionAdd (const ContentProtection &content_protection) |
MPD & | contentProtectionAdd (ContentProtection &&content_protection) |
MPD & | contentProtectionRemove (const ContentProtection &content_protection) |
MPD & | contentProtectionRemove (const std::list< ContentProtection >::const_iterator &) |
MPD & | contentProtectionRemove (const std::list< ContentProtection >::iterator &) |
const std::list< Period > & | periods () const |
std::list< Period >::const_iterator | period (const std::string &id) const |
std::list< Period >::const_iterator | periodsBegin () const |
std::list< Period >::const_iterator | periodsEnd () const |
std::list< Period >::iterator | period (const std::string &id) |
std::list< Period >::iterator | periodsBegin () |
std::list< Period >::iterator | periodsEnd () |
MPD & | periodAdd (const Period &period) |
MPD & | periodAdd (Period &&period) |
MPD & | periodRemove (const Period &period) |
MPD & | periodRemove (const std::list< Period >::const_iterator &period_it) |
MPD & | periodRemove (const std::list< Period >::iterator &period_it) |
const std::list< Metrics > & | metrics () const |
std::list< Metrics >::const_iterator | metricsBegin () const |
std::list< Metrics >::const_iterator | metricsEnd () const |
std::list< Metrics >::iterator | metricsBegin () |
std::list< Metrics >::iterator | metricsEnd () |
MPD & | metricAdd (const Metrics &prog_info) |
MPD & | metricAdd (Metrics &&prog_info) |
MPD & | metricRemove (const Metrics &prog_info) |
MPD & | metricRemove (const std::list< Metrics >::const_iterator &) |
MPD & | metricRemove (const std::list< Metrics >::iterator &) |
const std::list< Descriptor > & | essentialProperties () const |
std::list< Descriptor >::const_iterator | essentialPropertiesBegin () const |
std::list< Descriptor >::const_iterator | essentialPropertiesEnd () const |
std::list< Descriptor >::iterator | essentialPropertiesBegin () |
std::list< Descriptor >::iterator | essentialPropertiesEnd () |
MPD & | essentialPropertyAdd (const Descriptor &prog_info) |
MPD & | essentialPropertyAdd (Descriptor &&prog_info) |
MPD & | essentialPropertyRemove (const Descriptor &prog_info) |
MPD & | essentialPropertyRemove (const std::list< Descriptor >::const_iterator &) |
MPD & | essentialPropertyRemove (const std::list< Descriptor >::iterator &) |
const std::list< Descriptor > & | supplementaryProperties () const |
std::list< Descriptor >::const_iterator | supplementaryPropertiesBegin () const |
std::list< Descriptor >::const_iterator | supplementaryPropertiesEnd () const |
std::list< Descriptor >::iterator | supplementaryPropertiesBegin () |
std::list< Descriptor >::iterator | supplementaryPropertiesEnd () |
MPD & | supplementaryPropertyAdd (const Descriptor &prog_info) |
MPD & | supplementaryPropertyAdd (Descriptor &&prog_info) |
MPD & | supplementaryPropertyRemove (const Descriptor &prog_info) |
MPD & | supplementaryPropertyRemove (const std::list< Descriptor >::const_iterator &) |
MPD & | supplementaryPropertyRemove (const std::list< Descriptor >::iterator &) |
const std::list< Descriptor > & | utcTimings () const |
std::list< Descriptor >::const_iterator | utcTimingsBegin () const |
std::list< Descriptor >::const_iterator | utcTimingsEnd () const |
std::list< Descriptor >::iterator | utcTimingsBegin () |
std::list< Descriptor >::iterator | utcTimingsEnd () |
MPD & | utcTimingAdd (const Descriptor &prog_info) |
MPD & | utcTimingAdd (Descriptor &&prog_info) |
MPD & | utcTimingRemove (const Descriptor &prog_info) |
MPD & | utcTimingRemove (const std::list< Descriptor >::const_iterator &) |
MPD & | utcTimingRemove (const std::list< Descriptor >::iterator &) |
void | synchroniseWithUTCTiming () const |
bool | hasLeapSecondInformation () const |
const LeapSecondInformation & | leapSecondInformation (const LeapSecondInformation &default_val) const |
const std::optional< LeapSecondInformation > & | leapSecondInformation () const |
MPD & | leapSecondInformation (const LeapSecondInformation &val) |
MPD & | leapSecondInformation (LeapSecondInformation &&val) |
MPD & | leapSecondInformation (const std::nullopt_t &) |
void | selectAllRepresentations () |
void | deselectAllRepresentations () |
std::unordered_set< const Representation * > | selectedRepresentations () const |
std::list< SegmentAvailability > | selectedSegmentAvailability (const time_type &query_time=std::chrono::system_clock::now()) const |
std::list< SegmentAvailability > | selectedInitializationSegments (const time_type &query_time=std::chrono::system_clock::now()) const |
MPD (const duration_type &minimum_buffer_time, const URI &profile, const Period &period, PresentationType presentation_type=STATIC) | |
MPD (const duration_type &minimum_buffer_time, const URI &profile, Period &&period, PresentationType presentation_type=STATIC) | |
MPD (const std::vector< char > &mpd_xml, const std::optional< URI > &mpd_location=std::nullopt) | |
MPD (const std::vector< unsigned char > &mpd_xml, const std::optional< URI > &mpd_location=std::nullopt) | |
MPD & | sourceURL (const URI &url) |
MPD & | sourceURL (URI &&url) |
MPD & | sourceURL (const std::optional< URI > &url) |
MPD & | sourceURL (std::optional< URI > &&url) |
Static Public Member Functions | |
static std::ostream & | compact (std::ostream &os) |
static std::ostream & | pretty (std::ostream &os) |
MPD class
This is the top level class for parsing, manipulating and outputting MPDs.
Use this class to parse an existing MPD file or in-memory block, or create a new MPD.
This class stores the attributes and elements as described by the MPDType in ISO 23009-1:2022 Clause 5.2.2.
using com::bbc::libmpdpp::MPD::duration_type = std::chrono::microseconds |
Time duration type used in the MPD.
using com::bbc::libmpdpp::MPD::time_type = std::chrono::system_clock::time_point |
Date-time type used in the MPD.
MPD @presentationType values enumeration
Enumerator | |
---|---|
STATIC | Presentation is static (unchanging, e.g. video on demand) |
DYNAMIC | Presentation is dynamic (can change during playback, e.g. live stream) |
|
delete |
Default constructor
This is removed to force mandatory parameters in the MPD to be filled in.
com::bbc::libmpdpp::MPD::MPD | ( | const duration_type & | minimum_buffer_time, |
const URI & | profile, | ||
const Period & | period, | ||
PresentationType | presentation_type = STATIC ) |
Value constructor
This creates a new MPD with the mandatory values from minimum_buffer_time
, profile
, period
and presentation_type
.
minimum_buffer_time | The duration for the minimum buffer time. |
profile | The profile URN. |
period | A Period for this MPD. |
presentation_type | The presentation type of the MPD, either MPD::STATIC or MPD::DYNAMIC. If not given then MPD::STATIC is used as the default. |
com::bbc::libmpdpp::MPD::MPD | ( | const duration_type & | minimum_buffer_time, |
const URI & | profile, | ||
Period && | period, | ||
PresentationType | presentation_type = STATIC ) |
Value constructor
This creates a new MPD with the mandatory values from minimum_buffer_time
, profile
, period
and presentation_type
.
minimum_buffer_time | The duration for the minimum buffer time. |
profile | The profile URN. |
period | A Period for this MPD. |
presentation_type | The presentation type of the MPD, either MPD::STATIC or MPD::DYNAMIC. If not given then MPD::STATIC is used as the default. |
com::bbc::libmpdpp::MPD::MPD | ( | std::istream & | input_stream, |
const std::optional< URI > & | mpd_location = std::nullopt ) |
com::bbc::libmpdpp::MPD::MPD | ( | const std::vector< char > & | mpd_xml, |
const std::optional< URI > & | mpd_location = std::nullopt ) |
com::bbc::libmpdpp::MPD::MPD | ( | const std::vector< unsigned char > & | mpd_xml, |
const std::optional< URI > & | mpd_location = std::nullopt ) |
com::bbc::libmpdpp::MPD::MPD | ( | const std::string & | filename, |
const std::optional< URI > & | mpd_location = std::nullopt ) |
com::bbc::libmpdpp::MPD::MPD | ( | const MPD & | other | ) |
Copy constructor
other | The MPD to make a new copy of. |
com::bbc::libmpdpp::MPD::MPD | ( | MPD && | other | ) |
|
virtual |
Destructor
std::string com::bbc::libmpdpp::MPD::asXML | ( | bool | compact_form | ) | const |
Get the MPD as an XML document string
If compact_form
is true
then the returned string will omit unnecessary white-space to make the returnned string more compact. If compact_form
is false
then a more human readable indented form of the XML is returned.
compact_form | true for a compact XML string, false for a more readable response. |
|
inline |
|
inline |
const time_type & com::bbc::libmpdpp::MPD::availabilityEndTime | ( | const time_type & | default_val | ) | const |
|
inline |
|
inline |
const time_type & com::bbc::libmpdpp::MPD::availabilityStartTime | ( | const time_type & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Stream manipulator to switch MPD XML streaming to compact form
This will make any subsequent MPD streamed to the std::ostream do so in a compact form.
For example the following are both equivalent:
os | The std::ostream that will be used to output the XML representation of the MPD to at a later time. |
os
. MPD & com::bbc::libmpdpp::MPD::contentProtectionAdd | ( | const ContentProtection & | content_protection | ) |
MPD & com::bbc::libmpdpp::MPD::contentProtectionAdd | ( | ContentProtection && | content_protection | ) |
MPD & com::bbc::libmpdpp::MPD::contentProtectionRemove | ( | const ContentProtection & | content_protection | ) |
MPD & com::bbc::libmpdpp::MPD::contentProtectionRemove | ( | const std::list< ContentProtection >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::contentProtectionRemove | ( | const std::list< ContentProtection >::iterator & | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void com::bbc::libmpdpp::MPD::deselectAllRepresentations | ( | ) |
Deselect all Represtations
This will remove every Representation in every AdaptationSet in every Period from the set of selected Representations.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
MPD & com::bbc::libmpdpp::MPD::essentialPropertyAdd | ( | const Descriptor & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::essentialPropertyAdd | ( | Descriptor && | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::essentialPropertyRemove | ( | const Descriptor & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::essentialPropertyRemove | ( | const std::list< Descriptor >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::essentialPropertyRemove | ( | const std::list< Descriptor >::iterator & | ) |
std::list< BaseURL > com::bbc::libmpdpp::MPD::getBaseURLs | ( | ) | const |
Get the combined BaseURLs
This will get the list of BaseURL elements, which are children of the MPD, with their URLs resolved using the MPD source URL as the base URL, i.e. relative BaseURL entries will be resolved using the sourceURL() value (as set by the controlling application).
If there are no BaseURLs set, then the return value is copied from the source URL. If a source URL has been set then a single entry is returned with the source URL in it, otherwise an empty list is returned.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Check if a source location URL has been set for this MPD
Check if the source URL has been set by either using the MPD::sourceURL setters or by providing the mpd_location
to an MPD::MPD() constructor.
true
if a source URL has been set, otherwise false
.
|
inline |
|
inline |
|
inline |
|
inline |
const std::string & com::bbc::libmpdpp::MPD::id | ( | const std::string & | default_val | ) | const |
|
inline |
|
inline |
MPD & com::bbc::libmpdpp::MPD::initializationGroupAdd | ( | const UIntVWithID & | init_group | ) |
MPD & com::bbc::libmpdpp::MPD::initializationGroupAdd | ( | UIntVWithID && | init_group | ) |
MPD & com::bbc::libmpdpp::MPD::initializationGroupRemove | ( | const std::list< UIntVWithID >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::initializationGroupRemove | ( | const std::list< UIntVWithID >::iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::initializationGroupRemove | ( | const UIntVWithID & | init_group | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
MPD & com::bbc::libmpdpp::MPD::initializationPresentationAdd | ( | const UIntVWithID & | init_pres | ) |
MPD & com::bbc::libmpdpp::MPD::initializationPresentationAdd | ( | UIntVWithID && | init_pres | ) |
MPD & com::bbc::libmpdpp::MPD::initializationPresentationRemove | ( | const std::list< UIntVWithID >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::initializationPresentationRemove | ( | const std::list< UIntVWithID >::iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::initializationPresentationRemove | ( | const UIntVWithID & | init_pres | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
MPD & com::bbc::libmpdpp::MPD::initializationSetAdd | ( | const InitializationSet & | init_set | ) |
MPD & com::bbc::libmpdpp::MPD::initializationSetAdd | ( | InitializationSet && | init_set | ) |
MPD & com::bbc::libmpdpp::MPD::initializationSetRemove | ( | const InitializationSet & | init_set | ) |
MPD & com::bbc::libmpdpp::MPD::initializationSetRemove | ( | const std::list< InitializationSet >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::initializationSetRemove | ( | const std::list< InitializationSet >::iterator & | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool com::bbc::libmpdpp::MPD::isLive | ( | ) | const |
|
inline |
|
inline |
const LeapSecondInformation & com::bbc::libmpdpp::MPD::leapSecondInformation | ( | const LeapSecondInformation & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
const duration_type & com::bbc::libmpdpp::MPD::maxSegmentDuration | ( | const duration_type & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
const duration_type & com::bbc::libmpdpp::MPD::maxSubsegmentDuration | ( | const duration_type & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
const duration_type & com::bbc::libmpdpp::MPD::mediaPresentationDuration | ( | const duration_type & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
const duration_type & com::bbc::libmpdpp::MPD::minimumUpdatePeriod | ( | const duration_type & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
bool com::bbc::libmpdpp::MPD::operator== | ( | const MPD & | other | ) | const |
MPD & com::bbc::libmpdpp::MPD::patchLocationAdd | ( | const PatchLocation & | patch_location | ) |
MPD & com::bbc::libmpdpp::MPD::patchLocationAdd | ( | PatchLocation && | patch_location | ) |
MPD & com::bbc::libmpdpp::MPD::patchLocationRemove | ( | const PatchLocation & | patch_location | ) |
MPD & com::bbc::libmpdpp::MPD::patchLocationRemove | ( | const std::list< PatchLocation >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::patchLocationRemove | ( | const std::list< PatchLocation >::iterator & | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::list< Period >::iterator com::bbc::libmpdpp::MPD::period | ( | const std::string & | id | ) |
std::list< Period >::const_iterator com::bbc::libmpdpp::MPD::period | ( | const std::string & | id | ) | const |
MPD & com::bbc::libmpdpp::MPD::periodRemove | ( | const std::list< Period >::const_iterator & | period_it | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Stream manipulator to switch MPD XML streaming to pretty form
This will make any subsequent MPD streamed to the std::ostream do so in a pretty form.
For example the following are both equivalent:
os | The std::ostream that will be used to output the XML representation of the MPD to at a later time. |
os
.
|
inline |
|
inline |
|
inline |
bool com::bbc::libmpdpp::MPD::profilesContain | ( | const URI & | uri | ) | const |
|
inline |
|
inline |
MPD & com::bbc::libmpdpp::MPD::programInformationAdd | ( | const ProgramInformation & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::programInformationAdd | ( | ProgramInformation && | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::programInformationRemove | ( | const ProgramInformation & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::programInformationRemove | ( | const std::list< ProgramInformation >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::programInformationRemove | ( | const std::list< ProgramInformation >::iterator & | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void com::bbc::libmpdpp::MPD::selectAllRepresentations | ( | ) |
Select all Representations
This will mark every Representation in every AdaptationSet in every Period as selected.
std::list< SegmentAvailability > com::bbc::libmpdpp::MPD::selectedInitializationSegments | ( | const time_type & | query_time = std::chrono::system_clock::now() | ) | const |
Get the initialization segment availability
Gets the list of the initialisation segment URLs and their availability for the Period into which query_time
falls. If an empty list is returned then the query_time
represents a time after the MPD availablility end time or there are no initialization segments in this MPD.
query_time | The 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. |
std::unordered_set< const Representation * > com::bbc::libmpdpp::MPD::selectedRepresentations | ( | ) | const |
Get the list of all selected Representation objects
std::list< SegmentAvailability > com::bbc::libmpdpp::MPD::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.
query_time | The 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. |
MPD & com::bbc::libmpdpp::MPD::serviceDescriptionAdd | ( | const ServiceDescription & | service_desc | ) |
MPD & com::bbc::libmpdpp::MPD::serviceDescriptionAdd | ( | ServiceDescription && | service_desc | ) |
MPD & com::bbc::libmpdpp::MPD::serviceDescriptionRemove | ( | const ServiceDescription & | service_desc | ) |
MPD & com::bbc::libmpdpp::MPD::serviceDescriptionRemove | ( | const std::list< ServiceDescription >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::serviceDescriptionRemove | ( | const std::list< ServiceDescription >::iterator & | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
const duration_type & com::bbc::libmpdpp::MPD::suggestedPresentationDelay | ( | const duration_type & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
MPD & com::bbc::libmpdpp::MPD::supplementaryPropertyAdd | ( | const Descriptor & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::supplementaryPropertyAdd | ( | Descriptor && | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::supplementaryPropertyRemove | ( | const Descriptor & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::supplementaryPropertyRemove | ( | const std::list< Descriptor >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::supplementaryPropertyRemove | ( | const std::list< Descriptor >::iterator & | ) |
void com::bbc::libmpdpp::MPD::synchroniseWithUTCTiming | ( | ) | const |
|
inline |
const duration_type & com::bbc::libmpdpp::MPD::timeShiftBufferDepth | ( | const duration_type & | default_val | ) | const |
|
inline |
|
inline |
|
inline |
MPD & com::bbc::libmpdpp::MPD::utcTimingAdd | ( | const Descriptor & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::utcTimingAdd | ( | Descriptor && | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::utcTimingRemove | ( | const Descriptor & | prog_info | ) |
MPD & com::bbc::libmpdpp::MPD::utcTimingRemove | ( | const std::list< Descriptor >::const_iterator & | ) |
MPD & com::bbc::libmpdpp::MPD::utcTimingRemove | ( | const std::list< Descriptor >::iterator & | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |