<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:cgarcia@igalia.com" title="Carlos Garcia Campos <cgarcia@igalia.com>"> <span class="fn">Carlos Garcia Campos</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK][GStreamer] ClearKey EME v1 decryption support"
href="https://bugs.webkit.org/show_bug.cgi?id=154235">bug 154235</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Attachment #272321 Flags</td>
<td>review?
</td>
<td>review+, commit-queue-
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK][GStreamer] ClearKey EME v1 decryption support"
href="https://bugs.webkit.org/show_bug.cgi?id=154235#c41">Comment # 41</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK][GStreamer] ClearKey EME v1 decryption support"
href="https://bugs.webkit.org/show_bug.cgi?id=154235">bug 154235</a>
from <span class="vcard"><a class="email" href="mailto:cgarcia@igalia.com" title="Carlos Garcia Campos <cgarcia@igalia.com>"> <span class="fn">Carlos Garcia Campos</span></a>
</span></b>
<pre>Comment on <span class=""><a href="attachment.cgi?id=272321&action=diff" name="attach_272321" title="patch">attachment 272321</a> <a href="attachment.cgi?id=272321&action=edit" title="patch">[details]</a></span>
patch
View in context: <a href="https://bugs.webkit.org/attachment.cgi?id=272321&action=review">https://bugs.webkit.org/attachment.cgi?id=272321&action=review</a>
This looks good to me in general, I'm r+'ing it, but I have a few more comments, and I would like that someone more familiar with EME would take a look at it too. Please add these files as exceptions to the style checker as we do with other gobject implementation files.
<span class="quote">> Source/WebCore/platform/graphics/gstreamer/WebKitCommonEncryptionDecryptorGStreamer.cpp:53
> + WebKitCommonEncryptionDecryptorClass* commonEncryptionDecryptorClass = WEBKIT_COMMON_ENCRYPTION_DECRYPTOR_GET_CLASS(self);
> + return commonEncryptionDecryptorClass->setupCipher(self);</span >
I still think we should either ASEERT, if this considered a pure virtual method, or null check otherwise. And the same for the rest for the vmethods.
<span class="quote">> Source/WebCore/platform/graphics/gstreamer/WebKitCommonEncryptionDecryptorGStreamer.cpp:266
> + GRefPtr<GstEvent> protectedEvent = adoptGRef(event);</span >
protected is no longer a good name for this now that we are adopting the ref.
<span class="quote">> Source/WebCore/platform/graphics/gstreamer/WebKitCommonEncryptionDecryptorGStreamer.cpp:276
> + RunLoop::main().dispatch([protectedThis, protectedEvent, initDataBuffer] {</span >
I would add a comment here, explaining that we capture the event because it's the owner of the buffer, otherwise it looks weird to capture something that is not used in the lambda.
<span class="quote">> Source/WebCore/platform/graphics/gstreamer/WebKitCommonEncryptionDecryptorGStreamer.cpp:283
> + GRefPtr<GstEvent> protectedEvent = adoptGRef(event);</span >
Ditto.
<span class="quote">> Source/WebCore/platform/graphics/gstreamer/WebKitCommonEncryptionDecryptorGStreamer.cpp:325
> +static gboolean webKitCommonEncryptionDecryptorDefaultSetupCipher(WebKitCommonEncryptionDecryptor*)
> +{
> + return TRUE;
> +}
> +
> +static void webKitCommonEncryptionDecryptorDefaultReleaseCipher(WebKitCommonEncryptionDecryptor*)
> +{
> +}</span >
If these don't do anything useful, keep the vmethods as null and add null checks in the wrappers.
<span class="quote">> Source/WebCore/platform/graphics/gstreamer/WebKitCommonEncryptionDecryptorGStreamer.cpp:345
> + klass->setupCipher = GST_DEBUG_FUNCPTR(webKitCommonEncryptionDecryptorDefaultSetupCipher);
> + klass->releaseCipher = GST_DEBUG_FUNCPTR(webKitCommonEncryptionDecryptorDefaultReleaseCipher);</span >
What about the other vmethods?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>