Shaka Packager SDK
mpd_flags.cc
1 // Copyright 2014 Google Inc. All rights reserved.
2 //
3 // Use of this source code is governed by a BSD-style
4 // license that can be found in the LICENSE file or at
5 // https://developers.google.com/open-source/licenses/bsd
6 //
7 // Defines Mpd flags.
8 
9 #include "packager/app/mpd_flags.h"
10 
11 // TODO(kqyang): Rename to generate_static_live_mpd.
12 DEFINE_bool(generate_static_mpd,
13  false,
14  "Set to true to generate static mpd. If segment_template is "
15  "specified in stream descriptors, shaka-packager generates dynamic "
16  "mpd by default; if this flag is enabled, shaka-packager generates "
17  "static mpd instead. Note that if segment_template is not "
18  "specified, shaka-packager always generates static mpd regardless "
19  "of the value of this flag.");
20 // TODO(rkuroiwa, kqyang): Remove the 'Exclusive' statements once
21 // --output_media_info can work together with --mpd_output.
22 DEFINE_bool(output_media_info,
23  false,
24  "Create a human readable format of MediaInfo. The output file name "
25  "will be the name specified by output flag, suffixed with "
26  "'.media_info'. Exclusive with --mpd_output.");
27 DEFINE_string(mpd_output, "",
28  "MPD output file name. Exclusive with --output_media_info.");
29 DEFINE_string(base_urls,
30  "",
31  "Comma separated BaseURLs for the MPD. The values will be added "
32  "as <BaseURL> element(s) immediately under the <MPD> element.");
33 DEFINE_double(min_buffer_time,
34  2.0,
35  "Specifies, in seconds, a common duration used in the definition "
36  "of the MPD Representation data rate.");
37 DEFINE_double(minimum_update_period,
38  5.0,
39  "Indicates to the player how often to refresh the media "
40  "presentation description in seconds. This value is used for "
41  "dynamic MPD only.");
42 DEFINE_double(suggested_presentation_delay,
43  0.0,
44  "Specifies a delay, in seconds, to be added to the media "
45  "presentation time. This value is used for dynamic MPD only.");
46 DEFINE_string(utc_timings,
47  "",
48  "Comma separated UTCTiming schemeIdUri and value pairs for the "
49  "MPD. This value is used for dynamic MPD only.");
50 DEFINE_bool(generate_dash_if_iop_compliant_mpd,
51  true,
52  "Try to generate DASH-IF IOP compliant MPD. This is best effort "
53  "and does not guarantee compliance.");
54 DEFINE_bool(
55  allow_approximate_segment_timeline,
56  false,
57  "For live profile only. "
58  "If enabled, segments with close duration (i.e. with difference less than "
59  "one sample) are considered to have the same duration. This enables MPD "
60  "generator to generate less SegmentTimeline entries. If all segments are "
61  "of the same duration except the last one, we will do further optimization "
62  "to use SegmentTemplate@duration instead and omit SegmentTimeline "
63  "completely."
64  "Ignored if $Time$ is used in segment template, since $Time$ requires "
65  "accurate Segment Timeline.");