History log of /frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
35d5af131c9d4962e935082f204ccd6a2130861c 28-Jan-2015 Weiyin Jiang <wjiang@codeaurora.org> nuplayer: acquire wakelock during offload pause timeout

Hold a wakelock while paused in audio offload mode, until audio
teardown event is received, or pause is canceled.

Since ARM cores are sleeping, the delayed AMessage will not be
received, and the audio output driver will not be closed.
This blocks XO shutdown.

Bug: 19297092
Change-Id: I3d11fef633e3f2783f4aa31e71285e2fa09d234c
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
231406d597cca1c9c009f870fbb62e46b8475186 27-Jan-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: return current real time as render time for video frame when paused.

This allows video to display immediately during seeking in paused state.
Also fix some racing condition.

Bug: 19153026
Change-Id: I0d7a8981ca3c121f5dbc430c2c6d8b7522edc24a
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
4d4ea7f7ca04cfe70ecf6f35658389f52ae6d3c1 16-Jan-2015 Chong Zhang <chz@google.com> Merge "do not use paused postition if it's not available" into lmp-mr1-dev
cec7febc48ff76b293ace0cc12a6288f13f72293 15-Jan-2015 Chong Zhang <chz@google.com> do not use paused postition if it's not available

bug: 18896133
bug: 18996505
Change-Id: I1e24fabe3fe8f2275b1ccc0df100cb2c4ba2264b
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
0d19abb440c7e62e944efbeadf02299990f9a589 23-Dec-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Do not recreate AudioTrack if not needed" into lmp-mr1-dev
f0e83644637bd05852c244df481f21a0d435ff66 20-Dec-2014 Andy Hung <hunga@google.com> NuPlayer: Do not recreate AudioTrack if not needed

On output format change from the decoder, check if a new audio
track is really needed. This prevents excessive track
creation/destruction during seeks.

Bug: 18817027
Change-Id: I4290dcb90cb35bc1303b025e162f6b813d49a05b
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
ad019236b9bc4a030c2740fd9cfdd0670b118d5c 19-Dec-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: reports paused position in paused state." into lmp-mr1-dev
d4cdba18ba7d0057ae54ec7efa5871b1a9d8beca 18-Dec-2014 Wei Jia <wjia@google.com> NuPlayer: reports paused position in paused state.

Bug: 18733773
Change-Id: I993a4bf108913ab98a0294d7dcf7605349f7029b
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3491232a7c0d953fa021f6a81baee64c44f364f3 19-Dec-2014 Andy Hung <hunga@google.com> NuPlayer: Fix failure to stop audio playback

Don't stop audio sink if gapless - it's not necessary and has
a side effect of resetting the AudioTrack frames written
without resetting the AudioSink frames written.

Bug: 18787619
Change-Id: I71063b9e3aad9a6dfd7d46ea614e107c815e4c57
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
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/NuPlayerRenderer.cpp
202bce11a7f66f27e6dbb6d154ddc123aa62513d 03-Dec-2014 Andy Hung <hunga@google.com> Fix NuPlayer assertion on failure to create AudioTrack

Under heavy media load or monkey/stress testing, more than
32 AudioTracks may be created or memory resources may be scarce.
Remove the assertion on failure to create AudioTrack
and signal MEDIA_ERROR.

Bug: 17319843
Change-Id: I5d4e200b5f50d800046851a33e035cdc6ff10075
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3a8d7d1064a665a8a348710c7d27b31642f7f624 21-Nov-2014 Chong Zhang <chz@google.com> Merge "tunnel NuPlayer source and decoder input" into lmp-mr1-dev
7137ec7e005a5a6e3c0edb91cfacf16a31f4bf6a 13-Nov-2014 Chong Zhang <chz@google.com> tunnel NuPlayer source and decoder input

Bug: 18342383

Change-Id: Ieff1cd3bad2b39d46f127ddd5d5139b919992461
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
7966142a096c1d5d7386a42eaccc9aed5b4344b3 20-Nov-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: invalid anchor time when render is flushed." into lmp-mr1-dev
f83408b41bbd796b7923d719e7e3799ddc7acaff 19-Nov-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: invalid anchor time when render is flushed.

Also rememeber the pause time in NuPlayerDriver.

Bug: 18436336
Change-Id: If09f680a0d0f9137bd55c5f94201eb3aa783278a
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
a10fd23bb9fcf16e778c639ea5638e2917dacd89 07-Nov-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: open audio sink in offload mode when resuming from timeout teardown.

Also always recheck if a new stream can do offload.

Bug: 18154425
Change-Id: I121877834bd963eeeba91a2b951fd30d5dc36a8b
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
6641004be544a394f3fca81f7213dd6e0668ff98 13-Nov-2014 Lajos Molnar <lajos@google.com> Merge "Revert "mediaplayer: make frame-accurate avsync configurable"" into lmp-mr1-dev
48cb6d7c840e695769405b0d33fd2b85479ec717 10-Nov-2014 Marco Nelissen <marcone@google.com> Merge "Fix short sound playback" into lmp-mr1-dev
e17afa888040eb5fbd31249305efd88ee03bb5bc 08-Nov-2014 Lajos Molnar <lajos@google.com> Revert "mediaplayer: make frame-accurate avsync configurable"

Reenable PTS scheduling for all playback.

This reverts commit 274084f7bfd3f6bdf5a55cf16ceefed345aa0060.

Bug: 18111837
Change-Id: Ia734ad304c1f85d2ac302261866be82b8f2a30d4
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
15ce5f35187659ad757ee2ea6f70dcef5010c2c2 05-Nov-2014 Marco Nelissen <marcone@google.com> Fix short sound playback

AudioTrack needs to be stopped, not paused, at the end of the file,
since otherwise the last bit of queued up audio will not be played.

Bug: 18188921
Change-Id: I038aad74a105e163963929c7002b55f377de1442
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
7011ee31d65917a9e15b271942e863f06eee2da1 30-Oct-2014 Eric Laurent <elaurent@google.com> Merge "NuPlayer: reduce offload pause teardown timeout." into lmp-mr1-dev
a5d316fd802cfc92954527f27e6f32206a896113 29-Oct-2014 Eric Laurent <elaurent@google.com> NuPlayer: reduce offload pause teardown timeout.

Waiting 60 seconds to teardown an offloaded path when paused
is not needed and causes unecessary battery drain.
10 seconds is enough to avaoid teardown when it would be
problematic (seek, pause for notifications, buffering...).

Bug: 13505340.
Change-Id: Ibcaa609b59e86ba2bc49539620bd77504d534c0c
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
d88c3cafb439367f2a245b625e0a74bcd785f099 28-Oct-2014 Eric Laurent <elaurent@google.com> fix deep buffer logic in NuPlayer.

Deep buffer output should be requested when there is
no video track, not when there is one.

Also make sure that the deep buffer flag is restored after
a failure to offload audio decoding.

Bug: 18114624.
Change-Id: If3c04c784bc20d77926993ee475fbf961aeba7ae
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
f592671336be0a061799033e47ceeacb648ed3bf 21-Oct-2014 Lajos Molnar <lajos@google.com> mediaplayer: don't report position past last queued position

also reanchor offloaded audio track correctly

Bug: 17653702
Change-Id: If05394d3b119be8d80b7764847496246d34a2133
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
d5923409bbcbb22954a92c2b497ef4492d7cb6a5 21-Oct-2014 Lajos Molnar <lajos@google.com> mediaplayer: limit scheduling video frames into the future

This addresses when video timestamps jumps before an audio timestamp,
but still works on slideshow video clips (<=1fps).

This, however, will not skip time-changes on video-only live video
streams, as we cannot distinguish live slideshow video clips from
non-slideshow ones.

Bug: 18032127
Change-Id: I959a714edfe1c8cf3b84704c693dcd1b3e5b7855
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
eecb7805bbbb712925d4372c505f8c7f5c4fb5ed 20-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: set anchor time for each audio buffer.

And use anchor time to compute current position

Bug: 17999949
Bug: 18008307
Bug: 18032127
Change-Id: Ie493c9a1d45d7b788aef65d863f710da6326fcc1
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3b9eb1f8629c6264d924ab7043f80d824cdd39e2 16-Oct-2014 Chong Zhang <chz@google.com> move audio sink open/close to NuPlayerRenderer

Bug: 17675112
Change-Id: I7eb3d02380658f848baedafe2aea287586ccf016
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
a73d9e0b3d171d2bfcd9eb07df9d6d36ae74df57 09-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: query current position from NuPlayerRenderer.

Bug: 17653702
Change-Id: Ie0b1f92420b071a0cfcd389f5e7917a54d332541
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
49966fff32b27f8821ebe280f25688b3c4f5f73f 09-Oct-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: adjust anchor time correctly for video only case.

Bug: 17922171
Change-Id: I4c7e9e7f5ab96d3675d012ae30f78ef945394103
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
af1a4dc989d6707116eaefab300ad55124aace66 03-Oct-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: don't restart AudioSink when torn down due to pause timeout." into lmp-dev
0852917279f79a94907e9906d0533ae409a30f6a 03-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: don't restart AudioSink when torn down due to pause timeout.

Bug: 17752358
Change-Id: I232d105480139bfc0b991bcd8e001930e577cf30
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
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/NuPlayerRenderer.cpp
274084f7bfd3f6bdf5a55cf16ceefed345aa0060 30-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: make frame-accurate avsync configurable

disable by default

Bug: 17686015
Change-Id: I3961b1bc9c6d48afc8c5f7f5270528ea6341bc60
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3cdd6b8c82f2c71054bdd767782fc78f501f8e62 23-Sep-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: add pause timeout event for offload audio." into lmp-dev
f5b1db11734358d979a23a1ac4903872186ef60b 09-Sep-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: add pause timeout event for offload audio.

Bug: 17375249
Change-Id: Ie59c6b372e9ad2aace3d1e27b9896d79de35d722
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
c851b5de495169d7e9528644c2592746021bd968 18-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: smooth out videoplayback based on framerate

Bug: 14659809
Change-Id: I73f6c7224c51ac06487475f9ed395379111ad71f
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
dc43dfa1294470a4413c37e863ef3b621da8681f 08-May-2014 Lajos Molnar <lajos@google.com> mediaplayer: schedule video frames in VSYNC valleys

Bug: 14659809
Change-Id: Ic340ac61ad4778b493625c79c2cb4f747ff54ede
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
09e0c3646362d29c78bc26c8b23b7a753c412e6c 13-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: update timestamp handling

Use getTimestamp WOULD_BLOCK error return code to clean up
initial playback/start timestamp handling.

Account for pause time and seeks.
Only send notification from driver when the media time changes.

Bug: 14659809
Bug: 17428188
Change-Id: I051bb5e2dd4fd5990474f8fb635615ad8d18eb2c
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
06ad1528e6dd4c866c085d3cad9235d2752eb3ed 28-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: use getTimestamp instead of getPosition

Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
8592dbbdf5339890db2b14f83bcd6da2ffb023d2 09-Sep-2014 Rachad <rachad@google.com> NuPlayer::Renderer::onPause() - Converted CHECK(!mPaused) to a warning.

Bug: 17436451

Change-Id: I7e9e0c48bbdd8ab65c5f4a587699a28435bd03f4
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
453d633ba6351c8efc2103383ca178a0674bd373 03-Sep-2014 Chong Zhang <chz@google.com> Merge "render one video frame after flush even when we're paused" into lmp-dev
fbe8bef8bcf7aed97f0332908a817b0e6d91b9ba 30-Aug-2014 Chong Zhang <chz@google.com> render one video frame after flush even when we're paused

allows the video to get some update when user seeks while paused.

Bug: 17140448

Change-Id: I064806bfd566585eeb4150a508422c9775e08f99
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
73ddd210ea572375198cac1d4960df793745fb4b 30-Aug-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: stop feeding AudioSink when paused.

NuPlayerDriver: current position is updated only in running state.

Bug: 17141882
Change-Id: Ia88551cc29ef8f0e7ef0600a214feb5633389b6e
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
5095d7091874cb9e9c95ecc4fe762076ed05e624 27-Aug-2014 Ronghua Wu <ronghuawu@google.com> AudioPlayback: delay the post of EOS based on pending playout.

Bug: 16840522
Change-Id: Icdc8888f5a8a77e2e5ebeb8a6934c7d79bd9e71a
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
ef8ae4cbec0c9f49a24625d4316ec9bfde4e75c3 22-Aug-2014 Andy Hung <hunga@google.com> Merge "Fix SoundPool and MediaPlayerService buffer overflow" into lmp-dev
a31335a4ec96ba351f25f3b26fa79a78c2723a13 21-Aug-2014 Andy Hung <hunga@google.com> Fix SoundPool and MediaPlayerService buffer overflow

Overflow occurs when SoundPool sample tracks cannot
fit in the MediaPlayerService AudioCache buffer.

Unnecessary decoding occurred with AwesomePlayer and
an assert failure occurred with NuPlayer. NuPlayerRenderer
is also tweaked to handle the latter case.

Bug: 17122639
Change-Id: I4d25d3e2c0c62e36a91da6bf969edabddc2ebbb0
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> NuPlayerRenderer: only query audio sink for position for the first entry.

Bug: 17035257
Change-Id: I472ec4610e1174c59986f42d72fe55f90e93731e
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3ef1e656086e6aed75b508715e59951f028841a1 20-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: allow flush() to be called multiple times." into lmp-dev
28a8a9ff2a2bfd5edbdbbadde50c6d804335ffdc 18-Aug-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: allow flush() to be called multiple times.

Also fix racing condition on accessing some members.

Bug: 16982307
Bug: 13133027
Change-Id: I0d4a605146e24ad7396a07369d501593cad73f41
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3a2956d148d81194e297408179e84a47a309ef48 23-Jul-2014 Wei Jia <wjia@google.com> Fall back to s/w decoding when audio offloading fails.

Change-Id: Icde3d65c964b2a13fb1c6636adcce52ae048a3fb
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
095248375e29adde961ec2a44989ecb3a6dda6a2 17-Jul-2014 Lajos Molnar <lajos@google.com> nuplayer: support widevine sources

- handle widevine:// scheme
- add separate looper for renderer (as it can block initial buffer
handling if all buffers are used)
- initiate secure codecs before source is started
- don't read secure buffers
- share ACodec's input buffers with Widevine source

on the decoder side

- keep track of mediabuffers released by widevine source
- keep track of dequeued input buffers (for safety)
- release mediabuffer when buffer is subsequently dequeued. (This
was hardcoded into OMXCodec to do this when buffer-empties message
was handled, but MediaCodec does not support such functionality.)

Bug: 15699665
Change-Id: I4a369443294e45c644be8b0257010e52db1d7c9b
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
bc2fb720bbd0acd122bacc67e844e982d068f6f9 09-Jul-2014 Wei Jia <wjia@google.com> Add support of audio offloading for NuPlayer.

Change-Id: Ic83973339fb46a83b48382e6097925f45d200867
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
259f1624cf7b93ba831af10a616267487601c27f 22-Feb-2014 Lajos Molnar <lajos@google.com> Revert "NuPlayer: Use a software renderer when using software codecs"

Remove software renderer support from NuPlayer because it is included
in MediaCodec.

Change-Id: I06e001df76df2e18ea8169620ff33aeec57e5ca2
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
d6074f08cc37843e8c599b2ab4b16d87c3bc67eb 15-Oct-2013 Oscar Rydhé <oscar.rydhe@sonymobile.com> Fix compile error in NuPlayerRenderer debug print

When activating verbose log prints in NuPlayerRenderer the build
fails because a variable have changed but the log print hasn't been
updated.

Change-Id: I3089b087d296c37dfe6379d7e75d5892912fef96
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
92630351d265a61faae2dfe006a8bb330283aa7b 28-Nov-2013 Marco Nelissen <marcone@google.com> Merge "NuPlayer: Use a software renderer when using software codecs"
da38df5f080eb62a06b22c5bada4357cf756255e 25-Sep-2013 Martin Storsjo <martin@martin.st> NuPlayer: Use a software renderer when using software codecs

This mimics what is done in AwesomePlayer and MediaCodec -
ideally this logic perhaps should be moved into ACodec to
avoid having to replicate it in every caller.

This makes HLS and RTSP playback work in the emulator.

Change-Id: I18027dc3e469889baaae3e1c4afb559de7d0f7d3
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
cbaffcffee6418d678806e63097c19fe26d48fe0 15-Aug-2013 Lajos Molnar <lajos@google.com> Add MEDIA_STARTED/PAUSED/STOPPED events to media players

This is needed for the MediaTimeProvider java interface, so it does not
continually poll for current media time.

Note: NuPlayer and AwesomePlayer do not correctly handle stop (pause
instead), so for those we will signal PAUSED.

Signed-off-by: Lajos Molnar <lajos@google.com>
Change-Id: I3c61e1bda475f131323f475c18a42e3ec66c9ae1
Bug: 10326117
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
9dffd24e00a1b2abd5e2dcc2366c0327ec3701b8 12-Mar-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f4edf442741886cdbe071e2d15f6e6247269f7c5
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 09:09:18 2013 -0700

Pass additional flags to the sink, use TCP by default in wolfiecast mode.

Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092

commit 6302602ed280a38287f507159abfb40a1da38c5a
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 08:51:58 2013 -0700

tweaks

Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547

commit a38a860e4979ba563cadbaafa21b084439449d26
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 16:57:43 2013 -0700

Report average lateness all the way from NuPlayerRenderer...

Change-Id: I2e7700703ae656515e44b9c25610d26c75778111

commit a7d49b11675ea88be4029dd8451d1649db94571d
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 14:54:19 2013 -0700

Make TimeSyncer smarter, enable TunnelRenderer

Change-Id: I27377a60cd8feb01589da456967fddd34532c20e

commit 0f214c8ef68179f7b61512c37040939554013151
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 15:57:56 2013 -0800

convert source timestamps to sink timestamps, report lateness.

Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e

commit 04a4f8e16bad09157b5615a5fa45310438955832
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 09:00:28 2013 -0800

Sync time between sink and source.

Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe

commit aebe20e6184e3636a99082f8ece08e708015cb8d
Author: Andreas Huber <andih@google.com>
Date: Wed Mar 6 09:03:12 2013 -0800

play with back pressure

Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947

Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
d5e56231a598b180a1d898bb7dc61b75580e59a4 12-Mar-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f4edf442741886cdbe071e2d15f6e6247269f7c5
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 09:09:18 2013 -0700

Pass additional flags to the sink, use TCP by default in wolfiecast mode.

Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092

commit 6302602ed280a38287f507159abfb40a1da38c5a
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 08:51:58 2013 -0700

tweaks

Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547

commit a38a860e4979ba563cadbaafa21b084439449d26
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 16:57:43 2013 -0700

Report average lateness all the way from NuPlayerRenderer...

Change-Id: I2e7700703ae656515e44b9c25610d26c75778111

commit a7d49b11675ea88be4029dd8451d1649db94571d
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 14:54:19 2013 -0700

Make TimeSyncer smarter, enable TunnelRenderer

Change-Id: I27377a60cd8feb01589da456967fddd34532c20e

commit 0f214c8ef68179f7b61512c37040939554013151
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 15:57:56 2013 -0800

convert source timestamps to sink timestamps, report lateness.

Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e

commit 04a4f8e16bad09157b5615a5fa45310438955832
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 09:00:28 2013 -0800

Sync time between sink and source.

Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe

commit aebe20e6184e3636a99082f8ece08e708015cb8d
Author: Andreas Huber <andih@google.com>
Date: Wed Mar 6 09:03:12 2013 -0800

play with back pressure

Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947

Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
cfc3083927df14bf82403b20a45ae303a01c39f5 21-Jan-2013 Roger Jönsson <roger1.jonsson@sonymobile.com> RTSP buffering improvements

Added buffering start and end notifications for RTSP.
MEDIA_INFO_BUFFERING_START is sent when buffering is started
and MEDIA_INFO_BUFFERING_END is sent when the buffer has
filled up.

This patch also adds RTSP end of stream handling.
EOS is signalled when BYE is received OR when
detecting end of stream even if no actual EOS is received.

Change-Id: I5cccb6845060ae6afd66d9f735b89da81476cd13
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
b50e83eca302a12f0fced6e7bab1b8617d63deaa 21-Jan-2013 Roger Jönsson <roger1.jonsson@sonymobile.com> RTSP buffering improvements

Added buffering start and end notifications for RTSP.
MEDIA_INFO_BUFFERING_START is sent when buffering is started
and MEDIA_INFO_BUFFERING_END is sent when the buffer has
filled up.

This patch also adds RTSP end of stream handling.
EOS is signalled when BYE is received OR when
detecting end of stream even if no actual EOS is received.

Change-Id: I5cccb6845060ae6afd66d9f735b89da81476cd13
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a 20-Jul-2012 James Dong <jdong@google.com> Added a callback in nuplayer via informational event to signal the start of video rendering

Change-Id: Id7b9b82d4e5467ad8701bfbad4dcc5070f3703cf
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
4110c101c3d0dd8dbc44c8d2d0edd3e2e7d6652f 29-Mar-2012 Marco Nelissen <marcone@google.com> Add gapless playback support for NuPlayer

This makes NuPlayer use a SkipCutBuffer when needed, and adds a new
AudioSink method to retrieve the number of frames written so far, so
NuPlayerRenderer can calculate how much data it can write without blocking.
Also make some more methods const.

Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
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/NuPlayerRenderer.cpp
2d8bedd05437b6fccdbc6bf70f673ffd86744d59 21-Feb-2012 Andreas Huber <andih@google.com> Add new APIs AMessage::(set|find)Buffer to make it safer to pass

ABuffer objects through messages.

Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
df64d15042bbd5e0e4933ac49bf3c177dd94752c 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
a9960bcb176c58bd9d5f9062b84437a59fff875e 15-Dec-2011 Glenn Kasten <gkasten@google.com> Fix build error when verbose logging is enabled

Change-Id: I30f4e5d35d1b24dce2e6152a13fd0fb61414a3e2
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
ea9d51bd710e6739077a3700f27a1c37767a2f6d 30-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 3d630e86 to master

Change-Id: I9eb7b7c1668b5f0de85ec8b1e9257cf1ec4d8b9e
b58ce9f5e8d0696f9571a94ba5fc05f4500f663f 29-Nov-2011 Andreas Huber <andih@google.com> Make sure we can properly shutdown even if

a) one of the two decoders has a pending discontinuity
b) the renderer holds on to all output buffers for that decoder
c) the renderer is paused

if all three conditions are met the decoder won't ask for more input data
and therefore never see the discontinuity.

To avoid this we briefly resume the renderer just before shutting down.

Change-Id: I9e08af2a1eb4298d1cd00497d6aa33f4ad184e9a
related-to-bug: 5655016
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
fa1e6f99cd4f2e23e23dbbb1fd43041fcd32fe9e 09-Nov-2011 Glenn Kasten <gkasten@google.com> am bb1b7d5c: am 19998120: Merge "Bug 5478024 drop after decode if can\'t drop before" into ics-mr0

* commit 'bb1b7d5cb3c5502484269bfd0cdcd0d5a6d6bfad':
Bug 5478024 drop after decode if can't drop before
b5d340314ac6da461f15fe4d1db996ae28770d67 09-Nov-2011 Glenn Kasten <gkasten@google.com> am 19998120: Merge "Bug 5478024 drop after decode if can\'t drop before" into ics-mr0

* commit '19998120f53caceb620f138c6eea182f1e693660':
Bug 5478024 drop after decode if can't drop before
32f0a8c022fa733aa721c607df330a5d4a0a1b32 09-Nov-2011 Glenn Kasten <gkasten@google.com> am 19998120: Merge "Bug 5478024 drop after decode if can\'t drop before" into ics-mr0

* commit '19998120f53caceb620f138c6eea182f1e693660':
Bug 5478024 drop after decode if can't drop before
683525b61bc1b58b4fd9e1b3ef9ed3b0c3bf34ae 05-Nov-2011 Glenn Kasten <gkasten@google.com> Bug 5478024 drop after decode if can't drop before

Change-Id: Iaa64553be1a710da5d42be4e3a1e1d6dc873e371
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
2bfdd428c56c7524d1a11979f200a1762866032d 12-Oct-2011 Andreas Huber <andih@google.com> NuPlayer is now taking on the task of streaming over RTSP.

Change-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45 17-Sep-2011 Andreas Huber <andih@google.com> In order to recover from video lagging behind audio, drop avc frames

that are not referenced by other frames before feeding them into the decoder.

Change-Id: I822190af8f8329567bff8da1ea23136d0a765481
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
078cfcf7cce9185ec7559910d08b0bc02bfc88a3 15-Sep-2011 Andreas Huber <andih@google.com> Various improvements to nuplayer playback

- Drastically cut down the number of times we supply the AudioSink with data
by estimating the time until the sink would run out of data and then scheduling
a refill in advance of that.

- Use a dedicated looper for video decoders since they are currently taking
too long to return from OMX_FillThisBuffer (bug 5325201)

- Revise thread priorities for the OMX dispatcher and software codecs, instead
of running them at ANDROID_PRIORITY_AUDIO, they now only run at
ANDROID_PRIORITY_FOREGROUND

- Since threads created by pthread_create inherit all of the parent threads
attributes including thread priority, briefly reset thread priority to
ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then
restore it.

Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
714aa7b7c52ce07d5fb44870c0853b4d8e5a758e 13-Sep-2011 Andreas Huber <andih@google.com> Don't post position updates too frequently

i.e. don't hog my message queue.

related-to-bug: 5284760
Change-Id: I8e2d36a11dbee1567b18ed13dc5257a65c6eeda7
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
cb67cd1b51ff9ab221e3124cf7e546515fef3c87 27-Aug-2011 Andreas Huber <andih@google.com> Signal errors to the client instead of asserting in ACodec.

Also make sure NuPlayer can properly shutdown in certain edge cases.

Change-Id: Iceb16d600d87ba66c802e60e95bf62f66487a453
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
c92fd24c10a6bf80b346d7e261325434d9c6964b 16-Aug-2011 Andreas Huber <andih@google.com> Error handling in ACodec and Nuplayer.

Codec errors (and codec not found errors) now trigger a controlled shutdown
of playback and signal errors to the MediaPlayer client.

Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
9b7d950f1f3b0c526712b713dbceb0e22762c015 21-Mar-2011 Eric Laurent <elaurent@google.com> Fix issue 3483718: audio streaming and A2DP.

The problem is that when switching from A2DP to device speakers or headset,
The AudioTrack binder interface to AudioFlinger must be destroyed and restored
to accomodate new buffer size requirements. Current AudioTrack implementation
did not restore properly the PCM buffer write index which caused a mismatch between
the written frame count in the mediaplayer renderer and the AudioTrack. The renderer
could then believe the AudioTrack buffer was full and stop writing data preventing the
AudioTrack to reach a bufffer full condition and resume playback.

The rendered was also modified to refresh the AudioTrack frame count (buffer size)
inside the write loop in NuPlayer::Renderer::onDrainAudioQueue() as this count can change
from one write to the next.

Also modified AudioTrack::obtainBuffer() to check for track invalidated status before
querying for available space in the buffer. This avoids writing to the old track's
buffer until full before detecting the invalidated condition and create a new track.

Change-Id: I16a857e464e466880847f52f640820aa271539ad
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
bc7f5b2e56107cfeaeeab13cf8979379e3c2f139 21-Jan-2011 Andreas Huber <andih@google.com> Some tweaks to HTTP live / nuplayer behaviour

- play audio-only streams again
- workaround for malformed streams that switch PIDs across bandwidths
- attempt to pick a different bandwidth stream if the previously chosen one appears
to be malformed/unsupported.

Change-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9
related-to-bug: 2368598
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
b408222bd9479c291874b607acae1425d6154fe7 21-Jan-2011 Andreas Huber <andih@google.com> Implement missing pause/resume support for NuPlayer.

Change-Id: Ia3f1ce521dd4b70e134ef03aa7c9db8e8d39a134
related-to-bug: 2368598
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
43c3e6ce02215ca99d506458f596cb1211639f29 05-Jan-2011 Andreas Huber <andih@google.com> Seek/Duration support for completed http live streams in NuPlayer.

Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463
related-to-bug: 3321475
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
5bc087c573c70c84c6a39946457590b42d392a33 23-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit eaeaa2672d4e0a82891493b2bde8bdd0c0e79a1b
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:26:48 2010 -0800

Remove lowest bandwidth stream if using the legacy player.

Change-Id: I2f885e26344996de9152f8fda9fd6bdef89bf953

commit 7d652972615b2750fd8f1c21b9fab0e136df2b82
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:14:36 2010 -0800

Don't clear the packet source's format for legacy discontinuities.

Change-Id: I9bd5a21b9bd28043ad38bd0658ccc8eda3c1079a

commit 2b18a45aac17cbfe1aa089d0f6510957d438dd64
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:13:55 2010 -0800

Use NuPlayer for HTTP live streaming based on runtime property.

adb shell setprop media.httplive.enable-nuplayer true

Change-Id: I22738df3403985dc8e6992b1ab5da5747309f773

commit 50d899fb7b9ea52c3994b0a58e993998d926aeed
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:25:22 2010 -0800

Make ACodec a lot less verbose.

Change-Id: I94c7e499b61032321ffaf999f5ad2c913cde6a48

commit b19e1740cb4d02990a56844654b5d019987c6405
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:22:22 2010 -0800

Wait until we have fresh codec-specific-data before instantiating the decoders

after a discontinuity involving a format change.

Change-Id: I7bcf9b5ae3319f08bf8978a117e8ee5220902e37

commit 06428c006906c9099e430aface3b439ff1d36ecc
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:38 2010 -0800

Disable random seeks in the streaming tool for now.

Change-Id: Ie86fde422dcfc4b2c7a01be51a193fda9c88cd71

commit e19db68f3bea8a61c191f60f6940f30e3a0d5f1b
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:27 2010 -0800

Tweak HTTP live parameters.

Change-Id: If4b71e12485facc523a8a43d8213d0feb190daab

commit 1e9942791538c2256b579d96c6c04264b0d8b087
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:48:23 2010 -0800

Enable http live streaming through NuPlayer for http URLs containing the string m3u8

Change-Id: I1691fe12ae8f1507fe3673313959cd50bc324624

commit 4c33f96a6e499ee0efe0e70b687094430cb7c1c0
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:40:27 2010 -0800

Support for HTTP live streaming in NuPlayer.

Change-Id: Iacba1c3ebaeb8d3b972185deaf4cff18c8009c54

commit ddf705ce553708bc5b13d89a878484cf839bd674
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:42:47 2010 -0800

StreamingSource now a subclass of abstract NuPlayer::Source

Change-Id: Ia6c7c639628910b9d1f37decc55da48b07a70de3

commit 9e04a8406b1882a8e3fdeb7b4d52db5ae70b970a
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:33:52 2010 -0800

Refactor media data sourcing to NuPlayer::Source.

Change-Id: I1db9fb08c4e527bf7b19c29978cf342c2b0a0bc9

Change-Id: I9610a097481dda58f22142eacda3ac2dba0b63f9
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
3831a066bcf1019864a94d2bc7b4c9241efc5c22 21-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 63be8ceb8b2354fb997a277c0092abae015ecf10
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:45:34 2010 -0800

Enable handling of discontinuities that involve potential format changes.

Change-Id: I21848a113db8764abb54bdcf302b0923253eaf4d

commit d18a7f80ec09af382026809263dcbbfa9e7a9ec8
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:45:01 2010 -0800

Signal whether or not a format change occured as part of the discontinuity.

Change-Id: I06e64f542f4369549c9cebbb892dc612346ae43d

commit c400adbd5fdbd65cfef7aed9ec65bcaace4bb69b
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:44:46 2010 -0800

A little more instrumentation of ACodec

Change-Id: I07f4aeccbbd15cdd9f80f48c3f92ee984ef6d92b

commit 1d802ee01f47b3cdc5b89502cec7fbb595e197a3
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:43:58 2010 -0800

Only sync audio/video queues if both types of media are actually present.

Change-Id: Ic88edf9bb1ebd4034c08747cce9877a4e28e0d35

commit e402da39d9a4d8b75653a78f728e20a3ef0fb497
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:42:24 2010 -0800

Disable the random seek for now.

Change-Id: Iddd597b546e2f229e88214f9bdd6452bb188105e

Change-Id: I27c4d9ba916080be94ce6117dbb095e9022ed62b
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
f933441648ef6a71dee783d733aac17b9508b452 16-Dec-2010 Andreas Huber <andih@google.com> Initial support for a true streaming player for mpeg2 transport streams.

Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
/frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp