[Bug 770107] qtdemux: reports only one encryption system even if it can support more than one

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Aug 17 19:42:16 UTC 2018


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

--- Comment #35 from Thibault Saunier <tsaunier at gnome.org> ---
Sorry about that, something went wrong while merging with git-bz I have the
impression. Let's close and add commit refs:


commit ee4b45da24cb7465b416c230597f8efc7b2c45cb
Author: Xabier Rodriguez Calvar <calvaris at igalia.com>
Date:   Wed Jun 21 17:59:21 2017 +0200

    qtdemux: add context for a preferred protection

    qtdemux selected the first system corresponding to a working GStreamer
    decryptor. With this change, before selecting that decryptor, qtdemux
    will check if it has context (a preferred decryptor id) and if not, it
    will request it.

    The request includes track-id, available key system ids for the
    available decryptors and even the events so that the init data is
    accessible.

    [eocanha at igalia.com: select the preferred protection system even if not
available]

    Test "4. ClearKeyVideo" in YouTube leanback EME conformance tests 2016 for
    H.264[1] uses a media file[2] with cenc encryption which embeds 'pssh'
boxes
    with the init data for the Playready and Widevine encryption systems, but
not
    for the ClearKey encryption system (as defined by the EMEv0.1b spec[3] and
with
    the encryption system id defined in [4]).

    Instead, the ClearKey encryption system is manually selected by the web
page
    code (even if not originally detected by qtdemux) and the proper decryption
key
    is dispatched to the decryptor, which can then decrypt the video
successfully.

    [1]
http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html?test_type=encryptedmedia-test&webm=false
    [2]
http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/car_cenc-20120827-86.mp4
    [3]
https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1b/encrypted-media/encrypted-media.html#simple-decryption-clear-key
    [4] https://www.w3.org/Bugs/Public/show_bug.cgi?id=24027#c2

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

---

commit 844423ff99e281fc831303b92861ed43ce5c1518
Author: Enrique Ocaña González <eocanha at igalia.com>
Date:   Sat May 20 16:55:40 2017 +0000

    qtdemux: also push buffers without encryption info instead of dropping them

    Test "17. PlayReadyH264Video" in YouTube leanback EME conformance tests
2016
    for H.264[1] uses a media file[2] with cenc encryption whose first two
'moof'
    boxes have no encryption information (no 'saiz' and 'saio' boxes).

    Those boxes are actually not encrypted and the current qtdemux
implementation
    was just dropping them, breaking the test use case.

    This patch detects those kind of situations and just lets the unencrypted
    buffers pass. Of course, this needs some collaboration by the decryptors,
    which should also do the same and not to try to decrypt those clear
buffers.

    [1]
http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html?test_type=encryptedmedia-test&webm=false
    [2]
http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/oops_cenc-20121114-142.mp4

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

-- 
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