History log of /frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
14532f2383c3849d0db59a607ed0bd802f57155c 29-Dec-2015 Wei Jia <wjia@google.com> MediaPlayer: overhaul buffering monitor scheme.

GenericSource: buffering monitor runs on a separate looper since readBuffer()
call can be blocked for long time.
When paused, dequeueAccess() returns -EWOULDBLOCK.
For audio offload, take into account cached data in downstream components.
NuPlayerDecoderPassThrough: flush out aggregate buffer when source doesn't have
data available.

Bug: 24295007
Change-Id: I535a438d96ee902c9b4baa7c84ed7e5063a23964
(cherry picked from commit 32ce83cf93e4eb14c9937e4b850e044f9f7fdf2c)
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
b2487f03f12dcafdb801fc0007c8df8412397f44 01-Sep-2015 Marco Nelissen <marcone@google.com> Extractor service

Run extractors in a separate process. Currently all data is copied through a
binder transaction, and WVMExtractor is still run in the mediaserver process.

Change-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
b06a77e2968ec5cf5d116f7cd633afc1fe065ae6 09-Sep-2015 Marco Nelissen <marcone@google.com> Merge "Make NuPlayer send global timed text info too"
55e2f4ca5bb23ce32fbdd627b0f648c27106b98e 05-Sep-2015 Marco Nelissen <marcone@google.com> Make NuPlayer send global timed text info too

For feature parity with AwesomePlayer. Also add a small hack to
AwesomePlayer to make timed text track selection work again, so
the timed text CTS test can run with both AwesomePlayer and NuPlayer

Change-Id: I1be451c4b3191cae65bc46b3b721a1924b4fadc8
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
ebc2712d5e8a66f8d6652e7cc7fb14cdbec7f235 02-Sep-2015 Robert Shih <robertshih@google.com> Protect data source access with mutex during disconnect

Bug: 23658148
Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
02cb98d726b97d8e6dbb9c6c60d32a3cedc7f82d 27-May-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: get isStreaming info from source.

Bug: 19061436
Change-Id: I0fc0d6207b0d3297d64aadab3e81448e3f3fa1de
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
8f291bc99e92015ebb959654a73c87e98bd46958 19-May-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: queue discontinuity when seek to eos.

Bug: 19063416
Change-Id: I23d1a3788006a0d68effa01fe9ee1d92fe06739c
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
99f31604136d66ae10e20669fb6b5716f342bde0 20-Mar-2015 Chris Watkins <watk@google.com> Unhide the android.media.[Media]DataSource interface.

This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.

MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)

Only NuPlayer supports this new data source.

The change introduces:
* IDataSource: The binder interface for DataSource.
* JMediaDataSource: The native counterpart to the java interface. It
implements IDataSource.
* CallbackDataSource: A stagefright DataSource that wraps an
IDataSource.

Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
fcd3e94c075e964670d946f6ec5d82d059bf9e09 31-Mar-2015 Lajos Molnar <lajos@google.com> mediaplayer: ensure secure decoders are instantiated before starting source

Bug: 19984798
Change-Id: Iff13cf03c4ce3141380f4d7ab4a2b1045c5ce747
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
c287cad65bd0c7a79e43f4decc5e04593027a7c8 20-Feb-2015 Chong Zhang <chz@google.com> nuplayer: remove prefill cache code

it's only needed if we post Reset to GenericSource's looper, but
we now do reset outside NuPlayer or GenericSource's looper.

also don't allow buffering percentage to go backward unless
there's seek or pause.

Change-Id: I1a39df4bc0a685f76d8558c368db1bac92b490c2
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
efbb61950db36a5eb789be83f077246172507c67 31-Jan-2015 Chong Zhang <chz@google.com> NuPlayer: pause playback when buffering is low

also fix buffering percentage report (should be the buffered position)

bug: 18730095
Change-Id: I11e7ca4ba9e772a1ae76861ca1ff1725b62f65ae
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
80c57d570238f9f213ccfe818e285090daeafd63 06-Dec-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition." into lmp-mr1-dev
474d7c778b63aa33dcf25a92e23a52c1c47f0ac1 05-Dec-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition.

NuPlayerDecoder: Notify resume is done when EOS is reached.

GenericSource: add code to signal pre-roll for seek so that it will seek to the requested position,
not only I-frame. This code is disabled temporarily till we have a full solution to handle both
single seek and continous seek gracefully.

Bug: 18625723
Change-Id: I99a54d4d549e0d805e3abcc227fbf96c16405af0
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
42e8153cf7271b572e4a94ade332b68521977f36 01-Dec-2014 Chong Zhang <chz@google.com> fixes for non-secure widevine playback

- separate secure decoding from widevine

- use non-blocking mode when reading from widevine source

- schedule buffer read when packet source is empty

bug: 18536934
Change-Id: I65a8e5e819975ca6900ed8e887a442940f2d5d38
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
6ffb1fd67eb8f00f130a6db914ba42a8432aec70 30-Oct-2014 Robert Shih <robertshih@google.com> NuPlayer: pass media time to selectTrack for responsiveness

Bug: 18020001
Change-Id: Id50f8473992f39d8c0aa86a1fabb2601093d2572
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
5c67ddcf987b1f07c9abc1d051a0c051e7c73ff7 05-Nov-2014 Robert Shih <robertshih@google.com> GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs

Bug: 18296874
Change-Id: I9608523b4cc37e6cf8b91fb1407035aac087796b
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
d8b03abf1d003e2940a19f0071ea2892689dd10e 02-Oct-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Fix flush mode decoder error handling" into lmp-dev
2abde2c118a94f843a7450818c925d3f0b673cd3 30-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: Fix flush mode decoder error handling

Explicitly handle each flush mode upon decoder error.
Do not clear out affected decoder immediately.
Alter logcat messages for better diagnostics.

Bug: 17638878
Bug: 17679341
Change-Id: I219796c04d65d7c4dd61c0d4f99f9f580241a68b
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee 29-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: support disconnect before NuCachedSource2 is created

Bug: 17672488
Change-Id: I96776c9679fdcfbe9a442c86447c59802b1465ac
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
866e028bbe30b1ba0b9d8903c88bbe8525b81a37 18-Sep-2014 Marco Nelissen <marcone@google.com> Merge "Add support for ANDROID_LOOP to NuPlayer" into lmp-dev
f0b72b509ab1147a2a0925aced970dd68fd7fa4f 17-Sep-2014 Marco Nelissen <marcone@google.com> Add support for ANDROID_LOOP to NuPlayer

Bug: 17518139
Change-Id: I9355ddd4c998d967013dd8bd32d670a9a83dea31
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
48296b792a8d68358de74141fa80bd5bd84d0307 14-Sep-2014 Chong Zhang <chz@google.com> Disconnect HTTP-based data source upon reset

Bug: 17425250

Change-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
84f5278a36f2816cc38f64307b4a1ad8a6818507 11-Sep-2014 Lajos Molnar <lajos@google.com> avoid kWhatReadBuffer message spam in GenericSource

When playig WVM video, an extra readBuffer is posted for each
dequeueAccessUnit, resulting in an unbounded number of messages.

Bug: 17472979
Change-Id: Ice92ccf2454bf7a70856a4a8b535cefffc9e61ac
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
17f6dd64cd749f4e38e12b672b551047f4cbe9b4 21-Aug-2014 Robert Shih <robertshih@google.com> GenericSource: refactor track selection for dedicated looper

- move getFormatMeta, getSelectedTrack, selectTrack, and seekTo to
dedicated looper
- start & dequeueAccessUnit posts readBuffer requests instead of reading
directly
- call internal doGetFormatMeta in onPrepareAsync

Bug: 16892748
Change-Id: I5d5e34381f1dfceca655c52a201627b53454ad22
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
802768790c131f8237364906fd13981a6bb91193 29-Aug-2014 Ronghua Wu <ronghuawu@google.com> GenericSource: set DRM playback status.

Bug: 17307158
Change-Id: I36b801a9b67831b618930cf1241756bb9644b4fd
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
2a3cc9a64330dd36e466fe5e1b634146f2d641c1 22-Aug-2014 Chong Zhang <chz@google.com> add buffering update to GenericSource

Bug: 17182378

Change-Id: Ib86f3f522d7ea635489edd2b512adb7f4b27e381
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
d354d8d1b09503c0166c1f3e626cda72a3eeb83c 20-Aug-2014 Chong Zhang <chz@google.com> move cache prefill to GenericSource's message handler

This allows prepareAsync to be terminated by reset promptly.

It also makes it easier to do buffer update as GenericSource
can access the cache status now.

Bug: 16892748
Bug: 17182378

Change-Id: Ia55c04a810fd805041cb2025f6739afa5120b5ed
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
1228d6b175de8b21787cbe0c6c4bb5642f4d555e 13-Aug-2014 Chong Zhang <chz@google.com> use dedicated looper for GenericSource

- handle setVideoSurface in deferred action, and return
to client immediately

- handle GenericSource's prepareAsync on its own looper,
instead of sharing looper with NuPlayer

- let HTTPLiveSource share looper with LiveSession, instead
of NuPlayer

- remove reflector in RTSPSource

Bug: 16892748
Change-Id: I1aed557320052012065f5a90adbcb03c238da988
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
bf9b95d712a24b654761cb9fea0d94d383cfc661 08-Aug-2014 Chong Zhang <chz@google.com> delay data source creation for GenericSource prepare time

Bug: 16708180

Change-Id: I9d578ef5e2edaed50279d28d3831c68556468f39
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
3de157dd8f9cd45bf9b0406268f5830887105ae1 06-Aug-2014 Chong Zhang <chz@google.com> some fixes for crash when extractor creation fails

- prefetch data for sniffing

- notify error instead of crashing if extractor is NULL

Bug: 16818302

Change-Id: I56ff4996d99ac2811d19d141f7ff7acdd7c1da17
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
e26940f11c3f2040bced09f06a8f374b50c985fb 31-Jul-2014 Lajos Molnar <lajos@google.com> GenericSource: timed text support

Bug: 16385674
Change-Id: Ib322cc13488dcadf2409921272cd469304b0af37
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
3423bbdb05f843a64356fa24e8657f03ecbb7d65 17-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: support track (de)selection

Bug: 15153976

Change-Id: Idfce856b4ca5fa7853da857757490798bc3ffe1e
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
cb48eacb6f8857c7857bb28d6a13d4a0d417f2bd 30-Jul-2014 Wei Jia <wjia@google.com> Revert GenericSource track selection changes

This reverts commit bace25b0fbcd5101d2db288b0c70c4a239f0e815.
This reverts commit eb1735e343a93830df259ae8882160bb0d79dcb5.
This reverts commit 05312bc7478feec11d9ae88e951c0857a7a3f28d.

Bug: 16660839
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
eb1735e343a93830df259ae8882160bb0d79dcb5 24-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: timed text support

Bug: 16385674
Change-Id: I954cc463b55af4b93c6a6e714115db4fda729dc8
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
05312bc7478feec11d9ae88e951c0857a7a3f28d 17-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: support track (de)selection

Bug: 15153976
Change-Id: I522b1f9f0ffedf4edbea03a6654a6dbc0262860a
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
cc227036b05f7c2f960a89c567a61f9decefe742 18-Jul-2014 Lajos Molnar <lajos@google.com> nuplayer: add widevine support to GenericSource

Bug: 15699665
Change-Id: Ided823bd0b1118bbabb288cf62d6389518f820a9
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
dd235727a1b4e283deeb581559f99c2c8889da07 12-Jun-2014 Robert Shih <robertshih@google.com> GenericSource: implement getTrackCount/getTrackInfo

Bug: 15153976
Change-Id: I0204c4188d485cda026497469c7cde24f7bd5c95
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
81e68448f3361eaf8618930471fdc3c21bdf5cbc 05-Feb-2014 Andreas Huber <andih@google.com> Remove no longer needed http proxy handling code, it's obsolete now

since we started to use java's HTTPConnection instead of the native
implementation. Also remove other remnants of the previous http implementation,
such as accounting for the http user's uid.

Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
1b86fe063badb5f28c467ade39be0f4008688947 29-Jan-2014 Andreas Huber <andih@google.com> FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code

Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
9575c96b6e418914e2ffc6741ecc8d71e3968dbe 05-Feb-2013 Andreas Huber <andih@google.com> Support for a "preparation" state that can take care of lengthy

operations in NuPlayer and its sources. Sources also can publish their
flags now and the mediaplayer UI will be able to pick up on these.

Change-Id: I4f2b7e5d105dcb4b6c9132cd0e8799efa0c6a14b
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
b5f25f005bc1d3ae35f45b58c88345e183dc336d 05-Feb-2013 Andreas Huber <andih@google.com> Groundwork to support bidirectional, asynchronous communication

between NuPlayer and its sources.

Change-Id: I1989022d806206b926555add3aa5c1fcf37aa78d
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
b7c8e91880463ff4981e3e53e98e45d68e2fe374 28-Nov-2012 Andreas Huber <andih@google.com> Add support for HLS playlists of type 'event'.

related-to-bug: 6870049

Squashed commit of the following:

commit eee2f3ba6bb7335f4e285632726db85645669929
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 15:02:01 2012 -0800

Make everything a lot less verbose by default.

Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3

commit 6bbdb837ed5bd88008e45efb8faf595e4051ba26
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:34:46 2012 -0800

HLS now properly signals media time changes at discontinuities including

the start of playback (which may not necessarily be at time 0 if the playlist
is of type 'event' and hasn't completed yet).

Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e

commit 1555589832b1878a144a976a643e1af4d61f877c
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:32:28 2012 -0800

As part of a time discontinuity, clients of IStreamListener can now

signal the corresponding media time after the discontinuity, i.e. the first PTS
timestamp following the discontinuity will be considered equivalent to the
specified media time and media buffers timestamped accordingly.

Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92

commit 5c24c605c073a11c426d025b1e7478fc1ad8365a
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 13:00:56 2012 -0800

NuPlayer sources now expose flags() and can announce

that duration may change (increase) dynamically, in which case duration
will be polled at 1 second intervals and communicated to the upper layers.

Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea

commit ecb71de8e281e61971a2cd73e7161a97540bc357
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 12:57:47 2012 -0800

Stop caching duration in MediaPlayer, duration could increase dynamically.

Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791

commit 544aec5823e6d7a3e97e15b6b23546616bcd343e
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 08:46:28 2012 -0800

An attempt to add support for "event" style HLS playlists.

Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60

Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
840667883fd09d44015716d79bc3ac4d60edc0f0 16-Aug-2011 Andreas Huber <andih@google.com> experimental support for fragmented mp4 playback in nuplayer

cherry picked from change 170999

Change-Id: I407775f0290154ad4961134839a15c9f296424c0
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h
afed0e1fa37473a4cd30018577b560acc79d9a3f 21-Sep-2011 Andreas Huber <andih@google.com> Use NuPlayer for media playback everywhere

if media.stagefright.use-nuplayer is set to true.

Change-Id: Ibb217e7d7d5195b7feeea557554fe78e1585744c
/frameworks/av/media/libmediaplayerservice/nuplayer/GenericSource.h