Native Player  1.0
MediaSegmentSequence Class Referenceabstract

Container of possibly infinite (in case of live streams) sequence of MediaSegments for particular representation described in the DASH manifest. This class is used by DashManifest More...

#include <media_segment_sequence.h>

Classes

class  Iterator
 Constant bidirectional iterator through the sequence. More...
 

Public Member Functions

virtual ~MediaSegmentSequence ()
 
virtual Iterator Begin () const =0
 
virtual Iterator End () const =0
 
virtual Iterator MediaSegmentForTime (double time) const =0
 
virtual std::unique_ptr< dash::mpd::ISegment > GetInitSegment () const =0
 
virtual std::unique_ptr< dash::mpd::ISegment > GetBitstreamSwitchingSegment () const =0
 
virtual std::unique_ptr< dash::mpd::ISegment > GetRepresentationIndexSegment () const =0
 
virtual std::unique_ptr< dash::mpd::ISegment > GetIndexSegment () const =0
 
virtual double AverageSegmentDuration () const =0
 
virtual double SegmentDuration (const Iterator &it) const
 
virtual double SegmentTimestamp (const Iterator &it) const
 

Static Public Attributes

static constexpr double kInvalidSegmentDuration = -1.0
 
static constexpr double kInvalidSegmentTimestamp = -1.0
 

Detailed Description

Container of possibly infinite (in case of live streams) sequence of MediaSegments for particular representation described in the DASH manifest. This class is used by DashManifest

Note
Depending on type of the content this sequence might be mutable or not!
For live streaming this sequence might be mutable.

Definition at line 51 of file media_segment_sequence.h.

Constructor & Destructor Documentation

virtual MediaSegmentSequence::~MediaSegmentSequence ( )
virtual

Member Function Documentation

virtual double MediaSegmentSequence::AverageSegmentDuration ( ) const
pure virtual

Provides an average segment duration of media stream. Can be useful when configuring media content data loader to run in a background thread or other MediaSegmentSequance operations.

Returns
Average segment duration in seconds.
virtual Iterator MediaSegmentSequence::Begin ( ) const
pure virtual
Returns
Iterator to first element.
virtual Iterator MediaSegmentSequence::End ( ) const
pure virtual
Returns
Past-the-end iterator.
virtual std::unique_ptr<dash::mpd::ISegment> MediaSegmentSequence::GetBitstreamSwitchingSegment ( ) const
pure virtual

Provides a bitstream switching segment of media stream needed in live profile.

Returns
New Bitstream Switching Segment object.
virtual std::unique_ptr<dash::mpd::ISegment> MediaSegmentSequence::GetIndexSegment ( ) const
pure virtual

Provides a index segment of media stream.

Returns
New Index Segment object.
virtual std::unique_ptr<dash::mpd::ISegment> MediaSegmentSequence::GetInitSegment ( ) const
pure virtual

Provides an initialization segment of media stream needed to configure demuxer.

Returns
New Initialization Segment object.
virtual std::unique_ptr<dash::mpd::ISegment> MediaSegmentSequence::GetRepresentationIndexSegment ( ) const
pure virtual

Provides a representation index segment of media stream.

Returns
New Representation Index Segment object.
virtual Iterator MediaSegmentSequence::MediaSegmentForTime ( double  time) const
pure virtual

Searches for a segment which has frames for given timestamp.

Returns
Iterator for given timestamp.
virtual double MediaSegmentSequence::SegmentDuration ( const Iterator it) const
virtual

Provides a segment duration for the given Iterator.

Returns
Segment duration in seconds.
Value < 0 in case of error (like invalid iterator, passed iterator doesn't points to current sequence).
virtual double MediaSegmentSequence::SegmentTimestamp ( const Iterator it) const
virtual

Provides a segment timestamp for the given Iterator.

Returns
Segment timestamp in seconds.
Value < 0 in case of error (like invalid iterator, passed iterator doesn't points to current sequence).

Member Data Documentation

constexpr double MediaSegmentSequence::kInvalidSegmentDuration = -1.0
static

Definition at line 53 of file media_segment_sequence.h.

constexpr double MediaSegmentSequence::kInvalidSegmentTimestamp = -1.0
static

Definition at line 54 of file media_segment_sequence.h.


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