gstreamer/gst/matroska
Yacine Bandou 0432826950 matroska: Add the WebM encrypted content support in matroskademux
This commit:

1. Reads the WebM and Matroska ContentEncryption subelements.

2. Creates a GST_PROTECTION event for each ContentEncryption, which
   will be sent before pushing the first source buffer.
   The DRM system id field in this event is set to GST_PROTECTION_UNSPECIFIED_SYSTEM_ID,
   because it isn't specified neither by Matroska nor by the WebM spec.

3. Reads the protection information of encrypted Block/SimpleBlock and
   extracts the IV and the partitioning format (subsamples).

4. Creates the metadata protection for each encrypted Block/SimpleBlock,
   with those informations: KeyID (extracted from ContentEncryption element),
   IV and partitioning format.

5. Adds a new caps for WebM encrypted content named "application/x-webm-enc",
   with the following new fields:

   "encryption-algorithm": The encryption algorithm used.
                           values: "None", "DES", "3DES", "Twofish", "Blowfish", "AES".

   "encoding-scope": The field that describes which Elements have been modified.
                     Values: "frame", "codec-data", "next-content".

   "cipher-mode": The cipher mode used in the encryption.
                  Values: "None", "CTR".

https://bugzilla.gnome.org/show_bug.cgi?id=765275
2018-10-03 16:59:14 +02:00
..
ebml-ids.h Fix FSF address 2012-11-04 00:07:18 +00:00
ebml-read.c matroska: Quiet a WARN when parsing push mode 2017-01-17 11:50:27 +11:00
ebml-read.h Fix FSF address 2012-11-04 00:07:18 +00:00
ebml-write.c matroskamux: Create a TIME segment when creating streamable output 2015-10-11 11:37:51 +01:00
ebml-write.h matroskamux: Create a TIME segment when creating streamable output 2015-10-11 11:37:51 +01:00
lzo.c matroska: get rid of _stdint.h include 2016-02-08 00:11:55 +00:00
lzo.h Decode the codec private data and following ContentEncoding if necessary. 2008-08-02 18:18:05 +00:00
Makefile.am Remove plugin specific static build option 2017-05-16 14:41:19 -04:00
matroska-demux.c matroska: Add the WebM encrypted content support in matroskademux 2018-10-03 16:59:14 +02:00
matroska-demux.h matroskademux: make max backtrack distance for keyframe search configurable 2018-08-27 23:01:21 +02:00
matroska-ids.c matroska: Add the WebM encrypted content support in matroskademux 2018-10-03 16:59:14 +02:00
matroska-ids.h matroska: Add the WebM encrypted content support in matroskademux 2018-10-03 16:59:14 +02:00
matroska-mux.c matroskamux: don't store used UIDs 2018-09-06 14:14:56 -04:00
matroska-mux.h matroskamux: don't store used UIDs 2018-09-06 14:14:56 -04:00
matroska-parse.c matroska: fix handling of FlagInterlaced 2018-08-23 23:32:06 +02:00
matroska-parse.h matroska: Remove unused variable 2015-08-13 14:11:12 +01:00
matroska-read-common.c matroska: Add the WebM encrypted content support in matroskademux 2018-10-03 16:59:14 +02:00
matroska-read-common.h matroska: Add the WebM encrypted content support in matroskademux 2018-10-03 16:59:14 +02:00
matroska.c Fix FSF address 2012-11-04 00:07:18 +00:00
meson.build meson: Add feature options for all plugins 2018-07-27 18:42:54 +05:30
webm-mux.c Add AV1 to matroska plugin 2017-12-15 18:00:31 +01:00
webm-mux.h Fix FSF address 2012-11-04 00:07:18 +00:00