There was a subtle interaction between Widevine's libraries and MediaCodec
mode. Widevine's code assumed (erroneously) that video seeks would always
happen before audio seeks, and because we can't seek audio and video
independently from each other, we would ignore audio seeks but respect video
seeks. This led to a problem since MediaCodec mode calls seeks in arbitrary
order.
Fix is to always respect the first request we get to seek and ignore the
second.
Bug: 6793514
Change-Id: Ic9ec60e0e0f606c7a0de6283dd4c30318eebdbad
Error code from the plugin is not propagated from WVMExtractorImpl.cpp to the MediaPlayer.
The two APIs addresses this issue and provide a path for the player to retrieve the last error.
Change-Id: I60040eaf2d396379eecca46bfe333c44a39c35ec
related-to-bug: 7073630
The property ro.com.widevine.cachesize may be set on a device to override the
default stream buffer cache size.
related-to-bug: 6819880
Change-Id: I27da154e38289c5d1f5f2f5f424202253d0721cc
Includes Widevine libraries Version 4.5.0.7809
Also fixed samplePlayer's MediaCodec mode not running and
WVDrmInfoRequestStatusKey returning incorrect value.
Change-Id: Ibcc6d313790670a908ada93be80d6bf55a67b4ed
related-to-bug: 6929628
related-to-bug: 6833718
related-to-bug: 6889322
This change alters the way that the media player
interacts with the Widevine adaptive streaming buffer
logic. It eliminates the reliance on cached buffer
duration to determine pause/play states and instead
only generates buffering events when the widevine
library is not producing data (i.e. when it is
buffering). This eliminates unnecessary pause and
rebuffer cycles, reducing startup time and the
frequency and duration of spinners.
Multi-repo commit, depends on related changes in frameworks/av
Change-Id: I5b71f954268fbd390eed7f27db98a1bb470d5cfb
related-to-bug:6503294
related-to-bug:6463780
The function WVMExtractorImpl::getCachedDurationUs returns the cached buffer
size in microseconds, and sets a status to ERROR_END_OF_STREAM at the end of
the movie. The AwesomePlayer will pause if the cache is too small and the
status is not EOS. In bug 6277231, the player would pause just before the EOS
marker would have been seen by the Widevine library.
This change checks the current play time against the total movie duration. If
there is less than 10 seconds left in the movie, the EOS flag is set.
related-to-bug: 6277231
Change-Id: I8dbf60c82c41df485185f85e72452aab0a6a9686
This change resolves a lifetime issue between the media extractor
and media sources. The extractor was being passed as a context
object to a callout in the WV libs. In some cases, a pointer to
the extractor would be delivered to the callout after the extractor
had been released. This change assigns the responsibility of the
lifetime of the context object to the media source, to ensure that
a ref is always held on the context object during the lifetime of
the media source.
Change-Id: Ic7a57a1c8496a4798fe590ec356b8a19a4f69967
related-to-bug: 6502322
DO NOT MERGE
Source and library changes to roll back to 4.5.0, including
maintaining the DRM HAL support.
Includes Widevine libraries 4.5.0-7111
Change-Id: I420c6990748e95ad7516ecb2397ebf7707a157f4
related-to-bug: 6492434
This change applies to the wv extractor when used in conjunction
with new MediaCodec model.
Change-Id: I999990ff41d35641110a58472f1cdb8c4c7db02e
related-to-bug: 5986621
Allows the WV extractor to run in a mode that is compatible with
the DRM CryptoPlugin HAL API, where decryption is deferred
until the encrypted data is sent through the CryptoPlugin to
the codec.
This patch does:
(1) Adds a flag mCryptoPluginMode that controls this behavior
[Note: need framework support to enable/disable this]
(2) Accumulates information in track metadata to delineate
crypto unit boundaries for the CryptoPlugin
related-to-bug: 5986621
Change-Id: I3318d5cde38c7b02a7bdb56aca9aece852c9781c
Upload for Dave Parsons
6.0.0 Widevine libraries contain the features required
to support multiple audio tracks and subtitles. This
is establishing the baseline for those features.
Change-Id: If12074bb2e4364c8107339e2f69453c40698e91f
related-to-bug: 5880566
Multi-repository change. See also update to MediaErrors.h in
a separate CL.
related-to-bug: 5883949
Change-Id: I505486a86a87b690aa13f813f4b88edd386382ce
Attribute traffic on socket descriptors to UID of videos app
Multi-repository commit, see also changes in frameworks/base/media.
Includes Widevine library version 4.5.0.6153
Change-Id: I5ddf1b7b758edc82d48a788fc30616d90cab4bd0
related-to-bug: 5434244
Further optimization may be done to further speed up a drm content playback session
related-to-bug: 5725548
Change-Id: Ife69deaf5d2d70bba812fe1a48d9268d8e9530f7
We need to do this because with this patch, SHA/MD5 module may get stuck and cause power consumption regression.
This reverts commit 95d4dc7776.
related-to-bug: 5739618
Add a Widevine-specific format sniffer to avoid having to
refetch data from the remote server.
related-to-bug: 5725548
Change-Id: I622e39930f8d243111e4731557b0df17c4e2651d
Supports either secure or insecure buffer configurations, depending
on the build-time flag REQUIRE_SECURE_BUFFERS.
Change-Id: I5b8150315eced4ed9be656b73d91485a6216819d
* commit '8c5545ef76f39094b016986c7deec02df682356d':
Fix for b/4198446 HC - Support for Widevine Adaptive VOD Fix for b/4075745 libWVStreamControlAPI crashes when dlopened() and dlclosed() Added error logging to diagnose problems such as b/4430078 Playback of newly rented movie fails with "license expired"
Fix for b/4075745 libWVStreamControlAPI crashes when dlopened() and dlclosed()
Added error logging to diagnose problems such as b/4430078 Playback of newly rented
movie fails with "license expired"
Includes Widevine library build Version 4.5.0.3682
Change-Id: I5708bb3fb92f05a3dd1768620157a795ccebd57a
* commit '3d18aaa20712642aecb21c2df818b194ab43abe1':
Fix for b/4380963 Log spam from widevine drm on I/O error WVMFileSource: mDataSource-readAt returned error -1004
Added some missing parameters to the heartbeat message, found in end-to-end
testing with youtube. Also enabled heartbeats on client builds.
Change-Id: I445fb0cb168e63a041f0ecf828eaad493143a648
This patch fixs a crash bug caused by using a NULL DecryptHandle pointer in the DRM Framework.
Fix by using sp<DecryptHandle> instead.
Change-Id: I1355d4719857ab64ad6cd12803fcf19e45bb50a0