• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libmediaplayerservice/nuplayer/
History log of /frameworks/av/media/libmediaplayerservice/nuplayer/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
22412164dee9f658272a25833aebe83d05dfe4ff 31-Mar-2015 Lajos Molnar <lajos@google.com> mediaplayer: ensure secure decoders are instantiated before starting source

Bug: 19984798
Change-Id: Iff13cf03c4ce3141380f4d7ab4a2b1045c5ce747
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
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
uPlayerRenderer.cpp
uPlayerRenderer.h
13cfe85ae9f4daab1d0bfcd248fc2576585e259a 05-Feb-2015 Chong Zhang <chz@google.com> Merge "reuse CCDecoder on video discontinuity" into lmp-mr1-dev
341ab6eebb6a992ec7bdf095420cf82bcab1c6b3 04-Feb-2015 Chong Zhang <chz@google.com> reuse CCDecoder on video discontinuity

bug: 19266084
Change-Id: I06ef57b09b048a85f77be4dee27599c4f60aacc9
uPlayer.cpp
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
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
7a4342651cc6539fc9a8775ce1e322a47adeda78 31-Jan-2015 Robert Shih <robertshih@google.com> Merge "Wrong format used in seamless check" into lmp-mr1-dev
7abbd4c954e26fb69235831e11090ad61cec7b94 30-Jan-2015 joakim johansson <joakim.c.johansson@sonymobile.com> Wrong format used in seamless check

The targetFormat that is sent to supportsSeamlessFormatChange
function corresponds to the data in mInputFormat but the format
provided is the output format, so the check will always return
false.

Use the input format instead.

Bug: 18821145
Change-Id: Iea3cbd59e423da5f2f813e98505b40dc341061b8
uPlayerDecoder.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
uPlayerRenderer.cpp
uPlayerRenderer.h
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
uPlayerRenderer.cpp
1713460104b86f6be3a5d9993d9ace864d889b2d 08-Jan-2015 Chong Zhang <chz@google.com> mark any copyrighted content as protected to disable capture

bug: 18916274
Change-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340
enericSource.cpp
uPlayer.cpp
uPlayerSource.h
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
uPlayerRenderer.cpp
uPlayerRenderer.h
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
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
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
uPlayerRenderer.cpp
9f932418856844c6b8242d4c921654d0cc6af754 15-Dec-2014 Jeff Tinker <jtinker@google.com> Merge "Fix for apps that forget to use widevine:// urls" into lmp-mr1-dev
6e430fbd927b9cc043639eb728ddc921392a60e8 15-Dec-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable." into lmp-mr1-dev
661a5270303392bbf22eaa459961e6ab7b26b529 13-Dec-2014 Jeff Tinker <jtinker@google.com> Fix for apps that forget to use widevine:// urls

bug: 18554455

Change-Id: I8ff08e7270c65c375205169eb068f361f2a4a727
enericSource.cpp
895651b07fec30b0f9b0d2499599a179d95c9be4 11-Dec-2014 Wei Jia <wjia@google.com> NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable.

LiveSession: return -1 for duration when it's not available.

Bug: 18599325
Change-Id: Iecd040f48750806f98d1799e2aaab2f90c6f3887
uPlayer.cpp
f484952edd94c1b7ee82d7b108edc1ce08671cc4 11-Dec-2014 Lajos Molnar <lajos@google.com> mediaplayer: allow setVideoSurface before setDataSource

Bug: 18709604
Change-Id: I41e4734faed48b5583feb29896cd5783b8cd7e33
uPlayer.cpp
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
enericSource.cpp
enericSource.h
uPlayerDecoder.cpp
uPlayerRenderer.cpp
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
enericSource.cpp
enericSource.h
b65842dd9447a7925046b2285b2aa8459dc63ed3 05-Dec-2014 Andy Hung <hunga@google.com> Merge "Fix NuPlayer assertion on failure to create AudioTrack" into lmp-mr1-dev
180d1b96ee2312f1056a58e26884a89d25ab62c8 03-Dec-2014 Chong Zhang <chz@google.com> fix threading in RTSPSource and StreamingSource

Bug: 18532335

Change-Id: I9c34401a928dc0ddbd0923aa5f127dc628efbb92
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
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
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
uPlayerRenderer.cpp
uPlayerRenderer.h
ab05b4ccb8ea59079d7f773aa0e090029c479bad 02-Dec-2014 Wei Jia <wjia@google.com> StreamingSource: check mTSParser before dereferencing it.

Bug: 18532335
Change-Id: I7819d8d359fe75ea4c827138e9aaa2454ccfe3b1
treamingSource.cpp
f1828910d48bbd22e1392e6ab0ce31298d1f115c 02-Dec-2014 Ronghua Wu <ronghuawu@google.com> nuplayer: clear pending audio access unit on flush.

Also add flag to avoid reading on flush.

Bug: 18540219
Change-Id: I2fc351c32c87db9a8c8c2aad12ee2bd56a0370ab
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
f8d717772f6d185cb07720cd5091df9b7d612e0b 27-Nov-2014 Chong Zhang <chz@google.com> notify seek complete upon first video output frame

Bug: 18541814
Change-Id: Ie4e0976885f26eb253460eab371cb181ea85f2db
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
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
ndroid.mk
uPlayer.cpp
uPlayer.h
uPlayerCCDecoder.cpp
uPlayerCCDecoder.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
uPlayerRenderer.cpp
uPlayerRenderer.h
7966142a096c1d5d7386a42eaccc9aed5b4344b3 20-Nov-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: invalid anchor time when render is flushed." into lmp-mr1-dev
ec9459c63d1c2969505ffdc4a100646fd07223bd 20-Nov-2014 Chong Zhang <chz@google.com> Merge "close fd if data source is reset without prepare" into lmp-mr1-dev
574aed902443d41581684dc8bc5ddd2e067f4cdf 20-Nov-2014 Marco Nelissen <marcone@google.com> Merge "When aggregating buffers, make sure we don't lose data" into lmp-mr1-dev
a6bf21f2a7cdd33c78464019dc1105ef01248b51 20-Nov-2014 Chong Zhang <chz@google.com> close fd if data source is reset without prepare

bug: 18434887
Change-Id: I70dff721710b7299d1ca1f8520278f82d355141d
enericSource.cpp
d9fd6317913c74e1c955eb31978c41e70d5810bc 06-Nov-2014 Lajos Molnar <lajos@google.com> mediaplayer: request auto-frc for high quality avsync

Bug: 17383204
Change-Id: I7209305b4ff3c2386019d7a09d6a0536e9f21522
uPlayer.cpp
6c41e622512a99581afcbdbd6ad284237923c942 19-Nov-2014 Marco Nelissen <marcone@google.com> When aggregating buffers, make sure we don't lose data

Bug: 18277034
Change-Id: Ia8c35791eea88545a873cad339eb6b5fc25d1d97
uPlayer.cpp
18899808001ddaea13fa4c5277502c96351f69a5 19-Nov-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: open audio sink in offload mode when resuming from timeout teardown." 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
uPlayerDriver.cpp
uPlayerRenderer.cpp
ba0790bf10da74caacb214ea8155d172bae4d0c5 19-Nov-2014 Marco Nelissen <marcone@google.com> Merge "Don't autoloop notifications" into lmp-mr1-dev
6ffb1fd67eb8f00f130a6db914ba42a8432aec70 30-Oct-2014 Robert Shih <robertshih@google.com> NuPlayer: pass media time to selectTrack for responsiveness

Bug: 18020001
Change-Id: Id50f8473992f39d8c0aa86a1fabb2601093d2572
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerSource.h
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
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
707eadef2ad1388bafdb2d003a4169208fa99811 18-Nov-2014 Marco Nelissen <marcone@google.com> Don't autoloop notifications

Some apps think it's cool to use ringtones as notification sounds, but
ringtones often loop, which is not appropriate for notifications.

Bug: 15929273
Change-Id: I77c4277801cb2561743f8c676ef76ab4d1668b08
uPlayerDriver.cpp
39b109a1df23e7610b031b466e9ecf510b3c077f 18-Nov-2014 Robert Shih <robertshih@google.com> Merge "NuPlayer HTTPLiveSource: impl getSelectedTrack" into lmp-mr1-dev
c6cfd70f24a11b946859485ce398a189c301a4e2 12-Nov-2014 Wei Jia <wjia@google.com> NuPlayer: tunnel decoder with renderer for data buffer passing.

Bug: 18342383

Change-Id: I182928007814c146c01a86196c4fda1d46e74ea4
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
6641004be544a394f3fca81f7213dd6e0668ff98 13-Nov-2014 Lajos Molnar <lajos@google.com> Merge "Revert "mediaplayer: make frame-accurate avsync configurable"" into lmp-mr1-dev
368e33700ed16acc8e99657fb84edd5d2806b34f 11-Nov-2014 Marco Nelissen <marcone@google.com> Fix looping sound playback

The renderer stops the audio sink at the end in order to play out
the last little bit of audio. When the sound is looping, the sink
needs to be restarted.

Bug: 18326137
Change-Id: I3bc3629597fc43cce33bdf5691d29cc4c2285926
uPlayerDriver.cpp
48cb6d7c840e695769405b0d33fd2b85479ec717 10-Nov-2014 Marco Nelissen <marcone@google.com> Merge "Fix short sound playback" into lmp-mr1-dev
21efaad13f13e390f585cea4371d399997f8d1a6 10-Nov-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs" into lmp-mr1-dev
5c67ddcf987b1f07c9abc1d051a0c051e7c73ff7 05-Nov-2014 Robert Shih <robertshih@google.com> GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs

Bug: 18296874
Change-Id: I9608523b4cc37e6cf8b91fb1407035aac087796b
enericSource.cpp
enericSource.h
2dc28b69258d4772aaf40902b939153239e7fe7f 10-Nov-2014 Robert Shih <robertshih@google.com> Merge "HTTPLiveSource: NULL check in getFormat" into lmp-mr1-dev
1098d87e56f726184ae9c8fe903ea4743669f35b 06-Nov-2014 Robert Shih <robertshih@google.com> HTTPLiveSource: NULL check in getFormat

Bug: 18297916
Change-Id: I14c5de8d28202ee1b68e369d33e01bd26dbe968d
TTPLiveSource.cpp
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
uPlayerRenderer.cpp
89bf2525c5b57f17260de5b00c5f3f78ac4b881e 30-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer HTTPLiveSource: impl getSelectedTrack

Bug: 17514665
Change-Id: I81c62553f2c5acb4d2436a9d8f04c10fdbe315d0
TTPLiveSource.cpp
TTPLiveSource.h
fef808d42a9c94b0b5ef3c3d5fb0a090edbc42da 01-Nov-2014 Wei Jia <wjia@google.com> AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.

This will remove the unnecessary flush for seek.

Bug: 17511837
Change-Id: I4b7acfc71a410372f5c630afb94b6a95d09d8974
enericSource.cpp
uPlayer.cpp
uPlayer.h
TSPSource.cpp
treamingSource.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
uPlayerRenderer.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
uPlayerRenderer.cpp
cde2b72229fd6e06ee301238fd2943cdc1c40686 29-Oct-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: merge start() and resume()." into lmp-mr1-dev
9421174a2f002fef31b330fb04e00105a905dca4 29-Oct-2014 Wei Jia <wjia@google.com> NuPlayer: merge start() and resume().

NuPlayerDriver: allow seekTo called in STOPPED_AND_PREPARED state.

Bug: 18127606
Change-Id: I92ff9f7e0a176c434202762d30966d8c4643d1ef
uPlayer.cpp
uPlayer.h
uPlayerDriver.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
uPlayer.cpp
uPlayerRenderer.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
uPlayerRenderer.cpp
uPlayerRenderer.h
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
uPlayerRenderer.cpp
uPlayerRenderer.h
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
uPlayerRenderer.cpp
uPlayerRenderer.h
3b9eb1f8629c6264d924ab7043f80d824cdd39e2 16-Oct-2014 Chong Zhang <chz@google.com> move audio sink open/close to NuPlayerRenderer

Bug: 17675112
Change-Id: I7eb3d02380658f848baedafe2aea287586ccf016
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerRenderer.h
1375ac6d029b74ac392db411907b3c0ea57f08a7 14-Oct-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: query current position from NuPlayerRenderer." into lmp-dev
a73d9e0b3d171d2bfcd9eb07df9d6d36ae74df57 09-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: query current position from NuPlayerRenderer.

Bug: 17653702
Change-Id: Ie0b1f92420b071a0cfcd389f5e7917a54d332541
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
e760de61d9a662b1fbfda96ac34aaa246c2711bb 13-Oct-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: request seek notification when prepare*() is called in STOPPED state." into lmp-dev
dab70a065a8e972d272ed948e77cf2cd0f1525e1 12-Oct-2014 Wei Jia <wjia@google.com> NuPlayerDriver: request seek notification when prepare*() is called in STOPPED state.

Bug: 17596535
Change-Id: Ib43f91f9b0d0a52112aa1fa8352adac15aaf80f8
uPlayerDriver.cpp
185a295d4518878d5e2bca7b7c3e51df44492df1 10-Oct-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: adjust anchor time correctly for video only case." into lmp-dev
49966fff32b27f8821ebe280f25688b3c4f5f73f 09-Oct-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: adjust anchor time correctly for video only case.

Bug: 17922171
Change-Id: I4c7e9e7f5ab96d3675d012ae30f78ef945394103
uPlayerRenderer.cpp
uPlayerRenderer.h
8d121d41f5355b78b687f44e8d4aae4de2aa0359 03-Oct-2014 Andy Hung <hunga@google.com> NuPlayer: wait for renderer flush before decoder shutdown

Bug: 17679341
Change-Id: Ie3883686891e7ee6fb45ceb01af1eb60b559d3a0
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
d7988b1a7b32e39e671f7d4e2b2d8027a1f99639 04-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: add audioDecoderStillNeeded.

Bug: 17752358
Change-Id: Ia3b3ee4df65e5564afd0723943d2d747f3a604af
uPlayer.cpp
uPlayer.h
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
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
aaa527fbd790d30353d15608e54b5b94625b7b6d 03-Oct-2014 Chong Zhang <chz@google.com> Merge "send available codec buffer count with codec notification" into lmp-dev
6eff943c133903fcd9bdb7bb1812d7b383b090f8 03-Oct-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDecoder: postpone input message processing when it's not dequeued." into lmp-dev
e47d44486f0a9f9b828b01d0fbaf84f5573f0aa2 30-Sep-2014 Chong Zhang <chz@google.com> send available codec buffer count with codec notification

Bug: 14679336
Change-Id: Id927c96a9a14dd6ecd72540f0037d5841aa32154
uPlayerDecoder.cpp
2245fc625910e47d1ba3c339e205c21ab58a47ad 03-Oct-2014 Wei Jia <wjia@google.com> NuPlayerDecoder: postpone input message processing when it's not dequeued.

Bug: 17622642
Change-Id: I67608121bf70d6acb152e4aa64892b11bf167e8c
uPlayerDecoder.cpp
uPlayerDecoder.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
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
3af67d03bbc30c368821caf8b74ae7fb91ee7db7 01-Oct-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: support disconnect before NuCachedSource2 is created" into lmp-dev
360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee 29-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: support disconnect before NuCachedSource2 is created

Bug: 17672488
Change-Id: I96776c9679fdcfbe9a442c86447c59802b1465ac
enericSource.cpp
enericSource.h
274084f7bfd3f6bdf5a55cf16ceefed345aa0060 30-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: make frame-accurate avsync configurable

disable by default

Bug: 17686015
Change-Id: I3961b1bc9c6d48afc8c5f7f5270528ea6341bc60
uPlayerRenderer.cpp
36f389888e4b2905f0b457f451187fd8d3ed5153 26-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: use format obtained from source to tell if video exists.

Bug: 17374216
Change-Id: I2d5f90d72b70684475d67ff8f41b803c2880840b
uPlayer.cpp
c0d17e349901c3ccf6d15b7dcdf7fa30139c9750 25-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Fix decoder error handling" into lmp-dev
9a70c2c490afe35383c2226061af5a2f4e5b2109 25-Sep-2014 Lajos Molnar <lajos@google.com> Merge "Fix Widevine classic playback errors with NuPlayer" into lmp-dev
cf31f1eecf46d599428e115dfee8dd47b76c83fc 23-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: Fix decoder error handling

Upon error, release MediaCodec after flushing data.
Report errors when they occur with ALOGE.
Fix onInputBufferFilled mInputBufferIsDequeued check.

Bug: 17423087
Bug: 17622642
Change-Id: I316601a19d5ec95cf8e14f5bc0418a05ec423041
uPlayer.cpp
uPlayerDecoder.cpp
4923cee4fb3b29538d8f46bceeea7d5128242a71 24-Sep-2014 Wei Jia <wjia@google.com> NuPlayerDecoder: release MediaBuffers when decoder is deleted.

Bug: 17454455
Change-Id: Ic984c74826f87f5f3c27756a7e7d52295a529bed
uPlayerDecoder.cpp
a28785aa9ce323494a6971a38ce1d4d29bf710e4 24-Sep-2014 Jeff Tinker <jtinker@google.com> Fix Widevine classic playback errors with NuPlayer

bug: 17589961
Change-Id: If16c61b90cf92caa89eecd66aabef5813fd7619b
enericSource.cpp
fc55783d0886d5dbaa234f85a4313796d9ef1df4 24-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayer will notify SeekComplete only when requested so." into lmp-dev
7e9f7f7a9fb6c5d93fc9163e32936f3ea284caad 23-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: change assert to conditional check.

Bug: 17491050
Change-Id: I657866c5342c227d57617eb89955897171eb5976
uPlayer.cpp
3cdd6b8c82f2c71054bdd767782fc78f501f8e62 23-Sep-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: add pause timeout event for offload audio." into lmp-dev
e427abf1ea252ff305fc33aacdd2e83cf34891b5 23-Sep-2014 Wei Jia <wjia@google.com> NuPlayer will notify SeekComplete only when requested so.

Bug: 17596535
Change-Id: I6b744fdcf80f11d521d26c7c8b45f7de70aa0dc3
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
f5b1db11734358d979a23a1ac4903872186ef60b 09-Sep-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: add pause timeout event for offload audio.

Bug: 17375249
Change-Id: Ie59c6b372e9ad2aace3d1e27b9896d79de35d722
uPlayerRenderer.cpp
uPlayerRenderer.h
57568df014f8629ebc5ca8bce9da796dd187401b 22-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: use generation to filter out stale message from renderer.

Clean up generation number for decoders.

Bug: 17507846
Change-Id: Ibd2cfe11f89f404882d66c384b5198dc641f5e71
uPlayer.cpp
uPlayer.h
0079b331227fc1555d7c5305f33917a570d44890 22-Sep-2014 Wei Jia <wjia@google.com> Merge "MediaBuffer: ABuffer will release MediaBuffer when it's destructed." into lmp-dev
96e92b58b7e9647b4c7c2f54b62a1b357ab06b66 19-Sep-2014 Wei Jia <wjia@google.com> MediaBuffer: ABuffer will release MediaBuffer when it's destructed.

Bug: 17454455
Change-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99
enericSource.cpp
uPlayerDecoder.cpp
c851b5de495169d7e9528644c2592746021bd968 18-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: smooth out videoplayback based on framerate

Bug: 14659809
Change-Id: I73f6c7224c51ac06487475f9ed395379111ad71f
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
3bde6b1c3387c51479f39846533ead246a920990 20-Sep-2014 Marco Nelissen <marcone@google.com> Merge "Make prepare properly report failure again" into lmp-dev
705d3290102875409e334e2a80e64221714aa37c 20-Sep-2014 Marco Nelissen <marcone@google.com> Make prepare properly report failure again

Bug: 17583084
Bug: 17548451
Change-Id: I759d28eaafb520c206d54740c2c0a857b534d23c
enericSource.cpp
dc43dfa1294470a4413c37e863ef3b621da8681f 08-May-2014 Lajos Molnar <lajos@google.com> mediaplayer: schedule video frames in VSYNC valleys

Bug: 14659809
Change-Id: Ic340ac61ad4778b493625c79c2cb4f747ff54ede
ndroid.mk
uPlayerDecoder.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
c0651e858ae4ef4c9a2df2e4506b4093b6666ae9 19-Sep-2014 Phil Burk <philburk@google.com> Merge "mediaplayer: fix buffer aggregation when video has offloaded audio" into lmp-dev
21a1d72bb42710d149532653490154f89330b9dd 18-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: update timestamp handling" into lmp-dev
832666776a681ec3a30ee8fc7d5da9039646147d 18-Sep-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: use getTimestamp instead of getPosition" into lmp-dev
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
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
33b51b07ca90cc3b48e86598f7e82f93e440fe02 18-Sep-2014 Phil Burk <philburk@google.com> mediaplayer: fix buffer aggregation when video has offloaded audio

Change conditional test so we don't accidentally do buffer aggregation
on video buffers.

Bug: 17553847
Change-Id: I746452b2e62db664315732a38f982ce7faf26212
Signed-off-by: Phil Burk <philburk@google.com>
uPlayer.cpp
06ad1528e6dd4c866c085d3cad9235d2752eb3ed 28-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: use getTimestamp instead of getPosition

Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
uPlayerRenderer.cpp
uPlayerRenderer.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
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
317a49a4c4bf02944d1e01941c6b9f86179044bb 17-Sep-2014 Marco Nelissen <marcone@google.com> mediaplayer: reset flags when pre-reading multiple buffers

Bug: 17521470
Change-Id: I15ee9b1d3dd4ad29f4961a642f7fadafd9fe5b24
enericSource.cpp
919b93473ebbba036f3934e92039f038c7f91a54 17-Sep-2014 Robert Shih <robertshih@google.com> Merge "NuPlayerDriver: restart after eos pause" into lmp-dev
6e9f6b498d758848fd934f8217c386dd74ef3833 17-Sep-2014 Robert Shih <robertshih@google.com> NuPlayerDriver: restart after eos pause

Bug: 17512187
Change-Id: I204ce83790bf98bc7ffebcb76d5df1e56a6a3f66
uPlayerDriver.cpp
fbbeeeb87c55c3eca94a709f9f8986190f6472a1 17-Sep-2014 Chong Zhang <chz@google.com> Merge "Disconnect HTTP-based data source upon reset" into lmp-dev
da23ab9b0dfa780175651daf057a02b0aa106dc8 16-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: fix selectTrack parameter

Bug: 17512187
Change-Id: I19a0915fb0fb1b1ae036bf5df85b9c9e7657a7ea
enericSource.cpp
48296b792a8d68358de74141fa80bd5bd84d0307 14-Sep-2014 Chong Zhang <chz@google.com> Disconnect HTTP-based data source upon reset

Bug: 17425250

Change-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerSource.h
73721170e1a3c9751ef00fd53b6b5eec5f2c5c81 16-Sep-2014 Lajos Molnar <lajos@google.com> Merge "mediaplayer: handle surface dis/connection errors" into lmp-dev
c7b29572d22dff51b5432a7d211875d528406da6 15-Sep-2014 Phil Burk <philburk@google.com> Merge "mediaplayer: optimize buffer queue management" into lmp-dev
14986f6cca08b9ab0407cc2d31f92bfb02b5cb8c 15-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: handle surface dis/connection errors

Bug: 17408008
Change-Id: I752d5372086772b79b1300a2d3fabbc4985954a8
uPlayerDecoder.cpp
c5cc2e21602182c7ab4df1d7eba40f18037c1818 10-Sep-2014 Phil Burk <philburk@google.com> mediaplayer: optimize buffer queue management

Various changes for power consumption including:
Restrict the number of messages in flight.
Buffer more frames in the GenericSource so reads occur in a burst.

Bug: 15094301
Change-Id: I783481fd91f3fdd445b95e88ab82178f649f1a38
Signed-off-by: Phil Burk <philburk@google.com>
enericSource.cpp
uPlayer.cpp
uPlayer.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
ae6fe431d150d561fa27d060f38b5dd7c42820bb 12-Sep-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: move track packet init from start to prepare" into lmp-dev
af52c1a1ccab588ae4ed94521f202ed9474eccec 12-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: move track packet init from start to prepare

Bug: 17244704
Change-Id: I15eba0e4d2a178cc0ba46bbc17be0e6d95e76935
enericSource.cpp
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
enericSource.cpp
enericSource.h
b9b87fe9d9f3d91c05300a22920d7227a3f8eb83 10-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: release MediaBuffer in stale input buffers

Bug: 17454455
Change-Id: If63a6e42f96851d6c10fdec11360f0dabae9bf50
uPlayerDecoder.cpp
e4c8b32f1123aa639f46d234203ad5c5e7926628 10-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: do not set to paused state when receiving playback complete and reset is in progress." into lmp-dev
71079fc29d93fb49d6022397b6d4168b7fba6e9b 10-Sep-2014 Wei Jia <wjia@google.com> NuPlayerDriver: do not set to paused state when receiving playback complete and reset is in progress.

Bug: 17453240
Change-Id: If243e2232779681fc84dc767feaed00f23d8fdb1
uPlayerDriver.cpp
178e506350ef41609daaf307f598ef0bc4f82c71 10-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: limit number of outstanding buffer requests

Bug: 14679336
Change-Id: I94a20ada30a9a25065329a85fc884d32d154d029
uPlayerDecoderPassThrough.cpp
8716e3f386f37abd3d759404ca8b3deaf46afde8 10-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: make previous decoders obsolete when reset is done." into lmp-dev
47a13d45ae3f05ddb778124484a17d4754c82b7a 10-Sep-2014 Phil Burk <philburk@google.com> Merge "[media][nuplayer] Remove debug message EWOULDBLOCK" into lmp-dev
cbe165a6f68c90bbdd2b1593387d4072bd80b924 09-Sep-2014 Phil Burk <philburk@google.com> [media][nuplayer] Remove debug message EWOULDBLOCK

A debug message that was silent during testing is now spewing messages.
It was removed.

Bug: 17438882
Change-Id: I9c61409cac77c7bc1fd1088815823207094606f2
Signed-off-by: Phil Burk <philburk@google.com>
uPlayer.cpp
1008e1c9eb9ec7aeefffa4d9907f890a8eab7668 09-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: make previous decoders obsolete when reset is done.

Bug: 17428608
Change-Id: I724174d65f8e00bfecb51e6f690ae709ed2cf442
uPlayer.cpp
95861b33c7dcfa450f5e10568c0767b07bc50729 09-Sep-2014 Rachad <rachad@google.com> Merge " NuPlayer::Renderer::onPause() - Converted CHECK(!mPaused) to a warning." into lmp-dev
8592dbbdf5339890db2b14f83bcd6da2ffb023d2 09-Sep-2014 Rachad <rachad@google.com> NuPlayer::Renderer::onPause() - Converted CHECK(!mPaused) to a warning.

Bug: 17436451

Change-Id: I7e9e0c48bbdd8ab65c5f4a587699a28435bd03f4
uPlayerRenderer.cpp
2adbeda4f46f88ddb17519d39cc13e183741e071 09-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: check mSource before deferencing it." into lmp-dev
f702d0415be7d5cb8c1801953b74adc1065c015e 09-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: check mSource before deferencing it.

Bug: 17428608
Change-Id: I7b264d1288ed3c495434aedeeeef2fbfc3ca2f16
uPlayer.cpp
1a9ac031e9de8b3be1ec2c8d6d00f92bd3d59ea8 09-Sep-2014 Phil Burk <philburk@google.com> Merge "[audio][nuplayer] Aggregate buffers to reduce power." into lmp-dev
9f5264958557c45e942eabab8b32db2544d6c498 04-Sep-2014 Phil Burk <philburk@google.com> [audio][nuplayer] Aggregate buffers to reduce power.

Combine audio data from multiple buffers into one.
This reduces churn between threads and saves battery power.

Only use buffer aggregation when offloading the decoder.
Pend buffer if it won't fit in the bigger buffer.

Bug: 15094301
Change-Id: Iad3dac90b5d6b0fa43432b0e6776652ee2eafaa1
Signed-off-by: Phil Burk <philburk@google.com>
uPlayer.cpp
uPlayer.h
43cbe059b21185855465063d3767c2364f446f44 08-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: put player in paused state when reaching EOS." into lmp-dev
f17882b310426d243f8cd541f1774c03ccdd4957 06-Sep-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: refactor track selection for dedicated looper" into lmp-dev
4ec6746804ad8172c8b1c4eb3e6deb19a0920734 05-Sep-2014 Wei Jia <wjia@google.com> NuPlayerDriver: put player in paused state when reaching EOS.

Bug: 17352759
Change-Id: I19b183e0a86b712524f79ec7c35e32b5a5b47bc6
uPlayerDriver.cpp
ade312d5c933cff798c3febefabc47b00390ee4a 05-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Restrict seek on video texture changes" into lmp-dev
767fc12e58422eef14aa40a5e7ffefd0b3949b82 05-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Discard seeks when source and decoders are NULL" into lmp-dev
7353585789513466d5887986620e8734a325b3eb 05-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: Restrict seek on video texture changes

MediaPlayer::setVideoSurfaceTexture() should generate seek to refresh
display only if player is started and has video.

Bug: 17379148
Bug: 17404923
Change-Id: I5f55dc40943e4419d08be6fdab964b8a2c5ee519
uPlayer.cpp
adf34bf9b7925f990259b1b6f4c69b8668f76ead 04-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: Discard seeks when source and decoders are NULL

Problem occurs when loop mode asynchronously seeks to the
start of the source after a MediaPlayer::reset().

Bug: 17379148
Change-Id: I50bfe65a753afffb1d478db54c76067a9c61a0ae
uPlayer.cpp
uPlayerDriver.cpp
b86e68f834b7040518b99d1d0245d5f2e5cb9c86 01-Aug-2014 Chong Zhang <chz@google.com> Split CEA-608 Closed caption into 4 tracks CC1~CC4

Bug: 16463078

Change-Id: Ib3073090934232016e535fbb8fa56cdf9d7ab6eb
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoder.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
enericSource.cpp
enericSource.h
d3db0bfafc98305f867502c06de3ce415c97d3fb 03-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: add seek operation when change video texture surface." into lmp-dev
ac428aa54d2489705091dd38372bbaade281a92e 03-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: add seek operation when change video texture surface.

Bug: 17278770

Change-Id: I9fd5207e1eccb91e64644d2d1da4183d4bf7ac2c
uPlayer.cpp
uPlayer.h
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
uPlayerRenderer.cpp
uPlayerRenderer.h
e7494680914c384dc6e93ae85f4337b06b300468 02-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: stop feeding AudioSink when paused." into lmp-dev
64a385d5d8e42ac96c88fb025212b4023690db39 30-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "GenericSource: set DRM playback status." into lmp-dev
c22c695660ed9edaba0d4cd7c0ab3a794216fe80 29-Aug-2014 Wei Jia <wjia@google.com> MediaCodec: set state to UNINITIALIZED when receiving fatal error.

NuPlayerDecoder: release MediaCodec when handling an error.

Bug: 16661923
Change-Id: I1b6fd7ee5cc1136b3f289135e5360cd3d98f9799
uPlayerDecoder.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
uPlayerDriver.cpp
uPlayerRenderer.cpp
802768790c131f8237364906fd13981a6bb91193 29-Aug-2014 Ronghua Wu <ronghuawu@google.com> GenericSource: set DRM playback status.

Bug: 17307158
Change-Id: I36b801a9b67831b618930cf1241756bb9644b4fd
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerSource.h
d362ea179c25dd1998e2edee7994e549d00e7eec 27-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "AudioPlayback: delay the post of EOS based on pending playout." into lmp-dev
5095d7091874cb9e9c95ecc4fe762076ed05e624 27-Aug-2014 Ronghua Wu <ronghuawu@google.com> AudioPlayback: delay the post of EOS based on pending playout.

Bug: 16840522
Change-Id: Icdc8888f5a8a77e2e5ebeb8a6934c7d79bd9e71a
uPlayerRenderer.cpp
uPlayerRenderer.h
5bc5b4fbf16a0331a4f2f1d16585932087ee41c1 27-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: set controlledByApp to true when creating Surface." into lmp-dev
355286ee1e5057c66158fcea785bf1881e069101 27-Aug-2014 Marco Nelissen <marcone@google.com> Merge "Fix SoundPool lockup" into lmp-dev
9c03a40367c149526c31ddf14a518ba2036195a5 27-Aug-2014 Wei Jia <wjia@google.com> NuPlayer: set controlledByApp to true when creating Surface.

This fixes hang when trying to dequeue buffer from native window
followed by a flush.

Bug: 16303659
Bug: 17250931
Change-Id: Ib87ae558b020f5ce82b4192ec63339c93a72a2e9
uPlayer.cpp
2a79c3274e11b91675a509e16cb3b157df141fac 26-Aug-2014 Marco Nelissen <marcone@google.com> Fix SoundPool lockup

NuPlayerDriver needs to update its internal state before calling
its listener, so that when the listener calls back into NuPlayerDriver,
NuPlayerDriver has the right state.

Bug: 14057920
Change-Id: I224882c427f5e3c9d4bf96c5d68075e235062401
uPlayerDriver.cpp
5bbffc05432b6a81280872a9c3ed9cac7bec53df 26-Aug-2014 Chong Zhang <chz@google.com> Merge "do string compare with mime immediately after we get the value" into lmp-dev
afc0a87cc92a474bb14fb2a4093c74d04e4efd1b 26-Aug-2014 Chong Zhang <chz@google.com> do string compare with mime immediately after we get the value

Bug: 17210803
Change-Id: I4d20dd4b95d18251c18a371bd8f89b1320b38879
enericSource.cpp
87603c0dd1f4e62e52feffa8d6e960ad21f68893 21-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: remember and resubmit CSDs after flush

Bug: 17118001
Change-Id: I09bbefd4c05de0db1c593e8d6d38859358a20ebb
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
052efa490b595d17d1452ec019979996fe470a05 23-Aug-2014 Chong Zhang <chz@google.com> Merge "wait for flush to finish before returning setSurface" into lmp-dev
43febe72dadc751acff410842e091d4099919fad 23-Aug-2014 Chong Zhang <chz@google.com> Merge "add buffering update to GenericSource" into lmp-dev
13d6faa02087ce3bb0d4a02b8495f1822f211433 23-Aug-2014 Chong Zhang <chz@google.com> wait for flush to finish before returning setSurface

Bug: 17187598
Change-Id: I091219e57158a4532044ca49342b57277d6ecb15
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
d1de9bb33a2f645fb9dc54e7fc69ca45304850a5 22-Aug-2014 Wei Jia <wjia@google.com> Merge "ACodec: handle errors related to native window." into lmp-dev
3fb9f68dea5d991288f0ea8037742b50c7df5767 20-Aug-2014 Wei Jia <wjia@google.com> ACodec: handle errors related to native window.

Bug: 17068327
Bug: 13133027
Change-Id: I9875e524222a10d1be26be5a84b9633b4aaeb210
uPlayerDecoder.cpp
7992a5d0f6d995d46bf649dbac45e0e8267f1397 22-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: fix current position for stop and pause." into lmp-dev
b534f461f6056c84c3ae87e27430f4b934fd3eb1 22-Aug-2014 Chong Zhang <chz@google.com> Merge "move cache prefill to GenericSource's message handler" into lmp-dev
2a3cc9a64330dd36e466fe5e1b634146f2d641c1 22-Aug-2014 Chong Zhang <chz@google.com> add buffering update to GenericSource

Bug: 17182378

Change-Id: Ib86f3f522d7ea635489edd2b512adb7f4b27e381
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerSource.h
0560195a71ee26e8546075e56c49ff535fcf1767 21-Aug-2014 Wei Jia <wjia@google.com> NuPlayerDriver: fix current position for stop and pause.

When start() is called after EOS, it means restarting from the beginning of the stream.
Fix racing conditon on accessing some members.
Report seekTo position before any notifyPosition is called.

Bug: 17031731
Bug: 17178928
Change-Id: I008b827288cf28d39e2a943373fe1e5d7d6c2595
uPlayerDriver.cpp
uPlayerDriver.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
enericSource.cpp
enericSource.h
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
uPlayerRenderer.cpp
15506a6582fb86567c6887c4c426d44be02d12af 21-Aug-2014 Wei Jia <wjia@google.com> NuPlayerDriver: include lapsed time when reporting current position.

Bug: 17031731
Change-Id: I01962ee9194bdaa9e8ed1a51abbf365733be3c85
uPlayerDriver.cpp
uPlayerDriver.h
e0b5cf7eae5ae16699864eeb8ae36975caa7a26c 20-Aug-2014 Marco Nelissen <marcone@google.com> Merge "Fix typo in comment" into lmp-dev
44d3281b6529370efb72fe2fb126ee3a468d53e2 20-Aug-2014 Marco Nelissen <marcone@google.com> Fix typo in comment

Bug: 14057920
Change-Id: I51c4d47b9e175ef789ed3c51d59c9eda77edc1e0
uPlayerDriver.cpp
2a1bcb8347ad4778a49bb340c3ed28ba27caa7d7 19-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: use generation to detect stale requests from old decoders." into lmp-dev
88703c34fb4a9db1ff51495879f9775474c8ce89 06-Aug-2014 Wei Jia <wjia@google.com> NuPlayer: use generation to detect stale requests from old decoders.

Bug: 14955925
Bug: 16303659
Bug: 16467066
Bug: 13133027
Change-Id: I3e66b25b2302c0eb795361629b03bf2e96ed34e4
uPlayer.cpp
uPlayer.h
111333eaab12448f45927464c8aeacbbf9a578a1 20-Aug-2014 Marco Nelissen <marcone@google.com> Merge "handle error during flush in MediaPlayer.reset()" into lmp-dev
9e2b7918eb5621b24bd54c922f630da45339de77 19-Aug-2014 Marco Nelissen <marcone@google.com> handle error during flush in MediaPlayer.reset()

If there was an error during the flush phase of a reset, then the
reset would never complete. We now make sure the MediaCodec moves
to the right state in this case, and that NuPlayer cleans up and
resumes the rest of the reset after a failed flush.

Bug: 16955082
Change-Id: Ied61136871a9fcdffcc80647fa2bba64a926ac2a
uPlayer.cpp
uPlayerDecoder.cpp
eb645a0d1820b227af287a5309f017afadbab4e3 20-Aug-2014 Marco Nelissen <marcone@google.com> Fix NuPlayer deadlock

Mutexes can't be locked recursively. This would cause a seek in the prepared
state to deadlock

Bug: 14057920
Change-Id: Ifb5e25f24450b7e5f71611a8ee2bdba45dba70a7
uPlayerDriver.cpp
uPlayerDriver.h
5596d7c4ad388d1757398181b3a1453d731a1b41 20-Aug-2014 Wei Jia <wjia@google.com> Merge "Allow audio and video flushed separately." into lmp-dev
3ef1e656086e6aed75b508715e59951f028841a1 20-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: allow flush() to be called multiple times." into lmp-dev
53904f372b9c4a5ea7f839012b52b3d564e41207 29-Jul-2014 Wei Jia <wjia@google.com> Allow audio and video flushed separately.

Bug: 14955925
Bug: 16303659
Bug: 16467066
Bug: 13133027
Change-Id: I956a9f55513970115119c7639a5e33b39e6d2f55
uPlayer.cpp
uPlayer.h
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
uPlayerRenderer.cpp
5a5a23255ad83ef378f924ead4e90e756773e278 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: disable deep audio buffer in offload mode." into lmp-dev
1ffb5381ca40884868299a2ac8a1424b68a1a43e 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: disable deep audio buffer in offload mode.

Bug: 17035257
Change-Id: I56ca28d4c4774c1c0103d19126cf0b8f859964b7
uPlayer.cpp
1593dc575cf4a83be9f4d04b24ecc402ee4e2519 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayerRenderer: only query audio sink for position for the first entry." into lmp-dev
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
uPlayerRenderer.cpp
af11287b39b6420c8a05a5c8c9b72f7e4ddc82f7 19-Aug-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: add support for proper stop" into lmp-dev
426c719a5f3b4d88480eb35a7b0b373f672ea3cb 15-Aug-2014 Chong Zhang <chz@google.com> Merge "use dedicated looper for GenericSource" into lmp-dev
282a7e31681840253a4cb6fab3f6725d35798699 15-Aug-2014 Andy Hung <hunga@google.com> nuplayer: create AudioSink early to verify offload is possible

Offload audio playback is not guaranteed even if AudioSystem says it
is allowed. Create AudioSink early to verify offload is really possible.
Move AudioSink open / close into functions.

Bug: 16732303
Bug: 16978805
Change-Id: Ie1c73a96656863c1281bed3280a84b86d3cbadf5
uPlayer.cpp
uPlayer.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
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
TSPSource.cpp
TSPSource.h
de01afbbc55ac9c5c23ec66154603f34217aed2c 13-Aug-2014 Chong Zhang <chz@google.com> cache up to 200K bytes (instead of 10 buffers) in DecoderPassThrough

Bug: 16892521
Change-Id: I0e2da4134a37e632f9f2c29d1d27d8fded7a7863
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
dbdaa08cbed61b9ba4afc43f0ce0230346a1ca2f 12-Aug-2014 Chong Zhang <chz@google.com> Merge "propogate heartbeat error code to app" into lmp-dev
f4c0a94ab32541611f5ed6d407fc25b394c1988b 12-Aug-2014 Chong Zhang <chz@google.com> propogate heartbeat error code to app

Bug: 16885604
Change-Id: Ib6c60f0ef8cf72aa1aac67a75121142bff304018
uPlayer.cpp
4b75b86785d674b98dade17cd197b912d87cd279 16-Aug-2013 Lajos Molnar <lajos@google.com> NuPlayer: add support for proper stop

MediaPlayer.stop() should move to the Stopped state which is
semantically identical to the Initialized state.

Bug: 13138230
Change-Id: I5d7b4a22533f545c24a18e2cd9f7cb2685d42c84
Signed-off-by: Lajos Molnar <lajos@google.com>
uPlayerDriver.cpp
uPlayerDriver.h
7c4f0d757bfeedaab4b7ef4ccf5b0a72ec8f4306 10-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer: getSelectedTrack

Change-Id: If5251f89b881e7f268e11a06cd3685d794c958b6
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerSource.h
ced1c2f8f6c422063092f5cc5c675ccdebb2dc10 09-Aug-2014 Chong Zhang <chz@google.com> some clean up of video size change notification

need to consider rotation when notifying video size change after
initial prepare, in addition to after an output format change.

Bug: 16870964
Change-Id: Icd1c9e901ac932e720ce95b8a983c0edcf251c35
enericSource.cpp
TTPLiveSource.cpp
uPlayer.cpp
uPlayer.h
uPlayerSource.h
TSPSource.cpp
treamingSource.cpp
a19f33e4e50cda5d5953fa0cc662502262ac9dfd 08-Aug-2014 Chong Zhang <chz@google.com> delay data source creation for GenericSource prepare time

Bug: 16708180

Change-Id: I9d578ef5e2edaed50279d28d3831c68556468f39
enericSource.cpp
enericSource.h
uPlayer.cpp
b189a5b37cd1768f996096122b9541d9fa29ec43 07-Aug-2014 Wei Jia <wjia@google.com> Revert "NuPlayer: don't feed decoder input data during flushing."

The previous patch results in MediaBuffer leakage.

This reverts commit 69a85b792c31033a99c8858e3b1a3c2ea68b6278.

Bug: 14955925
Bug: 16303659
Bug: 16467066
Bug: 16849601
Change-Id: Ib1892b7603a97e12b7ee228fd5a4009700cdc988
uPlayer.cpp
0893eaf7d21e3a50b81324673eaa91a6b77a39c2 07-Aug-2014 Robert Shih <robertshih@google.com> Merge "httplive: timestamp reporting, track selection" into lmp-dev
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
enericSource.cpp
enericSource.h
uPlayer.cpp
309aa8bf5e4cd66fe988adf2654cac3fadc2a1c3 30-Jul-2014 Robert Shih <robertshih@google.com> httplive: timestamp reporting, track selection

Bug: 15153976
Bug: 15763638
Bug: 16351654
Change-Id: I4462276d4b7342647286a0ca4be11692ce52ff6d
enericSource.cpp
e46711343b43786c049a007369a72c1c78e6c5db 05-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: don't feed decoder input data during flushing." into lmp-dev
69a85b792c31033a99c8858e3b1a3c2ea68b6278 05-Aug-2014 Wei Jia <wjia@google.com> NuPlayer: don't feed decoder input data during flushing.

Bug: 14955925
Bug: 16303659
Bug: 16467066
Change-Id: I7c258b986ae711357bd7e636b79853f8f3959d32
uPlayer.cpp
b15486f973f80063ae2d436f7d71667b592c6fc9 05-Aug-2014 Chong Zhang <chz@google.com> Merge "set secure flag for secure file playback" into lmp-dev
7e892180f3992c088dc0d44f0b0e54ace4dabe3c 05-Aug-2014 Chong Zhang <chz@google.com> set secure flag for secure file playback

Bug: 16786456
Change-Id: I06f18b0e9c3f65e3e127369baa1f9ea8c9307762
enericSource.cpp
uPlayer.cpp
ccad786f3497f223cbc5af981b08b460433ee622 02-Aug-2014 aarti jadhav-gaikwad <agaikwad@nvidia.com> stagefright: Pass audio aac subformats in offloadinfo

Pass audio aac sub formats in offloadinfo according
to aac profile. Audio HAL can take decision about offload
using DSP capabilities

Change-Id: Ice277e8b6561b7a7db92c474f23f8041ebb35e8c
uPlayer.cpp
25644c502ed8ec13bcf496613e65ec8edb1af4a7 31-Jul-2014 Lajos Molnar <lajos@google.com> Merge "GenericSource: timed text support" into lmp-dev
3423bbdb05f843a64356fa24e8657f03ecbb7d65 17-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: support track (de)selection

Bug: 15153976

Change-Id: Idfce856b4ca5fa7853da857757490798bc3ffe1e
enericSource.cpp
enericSource.h
e26940f11c3f2040bced09f06a8f374b50c985fb 31-Jul-2014 Lajos Molnar <lajos@google.com> GenericSource: timed text support

Bug: 16385674
Change-Id: Ib322cc13488dcadf2409921272cd469304b0af37
enericSource.cpp
enericSource.h
63c0ce7ab7bd99d51414dcb4f765bc6faabf367d 31-Jul-2014 Lajos Molnar <lajos@google.com> mediaplayerservice: initialize mIsWidevine

Bug: 16641557
Change-Id: I77aad6e710117a16093726bf3b36360904fbe148
enericSource.cpp
a2e14302d4b5ca5443611d0c05218b9da4cc64a6 31-Jul-2014 Lajos Molnar <lajos@google.com> mediaplayer: add looping support to NuPlayer

Bug: 16641557
Change-Id: I433158e6e585b4714cfd6d89562ecd0587a07ae2
uPlayerDriver.cpp
uPlayerDriver.h
a298101317e5472f6b6a12e6ddeafdc4064bd5b2 31-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer: fix av discontinuity race

Assumption:
NuPlayer must see both (a/v) discontinuities before resuming.

Example issue:
Suppose we're changing the video track, so the video source queues a
DISCONTINUITY_FORMATCHANGE, and the audio source queues a DISCONTINUITY_NONE.
Consider this sequence of events without this change:
1. audio discontinuity seen by player
2. mFlushingAudio = FLUSHED
3. video discontinuity seen by player
4. mFlushingAudio != NONE so no performScanSources is queued
5. video decoding shuts down without being restarted

Bug: 15153976
Change-Id: I659550d9c0f883828103142abead857f576f25b1
uPlayer.cpp
b382340f33ac2dc26fe825ceb3ef98bac8af974c 31-Jul-2014 Chong Zhang <chz@google.com> Merge "handle rotation in NuPlayer" into lmp-dev
e9e63bcf6c36351f1129b0bdc5e93f17f0f9f0b4 31-Jul-2014 Chong Zhang <chz@google.com> handle rotation in NuPlayer

Bug: 16653284
Change-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0
uPlayer.cpp
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
enericSource.cpp
enericSource.h
bace25b0fbcd5101d2db288b0c70c4a239f0e815 25-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: start/stop tracks correctly on selection

Change-Id: I10343151f930a4ab778a6d2574ab5165af2013ba
enericSource.cpp
eb1735e343a93830df259ae8882160bb0d79dcb5 24-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: timed text support

Bug: 16385674
Change-Id: I954cc463b55af4b93c6a6e714115db4fda729dc8
enericSource.cpp
enericSource.h
ec3c71ed320e5e2252a84aa8b35ac4b9a6f92712 26-Jul-2014 Robert Shih <robertshih@google.com> Merge "NuPlayer: timed text support" into lmp-dev
d3b0bbb8a37f90fba84eb4e95c58aa0fec6c51e7 24-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer: timed text support

Bug: 16385674
Change-Id: Ifa9fbc17a1276aa774d57b82cdce500876a0b543
ndroid.mk
uPlayer.cpp
uPlayer.h
uPlayerSource.h
81e50d0c782cc18eab4ef40ecd6c7f36df50fea5 24-Jul-2014 Wei Jia <wjia@google.com> Reset the value for Vector of pointers.

Bug: 16467066
Change-Id: I3674e07779a59f4d4fa639d066ed1988df89b3f5
uPlayerDecoder.cpp
05312bc7478feec11d9ae88e951c0857a7a3f28d 17-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: support track (de)selection

Bug: 15153976
Change-Id: I522b1f9f0ffedf4edbea03a6654a6dbc0262860a
enericSource.cpp
enericSource.h
4c9a0e3e30e97a31fcd7e41cb77d15427cb9c50b 23-Jul-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: support track (de)selection" into lmp-dev
3a2956d148d81194e297408179e84a47a309ef48 23-Jul-2014 Wei Jia <wjia@google.com> Fall back to s/w decoding when audio offloading fails.

Change-Id: Icde3d65c964b2a13fb1c6636adcce52ae048a3fb
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
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
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerRenderer.cpp
cc227036b05f7c2f960a89c567a61f9decefe742 18-Jul-2014 Lajos Molnar <lajos@google.com> nuplayer: add widevine support to GenericSource

Bug: 15699665
Change-Id: Ided823bd0b1118bbabb288cf62d6389518f820a9
enericSource.cpp
enericSource.h
uPlayerSource.h
dd235727a1b4e283deeb581559f99c2c8889da07 12-Jun-2014 Robert Shih <robertshih@google.com> GenericSource: implement getTrackCount/getTrackInfo

Bug: 15153976
Change-Id: I0204c4188d485cda026497469c7cde24f7bd5c95
enericSource.cpp
enericSource.h
bc2fb720bbd0acd122bacc67e844e982d068f6f9 09-Jul-2014 Wei Jia <wjia@google.com> Add support of audio offloading for NuPlayer.

Change-Id: Ic83973339fb46a83b48382e6097925f45d200867
ndroid.mk
uPlayer.cpp
uPlayer.h
uPlayerDecoder.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
ba5e39b994b44cc458708eedd26c2d50404c9a46 09-Jul-2014 Chong Zhang <chz@google.com> Merge "HLS: do not discard packets when queuing explicit discontinuity"
862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c 27-Jun-2014 Chong Zhang <chz@google.com> handle emulation_prevention_three_bytes for AVC

bug: 15917805
Change-Id: I824fe7eea807f8faba6b149c31890b7a5df87825
uPlayerDecoder.cpp
632740c58119a132ce19f6d498e39c5c3773971a 26-Jun-2014 Chong Zhang <chz@google.com> HLS: do not discard packets when queuing explicit discontinuity

in case of explicit discontinuity (#EXT-X-DISCONTINUITY tag in the
playlist), do not discard packets that's already queued.

(when seeking, the old fetcher will be discarded so this won't affect
seeking case.)

Bug: 15020526
Change-Id: I5d3fc489df35e3bc44acb1ee7851571cb99cb56b
enericSource.cpp
TSPSource.cpp
c1f4b2b73fe9432cb75ce1dd368475a2867e70ed 17-Jun-2014 Marco Nelissen <marcone@google.com> Parse trex and mehd boxes

Also get duration from mvhd if available, use that in addition to track
durations to determine total length of file, clear track header
struct so we don't read uninitialized garbage from it, and take
composition time offset into account for proper ordering when B frames
are used.

b/15669839

Change-Id: Ibf3e35b5c7299bac11d0e78a391545fc325dd2d0
enericSource.cpp
a7fa1d9530b6870f2c7850e3025d7db963661803 11-Jun-2014 Chong Zhang <chz@google.com> support for CEA-608 closed caption

Bug: 15470448

Change-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
404fced9bfa8fa423ee210a271ca051ffd1bec13 11-Jun-2014 Chong Zhang <chz@google.com> refactor getTrackInfo()

(this is in preparation for supporting other cc source)

- split into two methods: getTrackCount() and getTrackInfo()

- move track info parcelling to NuPlayer

- parcel in the mime type of the subtitle format

Bug: 15470448
Change-Id: If00724d8c3a2b2319cb9c5f29d3fe76347bfe947
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
704e72658b1082264a26a83c50046da34f07d1a1 05-Jun-2014 Wei Jia <wjia@google.com> Added paused state to NuPlayerDecoder

This prevents decoder from requesting new buffer until the decoder
is resumed, and prevents processing a potential DISCONTINUITY while
the player is still flushing.

Bug: 13133027

Change-Id: I2f9fa9f00c8583aa6908809cb7c31ddde07cfaf0
uPlayerDecoder.cpp
uPlayerDecoder.h
dd114d19f65d8a5cdfddbaf6d3ef8119c6169b28 29-May-2014 Marco Nelissen <marcone@google.com> Fix some NuPlayer issues.

Fixes OnSeekCompleted callback and calling getDuration immediately
after prepare().

Change-Id: Ie58c509005cded278a0e50c87240b0a2d920b7d7
uPlayer.cpp
uPlayerDriver.cpp
1cd139824b2e6832f239cd27d8962d3239053c02 18-Jan-2014 Lajos Molnar <lajos@google.com> NuPlayer: use MediaCodec instead of ACodec

Bug: 11785204
Change-Id: I1455bfc683469c7a69e565b179aceacbc5c459f5
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
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
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerRenderer.h
6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab 24-Jan-2014 Robert Shih <robertshih@google.com> NuPlayer side support for seamless format switch.

Avoid reinstantiating decoder if seamless format switch is supported.

Change-Id: I2c2be08d6da90cc835ec747d04a76db2313dfc7c
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoder.h
240abcc4bf661a10ffca24859945796acc76ac6e 13-Feb-2014 Andreas Huber <andih@google.com> Remove unused FragmentedMP4Parser and friends. The functionality has been

subsumed into MP4Extractor.

Change-Id: Ic1b6445660adfb985c604f1ca6f0c86585f8de04
ndroid.mk
uPlayer.cpp
p4/MP4Source.cpp
p4/MP4Source.h
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
TTPLiveSource.cpp
uPlayer.cpp
uPlayerDriver.cpp
uPlayerSource.h
1d6fa7af1288b550faabe4ec2cf98684236723db 11-Feb-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 566be7c3 to master

Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
377b2ec9a2885f9b6405b07ba900a9e3f4349c38 03-Feb-2014 Kévin PETIT <kevin.petit@arm.com> Make frameworks/av 64-bit compatible

Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.

Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
uPlayerDriver.cpp
8497416c40bae877bc67b0ef30bb41a73af54711 10-Feb-2014 Colin Cross <ccross@android.com> am 429f2bf7: am e2307ccb: Merge "frameworks/av: fix errors inside ALOGV"

* commit '429f2bf7527daf872a1bbdafca8ad28635b84644':
frameworks/av: fix errors inside ALOGV
94dcc94b16cc6c2a7aa02df2d0d6b8743d738d78 07-Feb-2014 Colin Cross <ccross@android.com> frameworks/av: fix errors inside ALOGV

Fix errors exposed by adding compile-time checking to disabled ALOGVs.

Change-Id: I9602a4a485dffa3caad732c2a19ec0e41a0ac65b
p4/MP4Source.cpp
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
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
TSPSource.cpp
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
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
TSPSource.cpp
TSPSource.h
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
uPlayerRenderer.cpp
e2d617f5ba7fb90f27b03e2593666b2c927e4dc9 05-Dec-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit '2381f06f374ee0cb8bca0edf5388394432b00e6d' into HEAD
92630351d265a61faae2dfe006a8bb330283aa7b 28-Nov-2013 Marco Nelissen <marcone@google.com> Merge "NuPlayer: Use a software renderer when using software codecs"
3e518fd5d679abb83b654e473ea0fa5f7f16235f 01-Nov-2013 Marco Nelissen <marcone@google.com> Notify current video size if available

b/11248101

Change-Id: I0fa3b5592efcf400c86692002267da6825e331ad
TTPLiveSource.cpp
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
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerRenderer.h
4b7069dac546ad21cf62ca6132d50ea41857d08e 11-Sep-2013 Chong Zhang <chz@google.com> Add FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags

Also update seek flag in NuPlayerDriver, otherwise MediaPlayer will
get wrong flags.

Bug: 10676387

Change-Id: Ice30f27a9a04e37b4718d26228a407fea8d9e4fc
uPlayer.cpp
TSPSource.cpp
dcb89b3b505522efde173c105a851c412f947178 06-Aug-2013 Chong Zhang <chz@google.com> MediaPlayer: add listener for raw track data

Bug: 10326117

Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
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
uPlayer.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
1545d35f871ff3527a716af659ddadebe3253548 08-Jul-2013 Jean-Baptiste Queru <jbq@google.com> am 9f0e0597: am 7266bc80: am ca7f1609: Merge "Prevent double disconnects in RTSPSource"

* commit '9f0e05978e236352fd2a4a7c6dce909755c36ead':
Prevent double disconnects in RTSPSource
7266bc80850dc327e9f18c27b81613f959399630 08-Jul-2013 Jean-Baptiste Queru <jbq@google.com> am ca7f1609: Merge "Prevent double disconnects in RTSPSource"

* commit 'ca7f160921a4a1a5da32ebe8fab1067bd8998a1f':
Prevent double disconnects in RTSPSource
0ad03bc59d090a0455f858d2f629834c105f6f37 06-Mar-2013 Fredrik Rosin <fredrik.rosin@sonymobile.com> Prevent double disconnects in RTSPSource

Prevent a null pointer from occuring by checking that we are not
already disconnected before performing a disconnect, in case
multiple disconnects have been issued.

Change-Id: Ib88800cd246086fd57f77d10748d41b1aefe2084
TSPSource.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
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerSource.h
5a7501304d815552c3bfaee8789821e4884d073b 26-Apr-2013 Andreas Huber <andih@google.com> Handle the case where an asynchronous prepare was initiated and then

the mediaplayer was reset.

Change-Id: Ib241747c5dc002b88a3854569c1f8340b2a8ef41
related-to-bug: 8688986
uPlayer.cpp
uPlayerDriver.cpp
b5f28d4749b898d92fe5e56236b417e37b6fe84f 26-Apr-2013 Andreas Huber <andih@google.com> Handle the case where an asynchronous prepare was initiated and then

the mediaplayer was reset.

Change-Id: Ib241747c5dc002b88a3854569c1f8340b2a8ef41
related-to-bug: 8688986
uPlayer.cpp
uPlayerDriver.cpp
ca6867fbac7a69c4d7a253917ecf6d4abc18d49c 16-Apr-2013 Andreas Huber <andih@google.com> Fix a typo that would cause us not to shutdown/flush the decoders in

some cases.

related-to-bug: 8630032

Change-Id: I8e94b53b34e137e827e9630c65f3252ea91e4ebd
uPlayer.cpp
da9740e63a835e610519bd235be9137d74b6d409 16-Apr-2013 Andreas Huber <andih@google.com> Fix a typo that would cause us not to shutdown/flush the decoders in

some cases.

related-to-bug: 8630032

Change-Id: I8e94b53b34e137e827e9630c65f3252ea91e4ebd
uPlayer.cpp
602f5bbd7596ec3fe447fde4329d5d4f0b370835 16-Apr-2013 Andreas Huber <andih@google.com> Guard against mLooper == NULL.

Change-Id: I01aa0e47b55d0dffe34525edf9f055a5cb4dc70f
related-to-bug: 8620223
TSPSource.cpp
a68e7b98361692d4120bf99fa5dc18cd93673130 16-Apr-2013 Andreas Huber <andih@google.com> Guard against mLooper == NULL.

Change-Id: I01aa0e47b55d0dffe34525edf9f055a5cb4dc70f
related-to-bug: 8620223
TSPSource.cpp
2070254f241f52cadb69bc2323f56df72704f1ca 11-Apr-2013 Andreas Huber <andih@google.com> Instead of returning an error, return an invalid duration (-1 ms)

if no duration information was available. This prevents us from
entering ERROR state, effectively rendering the player instance useless.

Change-Id: I602d2661ae8b8633360306c0ea9208fb11e2bf17
related-to-bug: 8596285
uPlayerDriver.cpp
d85929f6086e050d7cb33bfe0d29f339ad7279e5 11-Apr-2013 Andreas Huber <andih@google.com> Instead of returning an error, return an invalid duration (-1 ms)

if no duration information was available. This prevents us from
entering ERROR state, effectively rendering the player instance useless.

Change-Id: I602d2661ae8b8633360306c0ea9208fb11e2bf17
related-to-bug: 8596285
uPlayerDriver.cpp
7069bdf24a9e3393479368e83f9009817869c33c 01-Apr-2013 Andreas Huber <andih@google.com> Fix seek in response to OnPrepared() for HLS content

Change-Id: I0e52352845398a4db074e939487f6f6de94bd523
related-to-bug: 8225122
uPlayer.cpp
997594088164cfb33c1cb8c376884346fbf1e7ae 01-Apr-2013 Andreas Huber <andih@google.com> Fix seek in response to OnPrepared() for HLS content

Change-Id: I0e52352845398a4db074e939487f6f6de94bd523
related-to-bug: 8225122
uPlayer.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
uPlayer.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
treamingSource.cpp
treamingSource.h
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
uPlayer.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
treamingSource.cpp
treamingSource.h
b1e7cd156ca3e1747374e0d20cdd1ce467210453 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
uPlayer.cpp
1a2952aee048ca7b1765e2bc09ebe9aeddaeafa3 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
uPlayer.cpp
46d13e3606b87d71379287672b54b50d0d9aa5cc 21-Jan-2013 Roger Jönsson <roger1.jonsson@sonymobile.com> Enable pause/resume for RTSP streaming

When a stream is paused, RTSP Pause is also sent to the server.
Otherwise the buffering might continue until the memory runs out.
When the stream is resumed, RTSP Play will be sent in order to
resume the buffering.

Change-Id: I5dc1761140827c532451638c3fd3f34271e5b9ab
uPlayer.cpp
uPlayerSource.h
TSPSource.cpp
TSPSource.h
fba60daf77cc74a13ae3bf4b0e9925dd2ee4470c 21-Jan-2013 Roger Jönsson <roger1.jonsson@sonymobile.com> Enable pause/resume for RTSP streaming

When a stream is paused, RTSP Pause is also sent to the server.
Otherwise the buffering might continue until the memory runs out.
When the stream is resumed, RTSP Play will be sent in order to
resume the buffering.

Change-Id: I5dc1761140827c532451638c3fd3f34271e5b9ab
uPlayer.cpp
uPlayerSource.h
TSPSource.cpp
TSPSource.h
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
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerSource.h
TSPSource.cpp
TSPSource.h
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
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerSource.h
TSPSource.cpp
TSPSource.h
0c3f0fa983107a8b5a4d6274179d15333fde8d3c 06-Feb-2013 Andreas Huber <andih@google.com> HLS now properly publishes its "seekable" flags after connection

has successfully completed and a sufficient amount of data fetched,
and only then signals that preparation is completed.

Change-Id: I7684a14238b826909f518f2af506966e522dfcfc
TTPLiveSource.cpp
TTPLiveSource.h
0df36ec3303c2c6bf9b42c07945ac8bd234153f3 06-Feb-2013 Andreas Huber <andih@google.com> HLS now properly publishes its "seekable" flags after connection

has successfully completed and a sufficient amount of data fetched,
and only then signals that preparation is completed.

Change-Id: I7684a14238b826909f518f2af506966e522dfcfc
TTPLiveSource.cpp
TTPLiveSource.h
7f475c34ffc8e35345f2cceee2ef56a50bb5fea6 05-Feb-2013 Andreas Huber <andih@google.com> RTSP now properly publishes its "seekable" flags after connection

has successfully completed and only then signals that preparation is
complete.

Change-Id: I1a60f718e673fe1462c69369c40eafbed6a14326
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
TSPSource.cpp
ec0c597cabf169ca646bcea5faac1bd81ed4484d 05-Feb-2013 Andreas Huber <andih@google.com> RTSP now properly publishes its "seekable" flags after connection

has successfully completed and only then signals that preparation is
complete.

Change-Id: I1a60f718e673fe1462c69369c40eafbed6a14326
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
TSPSource.cpp
57cea553cb19235553463412db5ad04c99835411 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
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.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
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
81dd60e0340ddcf7f1d5fb80b6c30906fabf201a 20-Feb-2012 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added HTTP support for SDP files.

Added support for playing SDP files from http links. Previously,
SDP files only worked when started from rtsp links
(rtsp://a.b.c/abc.sdp), but they are just as common in http links.

patch provided by "Oscar Rydhé <oscar.rydhe@sonyericsson.com>"

Change-Id: Ic73af3a9a002009dbe8b04c267a4621bf7fe2f46
uPlayer.cpp
TSPSource.cpp
TSPSource.h
7a33b7740412accf6a1cc912686c8d0acfb2a883 20-Feb-2012 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added HTTP support for SDP files.

Added support for playing SDP files from http links. Previously,
SDP files only worked when started from rtsp links
(rtsp://a.b.c/abc.sdp), but they are just as common in http links.

patch provided by "Oscar Rydhé <oscar.rydhe@sonyericsson.com>"

Change-Id: Ic73af3a9a002009dbe8b04c267a4621bf7fe2f46
uPlayer.cpp
TSPSource.cpp
TSPSource.h
5ab368af38fefacc4009e3ab1c1bbd00e62b3bcf 05-Feb-2013 Andreas Huber <andih@google.com> Groundwork to support bidirectional, asynchronous communication

between NuPlayer and its sources.

Change-Id: I1989022d806206b926555add3aa5c1fcf37aa78d
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
b5f25f005bc1d3ae35f45b58c88345e183dc336d 05-Feb-2013 Andreas Huber <andih@google.com> Groundwork to support bidirectional, asynchronous communication

between NuPlayer and its sources.

Change-Id: I1989022d806206b926555add3aa5c1fcf37aa78d
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
484566c410afdfbc4b6bc5aa1732aef37428a5b8 18-Dec-2012 Andy McFadden <fadden@android.com> Rename ISurfaceTexture and SurfaceTexture

The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.

Bug 7736700

Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
8ba01021b573889802e67e029225a96f0dfa471a 18-Dec-2012 Andy McFadden <fadden@android.com> Rename ISurfaceTexture and SurfaceTexture

The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.

Bug 7736700

Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
3057c6925f20d944489a0ccea088d889e8388ebf 05-Dec-2012 Andreas Huber <andih@google.com> Merge "setVideoSurfaceTexture is now synchronous and applied dynamically"
1bf2c273d867e898a057472f4381f7d6e19f0441 05-Dec-2012 Andreas Huber <andih@google.com> Merge "setVideoSurfaceTexture is now synchronous and applied dynamically"
e9810fae2ca6620337b75a787786cc0ea52adecd 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
uPlayer.cpp
516dacfb02d0b0eafe21114330c98ce0e7d90da9 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
uPlayer.cpp
1a447be0cf1abc7564ae2afe7b4d2240c875de54 03-Dec-2012 Andreas Huber <andih@google.com> setVideoSurfaceTexture is now synchronous and applied dynamically

while playing.

Change-Id: If9f08659a01bdc7dac0999730368e9dfa5e58d36
related-to-bug: 5666482
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
57a339cdb7524f883de3ceb364c0b5606df0c610 03-Dec-2012 Andreas Huber <andih@google.com> setVideoSurfaceTexture is now synchronous and applied dynamically

while playing.

Change-Id: If9f08659a01bdc7dac0999730368e9dfa5e58d36
related-to-bug: 5666482
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
457ec421a62995845698ada8d84d6c9de8d222dc 30-Nov-2012 Andreas Huber <andih@google.com> Fix nuplayer seek jankiness by properly flushing decoders before

initiating the seek. Also refactor the nuplayer state machine to make this
a little more maintainable and extensible in the future.

Change-Id: I36a673bdecff732bca7094c8f72bac24f37c01e9
related-to-bug: 7120373
uPlayer.cpp
uPlayer.h
a1f8ab0ad670c30e57f3f072df13df66fe4f4910 30-Nov-2012 Andreas Huber <andih@google.com> Fix nuplayer seek jankiness by properly flushing decoders before

initiating the seek. Also refactor the nuplayer state machine to make this
a little more maintainable and extensible in the future.

Change-Id: I36a673bdecff732bca7094c8f72bac24f37c01e9
related-to-bug: 7120373
uPlayer.cpp
uPlayer.h
1bfcf04b27bdd5320ab70b74285b855380e83f26 28-Nov-2012 Andreas Huber <andih@google.com> am 7b7f17dc: am b7c8e918: Add support for HLS playlists of type \'event\'.

* commit '7b7f17dc9b30ff4ecdf0aea9bcfa1c518d4ac1e7':
Add support for HLS playlists of type 'event'.
2546219a54970e0ad53bd218586cdc48d6039b20 28-Nov-2012 Andreas Huber <andih@google.com> am 7b7f17dc: am b7c8e918: Add support for HLS playlists of type \'event\'.

* commit '7b7f17dc9b30ff4ecdf0aea9bcfa1c518d4ac1e7':
Add support for HLS playlists of type 'event'.
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
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
a4c5bc0f18fe272146426ab2eccad6215279c9f3 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
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
5834181d3f168acb8ff4bf3eff1fd1186afb0bd4 16-Nov-2012 James Dong <jdong@google.com> Fix a crash when the stop might be called due to some error before start in RTSPSource

o related-to-bug: 7507224

Change-Id: Ic8bfec13097b824ba337a01c9b00c98af2a33f43
TSPSource.cpp
f6f0f0e313f4d4dc7035e842270cd31303bd91e7 16-Nov-2012 James Dong <jdong@google.com> Fix a crash when the stop might be called due to some error before start in RTSPSource

o related-to-bug: 7507224

Change-Id: Ic8bfec13097b824ba337a01c9b00c98af2a33f43
TSPSource.cpp
482989a7c92215953f25293c92b3d0fe2e87cb41 17-Sep-2012 James Dong <jdong@google.com> am 9568b4cd: am 376074ed: Fixed a native crash due to deref of a NULL pointer

* commit '9568b4cdc8d2a7896e9c031f2b6cdf6f18210de1':
Fixed a native crash due to deref of a NULL pointer
be52460cdb8bba3987c4a17308624ffe88408033 17-Sep-2012 James Dong <jdong@google.com> am 9568b4cd: am 376074ed: Fixed a native crash due to deref of a NULL pointer

* commit '9568b4cdc8d2a7896e9c031f2b6cdf6f18210de1':
Fixed a native crash due to deref of a NULL pointer
376074ed1c3c368aeb336954a07632cd806288e2 15-Sep-2012 James Dong <jdong@google.com> Fixed a native crash due to deref of a NULL pointer

We only checked the mNativeWindow against NULL, but did not check the native window object itself against NULL.

o related-to-bug: 7153683

Change-Id: I430d344dc09a2fc337bf51001551627056713773
uPlayer.cpp
9f235b58cd6dbee74d091e437d520306977daac9 15-Sep-2012 James Dong <jdong@google.com> Fixed a native crash due to deref of a NULL pointer

We only checked the mNativeWindow against NULL, but did not check the native window object itself against NULL.

o related-to-bug: 7153683

Change-Id: I430d344dc09a2fc337bf51001551627056713773
uPlayer.cpp
4f7cd0e6f26fba2a6303a66847fdfaa2bd72fe57 06-Sep-2012 Marco Nelissen <marcone@google.com> am dd1a87b3: am 9c6cb7a8: Merge "Fragmented mp4 extractor" into jb-mr1-dev

* commit 'dd1a87b391679eea06b819b50924fa822599a95e':
Fragmented mp4 extractor
3fd1ce46c2192f18e577d1693ce0eb19701564d1 06-Sep-2012 Marco Nelissen <marcone@google.com> am dd1a87b3: am 9c6cb7a8: Merge "Fragmented mp4 extractor" into jb-mr1-dev

* commit 'dd1a87b391679eea06b819b50924fa822599a95e':
Fragmented mp4 extractor
56997121c5031598fbbba7b7c53980b7fd529c2d 29-Aug-2012 Marco Nelissen <marcone@google.com> Fragmented mp4 extractor

Still experimental. Set property "media.stagefright.use-fragmp4" to true to
enable.

Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
p4/MP4Source.cpp
1e9ee018c6fa906c99270616456c32f0bb30c9c0 29-Aug-2012 Marco Nelissen <marcone@google.com> Fragmented mp4 extractor

Still experimental. Set property "media.stagefright.use-fragmp4" to true to
enable.

Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
p4/MP4Source.cpp
d7a61ad1e9ad1e59b5ef5d8f6e37da400c01d01c 05-Sep-2012 James Dong <jdong@google.com> am 05e73de0: am 0d268a3c: Add setVideoScalingMode support to NuPlayer

* commit '05e73de0664765a144414e73d4fcf4e1caf3c0f3':
Add setVideoScalingMode support to NuPlayer
812ee4e0e4648e36e94e7c56b4ac87cbce5e148b 05-Sep-2012 James Dong <jdong@google.com> am 05e73de0: am 0d268a3c: Add setVideoScalingMode support to NuPlayer

* commit '05e73de0664765a144414e73d4fcf4e1caf3c0f3':
Add setVideoScalingMode support to NuPlayer
0d268a3cae145afb2720c88ae38fb81550be5584 31-Aug-2012 James Dong <jdong@google.com> Add setVideoScalingMode support to NuPlayer

o related-to-bug: 7089195

Change-Id: Ic30d9312673f2d5837c779e023ac64468ecd4951
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
53a2d13945f9df97f608b669dbd27ce6a27b9de6 31-Aug-2012 James Dong <jdong@google.com> Add setVideoScalingMode support to NuPlayer

o related-to-bug: 7089195

Change-Id: Ic30d9312673f2d5837c779e023ac64468ecd4951
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
09359d4e7b9186eec9ce744257a8d1dcb6cbbf15 04-Sep-2012 Andreas Huber <andih@google.com> am eca95af8: am fbe9d81f: Support for acting as a wifi display sink.

* commit 'eca95af88949ec76533927f39118ac57f4f01911':
Support for acting as a wifi display sink.
ac6d49fa95f3d255b9ca611ec139dce3fef9d907 04-Sep-2012 Andreas Huber <andih@google.com> am eca95af8: am fbe9d81f: Support for acting as a wifi display sink.

* commit 'eca95af88949ec76533927f39118ac57f4f01911':
Support for acting as a wifi display sink.
fbe9d81ff5fbdc5aecdcdd13e4a5d7f019824f96 31-Aug-2012 Andreas Huber <andih@google.com> Support for acting as a wifi display sink.

Change-Id: I0beac87025b93c60164daa865c89f16b72197a47
uPlayer.cpp
8a61c22ecc2a38fffe978be210fe3f0a70efb71c 31-Aug-2012 Andreas Huber <andih@google.com> Support for acting as a wifi display sink.

Change-Id: I0beac87025b93c60164daa865c89f16b72197a47
uPlayer.cpp
23ed3d9cd183c845bed846ecf050aa8cbd6f4c0f 04-Sep-2012 Andreas Huber <andih@google.com> am 76fd1ea5: am 7323115c: Merge "Improvements to our MPEG2 Transport Stream parser" into jb-mr1-dev

* commit '76fd1ea58835094e84d36f2353d1390c24d14bfc':
Improvements to our MPEG2 Transport Stream parser
f5540a1218397e9cc5a381217ffbbc52332cf719 04-Sep-2012 Andreas Huber <andih@google.com> am 76fd1ea5: am 7323115c: Merge "Improvements to our MPEG2 Transport Stream parser" into jb-mr1-dev

* commit '76fd1ea58835094e84d36f2353d1390c24d14bfc':
Improvements to our MPEG2 Transport Stream parser
7323115c6e55f2da73317d7ff6a69b808d74264e 04-Sep-2012 Andreas Huber <andih@google.com> Merge "Improvements to our MPEG2 Transport Stream parser" into jb-mr1-dev
ebb5047fca788f89188158cc764fbb5ad2321f7a 04-Sep-2012 Andreas Huber <andih@google.com> Merge "Improvements to our MPEG2 Transport Stream parser" into jb-mr1-dev
31b7c57a37e1c682591764e04f964112da65c74b 31-Aug-2012 Marco Nelissen <marcone@google.com> am 4adf4c6c: am 31238033: Merge "Move fragmented mp4 parser to libstagefright" into jb-mr1-dev

* commit '4adf4c6cb90c2bdd2aa46179fd718cbc2f1dd067':
Move fragmented mp4 parser to libstagefright
85c4ee8533bcb172ad1805bf3daa9f9c95c831b3 31-Aug-2012 Marco Nelissen <marcone@google.com> am 4adf4c6c: am 31238033: Merge "Move fragmented mp4 parser to libstagefright" into jb-mr1-dev

* commit '4adf4c6cb90c2bdd2aa46179fd718cbc2f1dd067':
Move fragmented mp4 parser to libstagefright
312380331e28b7e5693a4b1646caf2d19aba1b2a 31-Aug-2012 Marco Nelissen <marcone@google.com> Merge "Move fragmented mp4 parser to libstagefright" into jb-mr1-dev
d99d678228fee4baa74d1bae463a59cc0aa13cd5 31-Aug-2012 Marco Nelissen <marcone@google.com> Merge "Move fragmented mp4 parser to libstagefright" into jb-mr1-dev
cb1f88c684140ce0eb407049a78f889bc7d51be1 31-Aug-2012 Marco Nelissen <marcone@google.com> Move fragmented mp4 parser to libstagefright

and rename it from Parser to FragmentedMP4Parser
Change-Id: I986f50d0c5c93648aac675d6160e18623b031541
ndroid.mk
p4/MP4Source.cpp
p4/MP4Source.h
p4/Parser.cpp
p4/Parser.h
p4/TrackFragment.cpp
p4/TrackFragment.h
4ecce5026fe3235e783766dcb9fc2b59405da08f 31-Aug-2012 Marco Nelissen <marcone@google.com> Move fragmented mp4 parser to libstagefright

and rename it from Parser to FragmentedMP4Parser
Change-Id: I986f50d0c5c93648aac675d6160e18623b031541
ndroid.mk
p4/MP4Source.cpp
p4/MP4Source.h
p4/Parser.cpp
p4/Parser.h
p4/TrackFragment.cpp
p4/TrackFragment.h
87f2a558dd12043631e12c361abef301bf603140 31-Aug-2012 Andreas Huber <andih@google.com> Improvements to our MPEG2 Transport Stream parser

Verifies the continuity counter
Parses and associates PCR time with streams
Allows for a absolute time anchor to be signalled via discontinuity.

Change-Id: I4bc88c78382c9cc6380f28df584cc6c254e0a8f9
treamingSource.cpp
5205152968957c51b597ddeabe6a5e17b2a84e38 31-Aug-2012 Andreas Huber <andih@google.com> Improvements to our MPEG2 Transport Stream parser

Verifies the continuity counter
Parses and associates PCR time with streams
Allows for a absolute time anchor to be signalled via discontinuity.

Change-Id: I4bc88c78382c9cc6380f28df584cc6c254e0a8f9
treamingSource.cpp
2444800d00366ce7a2bf69832d03314f6d817ff7 31-Aug-2012 Andreas Huber <andih@google.com> am 8d0189dc: am 61356671: Merge "Add support for mpeg2 transport streams to the RTSP implementation." into jb-mr1-dev

* commit '8d0189dc829dc87a74ff91eb0c067dc291ff59c3':
Add support for mpeg2 transport streams to the RTSP implementation.
9a13e30fc2c2ca2bdcecae6daf5daa0a6b4fec41 31-Aug-2012 Andreas Huber <andih@google.com> am 8d0189dc: am 61356671: Merge "Add support for mpeg2 transport streams to the RTSP implementation." into jb-mr1-dev

* commit '8d0189dc829dc87a74ff91eb0c067dc291ff59c3':
Add support for mpeg2 transport streams to the RTSP implementation.
cfaeeec0900014d97e15829e0fa52f865ee4c786 31-Aug-2012 Andreas Huber <andih@google.com> Add support for mpeg2 transport streams to the RTSP implementation.

Change-Id: I409d7133a53a71e62523b1acc2b03302fcf824a5
TSPSource.cpp
TSPSource.h
49694688c82214f5fd9e969e177c9e126a240a26 31-Aug-2012 Andreas Huber <andih@google.com> Add support for mpeg2 transport streams to the RTSP implementation.

Change-Id: I409d7133a53a71e62523b1acc2b03302fcf824a5
TSPSource.cpp
TSPSource.h
bf4c5d9f3bdb6fd3889afdeb0312d54f6f2e8de3 13-Aug-2012 Andreas Huber <andih@google.com> am 1f3d61f9: am bd828233: Use the correct data offset by remembering the offset of the enclosing \'moof\'

* commit '1f3d61f99c5cbe65a2cd32985445fc9ffa12adca':
Use the correct data offset by remembering the offset of the enclosing 'moof'
bd828233d3eda966bf7145108dde74616abd97fb 13-Aug-2012 Andreas Huber <andih@google.com> Use the correct data offset by remembering the offset of the enclosing 'moof'

container.

Change-Id: I2f0f92dabe31341a6a91d435943e4a65e34884ba
p4/Parser.cpp
p4/Parser.h
518cdbe52b60af91a2bd2d3ce2d29feac884ae02 13-Aug-2012 Andreas Huber <andih@google.com> am 6f1ecc98: am 75767ab7: Merge "Signal end of stream if no more fragments are going to be available." into jb-mr1-dev

* commit '6f1ecc9815b8b02c407254de0fb9dbbb575c6fc1':
Signal end of stream if no more fragments are going to be available.
c7708555ea7511aea684e00a55fb5309281540ce 10-Aug-2012 Andreas Huber <andih@google.com> Signal end of stream if no more fragments are going to be available.

Change-Id: I16696740d3551aa8a5ba904ec757c64b0ecd1307
p4/Parser.cpp
p4/Parser.h
7a06b60f697ba0729ad3a2230529a7b493b9cfb4 09-Aug-2012 Andreas Huber <andih@google.com> am 8f8bffd6: am faa88edb: Merge "Fix static sample table processing, add support for h.263 video." into jb-mr1-dev

* commit '8f8bffd61352915af9d7af6d0279ada039a58d7e':
Fix static sample table processing, add support for h.263 video.
b9787142c5f5f8f47e7e35409f4f2ef7112ab72e 09-Aug-2012 Andreas Huber <andih@google.com> Fix static sample table processing, add support for h.263 video.

Change-Id: I5628d3437b5e6f8836d78557fd07ab87e5a914e3
p4/Parser.cpp
p4/TrackFragment.cpp
p4/TrackFragment.h
1c84cb0bd8bc404afd35618a1c34200abce6aa8e 08-Aug-2012 Marco Nelissen <marcone@google.com> am ef8532b0: am e2229fba: Merge "Handle empty stsc box" into jb-mr1-dev

* commit 'ef8532b0ae4a34f02f824ba0c0f3e8d4db2067e1':
Handle empty stsc box
b7e75cfd64893dde230dfc1c3b281a00ca1b4470 08-Aug-2012 Marco Nelissen <marcone@google.com> Handle empty stsc box

Change-Id: I867e2499fac3045075654aaaecf44327753327fd
p4/TrackFragment.cpp
1ebccf52559ee7249bfe25c1a7c0232f8bc8060f 03-Aug-2012 Marco Nelissen <marcone@google.com> am c9b125a1: am a3b71fa5: Merge "experimental support for fragmented mp4 playback in nuplayer" into jb-mr1-dev

* commit 'c9b125a1be3d1edcb8b7f050334ef3d3a980d3d1':
experimental support for fragmented mp4 playback in nuplayer
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
ndroid.mk
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
p4/Parser.cpp
p4/Parser.h
p4/TrackFragment.cpp
p4/TrackFragment.h
27b6d228301ba750dd9b3730d1127e4f0ae2209a 21-Jul-2012 James Dong <jdong@google.com> Removed a CHECK_EQ that is not needed.

'what' was just compared against Renderer::kWhatFlushComplete before entering the
if block.

Change-Id: I72c5c156f814621a24439d89e150c4e0d90edcbb
uPlayer.cpp
9fbe94294ce2053d102ff5de89846a0c5015fb58 30-Jul-2012 Ed Heyl <ed@google.com> Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev

Conflicts:
services/audioflinger/AudioFlinger.cpp

Change-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b
5d246efa220a7c7b22e490576c488b3853c664dd 09-Jul-2012 Haynes Mathew George <hgeorge@codeaurora.org> NuPlayer: Prevents creation of Video Decoder when we use Music Player

- Prevents instantion of Video Decoder when we use applications like
Music Player which do not support Video Playback
- Adds a check to prevent scanning for sources when it is either an
Audio only clip or a video only clip or an AV clip played with a
Music Player.

Change-Id: I74dd9bc53e54fd4f3682536c987289ac252690b0
Signed-off-by: Arvind Thatikonda <arvindt@codeaurora.org>
uPlayer.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
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
3d51d5cb53cc630709a0ba78d0e60501a675f2d5 13-Jun-2012 James Dong <jdong@google.com> Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/

Change-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26
related-to-bug: 6647465
ODULE_LICENSE_APACHE2
OTICE
c9d1696d214d2175327067ccc1991bcb36976404 21-May-2012 Andreas Huber <andih@google.com> For an RTSP live stream we won't map rtp time to normal play time,

since we don't have the information necessary.

Change-Id: I3119fcc061c4b6756a69c6139ffdf013d806fee1
related-to-bug: 6528548
TSPSource.cpp
bfd4d0d9fe0033abf3f55b94f30f6a58846a875e 17-May-2012 Andreas Huber <andih@google.com> Buffer at least 2 secs worth of data at startup of after a seek before

resuming starting RTSP playback.

Change-Id: I060c6c7fd627ab7ebd5c095ddcfdb4cc0f637aad
related-to-bug: 6364126
TSPSource.cpp
TSPSource.h
9806555d3930be43e11106281dee354820ac1c88 03-May-2012 Andreas Huber <andih@google.com> Respect channel mask in ACodec and NuPlayer.

Refactor conversion from MetaData into AMessage while we're at it.

Change-Id: I5479129836ea4316e8de28cf1b472bf19e3ac4ab
related-to-bug: 6439076
uPlayer.cpp
uPlayerDecoder.cpp
0c0abd4ad26971b5fba94734137fe0bb1a590ab6 30-Apr-2012 Andreas Huber <andih@google.com> Merge "Notify the client about an initial size of (0, 0) instead of (320, 240)." into jb-dev
0b7c9a327f5d10b841a3aa2bbe103a2ca6dcac37 30-Apr-2012 Andreas Huber <andih@google.com> Notify the client about an initial size of (0, 0) instead of (320, 240).

which is documented as "we don't have that information just yet".

Change-Id: I158a53af83d526f713cd30372fce28558894b857
related-to-bug: 6293020
uPlayerDriver.cpp
8b71241ce7353731ab75322c46e090ee35014a33 27-Apr-2012 Marco Nelissen <marcone@google.com> Fix mono gapless playback for decoders that output stereo

The old AAC decoder always outputs stereo, even for mono source material, so we
need to use the number of channels of the output when calculating the number of
bytes to skip, not the number of channels in the source.
This makes OMXCodec skip the right amount of data, and prevents NuPlayer from
writing half a frame and then asserting when the AudioSink doesn't accept it.
Also move use of the SkipCutBuffer from NuPlayer to ACodec, so that it also
works when using the new Java APIs, and make SkipCutBuffer derive from RefBase.
b/774846

Change-Id: I34df9fea3e6730617eae559afaa556f4085ef0a0
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
e370bb62b89d2f2980f519392010ea08a24c558e 25-Apr-2012 Andreas Huber <andih@google.com> Bump up the max number of items in an AMessage, remove overly stringent

CHECK() limiting us to just audio/* or video/* tracks.

related-to-bug: 6399405
Change-Id: I9bdaf7e709665ecc22da8839c8b16c081dbf4535
uPlayerDecoder.cpp
1948eb3ea6eee336e8cdab9b0c693f93f5f19993 14-Apr-2012 Eric Laurent <elaurent@google.com> Add support for deep audio buffers

Allow AudioSink to use deep audio buffering when the
source is audio only and its duration is more than
a certain threshold.
This helps improve battery life but implies higher
audio latency.

Change-Id: Ie79915b61c370292f05aabda9779356570e03cbb
uPlayer.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
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
559bf2836f5da25b75bfb229fec0d20d540ee426 28-Mar-2012 James Dong <jdong@google.com> AV Android make files changes

o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc
o remove some runtime dependencies to libandroid, libandroid_runtime, etc

Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
ndroid.mk
ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
uPlayerDecoder.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
ndroid.mk
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
6c6b4d0d2b98a7ceee8b697daaf611f8df3254fb 12-Mar-2012 James Dong <jdong@google.com> Switched to use the header files in /frameworks/native
and deleted the duplicate header files in /frameworks/base

o related-to-bug: 6044887

Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
ndroid.mk
786618ffe881aceb64d65a6a2e2d76ede6e01ec0 02-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Add channel mask in AudioSink

Add support for specifying a channel mask when opening an AudioSink.
This parameter does not replace the channel count parameter in order
to not have to duplicate the logic to derive a mask from the
channel count everywhere an AudioSink is used without a known mask.

A mask of 0 (CHANNEL_MASK_USE_CHANNEL_ORDER) means a mask will
be automatically derived from the number of channels.

Update existing AudioSink implementations to use the channel mask,
and users of AudioSink to specify the mask if available, and
CHANNEL_MASK_USE_CHANNEL_ORDER otherwise.

Change-Id: Ifa9bd259874816dbc25ead2b03ea52e873cff474
uPlayer.cpp
df712ea86e6350f7005a02ab0e1c60c28a343ed0 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
uPlayer.cpp
uPlayer.h
uPlayerDecoder.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
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerRenderer.cpp
TSPSource.cpp
5778822d86b0337407514b9372562b86edfa91cd 21-Feb-2012 Andreas Huber <andih@google.com> Implementation of a java media codec interface and associated tools.

Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
uPlayer.cpp
29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
TTPLiveSource.cpp
uPlayer.cpp
treamingSource.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
TTPLiveSource.cpp
uPlayer.cpp
uPlayerRenderer.cpp
TSPSource.cpp
treamingSource.cpp
2a8ce907a57f30ffa336a024e09752794d08ec1a 15-Dec-2011 Glenn Kasten <gkasten@google.com> Merge "Fix build error when verbose logging is enabled"
a9960bcb176c58bd9d5f9062b84437a59fff875e 15-Dec-2011 Glenn Kasten <gkasten@google.com> Fix build error when verbose logging is enabled

Change-Id: I30f4e5d35d1b24dce2e6152a13fd0fb61414a3e2
uPlayerRenderer.cpp
d2927a79dc933a134e022281a4679a65e340dc3a 12-Dec-2011 Owen Lin <owenlin@google.com> Fix the build. (Change LOGV to ALOGV)

Change-Id: I14104540cfbd2bcdd7af1534db20554b88c4c0ce
TSPSource.cpp
a3e52a846f1e299c4b205e2da698b184591d618e 10-Dec-2011 Andreas Huber <andih@google.com> am ebfce84f: am 68f592a8: Merge "Don\'t perform RTSP seeks right away but queue them for 200ms" into ics-mr1

* commit 'ebfce84f7fd3e25fa08c36b155db91df90a59b3d':
Don't perform RTSP seeks right away but queue them for 200ms
aa5ba9a27f4c483ee116b7b296a681f4f8e23e62 10-Dec-2011 Andreas Huber <andih@google.com> am aa82c39b: am 0ba9380a: Merge "Fix Bitreader "putBits" implementation, make sure we emulate timestamps" into ics-mr1

* commit 'aa82c39bdb4ad9c1fdcb09f3bea11be5197d3ce6':
Fix Bitreader "putBits" implementation, make sure we emulate timestamps
b7b9c7b47a771e550124ae269a7b1be262039b95 08-Dec-2011 Andreas Huber <andih@google.com> Merge "Don't perform RTSP seeks right away but queue them for 200ms" into ics-mr1
ee736e9e74c5368db8d63214513c85cb74bb0183 08-Dec-2011 Andreas Huber <andih@google.com> Don't perform RTSP seeks right away but queue them for 200ms

and only execute the last one.

Change-Id: I9ab342396ec9c9c03624a4b0306d1e180ceca000
related-to-bug: 5732960
TSPSource.cpp
TSPSource.h
1906e5c7492b9cbc88601365536a69e9a490c963 08-Dec-2011 Andreas Huber <andih@google.com> Fix Bitreader "putBits" implementation, make sure we emulate timestamps

if we don't receive npt time mapping from the rtsp server (i.e. live stream)

Change-Id: I5147d665bd90c9a303ad6ffdafbf770f930f917c
related-to-bug: 5660357
TSPSource.cpp
TSPSource.h
ea9d51bd710e6739077a3700f27a1c37767a2f6d 30-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 3d630e86 to master

Change-Id: I9eb7b7c1668b5f0de85ec8b1e9257cf1ec4d8b9e
c089d02cf2bddf1bba6eaa2b2fcce149dc44633e 30-Nov-2011 Andreas Huber <andih@google.com> am 074133b2: am 351143fb: Merge "Updated (internal) API for IStreamSource to signal discontinuities" into ics-mr1

* commit '074133b260f8d12e484e93b9aa5a33a4983b7349':
Updated (internal) API for IStreamSource to signal discontinuities
eca36b5a1759970bc3d0373d72d6fec7c9b7e944 30-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 998a929a to master

Change-Id: Id5cfbcf20e5ec28782cc88075040cf9edebfdfe8
7609b2304379fd6d3e5c8d13a34c680441dc48b6 29-Nov-2011 Andreas Huber <andih@google.com> Merge "Make sure we can properly shutdown even if" into ics-mr1
544ee287d01d98efbe9eeeaeb7016c8dd55e3748 29-Nov-2011 Andreas Huber <andih@google.com> Merge "Updated (internal) API for IStreamSource to signal discontinuities" into ics-mr1
bfcc8d8ab7c56bc013bd221a29e1ecf3a6390813 29-Nov-2011 Andreas Huber <andih@google.com> Updated (internal) API for IStreamSource to signal discontinuities

Change-Id: Idd4b9d8e7cec16b3e3c91c70e75144d42be30f96
related-to-bug: 5553055
treamingSource.cpp
6e3d311b6631b12aac2879d1b08c3534aece78b1 28-Nov-2011 Andreas Huber <andih@google.com> Finer granularity discontinuity support.

No clients can signal a format change on either audio or video track (or both)
and a time discontinuity (timestamps changed) independantly.

Change-Id: I3e6cf4e7c260e85759879d61a9b517f68431c22f
related-to-bug: 5553055
uPlayer.cpp
uPlayer.h
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
uPlayer.cpp
uPlayerRenderer.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
471af5aaea2d2491a77dba379771f7c96b9ca3c3 08-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 26f70db9 to master

Change-Id: Ib1536b1a4c9eeff80e0726b3e61cee12057cd120
936a981ba15d528a023311aa32f46446813551d9 08-Nov-2011 Andreas Huber <andih@google.com> Merge "Remove surface legacy APIs and code." into ics-mr1
683525b61bc1b58b4fd9e1b3ef9ed3b0c3bf34ae 05-Nov-2011 Glenn Kasten <gkasten@google.com> Bug 5478024 drop after decode if can't drop before

Change-Id: Iaa64553be1a710da5d42be4e3a1e1d6dc873e371
uPlayerRenderer.cpp
ee74c46968e632915bdff1af5d59a1b2ca3ac796 03-Nov-2011 Andreas Huber <andih@google.com> DO NOT MERGE Poll input data with a small timeout and don't consume a full core.

Change-Id: I3c288698920fe6ead0df24a52330483609821a41
related-to-bug: 5549263
uPlayer.cpp
0bdcaf9c5466cf9c84a8c98e160411ab74f05f4b 03-Nov-2011 Andreas Huber <andih@google.com> am e395f645: Poll input data with a small timeout and don\'t consume a full core.

* commit 'e395f645aa4c30a4fad8beb3da6f8fad72338617':
Poll input data with a small timeout and don't consume a full core.
1183a4ab06b9fe01fe39a4b8728bfc71789361fc 03-Nov-2011 Andreas Huber <andih@google.com> Poll input data with a small timeout and don't consume a full core.

Change-Id: I3c288698920fe6ead0df24a52330483609821a41
related-to-bug: 5549263
uPlayer.cpp
3901e5d87573447db33fb9930871a1f5266a9b2c 25-Oct-2011 Andreas Huber <andih@google.com> Remove surface legacy APIs and code.

All surfaces are now supported through surface textures.

Change-Id: I95dd823e7099c0c32a48a1121624149dcc29d9c6
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
d7a07f295a291496111b56a4886411c237ba6dc9 28-Oct-2011 Andreas Huber <andih@google.com> am 27ed1249: Merge "Properly report that we\'re no longer playing after receiving event" into ics-mr1

* commit '27ed12492dfbec6ec67b66ff3cf60febce370b01':
Properly report that we're no longer playing after receiving event
a4af2143ecbd630e946647c1b5f90fda8f61ebb3 27-Oct-2011 Andreas Huber <andih@google.com> Properly report that we're no longer playing after receiving event

MEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR.

Change-Id: I03eeba751d3728adb33d9c66de4c7444a91696f3
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
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
uPlayer.cpp
uPlayerRenderer.cpp
2bfdd428c56c7524d1a11979f200a1762866032d 12-Oct-2011 Andreas Huber <andih@google.com> NuPlayer is now taking on the task of streaming over RTSP.

Change-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a
ndroid.mk
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerSource.h
TSPSource.cpp
TSPSource.h
eac68baf095aeef54865c28b6888924dc6295cbd 27-Sep-2011 Andreas Huber <andih@google.com> Signal an appropriate error even if there are no active streams yet.

Change-Id: I3ac1053ad288558b62ee18056dfd0a9ce0da8f49
related-to-bug: 5372901
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayerSource.h
treamingSource.cpp
treamingSource.h
dc9bacd838442a524585887e6ea6696836be2eda 26-Sep-2011 Andreas Huber <andih@google.com> Propagate error signalled by the source all the way to the output EOS notification.

Change-Id: I30e959a6d669f09745c59fbdebee08f869511cf7
related-to-bug: 5372901
TTPLiveSource.cpp
uPlayer.cpp
dc7747d7da61a72b6d26dacf7569de9455d77474 21-Sep-2011 Glenn Kasten <gkasten@google.com> Bug 5234242 audio continues after discontinuity

Reduce to 8 buffers of 10 packets from 16 buffers of 20 packets.

Change-Id: Ifdb5e15535989fbb6e5e1b70d5f9f71dc66a5c83
uPlayerStreamListener.h
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
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
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
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerRenderer.cpp
uPlayerRenderer.h
treamingSource.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
uPlayerRenderer.cpp
uPlayerRenderer.h
06528d7f18ad01377357d337eaa3e875a242bd2d 01-Sep-2011 Andreas Huber <andih@google.com> I have one HLS stream that switches stream PIDs from one bandwidth to the next

this change intends to support its very limited case and signals an error in
all other cases of unexpected PID changes that we cannot recover from.

Change-Id: Icbfdf9fe7461969e2a8781ed416f54d891dd789a
TTPLiveSource.cpp
treamingSource.cpp
18ac5407da14dad9731f40ffc9a56bee73830019 01-Sep-2011 Andreas Huber <andih@google.com> Discontinuities are only signalled on streams that have been identified, i.e.

those that have a queue. This ensures that the player doesn't observe discontinuities
that don't match up across streams.

Also, make sure output buffers arriving from the decoder to be rendered are sent
back to the decoder if we started flushing.

Finally, don't parse TS packets for streams we don't support. And don't allocate
memory for them.

Change-Id: I708e0de4cba8110a62e4c8ceb1e5702430d5d2bb
uPlayer.cpp
c4c17d47b674b425fb6c399822c0ab3258543c0a 31-Aug-2011 Andreas Huber <andih@google.com> ATSParser now supports a mode in which PTS is considered to be absolute time

i.e. PTS 0 <=> media time 0

Change-Id: If10a0f98c129b95e8430dc419664b1def92e547e
treamingSource.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
uPlayer.cpp
uPlayerRenderer.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
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
2048d0cfccce48be26816dec8711a6691ebff71c 16-Jul-2011 Andreas Huber <andih@google.com> Fix seek behaviour at startup and teardown of media session that hasn't been started

Nuplayer specific.

Change-Id: I7b0be52c29bdb7032414d63c503d686df7844bf6
TTPLiveSource.cpp
uPlayerDriver.cpp
42e549e4ab54802d788c43e3a04a85b7a1a95e97 13-Jul-2011 Andreas Huber <andih@google.com> Enable signalling of a stream discontinuity involving a format-change

through IStreamListener.

Change-Id: Ic0409cdc4891ad26b61f2f98bdda3c7fb2e2de6a
related-to-bug: 5022434
treamingSource.cpp
9b80c2bdb205bc143104f54d0743b6eedd67b14e 01-Jul-2011 Andreas Huber <andih@google.com> Charge network traffic to the uid of the process using the MediaPlayer.

Change-Id: I2bcb54b8232afd3fc7ee16289f37c7a7b3f23067
related-to-bug: 4517282
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
386d609dc513e838c7e7c4c46c604493ccd560be 19-May-2011 Andreas Huber <andih@google.com> Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.

Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
TTPLiveSource.cpp
treamingSource.cpp
00f4951088805442e86ff9c2a20ddad79fc2410a 11-May-2011 Andreas Huber <andih@google.com> The decoder wrapper is no longer needed. Also disable building old-style decoders.

Change-Id: Ie022f1a6dffe619c1b0385aa13f63e097282cfe4
ndroid.mk
ecoderWrapper.cpp
ecoderWrapper.h
uPlayerDecoder.cpp
uPlayerDecoder.h
4f9e47f2c03ce36261c4717cd7e131d7940bb068 26-Apr-2011 Gloria Wang <gwang@google.com> Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
uPlayerDriver.cpp
uPlayerDriver.h
ad0d9c9c39a24b7fbd94e935a5855c9025341929 19-Apr-2011 Andreas Huber <andih@google.com> Add extra headers specified in the media player's setDataSource call

to all http requests made by the http live implementation.

Change-Id: I9dd78bb261bc678ea98c82009ca2634b74f3cd58
related-to-bug: 4315346
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.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
uPlayerRenderer.cpp
32f3cefa373cd55e63deda36ca9d07c7fe22eaaf 03-Mar-2011 Andreas Huber <andih@google.com> Allow optional specification of a PTS timestamp when signalling a discontinuity.

If present, rendering will be suppressed until reaching the timestamp.

Change-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19
related-to-bug: 3489454
TTPLiveSource.cpp
uPlayer.cpp
uPlayer.h
uPlayerStreamListener.cpp
uPlayerStreamListener.h
treamingSource.cpp
827b55c5f3409b68ef57816208220d8804693e44 24-Feb-2011 Andreas Huber <andih@google.com> Merge "Suppress the logging of URLs when in incognito mode."
7314fa17093d514199fedcb55ac41136a1b31cb3 24-Feb-2011 Andreas Huber <andih@google.com> Suppress the logging of URLs when in incognito mode.

Change-Id: Ib951b495eae15669e160ef54686eab0eeb9b366a
related-to-bug: 3336575
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
1173118eace0e9e347cb007f0da817cee87579ed 09-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3438258 Add SurfaceTexture as MediaPlayer sink

This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDriver.cpp
uPlayerDriver.h
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
uPlayerRenderer.cpp
b408222bd9479c291874b607acae1425d6154fe7 21-Jan-2011 Andreas Huber <andih@google.com> Implement missing pause/resume support for NuPlayer.

Change-Id: Ia3f1ce521dd4b70e134ef03aa7c9db8e8d39a134
related-to-bug: 2368598
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerRenderer.h
31e2508c75018145a8238925ff1a08cbde4e799a 10-Jan-2011 Andreas Huber <andih@google.com> NuPlayer now properly sends MEDIA_SET_VIDEOSIZE notifications.

Change-Id: I99b4223ad6ecfd8839a3c0e737fef3165565d76d
related-to-bug: 3336496
ecoderWrapper.cpp
uPlayer.cpp
22fc52f6f72f39e33c3970d0291de3569118aa5c 06-Jan-2011 Andreas Huber <andih@google.com> Some more fixes regarding HTTP live in NuPlayer.

Change-Id: I9e29615fa8ee6c7bd4189373a75c20caef3fd2b1
TTPLiveSource.cpp
uPlayer.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
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
treamingSource.h
1aef211b4e5dc952081727bfd2318b2cb5ca4506 04-Jan-2011 Andreas Huber <andih@google.com> Properly shutdown the decoders on a reset() in NuPlayer's implementation.

related-to-bug: 3321470
Change-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a
TTPLiveSource.cpp
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
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
ndroid.mk
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
uPlayerStreamListener.cpp
treamingSource.cpp
treamingSource.h
53df1a460bcfdd129ca2bc416dee2009e35c042e 22-Dec-2010 Andreas Huber <andih@google.com> Distinguish discontinuities w/ a format change from those without.

Shutdown decoders as needed in anticipation of a format change, otherwise just flush.

Change-Id: Ieb04f8aa8658569b091409c4903075fd496e5abb
uPlayer.cpp
uPlayer.h
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
ecoderWrapper.cpp
ecoderWrapper.h
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerRenderer.cpp
uPlayerRenderer.h
2c2814b900a61fa07ddfff860b143fbbe9c740e9 16-Dec-2010 Andreas Huber <andih@google.com> Properly announce decoder output format changes, make sure AMessage::dup does.

Change-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6
ecoderWrapper.cpp
uPlayer.cpp
f933441648ef6a71dee783d733aac17b9508b452 16-Dec-2010 Andreas Huber <andih@google.com> Initial support for a true streaming player for mpeg2 transport streams.

Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
ndroid.mk
ecoderWrapper.cpp
ecoderWrapper.h
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerStreamListener.cpp
uPlayerStreamListener.h