Shaka Packager SDK
Classes | Public Attributes | Static Public Attributes | List of all members
shaka::MpdParams Struct Reference

DASH MPD related parameters. More...

#include <mpd_params.h>

Classes

struct  UtcTiming
 UTCTimings. For dynamic MPD only. More...
 

Public Attributes

std::string mpd_output
 MPD output file path.
 
std::vector< std::string > base_urls
 
double min_buffer_time = 2.0
 
double minimum_update_period = 0
 
double suggested_presentation_delay = kSuggestedPresentationDelayNotSet
 
double time_shift_buffer_depth = 0
 
size_t preserved_segments_outside_live_window = 0
 
std::vector< UtcTimingutc_timings
 
std::string default_language
 
bool generate_static_live_mpd = false
 
bool generate_dash_if_iop_compliant_mpd = true
 Try to generate DASH-IF IOP compliant MPD.
 
bool allow_approximate_segment_timeline = false
 

Static Public Attributes

static constexpr double kSuggestedPresentationDelayNotSet = 0
 

Detailed Description

DASH MPD related parameters.

Definition at line 16 of file mpd_params.h.

Member Data Documentation

◆ allow_approximate_segment_timeline

bool shaka::MpdParams::allow_approximate_segment_timeline = false

For live profile only. If enabled, segments with close duration (i.e. with difference less than one sample) are considered to have the same duration. This enables MPD generator to generate less SegmentTimeline entries. If all segments are of the same duration except the last one, we will do further optimization to use SegmentTemplate instead and omit SegmentTimeline completely. Ignored if $Time$ is used in segment template, since $Time$ requires accurate Segment Timeline.

Definition at line 71 of file mpd_params.h.

◆ base_urls

std::vector<std::string> shaka::MpdParams::base_urls

BaseURLs for the MPD. The values will be added as <BaseURL> element(s) under the <MPD> element.

Definition at line 21 of file mpd_params.h.

◆ default_language

std::string shaka::MpdParams::default_language

The tracks tagged with this language will have <Role ... value="main" /> in the manifest. This allows the player to choose the correct default language for the content.

Definition at line 56 of file mpd_params.h.

◆ generate_static_live_mpd

bool shaka::MpdParams::generate_static_live_mpd = false

Generate static MPD for live profile. Note that this flag has no effect for on-demand profile, in which case static MPD is always used.

Definition at line 59 of file mpd_params.h.

◆ kSuggestedPresentationDelayNotSet

constexpr double shaka::MpdParams::kSuggestedPresentationDelayNotSet = 0
static

Set MPD attribute. For 'dynamic' media presentations, it specifies a delay, in seconds, to be added to the media presentation time. The attribute is not set if the value is 0; the client is expected to choose a suitable value in this case.

Definition at line 35 of file mpd_params.h.

◆ min_buffer_time

double shaka::MpdParams::min_buffer_time = 2.0

Set MPD attribute, which specifies, in seconds, a common duration used in the definition of the MPD representation data rate. A client can be assured of having enough data for continous playout providing playout begins at min_buffer_time after the first bit is received.

Definition at line 27 of file mpd_params.h.

◆ minimum_update_period

double shaka::MpdParams::minimum_update_period = 0

Set MPD attribute, which indicates to the player how often to refresh the MPD in seconds. For dynamic MPD only.

Definition at line 30 of file mpd_params.h.

◆ preserved_segments_outside_live_window

size_t shaka::MpdParams::preserved_segments_outside_live_window = 0

Segments outside the live window (defined by 'time_shift_buffer_depth' above) are automatically removed except for the most recent X segments defined by this parameter. This is needed to accommodate latencies in various stages of content serving pipeline, so that the segments stay accessible as they may still be accessed by the player. The segments are not removed if the value is zero.

Definition at line 46 of file mpd_params.h.

◆ time_shift_buffer_depth

double shaka::MpdParams::time_shift_buffer_depth = 0

Set MPD attribute, which is the guaranteed duration of the time shifting buffer for 'dynamic' media presentations, in seconds.

Definition at line 39 of file mpd_params.h.


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