[Bug 761700] basedrm: a base class based on CENC common encryption scheme for DRM playback

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jan 23 21:33:25 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=761700

Olivier CrĂȘte <olivier.crete at ocrete.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #330704|none                        |needs-work
             status|                            |

--- Comment #18 from Olivier CrĂȘte <olivier.crete at ocrete.ca> ---
Review of attachment 330704:
 --> (https://bugzilla.gnome.org/review?bug=761700&attachment=330704)

The W3C ClearKey spec seems to mandate using some kind of JSON format and not
SOAP https://w3c.github.io/encrypted-media/

I would just drop the SOAP bits from the base class and move that to the
subclasses.. Potentially even move the whole HTTP processing to the subclasses,
it seems very DRM system specific.

If possible, it would also be nice if we could have the ClearKey implementation
under a more liberal license (like BSD), so that other people can use it as a
starting point to integrate real DRM systems.

::: ext/ckdrm/gstckdrm.c
@@ +350,3 @@
+  if (!gst_aesctr_decrypt_ip (ckdrm->drm_handle, decrypt_info->data,
+          decrypt_info->data_size)) {
+    GST_ERROR_OBJECT (ckdrm, "Failed to decrypt");

Use GST_ELEMENT_ERROR() to also post a ERROR GstMessage on the bus. Same thing
everywhere else where you do GST_ERROR_OBJECT(), you should use
GST_ELEMENT_ERROR instead

@@ +483,3 @@
+  }
+
+  memcpy (url, ckdrm->license_url, ckdrm->license_url_length);

Can't use just do g_strndup() like you did earlier?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list