Shaka Packager SDK
Loading...
Searching...
No Matches
playready_key_encryption_flags.cc
1// Copyright 2017 Google LLC. 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 command line flags for PlayReady encryption.
8
9#include <packager/app/playready_key_encryption_flags.h>
10
11#include <string>
12
13#include <absl/flags/flag.h>
14
15#include <packager/app/validate_flag.h>
16
17ABSL_FLAG(bool,
18 enable_playready_encryption,
19 false,
20 "Enable encryption with PlayReady key.");
21ABSL_FLAG(std::string,
22 playready_server_url,
23 "",
24 "PlayReady packaging server url.");
25ABSL_FLAG(std::string,
26 program_identifier,
27 "",
28 "Program identifier for packaging request.");
29
30namespace shaka {
31namespace {
32const bool kFlagIsOptional = true;
33}
34
36 bool success = true;
37
38 const char playready_label[] = "--enable_playready_encryption";
39 bool playready_enabled = absl::GetFlag(FLAGS_enable_playready_encryption);
40 if (!ValidateFlag("playready_server_url",
41 absl::GetFlag(FLAGS_playready_server_url),
42 playready_enabled, !kFlagIsOptional, playready_label)) {
43 success = false;
44 }
45 if (!ValidateFlag("program_identifier",
46 absl::GetFlag(FLAGS_program_identifier), playready_enabled,
47 !kFlagIsOptional, playready_label)) {
48 success = false;
49 }
50 return success;
51}
52
53} // namespace shaka
All the methods that are virtual are virtual for mocking.
bool ValidateFlag(const char *flag_name, const FlagType &flag_value, bool condition, bool optional, const char *label)