cdm_capability.cc 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "media/cdm/cdm_capability.h"
  5. #include <utility>
  6. namespace media {
  7. VideoCodecInfo::VideoCodecInfo() = default;
  8. VideoCodecInfo::VideoCodecInfo(
  9. base::flat_set<VideoCodecProfile> supported_profiles,
  10. bool supports_clear_lead)
  11. : supported_profiles(std::move(supported_profiles)),
  12. supports_clear_lead(supports_clear_lead) {}
  13. VideoCodecInfo::VideoCodecInfo(
  14. base::flat_set<VideoCodecProfile> supported_profiles)
  15. : supported_profiles(std::move(supported_profiles)) {}
  16. VideoCodecInfo::VideoCodecInfo(const VideoCodecInfo& other) = default;
  17. VideoCodecInfo::~VideoCodecInfo() = default;
  18. bool operator==(const VideoCodecInfo& lhs, const VideoCodecInfo& rhs) {
  19. return lhs.supported_profiles == rhs.supported_profiles &&
  20. lhs.supports_clear_lead == rhs.supports_clear_lead;
  21. }
  22. CdmCapability::CdmCapability() = default;
  23. CdmCapability::CdmCapability(
  24. base::flat_set<AudioCodec> audio_codecs,
  25. VideoCodecMap video_codecs,
  26. base::flat_set<EncryptionScheme> encryption_schemes,
  27. base::flat_set<CdmSessionType> session_types)
  28. : audio_codecs(std::move(audio_codecs)),
  29. video_codecs(std::move(video_codecs)),
  30. encryption_schemes(std::move(encryption_schemes)),
  31. session_types(std::move(session_types)) {}
  32. CdmCapability::CdmCapability(const CdmCapability& other) = default;
  33. CdmCapability::~CdmCapability() = default;
  34. bool operator==(const CdmCapability& lhs, const CdmCapability& rhs) {
  35. return lhs.audio_codecs == rhs.audio_codecs &&
  36. lhs.video_codecs == rhs.video_codecs &&
  37. lhs.encryption_schemes == rhs.encryption_schemes &&
  38. lhs.session_types == rhs.session_types;
  39. }
  40. } // namespace media