1 // Copyright 2014 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 5 #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_MEDIA_KEY_SYSTEM_CONFIGURATION_H_ 6 #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_MEDIA_KEY_SYSTEM_CONFIGURATION_H_ 7 8 #include "media/base/eme_constants.h" 9 #include "third_party/blink/public/platform/web_encrypted_media_types.h" 10 #include "third_party/blink/public/platform/web_media_key_system_media_capability.h" 11 #include "third_party/blink/public/platform/web_vector.h" 12 13 namespace blink { 14 15 struct WebMediaKeySystemConfiguration { 16 enum class Requirement { 17 kRequired, 18 kOptional, 19 kNotAllowed, 20 }; 21 22 WebString label; 23 WebVector<media::EmeInitDataType> init_data_types; 24 WebVector<WebMediaKeySystemMediaCapability> audio_capabilities; 25 WebVector<WebMediaKeySystemMediaCapability> video_capabilities; 26 Requirement distinctive_identifier = Requirement::kOptional; 27 Requirement persistent_state = Requirement::kOptional; 28 WebVector<WebEncryptedMediaSessionType> session_types; 29 }; 30 31 } // namespace blink 32 33 #endif // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_MEDIA_KEY_SYSTEM_CONFIGURATION_H_ 34