Shaka Packager SDK
|
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< UtcTiming > | utc_timings |
std::string | default_language |
std::string | default_text_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 |
double | target_segment_duration = 0 |
bool | allow_codec_switching = false |
bool | include_mspr_pro = true |
Static Public Attributes | |
static constexpr double | kSuggestedPresentationDelayNotSet = 0 |
DASH MPD related parameters.
Definition at line 16 of file mpd_params.h.
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@duration instead and omit SegmentTimeline completely. Ignored if $Time$ is used in segment template, since $Time$ requires accurate Segment Timeline.
Definition at line 76 of file mpd_params.h.
bool shaka::MpdParams::allow_codec_switching = false |
If enabled, allow switching between different codecs, if they have the same language, media type (audio, video etc) and container type.
Definition at line 85 of file mpd_params.h.
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.
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. This applies to both audio and text tracks. The default language for text tracks can be overriden by 'default_text_language'.
Definition at line 58 of file mpd_params.h.
std::string shaka::MpdParams::default_text_language |
Same as above, but this overrides the default language for text tracks, i.e. subtitles or close-captions.
Definition at line 61 of file mpd_params.h.
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 64 of file mpd_params.h.
bool shaka::MpdParams::include_mspr_pro = true |
If enabled, PlayReady Object <mspr:pro> will be inserted into <ContentProtection ...> element alongside with <cenc:pssh> when using PlayReady protection system.
Definition at line 89 of file mpd_params.h.
|
staticconstexpr |
Set MPD@suggestedPresentationDelay 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.
double shaka::MpdParams::min_buffer_time = 2.0 |
Set MPD@minBufferTime 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.
double shaka::MpdParams::minimum_update_period = 0 |
Set MPD@minimumUpdatePeriod 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.
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.
double shaka::MpdParams::target_segment_duration = 0 |
This is the target segment duration requested by the user. The actual segment duration may be different to the target segment duration. This parameter is included here to calculate the approximate SegmentTimeline if it is enabled. It will be populated from segment duration specified in ChunkingParams if not specified.
Definition at line 82 of file mpd_params.h.
double shaka::MpdParams::time_shift_buffer_depth = 0 |
Set MPD@timeShiftBufferDepth 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.