Commit Graph

18 Commits

Author SHA1 Message Date
John "Juce" Bruce
2e0e32f9f7 When Running in MediaCodec Mode, Widevine Freezes If You Rewind
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
2012-09-17 15:54:42 -07:00
Edwin Wong
e9f5431e78 Revert Widevine 6.0.0 -> 4.5.0 libraries
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
2012-08-03 13:33:58 -07:00
Jeff Tinker
e01879128b am 1024b041: Part of fix for double spins & faster startup
* commit '1024b041e824bb6eb232971fc4a2984d63f7e079':
  Part of fix for double spins & faster startup
2012-06-01 11:25:55 -07:00
Jeff Tinker
1024b041e8 Part of fix for double spins & faster startup
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
2012-05-31 23:26:14 -07:00
Fred Gylys-Colwell
5b88678ad7 am b83e7ca1: Merge "Fix pause at end of movie." into jb-dev
* commit 'b83e7ca14ab7241c1bbfb50dd6d97edf160f2b74':
  Fix pause at end of movie.
2012-05-31 16:38:21 -07:00
Fred Gylys-Colwell
0b7d0f3fe3 Fix pause at end of movie.
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
2012-05-31 16:01:42 -07:00
Jeff Tinker
5658b8dc13 resolved conflicts for merge of 98c35aa4 to master
Change-Id: I32de004b575729f9b1852517ad5df71395e0ae69
2012-05-18 05:17:44 -07:00
Jeff Tinker
e9c40a625c Fix native fault in WVMMediaSource::DecryptCallback
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
2012-05-16 19:08:25 -07:00
Jeff Tinker
35064be9c6 Revert Widevine 6.0.0 -> 4.5.0 libraries
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
2012-05-14 15:06:13 -07:00
Jeff Tinker
ec2d703970 Fix ERROR_IO due to timeout on video stream and corrupt samples
This change applies to the wv extractor when used in conjunction
with new MediaCodec model.

Change-Id: I999990ff41d35641110a58472f1cdb8c4c7db02e
related-to-bug: 5986621
2012-05-01 13:10:42 -07:00
Jeff Tinker
a9f82e979f Add CryptoPluginMode to WV extractor
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
2012-04-26 14:50:28 -07:00
Jeff Tinker
462dc030f8 Upgrade of Widevine libraries from 4.5.0 to 6.0.0
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
2012-04-05 15:49:32 -07:00
Jeff Tinker
c3949b1967 Changed license headers from AOSP to Google copyright
Change-Id: I3587e290cf49755e06354118fbf877d189508ce8
related-to-bug: 5833045
2012-01-24 15:27:50 -08:00
Jeffrey Tinker
f5fa8f2017 Changes for calling the level 1 decrypt callout
Change-Id: Iccf76b59a64491952ee11ee2ed1a0e707a529f88
2011-10-07 19:25:20 -07:00
Jeff Tinker
ba335957e9 Widevine extractor changes to support secure media buffer playback.
Supports either secure or insecure buffer configurations, depending
on the build-time flag REQUIRE_SECURE_BUFFERS.

Change-Id: I5b8150315eced4ed9be656b73d91485a6216819d
2011-06-30 15:47:43 -07:00
Jeffrey Tinker
66d9ff5fb5 Fix for 4198445 HC - Support for Widevine Live Streaming (adaptive)
Change-Id: Id3a8a997fb1186c6af6e94f2fc2d4788238a0452
2011-05-26 11:25:05 -07:00
Jeffrey Tinker
3a1e0f3768 Integration with moto secure keybox storage and add obfuscation of security-related symbols (3513413, 4083757). Also 3481645 - log spam and 3302187 - error handling
Change-Id: Ic11ed7ad57717e88b6f0f2991d8bbb9e1251d546
2011-03-11 14:10:43 -08:00
Gloria Wang
0f9922ff77 Move all Widevine code which have dependency on vendor modules from framework/base to vendor/widevine
Change-Id: I2b43e90c279391436f1bbb18ebd64961bec4f9ee
2011-02-18 22:52:12 -08:00