commit | 9062d3394d0360f1fefb3283c8687897a237145c | [log] [tgz] |
---|---|---|
author | Chad Duffin <chadduffin@chromium.org> | Fri Jan 04 21:51:30 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Jan 04 21:51:30 2019 |
tree | 30e8be9a15f45183425d49d278ad4125a82eed9d | |
parent | 9498866749c4616db35b086c2e69f0dae09ec2ad [diff] |
Add ClearKey support with MojoRenderer ClearKey is software based and requires that the process it runs in (browser) have access to the content that is being decrypted and decoded. Since ClearKey communication is accomplished via JSON we would need to use a JSON parser in an elevated browser process with direct access to the hardware. This is not acceptable and has been addressed in this change, which ensures that this decryption and decoding is always handled in the render process. This change can be broken into two primary pieces: the DecryptingRenderer and the DecryptingMediaResource. The DecryptingMediaResource wraps an existing MediaResource and creates DecryptingDemuxerStreams with any DemuxerStreams the MediaResource implementation has. This DecryptingMediaResource is then given to the renderer implementation as a MediaResource implementation which will then only ever provide clear streams. The DecryptingRenderer encapsulates a renderer implementation and a DecryptingMediaResource. This DecryptingRenderer will ensure that the DecryptingMediaResource is correctly initialized and will simply pass through most function calls to the renderer implementation. Bug: 913775 Change-Id: If348cd76328f2dd760751ceae087f0c89496e64b Reviewed-on: https://chromium-review.googlesource.com/c/1387191 Reviewed-by: Luke Halliwell <halliwell@chromium.org> Reviewed-by: Xiaohan Wang <xhwang@chromium.org> Commit-Queue: Chad Duffin <chadduffin@chromium.org> Cr-Commit-Position: refs/heads/master@{#620076}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .