94 const bool widevine_crypto =
95 absl::GetFlag(FLAGS_enable_widevine_encryption) ||
96 absl::GetFlag(FLAGS_enable_widevine_decryption);
97 const char widevine_crypto_label[] =
98 "--enable_widevine_encryption/decryption";
101 if (!
ValidateFlag(
"key_server_url", absl::GetFlag(FLAGS_key_server_url),
102 widevine_crypto, !kOptional, widevine_crypto_label)) {
105 if (!
ValidateFlag(
"signer", absl::GetFlag(FLAGS_signer), widevine_crypto,
106 kOptional, widevine_crypto_label)) {
109 if (widevine_crypto && absl::GetFlag(FLAGS_signer).empty() &&
111 absl::AsciiStrToLower(absl::GetFlag(FLAGS_key_server_url)),
"http")) {
112 LOG(WARNING) <<
"--signer is likely required with "
113 "--enable_widevine_encryption/decryption.";
116 const char widevine_encryption_label[] =
"--enable_widevine_encryption";
119 if (!
ValidateFlag(
"content_id", absl::GetFlag(FLAGS_content_id).bytes,
120 absl::GetFlag(FLAGS_enable_widevine_encryption), !kOptional,
121 widevine_encryption_label)) {
124 if (!
ValidateFlag(
"policy", absl::GetFlag(FLAGS_policy),
125 absl::GetFlag(FLAGS_enable_widevine_encryption), kOptional,
126 widevine_encryption_label)) {
130 if (absl::GetFlag(FLAGS_max_sd_pixels) <= 0) {
131 PrintError(
"--max_sd_pixels must be positive.");
134 if (absl::GetFlag(FLAGS_max_hd_pixels) <= 0) {
135 PrintError(
"--max_hd_pixels must be positive.");
138 if (absl::GetFlag(FLAGS_max_uhd1_pixels) <= 0) {
139 PrintError(
"--max_uhd1_pixels must be positive.");
142 if (absl::GetFlag(FLAGS_max_hd_pixels) <=
143 absl::GetFlag(FLAGS_max_sd_pixels)) {
144 PrintError(
"--max_hd_pixels must be greater than --max_sd_pixels.");
147 if (absl::GetFlag(FLAGS_max_uhd1_pixels) <=
148 absl::GetFlag(FLAGS_max_hd_pixels)) {
149 PrintError(
"--max_uhd1_pixels must be greater than --max_hd_pixels.");
153 const bool aes = !absl::GetFlag(FLAGS_aes_signing_key).bytes.empty() ||
154 !absl::GetFlag(FLAGS_aes_signing_iv).bytes.empty();
155 if (aes && (absl::GetFlag(FLAGS_aes_signing_key).bytes.empty() ||
156 absl::GetFlag(FLAGS_aes_signing_iv).bytes.empty())) {
157 PrintError(
"--aes_signing_key/iv is required if using aes signing.");
161 const bool rsa = !absl::GetFlag(FLAGS_rsa_signing_key_path).empty();
163 if (absl::GetFlag(FLAGS_signer).empty() && (aes || rsa)) {
164 PrintError(
"--signer is required if using aes/rsa signing.");
167 if (!absl::GetFlag(FLAGS_signer).empty() && !aes && !rsa) {
169 "--aes_signing_key/iv or --rsa_signing_key_path is required with "
175 "Only one of --aes_signing_key/iv and --rsa_signing_key_path should be "
180 if (absl::GetFlag(FLAGS_crypto_period_duration) < 0) {
181 PrintError(
"--crypto_period_duration should not be negative.");