Changeset 271289 in webkit
- Timestamp:
- Jan 8, 2021, 2:28:50 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r271288 r271289 1 2021-01-08 Xabier Rodriguez Calvar <calvaris@igalia.com> 2 3 [GStreamer][EME][Thunder] Accept no protection system specific caps for CENC 4 https://bugs.webkit.org/show_bug.cgi?id=220088 5 6 Reviewed by Philippe Normand. 7 8 For example in CMAF it could happen that you don't have protection 9 events and hence no protection system in the caps. We need to 10 allow those cases. 11 12 * platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp: 13 1 14 2020-09-24 Sergio Villar Senin <svillar@igalia.com> 2 15 -
trunk/Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp
r270763 r271289 70 70 GRefPtr<GstCaps> caps = adoptGRef(gst_caps_new_empty()); 71 71 72 if (CDMFactoryThunder::singleton().supportedKeySystems().isEmpty()) { 73 GST_WARNING("no supported key systems in Thunder, we won't be able to decrypt anything with the its decryptor"); 74 return caps; 75 } 76 77 for (int i = 0; cencEncryptionMediaTypes[i]; ++i) { 78 gst_caps_append_structure(caps.get(), gst_structure_new("application/x-cenc", "original-media-type", G_TYPE_STRING, 79 cencEncryptionMediaTypes[i], nullptr)); 80 } 72 81 for (const auto& keySystem : CDMFactoryThunder::singleton().supportedKeySystems()) { 73 82 for (int i = 0; cencEncryptionMediaTypes[i]; ++i) { … … 75 84 cencEncryptionMediaTypes[i], "protection-system", G_TYPE_STRING, GStreamerEMEUtilities::keySystemToUuid(keySystem), nullptr)); 76 85 } 77 if (GStreamerEMEUtilities::isWidevineKeySystem(keySystem)) { 78 // No key system UUID for webm. It's not set in caps for it and it's just Widevine. 79 for (int i = 0; webmEncryptionMediaTypes[i]; ++i) { 80 gst_caps_append_structure(caps.get(), gst_structure_new("application/x-webm-enc", "original-media-type", G_TYPE_STRING, 81 webmEncryptionMediaTypes[i], nullptr)); 82 } 86 } 87 88 if (CDMFactoryThunder::singleton().supportsKeySystem(GStreamerEMEUtilities::s_WidevineKeySystem)) { 89 // WebM is Widevine only so no Widevine, no WebM decryption. 90 for (int i = 0; webmEncryptionMediaTypes[i]; ++i) { 91 gst_caps_append_structure(caps.get(), gst_structure_new("application/x-webm-enc", "original-media-type", G_TYPE_STRING, 92 webmEncryptionMediaTypes[i], nullptr)); 83 93 } 84 94 }
Note:
See TracChangeset
for help on using the changeset viewer.