// Copyright 2017 Google LLC. All rights reserved. // // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file or at // https://developers.google.com/open-source/licenses/bsd #ifndef PACKAGER_MEDIA_BASE_COMMON_PSSH_GENERATOR_H_ #define PACKAGER_MEDIA_BASE_COMMON_PSSH_GENERATOR_H_ #include "packager/media/base/pssh_generator.h" namespace shaka { namespace media { class CommonPsshGenerator : public PsshGenerator { public: CommonPsshGenerator(); ~CommonPsshGenerator() override; /// @name PsshGenerator implemetation overrides. /// @{ bool SupportMultipleKeys() override; /// @} private: CommonPsshGenerator& operator=(const CommonPsshGenerator&) = delete; CommonPsshGenerator(const CommonPsshGenerator&) = delete; // PsshGenerator implemetation overrides. std::optional> GeneratePsshDataFromKeyIds( const std::vector>& key_ids) const override; std::optional> GeneratePsshDataFromKeyIdAndKey( const std::vector& key_id, const std::vector& key) const override; }; } // namespace media } // namespace shaka #endif // PACKAGER_MEDIA_BASE_COMMON_PSSH_GENERATOR_H_