Descriptionmedia: Support unprefixed EME API on Android.
Detailed changes:
1. Supports latest MediaKeys API in ProxyMediaKeys, RendererCdmManager, IPC,
BrowserCdmManager, BrowserCdm and MediaDrmBridge (C++ and Java), including:
- Support new API: CreateSessionAndGenerateRequest, CloseSession, etc.
- Support new events: SessionKeysChange and SessionExpirationUpdate.
- Remove old events: SessionCreated and SessionReady.
- Remove old integer session ID.
- Fully support promises.
2. BrowserCdm inherits MediaKeys. As a result, MediaDrmBridge is also a
MediaKeys. This will make it easy to use MediaDrmBridge in other places, e.g.
in MojoCdmService.
3. MediaDrmBridge Java class refactored to accomodate these changes.
Notes:
1. MeidaDrm doesn't support key status. A dummy key ID is used to report key
status change.
2. MediaDrm doesn't support expiration time.
3. Persistent session is not supported; ProxyMediaKeys rejects LoadSession() and
RemoveSession() right away.
4. Promises are converted to promise ID in ProxyMediaKeys and MediaDrmBridge so
that we can pass it over IPC and JNI.
BUG=442584
TEST=Prefixed API test pages work. Need to test unprefixed API.
Committed: https://crrev.com/d7e021d86cd234f8eb2d48e99f82042b92b1b5c2
Cr-Commit-Position: refs/heads/master@{#312348}
Patch Set 1 #
Total comments: 25
Patch Set 2 : Rebase and address comments. #
Total comments: 24
Patch Set 3 : kMaxSessionIdLength #Patch Set 4 : Use kMaxWebSessionIdLength for now; will batch rename "WebSessionId" later. #Patch Set 5 : Addressed comments from qinmin and ddorwin. #Patch Set 6 : jrummell's comments addressed #
Total comments: 12
Patch Set 7 : comments addressed #Patch Set 8 : comment addressed #
Total comments: 1
Patch Set 9 : rebase only #
Total comments: 5
Messages
Total messages: 36 (5 generated)
|