Files
android/libwvdrmengine
Srujan Gaddam 13b5c48512 Fix handling of INSUFFICIENT_RESOURCES in LoadEntry
Bug: b/121214641
Merge of http://go/wvgerrit/69703
Test: Android + Linux unit tests

LoadEntry attempts to handle INSUFFICIENT_RESOURCES by deleting an entry
and retrying, but it's possible that the randomly-generated number of
the entry to be deleted might match the entry we want to load. In this
case, we have wasted a retry, since the code just continues on to the
next iteration. This is changed to generate a number different from the
entry to load. Furthermore, if the number of usage entries is 1, we
break since there are no more entries to delete besides the one we want
to load. The code is also changed to call srand in the creation of the
usage_table_header, since without it, rand() would produce the same
values, and similarly, our random generation is changed to use a simple
mod. Tests are modified to reflect these changes.

Change-Id: I95e125b8adbd85d0189f9d40ca15f3fe69e6d6b9
2019-01-11 11:39:54 -08:00
..
2019-01-07 10:14:25 -08:00
2019-01-07 10:14:25 -08:00
2019-01-08 16:37:04 +00:00
2018-04-16 16:38:05 -07:00
2018-12-13 11:56:02 -08:00
2018-11-22 00:33:30 +00:00

This is the source code for the Widevine Content Decryption Module (CDM) for the
Android OS.  It provides the libwvdrmengine plugin for DRM.

Partners who are integrating a device should be familiar with the documents in
the docs directory.

This source code is NOT open source, and is not part of AOSP.  However, it is
released to partners external to Google after official Android releases.  For
this reason, partners should look for bug fixes and software updates on the
widevine branches:

+------------------------------+------------------------------+
|Android Version               |Branch                        |
+------------------------------+------------------------------+
|Android L                     |lmp-mr1-widevine-release      |
+------------------------------+------------------------------+
|Android M MR1                 |mnc-mr1-widevine-release      |
+------------------------------+------------------------------+
|Android N MR2                 |nyc-mr2-widevine-release      |
+------------------------------+------------------------------+
|Android OC                    |oc-widevine-release           |
+------------------------------+------------------------------+
|Android OC MR1                |oc-mr1-widevine-release       |
+------------------------------+------------------------------+
|Android Pi                    |pi-widevine-release           |
+------------------------------+------------------------------+