To make the information readily accessible for vendors who have signed the IDA
and to better sync the doc to our code base.
Access to /vendor/widevine is controlled and vendors need to sign the IDA.
bug: 14228621
Change-Id: I3aaa2574d99c0123cb5e0fe0f093763a973aefaf
Fix crash in WV_Teardown() causes by deleting shared output parser object.
We used to have a single output parser object and a single memory chunk object
that are shared by multiple sessions. When we delete the output parser, another
session may still be using it. The deletion causes a native crash intermittently.
The fix addresses these two issues: i)output parser object is now created per
session, and ii)add reference count to keep track of the single memory chunk
object use so we do not delet it while other sessions are still using it.
Merge of https://widevine-internal-review.googlesource.com/#/c/9253/ and
https://widevine-internal-review.googlesource.com/#/c/9271/ from widevine repo
RC/4.5.0/601_AndroidOS_K branch.
Change-Id: I7ce467a514904c9087f0da5cea74e4b85fcac1b3
related-to-bug: 13208359
Fix crash in WV_Teardown() causes by deleting shared output parser object.
We used to have a single output parser object and a single memory chunk object
that are shared by multiple sessions. When we delete the output parser, another
session may still be using it. The deletion causes a native crash intermittently.
The fix addresses these two issues: i)output parser object is now created per
session, and ii)add reference count to keep track of the single memory chunk
object use so we do not delet it while other sessions are still using it.
Merge of https://widevine-internal-review.googlesource.com/#/c/9253/ and
https://widevine-internal-review.googlesource.com/#/c/9271/ from widevine repo
RC/4.5.0/601_AndroidOS_K branch.
Change-Id: I6426b544a6d0c264ec91a89e92153862b87607f3
related-to-bug: 13208359
Some make and model information was not being reported correctly to the
license server. "HTC One X+" was encoded as "HTC+One+X+" instead of
"HTC+One+X%2B", which when decoded becomes "HTC One X ". Make and model
information is now correctly url encoded.
Merge of https://widevine-internal-review.googlesource.com/#/c/9240/
from the widevine repo.
b/12722013
Change-Id: I987691c850648f92b408f8749327ff43b13b43a7
Support builds for multiple architectures the same time:
Use LOCAL_MODULE_TARGET_ARCH to restrict building to specific arches
Use LOCAL_C_INCLUDES_x86 to set the include path for only x86 builds
Change-Id: I7c33c27f1c9bfb6e3318a07514698992482f6cd7
Change to add "throws IOException" to android.media.MediaCodec
(createByCodecName|createDecoderByType|createEncoderByType). The exception was
previously thrown through the native JNI, but not explicitly declared.
Requires changes to existing code for declaration compatibility.
Bug: 11364276
Change-Id: I6487408709342b390bac2b935f4642d4aaf36102
Signed-off-by: Andy Hung <hunga@google.com>
Contains the following, BC-Triaged fixes:
Bug: 8767242
Media player error -1010 on playback
Bug: 8342523
Android Media player is able to play WVM content if license is
already acquired
Change-Id: I3ee7863a5bf214fb8c4e4aefdd05f5062d568617
Some OEMCrypto calls are happening before OEMCrypto_Initialize.
This change moves initialization earlier so it occurs before
any other calls to OEMCrypto.
bug: 10582250
Change-Id: Ic8992e8f0738dbfeb10074a4e1543bb9931a49d5
This updates the Widevine Classic libraries to version 4.5.0.10107.
This version backports the bugfix for the IPv6 issue from JB-MR2.
Also, the Widevine build system has been updated to support all six
flavors. (2 security levels x 3 instruction sets)
This change adds x86 L1 binaries and MIPS L3 binaries, as these have
been validated by partners.
Bug: 10246711
Change-Id: Ic0cf32ffd82fc8dacced84cecdee059afa1049ca
This updates the Widevine Classic libraries to version 4.5.0.10107.
This version has identical functionality to the previous version,
however the version number has changed because the Widevine build
system has been updated to support all six flavors. (2 security
levels x 3 instruction sets)
This change adds x86 L1 binaries and MIPS L3 binaries, as these have
been validated by partners.
Bug: 10246711
Change-Id: Ie14e48aec33b0cc5d63752e24ba88284c6e37aa9
Make getBufferPercentage() and getPosition() work when the
media is reset.
Change-Id: I7d696fd9b5c62b42aa0d29348e73f1f5755eb075
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9516405
When stopping media, getBufferPercentage() and getPosition() may
still be called by MediaController, unless we disable it.
Change-Id: I947fbfb2de724bdcb3121ca9fb204c8bea2a84b2
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 9516405
When the video packets are clear, they are being
combined into a full frame between MediaExtractor or
DecryptCallback (where packets are never > 64k) and
MediaCrypto/DecryptVideo (where we are seeing clear
packets > 64k).
The max block size to be passed to DecryptVideo is
specified as 64K, handling of packets larger than 64K
is undefined and OEM implementation-dependent. In the
Nexus 10 case, it generates a SEG. fault.
Solution:
Add mClearSizes vector to keep track of each clear
packet size for android_media_MediaExtractor_getSampleCryptoInfo()
to process.
In android_media_MediaExtractor_getSampleCryptoInfo(), if it
does not see kKeyEncryptedSizes meta data, it will not
process the clear vector that contains the actual packet
sizes. Add a kKeyEncryptedSizes meta data that contains a zero
length size packet to trick the JNI code to process the
clear packets.
related-to-bug: 9261447
Change-Id: Ib0b655a95e099856babaf649f4a95fc7f9c17d41
Only the first 64K of the movie is pulled when sniffing,
if the widevine version metadata is not present in the
sniff buffer then a "format unsupported" error would occur.
This change increases the sniff buffer size to 128K.
bug: 9351294
Change-Id: If162cbea6915bf2b70122afd30e556e9206e8e43
Because the Widevine Sample Play is frequently used to report bugs, it is
helpful to have users' actions logged. This change prints to the android log
whenever the user changes settings, clicks play, full screen, acquire rights,
etc.
This code does not change the build and is not delivered to customers. It is
delivered to vendors.
Change-Id: I62c34c2f1683af881a3c326a48f039b463ca3e8e
This change updates the Widevine binary libraries.
It includes the change:
Turn on IPv6 Compatibility.
https://widevine-internal-review.googlesource.com/2242
bug: 7471810
Change-Id: I09beacb7853435f21c263e226a3dcaff74afbd2b
This change updates the Widevine binary libraries.
It includes the change:
Correct error returned by ProcessDrmInfo
https://widevine-internal-review.googlesource.com/#/c/1870/
bug:7320744
Change-Id: Ic73a5dfa70140093224e9ce651947b224bdeccb9
The solution previously checked in as 2e0e3 is re-introduced here. However,
the MediaCodec-compatible heuristic is not used unless WVM is in Crypto Plugin
(i.e. Media Codec) mode.
To repeat from last time: The problem here is that WVM cannot independently
seek the audio and video read heads, but the API assumes it can. WVM does the
right thing for AwesomePlayer-based playback (essentially ignoring audio
seeks) but the wrong thing for MediaCodec-based playback. For MediaCodec
mode, we should respect the first seek we get for a given destination and
ignore the second.
In this part, the new heuristic is reintroduced, but the old heuristic is
maintained for use in non-Crypto Plugin mode.
Bug: 6793514
Change-Id: I7ced2bf20af117a57eec27490b0920d906a8a684
This reverts commit 4bdfcc990b
This change was causing some deadlock problems.
bug: 7144860
bug: 7132419
Change-Id: I6a45459b0be024c8c36ccca3b2e2d304ddd94ee9
Change 14f0d to read the maximum buffer size from a device property did not
work correctly on Mako and Prime devices, as they did not have the property
set, and the code to fall back to a default value was not working. An empty
string would be read instead of the default value, resulting in a maximum of
zero. Because Widevine Media Kit would then subtract a few megabytes from this,
it would underflow, giving a maximum buffer size of several gigabytes. This
would lead to the download code trying to pre-buffer the entire, many-gigabyte
movie. As the media server's memory usage grew and grew, other programs would
become starved for memory, leading to most other processes on the phone being
forced to close. Eventually, the playback app, the media server, or some other
crucial piece of functionality would be starved, resulting in a crash.
The fix is to fix how we get the default, so that when the property is not
available, we get a sensible result. We check the return value of property_get.
If it is greater than zero, the property was read successfully, and we parse
the answer. If it is equal to (or less than) zero, we fall back to the default
value.
Bug: 7222769
Change-Id: Ie6186a0533036ab8fa45b1e467611d55f7c345ac
This change updates the Widevine binary libraries.
It includes the change:
Corrected error returned on timeout
https://widevine-internal-review.googlesource.com/1617
b/6758866
Change-Id: I81ac5d14823499b83a237406e7c5d345a15f6434
Reintroduces the play/pause rebuffering logic we eliminated
in JB zero day to fix double spins and slow startup - but
activates that logic only based on a comparison of the
current bandwidth measurement and the lowest bitrate track
in the movie.
Needs to be submitted with related changes in /frameworks/av
bug: 7230071
Change-Id: Ib3859a961bd3901a9c4df01eeab2b8b75f49aefe
This change updates the Widevine binary libraries.
It includes the change:
https://widevine-internal-review.googlesource.com/1400
Cleaned Up Locks and Removed Pause/Resume
bug: 6799914
Change-Id: I5e266e4d8bdc92e88e488d90aa5312ac740303b0
The FATAL EXCEPTION is caused by the decrypt function returning -EINVAL
when OEMCrypto decrypt returns an error. The fix is not to call
OEMCrypto decrypt when eos is reached.
related-to-bug: 7216928
related-to-bug: 7217609
Change-Id: I8f006905386e2cdfb907d4ab15c766ae69f20f00
Signed-off-by: Iliyan Malchev <malchev@google.com>
This allows a DRM client to open a locally-cached file on behalf of the
DRM server so the DRM server no longer requires the sdcard_r permission
to access the file's metadata. Specifically, this adds an optional
attribute FileDescriptorKey to the DrmInfoRequest.
This change is dependent on this Widevine CL:
https://widevine-internal-review.googlesource.com/#/c/1330/
Relevant bug reports:
bug: 6426185
Change-Id: Ia7bcb2455c7a55fa4c7c7061de4d672957c7ac0a