Changeset 272129 in webkit
- Timestamp:
- Jan 31, 2021, 11:17:41 PM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
-
ChangeLog (modified) (1 diff)
-
platform/graphics/gstreamer/GStreamerCommon.cpp (modified) (1 diff)
-
platform/graphics/gstreamer/eme/CDMThunder.cpp (modified) (1 diff)
-
platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp (modified) (1 diff)
-
platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r272128 r272129 1 2021-01-31 Xabier Rodriguez Calvar <calvaris@igalia.com> 2 3 [GStreamer][EME] Add basic cbcs support 4 https://bugs.webkit.org/show_bug.cgi?id=221133 5 6 Reviewed by Philippe Normand. 7 8 Add cbcs as supported encryption scheme. 9 10 * platform/graphics/gstreamer/GStreamerCommon.cpp: 11 (WebCore::capsMediaType): 12 * platform/graphics/gstreamer/eme/CDMThunder.cpp: 13 (WebCore::CDMPrivateThunder::supportedInitDataTypes const): 14 * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp: 15 (transformInPlace): 16 * platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp: 17 1 18 2021-01-31 Zalan Bujtas <zalan@apple.com> 2 19 -
trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
r271513 r272129 184 184 } 185 185 #if ENABLE(ENCRYPTED_MEDIA) 186 if (gst_structure_has_name(structure, "application/x-cenc") || gst_structure_has_name(structure, "application/x- webm-enc"))186 if (gst_structure_has_name(structure, "application/x-cenc") || gst_structure_has_name(structure, "application/x-cbcs") || gst_structure_has_name(structure, "application/x-webm-enc")) 187 187 return gst_structure_get_string(structure, "original-media-type"); 188 188 #endif -
trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp
r271437 r272129 139 139 static Vector<AtomString> supportedInitDataTypes; 140 140 std::call_once(onceFlag, [] { 141 supportedInitDataTypes.reserveInitialCapacity( 3);141 supportedInitDataTypes.reserveInitialCapacity(4); 142 142 supportedInitDataTypes.uncheckedAppend(AtomString("keyids")); 143 143 supportedInitDataTypes.uncheckedAppend(AtomString("cenc")); 144 144 supportedInitDataTypes.uncheckedAppend(AtomString("webm")); 145 supportedInitDataTypes.uncheckedAppend(AtomString("cbcs")); 145 146 }); 146 147 return supportedInitDataTypes; -
trunk/Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp
r271399 r272129 239 239 } 240 240 241 if (gst_structure_has_field(protectionMeta->info, "crypt_byte_block") || gst_structure_has_field(protectionMeta->info, "skip_byte_block")) 242 GST_FIXME_OBJECT(self, "cbcs crypt/skip pattern is still unsupported"); 243 241 244 GstBuffer* ivBuffer = gst_value_get_buffer(value); 242 245 WebKitMediaCommonEncryptionDecryptClass* klass = WEBKIT_MEDIA_CENC_DECRYPT_GET_CLASS(self); -
trunk/Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp
r271289 r272129 48 48 49 49 static const char* cencEncryptionMediaTypes[] = { "video/mp4", "audio/mp4", "video/x-h264", "audio/mpeg", nullptr }; 50 static const char** cbcsEncryptionMediaTypes = cencEncryptionMediaTypes; 50 51 static const char* webmEncryptionMediaTypes[] = { "video/webm", "audio/webm", "video/x-vp9", "audio/x-opus", nullptr }; 51 52 … … 84 85 cencEncryptionMediaTypes[i], "protection-system", G_TYPE_STRING, GStreamerEMEUtilities::keySystemToUuid(keySystem), nullptr)); 85 86 } 87 } 88 89 for (int i = 0; cbcsEncryptionMediaTypes[i]; ++i) { 90 gst_caps_append_structure(caps.get(), gst_structure_new("application/x-cbcs", "original-media-type", G_TYPE_STRING, 91 cbcsEncryptionMediaTypes[i], nullptr)); 86 92 } 87 93
Note:
See TracChangeset
for help on using the changeset viewer.