GNOME Bugzilla – Bug 784224
matroskademux: Add support for encrypted content with protection API
Last modified: 2017-06-27 10:01:29 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.
How is this bug different from bug #765275 ?
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.
(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.
(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.
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.
(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.
*** This bug has been marked as a duplicate of bug 765275 ***