96 const bool widevine_crypto =
97 absl::GetFlag(FLAGS_enable_widevine_encryption) ||
98 absl::GetFlag(FLAGS_enable_widevine_decryption);
99 const char widevine_crypto_label[] =
100 "--enable_widevine_encryption/decryption";
103 if (!
ValidateFlag(
"key_server_url", absl::GetFlag(FLAGS_key_server_url),
104 widevine_crypto, !kOptional, widevine_crypto_label)) {
107 if (!
ValidateFlag(
"signer", absl::GetFlag(FLAGS_signer), widevine_crypto,
108 kOptional, widevine_crypto_label)) {
111 if (widevine_crypto && absl::GetFlag(FLAGS_signer).empty() &&
113 absl::AsciiStrToLower(absl::GetFlag(FLAGS_key_server_url)),
"http")) {
114 LOG(WARNING) <<
"--signer is likely required with "
115 "--enable_widevine_encryption/decryption.";
118 const char widevine_encryption_label[] =
"--enable_widevine_encryption";
121 if (!
ValidateFlag(
"content_id", absl::GetFlag(FLAGS_content_id).bytes,
122 absl::GetFlag(FLAGS_enable_widevine_encryption), !kOptional,
123 widevine_encryption_label)) {
126 if (!
ValidateFlag(
"policy", absl::GetFlag(FLAGS_policy),
127 absl::GetFlag(FLAGS_enable_widevine_encryption), kOptional,
128 widevine_encryption_label)) {
132 if (absl::GetFlag(FLAGS_max_sd_pixels) <= 0) {
133 PrintError(
"--max_sd_pixels must be positive.");
136 if (absl::GetFlag(FLAGS_max_hd_pixels) <= 0) {
137 PrintError(
"--max_hd_pixels must be positive.");
140 if (absl::GetFlag(FLAGS_max_uhd1_pixels) <= 0) {
141 PrintError(
"--max_uhd1_pixels must be positive.");
144 if (absl::GetFlag(FLAGS_max_hd_pixels) <=
145 absl::GetFlag(FLAGS_max_sd_pixels)) {
146 PrintError(
"--max_hd_pixels must be greater than --max_sd_pixels.");
149 if (absl::GetFlag(FLAGS_max_uhd1_pixels) <=
150 absl::GetFlag(FLAGS_max_hd_pixels)) {
151 PrintError(
"--max_uhd1_pixels must be greater than --max_hd_pixels.");
155 const bool aes = !absl::GetFlag(FLAGS_aes_signing_key).bytes.empty() ||
156 !absl::GetFlag(FLAGS_aes_signing_iv).bytes.empty();
157 if (aes && (absl::GetFlag(FLAGS_aes_signing_key).bytes.empty() ||
158 absl::GetFlag(FLAGS_aes_signing_iv).bytes.empty())) {
159 PrintError(
"--aes_signing_key/iv is required if using aes signing.");
163 const bool rsa = !absl::GetFlag(FLAGS_rsa_signing_key_path).empty();
165 if (absl::GetFlag(FLAGS_signer).empty() && (aes || rsa)) {
166 PrintError(
"--signer is required if using aes/rsa signing.");
169 if (!absl::GetFlag(FLAGS_signer).empty() && !aes && !rsa) {
171 "--aes_signing_key/iv or --rsa_signing_key_path is required with "
177 "Only one of --aes_signing_key/iv and --rsa_signing_key_path should be "
182 if (absl::GetFlag(FLAGS_crypto_period_duration) < 0) {
183 PrintError(
"--crypto_period_duration should not be negative.");