After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 784224 - matroskademux: Add support for encrypted content with protection API
matroskademux: Add support for encrypted content with protection API
Status: RESOLVED DUPLICATE of bug 765275
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-06-26 16:59 UTC by y.bandou
Modified: 2017-06-27 10:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add support for encrypted content with protection API (24.40 KB, patch)
2017-06-26 17:18 UTC, y.bandou
none Details | Review

Description y.bandou 2017-06-26 16:59:44 UTC
This commit:
    
    1.Parse the ContentEncryption elements by following the Matroska and WebM spec.
    
    2.Set the srcpad with the right caps, when the track is encrypted.
      eg: application/x-matroska-enc, original-media-type:video/x-vp9,...
    
    3.Create a GST_PROTECTION event for each ContentEncryption, which will be
      sent before the first source buffer.
      The GST_PROTECTION event doesn't contain the "system_id", DRM system id, field
      because it hasn't been specified neither by Matroska nor by the WebM spec.
      For this reason we make DRM system id optional in GST_PROTECTION event.
      see : https://bugzilla.gnome.org/show_bug.cgi?id=784129
    
    4.Parse the protection information of encrypted Block/SimpleBlock, extract
      the IV and the partitioning format (subsamples).
    
    5.Create the metadata protection for each encrypted Block/SimpleBlock, with
      those informations: KeyID (extracted from ContentEncryption element), IV and partitioning format.
    
      The protection metadata follows the same format as qtdemux.
Comment 1 Tim-Philipp Müller 2017-06-26 17:13:02 UTC
How is this bug different from bug #765275 ?
Comment 2 y.bandou 2017-06-26 17:18:21 UTC
Created attachment 354524 [details] [review]
Add support for encrypted content with protection API

This patch:
    
  1.Parse the ContentEncryption elements by following the Matroska and WebM spec.
    
  2.Set the srcpad with the right caps, when the track is encrypted.
    eg: application/x-matroska-enc, original-media-type:video/x-vp9,...
    
  3.Create a GST_PROTECTION event for each ContentEncryption, which will be
    sent before the first source buffer.
    The GST_PROTECTION event doesn't contain the "system_id", DRM system id, 
    field because it hasn't been specified neither by Matroska nor by the WebM 
    spec.
    For this reason we make DRM system id optional in GST_PROTECTION event.
    See: https://bugzilla.gnome.org/show_bug.cgi?id=784129
    
  4.Parse the protection information of encrypted Block/SimpleBlock, extract
    the IV and the partitioning format (subsamples).
    
  5.Create the metadata protection for each encrypted Block/SimpleBlock, with
    those informations: KeyID (extracted from ContentEncryption element), IV and 
    partitioning format.
    
    The protection metadata follows the same format as qtdemux.
Comment 3 y.bandou 2017-06-26 17:33:14 UTC
(In reply to Tim-Philipp Müller from comment #1)
> How is this bug different from bug #765275 ?

The bug 765275 is a part of this one, the first just talks about reading and writing the Matroska ContentEncryption element.
Comment 4 y.bandou 2017-06-27 08:17:43 UTC
(In reply to Tim-Philipp Müller from comment #1)
> How is this bug different from bug #765275 ?

What do you suggest ? Either, i'll close this one and i put the patch in the bug 765275 but we should rename it, or we'll close the bug 765275.
Comment 5 Tim-Philipp Müller 2017-06-27 08:30:30 UTC
If it's related to the other patches, and depends on the other patches, then we should close this bug and you should attach your patch in the other bug IMHO.
Comment 6 y.bandou 2017-06-27 09:00:10 UTC
(In reply to Tim-Philipp Müller from comment #5)
> If it's related to the other patches, and depends on the other patches, then
> we should close this bug and you should attach your patch in the other bug
> IMHO.

It doesn't depend on the other patch, but it just contain a part of its with some modifications.
I'll close this bug and i'll rework my patch and the other in order to put them together in the other bug.
Comment 7 y.bandou 2017-06-27 10:01:29 UTC

*** This bug has been marked as a duplicate of bug 765275 ***