10#include <packager/app/retired_flags.h>
16#include <absl/flags/flag.h>
18ABSL_FLAG(std::string, profile,
"",
"This flag is deprecated. Do not use.");
19ABSL_FLAG(
bool, single_segment,
true,
"This flag is deprecated. Do not use.");
21 webm_subsample_encryption,
23 "This flag is deprecated. Use vp9_subsample_encryption instead.");
25 availability_time_offset,
27 "This flag is deprecated. Use suggested_presentation_delay "
28 "instead which can achieve similar effect.");
32 "This flag is deprecated. Use --enable_raw_key_encryption with "
33 "--generate_playready_pssh to generate PlayReady PSSH.");
37 "This flag is deprecated. Use --enable_raw_key_encryption with "
38 "--generate_playready_pssh to generate PlayReady PSSH.");
40 mp4_use_decoding_timestamp_in_timeline,
42 "This flag is deprecated. Do not use.");
45 num_subsegments_per_sidx,
47 "This flag is deprecated. Use --generate_sidx_in_media_segments instead.");
49 generate_widevine_pssh,
51 "This flag is deprecated. Use --protection_systems instead.");
53 generate_playready_pssh,
55 "This flag is deprecated. Use --protection_systems instead.");
59 "This flag is deprecated. Use --protection_systems instead.");
63 "This flag is deprecated. Use --generate_static_live_mpd instead.");
69bool InformRetiredStringFlag(
const char* flagname,
const std::string& value) {
71 fprintf(stderr,
"WARNING: %s is deprecated and ignored.\n", flagname);
75bool InformRetiredDefaultTrueFlag(
const char* flagname,
bool value) {
77 fprintf(stderr,
"WARNING: %s is deprecated and ignored.\n", flagname);
81bool InformRetiredDefaultFalseFlag(
const char* flagname,
bool value) {
83 fprintf(stderr,
"WARNING: %s is deprecated and ignored.\n", flagname);
87bool InformRetiredDefaultDoubleFlag(
const char* flagname,
double value) {
89 fprintf(stderr,
"WARNING: %s is deprecated and ignored.\n", flagname);
93bool InformRetiredDefaultInt32Flag(
const char* flagname, int32_t value) {
95 fprintf(stderr,
"WARNING: %s is deprecated and ignored.\n", flagname);
99bool InformRetiredPsshGenerationFlag(
const char* flagname,
bool value) {
102 "WARNING: %s is deprecated and ignored. Please switch to "
103 "--protection_systems.\n",
109bool InformRetiredGenerateStaticMpdFlag(
const char* flagname,
bool value) {
112 "WARNING: %s is deprecated and ignored. Please switch to "
113 "--generate_static_live_mpd.\n",
120bool ValidateRetiredFlags() {
123 auto profile = absl::GetFlag(FLAGS_profile);
124 if (!InformRetiredStringFlag(
"profile", profile)) {
128 auto single_segment = absl::GetFlag(FLAGS_single_segment);
129 if (!InformRetiredDefaultTrueFlag(
"single_segment", single_segment)) {
132 auto webm_subsample_encryption =
133 absl::GetFlag(FLAGS_webm_subsample_encryption);
134 if (!InformRetiredDefaultTrueFlag(
"webm_subsample_encryption",
135 webm_subsample_encryption)) {
138 auto availability_time_offset = absl::GetFlag(FLAGS_availability_time_offset);
139 if (!InformRetiredDefaultDoubleFlag(
"availability_time_offset",
140 availability_time_offset)) {
143 auto playready_key_id = absl::GetFlag(FLAGS_playready_key_id);
144 if (!InformRetiredStringFlag(
"playready_key_id", playready_key_id)) {
147 auto playready_key = absl::GetFlag(FLAGS_playready_key);
148 if (!InformRetiredStringFlag(
"playready_key", playready_key)) {
151 auto mp4_use_decoding_timestamp_in_timeline =
152 absl::GetFlag(FLAGS_mp4_use_decoding_timestamp_in_timeline);
153 if (!InformRetiredDefaultFalseFlag(
"mp4_use_decoding_timestamp_in_timeline",
154 mp4_use_decoding_timestamp_in_timeline)) {
157 auto num_subsegments_per_sidx = absl::GetFlag(FLAGS_num_subsegments_per_sidx);
158 if (!InformRetiredDefaultInt32Flag(
"num_subsegments_per_sidx",
159 num_subsegments_per_sidx)) {
162 auto generate_widevine_pssh = absl::GetFlag(FLAGS_generate_widevine_pssh);
163 if (!InformRetiredPsshGenerationFlag(
"generate_widevine_pssh",
164 generate_widevine_pssh)) {
167 auto generate_playready_pssh = absl::GetFlag(FLAGS_generate_playready_pssh);
168 if (!InformRetiredPsshGenerationFlag(
"generate_playready_pssh",
169 generate_playready_pssh)) {
172 auto generate_common_pssh = absl::GetFlag(FLAGS_generate_common_pssh);
173 if (!InformRetiredPsshGenerationFlag(
"generate_common_pssh",
174 generate_common_pssh)) {
177 auto generate_static_mpd = absl::GetFlag(FLAGS_generate_static_mpd);
178 if (!InformRetiredGenerateStaticMpdFlag(
"generate_static_mpd",
179 generate_static_mpd)) {
All the methods that are virtual are virtual for mocking.