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

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

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

Bug: 19297092
Change-Id: I3d11fef633e3f2783f4aa31e71285e2fa09d234c
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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/NuPlayer.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.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
uplayer/NuPlayerDecoder.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerRenderer.cpp
5f3194c9efeadc200c89d9e2b00a19f1afeac55d 14-Jan-2015 Wei Jia <wjia@google.com> MidiFile: report correct state during transient period when start() is called first time.

Bug: 18905421
Bug: 18994222
Change-Id: Iee47043e60740fab9e62aa28db4cbcec4f339c22
idiFile.cpp
1713460104b86f6be3a5d9993d9ace864d889b2d 08-Jan-2015 Chong Zhang <chz@google.com> mark any copyrighted content as protected to disable capture

bug: 18916274
Change-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340
uplayer/GenericSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayerSource.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerRenderer.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
uplayer/GenericSource.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/NuPlayer.cpp
f484952edd94c1b7ee82d7b108edc1ce08671cc4 11-Dec-2014 Lajos Molnar <lajos@google.com> mediaplayer: allow setVideoSurface before setDataSource

Bug: 18709604
Change-Id: I41e4734faed48b5583feb29896cd5783b8cd7e33
uplayer/NuPlayer.cpp
ca7b4bc40604ae4f06718cb34945fdab278987ae 06-Dec-2014 Lajos Molnar <lajos@google.com> mediaplayerservice: add support for legacy DRM

Legacy DRM uses AwesomePlayer for widevine content.

Bug: 18006370
Change-Id: I1de9e33de51b60352a9c79c2dcedec330160abe4
ediaPlayerFactory.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerRenderer.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
uplayer/GenericSource.cpp
uplayer/GenericSource.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
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDecoderBase.cpp
uplayer/NuPlayerDecoderBase.h
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
ab05b4ccb8ea59079d7f773aa0e090029c479bad 02-Dec-2014 Wei Jia <wjia@google.com> StreamingSource: check mTSParser before dereferencing it.

Bug: 18532335
Change-Id: I7819d8d359fe75ea4c827138e9aaa2454ccfe3b1
uplayer/StreamingSource.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
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.h
f8d717772f6d185cb07720cd5091df9b7d612e0b 27-Nov-2014 Chong Zhang <chz@google.com> notify seek complete upon first video output frame

Bug: 18541814
Change-Id: Ie4e0976885f26eb253460eab371cb181ea85f2db
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDecoderBase.cpp
uplayer/NuPlayerDecoderBase.h
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.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
uplayer/Android.mk
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerCCDecoder.cpp
uplayer/NuPlayerCCDecoder.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDecoderBase.cpp
uplayer/NuPlayerDecoderBase.h
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/GenericSource.cpp
d9fd6317913c74e1c955eb31978c41e70d5810bc 06-Nov-2014 Lajos Molnar <lajos@google.com> mediaplayer: request auto-frc for high quality avsync

Bug: 17383204
Change-Id: I7209305b4ff3c2386019d7a09d6a0536e9f21522
uplayer/NuPlayer.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/NuPlayer.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
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerSource.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerDriver.cpp
35b0f7095fac4f2cc112edd4b0298a9cb1ee394f 18-Nov-2014 Jeff Tinker <jtinker@google.com> Merge "Fix missing mutex lock in Drm::binderDied" into lmp-mr1-dev
88ec9e992af75f9783794df5d7be31c3b018ad09 18-Nov-2014 Andy Hung <hunga@google.com> Merge "Fix race condition in signaling completion for decode." into lmp-mr1-dev
39b109a1df23e7610b031b466e9ecf510b3c077f 18-Nov-2014 Robert Shih <robertshih@google.com> Merge "NuPlayer HTTPLiveSource: impl getSelectedTrack" into lmp-mr1-dev
b51457f8d915e0ed8edf66d1d2c263ab4a792be8 17-Nov-2014 Andy Hung <hunga@google.com> Fix race condition in signaling completion for decode.

Bug: 18048775
Change-Id: I2207eb2cf30cf205d9bf414edbb1d3e709185f67
ediaPlayerService.cpp
4dbc8cc68a2674110ac1dce9e475ac30b1baa7c5 16-Nov-2014 Jeff Tinker <jtinker@google.com> Fix missing mutex lock in Drm::binderDied

bug: 18194977
Change-Id: Ie6107a34237577c3b9cc6507d507f5c51f49fcf6
rm.cpp
c6cfd70f24a11b946859485ce398a189c301a4e2 12-Nov-2014 Wei Jia <wjia@google.com> NuPlayer: tunnel decoder with renderer for data buffer passing.

Bug: 18342383

Change-Id: I182928007814c146c01a86196c4fda1d46e74ea4
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.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
uplayer/NuPlayerDriver.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
uplayer/GenericSource.cpp
uplayer/GenericSource.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
uplayer/HTTPLiveSource.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
uplayer/NuPlayerRenderer.cpp
e86c6d59dfa8aea8f321287cbb1f122623e5417a 07-Nov-2014 Wei Jia <wjia@google.com> Merge "AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek." into lmp-mr1-dev
89bf2525c5b57f17260de5b00c5f3f78ac4b881e 30-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer HTTPLiveSource: impl getSelectedTrack

Bug: 17514665
Change-Id: I81c62553f2c5acb4d2436a9d8f04c10fdbe315d0
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.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
uplayer/GenericSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/RTSPSource.cpp
uplayer/StreamingSource.cpp
1cf9ad1abb599ce4057189e0db154cf00b4913f8 06-Nov-2014 Jeff Tinker <jtinker@google.com> Merge "Pass resolution to Crypto plugin on format change" into lmp-mr1-dev
19a3f69d9d5398db62ee7b15f2c13052d7ee9f07 06-Nov-2014 Jeff Tinker <jtinker@google.com> Merge "Add missing secure stop methods" into lmp-mr1-dev
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
uplayer/NuPlayerRenderer.cpp
2514d080c8a54ff603a45d7e336de668fe7329db 03-Nov-2014 Jeff Tinker <jtinker@google.com> Pass resolution to Crypto plugin on format change

Change-Id: I56cd557ce3525fe625db8c312d2557d3c8b51101
related-to-bug: 16034599
rypto.cpp
rypto.h
3c1285e8f86bd497e14c14fb6df7b42072ef52bd 31-Oct-2014 Jeff Tinker <jtinker@google.com> Add missing secure stop methods

b/18053197
b/18076411

Change-Id: I923dc893d48c70bf17980007b32f0ac5dfd22896
rm.cpp
rm.h
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
uplayer/NuPlayerRenderer.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
df2592beab557663a471da2ac33ca463f7eee722 25-Oct-2014 Chong Zhang <chz@google.com> do not hold mNotifyLock when calling MediaPlayer::notify

Bug:18120688
Change-Id: Ia66dcfc3fd2d67d1ceba9808d21e0120cc8691d6
ediaPlayerService.cpp
0f8f4e681b867dd611d2d916453337cb0770d4da 22-Oct-2014 Hochi Huang <hochi.huang@mediatek.com> [FM] Fix FM App record fail Buganizer ID: 17975676

Review: https://partner-android-review.git.corp.google.com/#/c/185234

Signed-off-by: Hochi Huang <hochi.huang@mediatek.com>

Change-Id: I872ce744d23049e251a46aebc4019be5b25e3612
tagefrightRecorder.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
3b9eb1f8629c6264d924ab7043f80d824cdd39e2 16-Oct-2014 Chong Zhang <chz@google.com> move audio sink open/close to NuPlayerRenderer

Bug: 17675112
Change-Id: I7eb3d02380658f848baedafe2aea287586ccf016
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerDriver.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
73d0a798747c8d022e8a9c8cf4e284ac97508b1e 07-Oct-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: wait for renderer flush before decoder shutdown" into lmp-dev
e48b90d634f9e6190a788e6225927d418b11d162 06-Oct-2014 Chong Zhang <chz@google.com> Merge "StageFrightRecorder: Enable meta-data mode for VP8 hardware encoder." into lmp-dev
bc78bd02f0b823b18e3a4f8b8f862780b51994c0 06-Oct-2014 Praveen Chavan <pchavan@codeaurora.org> StageFrightRecorder: Enable meta-data mode for VP8 hardware encoder.

Meta-data mode for input is preferred (rather required) for recording
with camera v1. This capability is queried and enabled per codec; enable
it for VP8 hardware encoder.

Bug: 17664960

Change-Id: I4735c61670ebe0a555002cc25ef3ed823ab02f1f
tagefrightRecorder.cpp
8d121d41f5355b78b687f44e8d4aae4de2aa0359 03-Oct-2014 Andy Hung <hunga@google.com> NuPlayer: wait for renderer flush before decoder shutdown

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

Bug: 17752358
Change-Id: Ia3b3ee4df65e5564afd0723943d2d747f3a604af
uplayer/NuPlayer.cpp
uplayer/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
aaa527fbd790d30353d15608e54b5b94625b7b6d 03-Oct-2014 Chong Zhang <chz@google.com> Merge "send available codec buffer count with codec notification" into lmp-dev
fc93499e83403d5959693efa040cb29fd6825abb 03-Oct-2014 Lajos Molnar <lajos@google.com> Merge "mediarecorder: set level if setting default profile" 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
8b76b592be5bc162fb5a6d7e8c47812544b6b345 03-Oct-2014 Lajos Molnar <lajos@google.com> Merge "stagefright: move math templates into AUtils.h" 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
uplayer/NuPlayerDecoder.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
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
a147b4f91143d9f2fb608e22f9fca14bbd029573 02-Oct-2014 Lajos Molnar <lajos@google.com> mediarecorder: set level if setting default profile

Bug: 17676461
Change-Id: If01ccd09935945d330de0842be95c3544951b6b9
tagefrightRecorder.cpp
d8b03abf1d003e2940a19f0071ea2892689dd10e 02-Oct-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Fix flush mode decoder error handling" into lmp-dev
c416becd966945fca5fa7fb45ac51f84d1d8cd20 02-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: move math templates into AUtils.h

add unit test for math templates

Bug: 17676461
Change-Id: Ie964c5fcfcca1ec53b4538f8e577392e8fbb4319
ideoFrameScheduler.cpp
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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
274084f7bfd3f6bdf5a55cf16ceefed345aa0060 30-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: make frame-accurate avsync configurable

disable by default

Bug: 17686015
Change-Id: I3961b1bc9c6d48afc8c5f7f5270528ea6341bc60
uplayer/NuPlayerRenderer.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/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
5d6fb5e41f57a71bd5b2902dc8334825de7bdcc0 24-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: handle bad input in VideoFrameScheduler

Bug: 17626098
Change-Id: I2ae22ed43b35ff532a47818b118dd328ce2abf63
ideoFrameScheduler.cpp
ideoFrameScheduler.h
4923cee4fb3b29538d8f46bceeea7d5128242a71 24-Sep-2014 Wei Jia <wjia@google.com> NuPlayerDecoder: release MediaBuffers when decoder is deleted.

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

bug: 17589961
Change-Id: If16c61b90cf92caa89eecd66aabef5813fd7619b
uplayer/GenericSource.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/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
f5b1db11734358d979a23a1ac4903872186ef60b 09-Sep-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: add pause timeout event for offload audio.

Bug: 17375249
Change-Id: Ie59c6b372e9ad2aace3d1e27b9896d79de35d722
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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/NuPlayer.cpp
uplayer/NuPlayer.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
uplayer/GenericSource.cpp
uplayer/NuPlayerDecoder.cpp
c851b5de495169d7e9528644c2592746021bd968 18-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: smooth out videoplayback based on framerate

Bug: 14659809
Change-Id: I73f6c7224c51ac06487475f9ed395379111ad71f
ideoFrameScheduler.cpp
ideoFrameScheduler.h
uplayer/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/GenericSource.cpp
dc43dfa1294470a4413c37e863ef3b621da8681f 08-May-2014 Lajos Molnar <lajos@google.com> mediaplayer: schedule video frames in VSYNC valleys

Bug: 14659809
Change-Id: Ic340ac61ad4778b493625c79c2cb4f747ff54ede
ndroid.mk
ideoFrameScheduler.cpp
ideoFrameScheduler.h
uplayer/Android.mk
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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/NuPlayer.cpp
06ad1528e6dd4c866c085d3cad9235d2752eb3ed 28-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: use getTimestamp instead of getPosition

Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
ediaPlayerService.cpp
ediaPlayerService.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerSource.h
317a49a4c4bf02944d1e01941c6b9f86179044bb 17-Sep-2014 Marco Nelissen <marcone@google.com> mediaplayer: reset flags when pre-reading multiple buffers

Bug: 17521470
Change-Id: I15ee9b1d3dd4ad29f4961a642f7fadafd9fe5b24
uplayer/GenericSource.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
uplayer/NuPlayerDriver.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
uplayer/GenericSource.cpp
48296b792a8d68358de74141fa80bd5bd84d0307 14-Sep-2014 Chong Zhang <chz@google.com> Disconnect HTTP-based data source upon reset

Bug: 17425250

Change-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayerSource.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
uplayer/NuPlayerDecoder.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>
uplayer/GenericSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.h
ae6fe431d150d561fa27d060f38b5dd7c42820bb 12-Sep-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: move track packet init from start to prepare" into lmp-dev
6851cdc292aa68e3ac38c01fca3036cf06489ca9 12-Sep-2014 Chong Zhang <chz@google.com> Merge "StagefrightRecorder: default to codec and fps from camcorder low profile" 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
uplayer/GenericSource.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
54ef1bae010f12dfe6a40ff4452695b1b11ff449 09-Sep-2014 Chong Zhang <chz@google.com> StagefrightRecorder: default to codec and fps from camcorder low profile

Bug: 16870964
Change-Id: I18425af630d3f041a3bcf77fbae3f07856fe8af2
tagefrightRecorder.cpp
tagefrightRecorder.h
b9b87fe9d9f3d91c05300a22920d7227a3f8eb83 10-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: release MediaBuffer in stale input buffers

Bug: 17454455
Change-Id: If63a6e42f96851d6c10fdec11360f0dabae9bf50
uplayer/NuPlayerDecoder.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
uplayer/NuPlayerDriver.cpp
178e506350ef41609daaf307f598ef0bc4f82c71 10-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: limit number of outstanding buffer requests

Bug: 14679336
Change-Id: I94a20ada30a9a25065329a85fc884d32d154d029
uplayer/NuPlayerDecoderPassThrough.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/NuPlayer.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/NuPlayer.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
uplayer/NuPlayerRenderer.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/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayer.h
43cbe059b21185855465063d3767c2364f446f44 08-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: put player in paused state when reaching EOS." into lmp-dev
835ae86b49da5e15a501cb12c25458f8b63e38be 08-Sep-2014 Andy Hung <hunga@google.com> Merge "Revert "Revert "disable AwesomePlayer for Ogg vorbis""" 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
uplayer/NuPlayerDriver.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
3ec9c3d2d813149b9f049afc5ea48f1276645f3a 05-Sep-2014 Chong Zhang <chz@google.com> Merge "Split CEA-608 Closed caption into 4 tracks CC1~CC4" 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/NuPlayer.cpp
f2c0ff43e5c6f83775990fd539dad49c14c6037c 05-Sep-2014 Eric Laurent <elaurent@google.com> Merge "Fix to parse audio_source_t member of audio_attributes_t" into lmp-dev
4f418f9705d6c247b645cbcf255a3f56e665d216 05-Sep-2014 Hyejin Kim <hyejin.kim@lge.com> Fix to parse audio_source_t member of audio_attributes_t

When unmarshalling audio_attributes_t typed data,
it didn't parse the audio_source_t member between content_type and flags.

Bug: 16906307

Change-Id: Ia0d8df9b5c31441d34dc82678bceccd8ce31423d
ediaPlayerService.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/NuPlayer.cpp
uplayer/NuPlayerDriver.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/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
48f36a07d1faa1b8ec0af5d12d3c18fbfcb9eb65 04-Sep-2014 Andy Hung <hunga@google.com> Revert "Revert "disable AwesomePlayer for Ogg vorbis""

This reverts commit da65048e8e6f65ed9b3f23cda3f4554025c76fc4.

Deadlock audio issues for NuPlayer have been resolved.

Change-Id: I1853d367dc771a9396a9b2d48ff34e50c78c112c
ediaPlayerFactory.cpp
ediaPlayerFactory.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/NuPlayer.cpp
uplayer/NuPlayer.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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
uplayer/NuPlayerDecoder.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
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.cpp
802768790c131f8237364906fd13981a6bb91193 29-Aug-2014 Ronghua Wu <ronghuawu@google.com> GenericSource: set DRM playback status.

Bug: 17307158
Change-Id: I36b801a9b67831b618930cf1241756bb9644b4fd
ndroid.mk
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayerSource.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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/NuPlayer.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
uplayer/NuPlayerDriver.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
uplayer/GenericSource.cpp
d42173a44721af1a600b9c8599bc736394fcc724 25-Aug-2014 Rachad Alao <rachad@google.com> Merge "Revert "disable AwesomePlayer for Ogg vorbis"" into lmp-dev
da65048e8e6f65ed9b3f23cda3f4554025c76fc4 25-Aug-2014 Rachad Alao <rachad@google.com> Revert "disable AwesomePlayer for Ogg vorbis"

Temporarily revert commit 9b48f5d780757ffb81709df3633d06b62edaf39f as a workaround for b/17173673

Bug: 17173673
Change-Id: Iec52289e77485a58ce28cc515d6a5b8e7b2d328a
ediaPlayerFactory.cpp
ediaPlayerFactory.h
87603c0dd1f4e62e52feffa8d6e960ad21f68893 21-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: remember and resubmit CSDs after flush

Bug: 17118001
Change-Id: I09bbefd4c05de0db1c593e8d6d38859358a20ebb
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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
uplayer/NuPlayerDecoder.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayerSource.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
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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
uplayer/GenericSource.cpp
uplayer/GenericSource.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
ediaPlayerService.cpp
ediaPlayerService.h
uplayer/NuPlayerRenderer.cpp
01047680ac57712303e259f485efd9cb97e9a99a 21-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: include lapsed time when reporting current position." into lmp-dev
15506a6582fb86567c6887c4c426d44be02d12af 21-Aug-2014 Wei Jia <wjia@google.com> NuPlayerDriver: include lapsed time when reporting current position.

Bug: 17031731
Change-Id: I01962ee9194bdaa9e8ed1a51abbf365733be3c85
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
9b48f5d780757ffb81709df3633d06b62edaf39f 20-Aug-2014 Chong Zhang <chz@google.com> disable AwesomePlayer for Ogg vorbis

Bug: 17108024

Change-Id: I0a970e6476d0f739e65d2200d0f5220dee8d36ef
ediaPlayerFactory.cpp
ediaPlayerFactory.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
uplayer/NuPlayerDriver.cpp
c10b4689be0d3a0f4ff38c544a6c86c984665d26 21-Aug-2014 Chong Zhang <chz@google.com> Merge "disable AwesomePlayer for Ogg vorbis" into lmp-dev
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/NuPlayer.cpp
uplayer/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
4deb606bca47f971f1ca05e44b934c5328cfb6b7 20-Aug-2014 Marco Nelissen <marcone@google.com> Merge "Fix NuPlayer deadlock" into lmp-dev
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
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
bb137ef84e6308fb4f977ebf757cf3559e9cce71 20-Aug-2014 Robert Shih <robertshih@google.com> Merge "StagefrightRecorder: add VIDEO_ENCODER_VP8 case in setupVideoEncoder" into lmp-dev
76dc9c5052741bf0910a23a20c9df6018c4979d8 20-Aug-2014 Robert Shih <robertshih@google.com> StagefrightRecorder: add VIDEO_ENCODER_VP8 case in setupVideoEncoder

Bug: 16329805
Change-Id: Ibc80cdeb1958f739dd67b65e57f6b7cc551a9db3
tagefrightRecorder.cpp
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/NuPlayer.cpp
uplayer/NuPlayer.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
uplayer/NuPlayerRenderer.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/NuPlayer.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
uplayer/NuPlayerRenderer.cpp
af11287b39b6420c8a05a5c8c9b72f7e4ddc82f7 19-Aug-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: add support for proper stop" into lmp-dev
f2575571d88cd42508407e98957a19a875dcf926 13-Aug-2014 aarti jadhav-gaikwad <agaikwad@nvidia.com> stagefright: Do not add silence data for compress offload

Bug: 16683770
Bug: 17035257
Change-Id: I7aef543c47214cc2854d143167b02f1603cf8bea
ediaPlayerService.cpp
a7ee3549823af3dc4b22284f1a2fe4fbf31cf30b 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "stagefright: Do not add silence data for compress offload" 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/NuPlayer.cpp
uplayer/NuPlayer.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.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/NuPlayer.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>
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
7c4f0d757bfeedaab4b7ef4ccf5b0a72ec8f4306 10-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer: getSelectedTrack

Change-Id: If5251f89b881e7f268e11a06cd3685d794c958b6
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerSource.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
uplayer/GenericSource.cpp
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/StreamingSource.cpp
a912c194ded6c9ece78c492c68c3763f284bb5d5 09-Aug-2014 Chong Zhang <chz@google.com> Merge "some clean up of video size change notification" into lmp-dev
a19f33e4e50cda5d5953fa0cc662502262ac9dfd 08-Aug-2014 Chong Zhang <chz@google.com> delay data source creation for GenericSource prepare time

Bug: 16708180

Change-Id: I9d578ef5e2edaed50279d28d3831c68556468f39
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.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/NuPlayer.cpp
0afbc2c3a7769b31cbd1de931b65c4ab95fdf5a5 08-Aug-2014 Chong Zhang <chz@google.com> Merge "delay data source creation for GenericSource prepare time" into lmp-dev
1381d4b5c0385aec3741073e5998773b064c1fb0 08-Aug-2014 Lajos Molnar <lajos@google.com> media/playerservice: add getCodecList() to MediaPlayerService

Bug: 11990470
Change-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef
ediaPlayerService.cpp
ediaPlayerService.h
bf9b95d712a24b654761cb9fea0d94d383cfc661 08-Aug-2014 Chong Zhang <chz@google.com> delay data source creation for GenericSource prepare time

Bug: 16708180

Change-Id: I9d578ef5e2edaed50279d28d3831c68556468f39
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
c80863e922cb94122b783ef31ce18cf58471f546 07-Aug-2014 Wei Jia <wjia@google.com> Merge "Revert "NuPlayer: don't feed decoder input data during flushing." " into lmp-dev
5e78d66badd543bc9587eed74128bca47df40d70 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/NuPlayer.cpp
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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
0893eaf7d21e3a50b81324673eaa91a6b77a39c2 07-Aug-2014 Robert Shih <robertshih@google.com> Merge "httplive: timestamp reporting, track selection" into lmp-dev
309aa8bf5e4cd66fe988adf2654cac3fadc2a1c3 30-Jul-2014 Robert Shih <robertshih@google.com> httplive: timestamp reporting, track selection

Bug: 15153976
Bug: 15763638
Bug: 16351654
Change-Id: I4462276d4b7342647286a0ca4be11692ce52ff6d
uplayer/GenericSource.cpp
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/NuPlayer.cpp
e46711343b43786c049a007369a72c1c78e6c5db 05-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: don't feed decoder input data during flushing." into lmp-dev
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
uplayer/GenericSource.cpp
uplayer/NuPlayer.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/NuPlayer.cpp
68b15554f6dca3b056eac517fe5fa2fd4ee80a33 30-Apr-2014 Jeff Tinker <jtinker@google.com> Allow device to be unprovisioned

bug: 12247651
Change-Id: I564ac8de3da2430342a028f4058e2c5ac2d85d5e
rm.cpp
rm.h
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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
e26940f11c3f2040bced09f06a8f374b50c985fb 31-Jul-2014 Lajos Molnar <lajos@google.com> GenericSource: timed text support

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

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

Bug: 16641557
Change-Id: I433158e6e585b4714cfd6d89562ecd0587a07ae2
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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/NuPlayer.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/NuPlayer.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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
bace25b0fbcd5101d2db288b0c70c4a239f0e815 25-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: start/stop tracks correctly on selection

Change-Id: I10343151f930a4ab778a6d2574ab5165af2013ba
uplayer/GenericSource.cpp
ef9c5ade2308f9eb6f222db3c4796e196f0ab76c 28-Jul-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: timed text support" into lmp-dev
f5bdd770d509373cc4174a55d0b81b223ecc4d81 28-Jul-2014 Lajos Molnar <lajos@google.com> mediaplayer: make nuplayer the default player

Bug: 11784824
Change-Id: I60d215d0348adcd589da5bd479d5921dcf076ee4
ediaPlayerFactory.cpp
eb1735e343a93830df259ae8882160bb0d79dcb5 24-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: timed text support

Bug: 16385674
Change-Id: I954cc463b55af4b93c6a6e714115db4fda729dc8
uplayer/GenericSource.cpp
uplayer/GenericSource.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
uplayer/Android.mk
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.h
435e040267c4dd08b4e32b0e7b579902709aa9d6 25-Jul-2014 Chong Zhang <chz@google.com> Merge "reset battery stats when media player service is started" into lmp-dev
f591b865552dce57c5b4347974a1ac93c676459e 25-Jul-2014 Robert Shih <robertshih@google.com> Merge "StagefrightRecorder: check for WEBM format instead of MP4" into lmp-dev
68e97e7388bc9efa03e56c999645002cc3f38df5 24-Jul-2014 Robert Shih <robertshih@google.com> StagefrightRecorder: check for WEBM format instead of MP4

Bug: 16544665
Change-Id: Idc45bd4cafc65a11132d10fdf21f8439e186f35f
tagefrightRecorder.cpp
81e50d0c782cc18eab4ef40ecd6c7f36df50fea5 24-Jul-2014 Wei Jia <wjia@google.com> Reset the value for Vector of pointers.

Bug: 16467066
Change-Id: I3674e07779a59f4d4fa639d066ed1988df89b3f5
uplayer/NuPlayerDecoder.cpp
0b30fd4ccf5218b15f770e778703d69cd3432446 23-Jul-2014 Chong Zhang <chz@google.com> reset battery stats when media player service is started

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

Bug: 15153976
Change-Id: I522b1f9f0ffedf4edbea03a6654a6dbc0262860a
uplayer/GenericSource.cpp
uplayer/GenericSource.h
4c9a0e3e30e97a31fcd7e41cb77d15427cb9c50b 23-Jul-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: support track (de)selection" into lmp-dev
f6f4c0d7c5e2d33b38f080896466e56e2d0a97d4 23-Jul-2014 Robert Shih <robertshih@google.com> Merge "StagefrightRecorder: webm (video only) support" into lmp-dev
114819633470ebd5b346c13c2a82a0025d2d39c0 10-Jul-2014 Robert Shih <robertshih@google.com> StagefrightRecorder: webm (video only) support

Bug: 16329805
Change-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364
ndroid.mk
tagefrightRecorder.cpp
tagefrightRecorder.h
3a2956d148d81194e297408179e84a47a309ef48 23-Jul-2014 Wei Jia <wjia@google.com> Fall back to s/w decoding when audio offloading fails.

Change-Id: Icde3d65c964b2a13fb1c6636adcce52ae048a3fb
uplayer/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerRenderer.cpp
cc227036b05f7c2f960a89c567a61f9decefe742 18-Jul-2014 Lajos Molnar <lajos@google.com> nuplayer: add widevine support to GenericSource

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

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

Change-Id: Ic83973339fb46a83b48382e6097925f45d200867
uplayer/Android.mk
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDecoderPassThrough.cpp
uplayer/NuPlayerDecoderPassThrough.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
uplayer/NuPlayerSource.h
ba5e39b994b44cc458708eedd26c2d50404c9a46 09-Jul-2014 Chong Zhang <chz@google.com> Merge "HLS: do not discard packets when queuing explicit discontinuity"
718cee5f3ba7c0a055fbeced90f26296f8acb117 08-Jul-2014 Chong Zhang <chz@google.com> Merge "handle emulation_prevention_three_bytes for AVC"
862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c 27-Jun-2014 Chong Zhang <chz@google.com> handle emulation_prevention_three_bytes for AVC

bug: 15917805
Change-Id: I824fe7eea807f8faba6b149c31890b7a5df87825
uplayer/NuPlayerDecoder.cpp
d9d7fa0873796ac661c44a7fcd6ad5ff697ff01f 24-Jun-2014 Jean-Michel Trivi <jmtrivi@google.com> Support for audio attributes on audio output of media player

Change-Id: Iae4995c98e64add1ab9e6c8ae6501515032755f5
ediaPlayerService.cpp
ediaPlayerService.h
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
uplayer/GenericSource.cpp
uplayer/RTSPSource.cpp
840797f674f7c38d5215d0bcf0f4547c4e9a6957 24-Jun-2014 Mark Salyzyn <salyzyn@google.com> am 76e4e02d: am 940c688d: Merge "libmediaplayerservice: unused argument warning messages"

* commit '76e4e02d6b6c1da140b8cbe48fc58035d2b7d311':
libmediaplayerservice: unused argument warning messages
76e4e02d6b6c1da140b8cbe48fc58035d2b7d311 24-Jun-2014 Mark Salyzyn <salyzyn@google.com> am 940c688d: Merge "libmediaplayerservice: unused argument warning messages"

* commit '940c688d76828ffd83929c661e75b5197903d30f':
libmediaplayerservice: unused argument warning messages
247d9ebdbe7f165644f308745eee061fcbb77771 23-Jun-2014 Mark Salyzyn <salyzyn@google.com> libmediaplayerservice: unused argument warning messages

Change-Id: I7dbf62858114ac9b8de6d7b66cc00e002769a5cf
ediaPlayerFactory.cpp
ediaPlayerFactory.h
etadataRetrieverClient.cpp
idiFile.h
215ebcddf7216d15fde34f9a32d27f280d1b19d3 23-Jun-2014 Marco Nelissen <marcone@google.com> Merge "Parse trex and mehd boxes"
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
uplayer/GenericSource.cpp
77342f72fdf96603938a95fcbb9888ec90e71e68 19-Jun-2014 Mark Salyzyn <salyzyn@google.com> libmediaplayerservice: 64-bit compile warnings

Change-Id: I333e52dc377becc774f3fa971c230ecb55ea8d7b
ediaPlayerService.cpp
etadataRetrieverClient.cpp
idiFile.cpp
3ea91c9593c2c792f96682f436b587c278fe228c 16-Jun-2014 Chong Zhang <chz@google.com> Merge "support for CEA-608 closed caption"
a7fa1d9530b6870f2c7850e3025d7db963661803 11-Jun-2014 Chong Zhang <chz@google.com> support for CEA-608 closed caption

Bug: 15470448

Change-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.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
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.h
bdb8ef09f119c3fa8cc751babd483e942ad17749 16-Jun-2014 Chong Zhang <chz@google.com> Merge "refactor getTrackInfo()"
7903bb2b3065d58cc75637900922b434f50024d9 12-Jun-2014 Elliott Hughes <enh@google.com> am 2a8270e6: am c323737d: Merge "Offer a type-safe album art interface."

* commit '2a8270e6944fb3addfcba87f6885aaad196b8b88':
Offer a type-safe album art interface.
2a8270e6944fb3addfcba87f6885aaad196b8b88 12-Jun-2014 Elliott Hughes <enh@google.com> am c323737d: Merge "Offer a type-safe album art interface."

* commit 'c323737dd46d724b4c1ec230b283f26ae2a22b4f':
Offer a type-safe album art interface.
c323737dd46d724b4c1ec230b283f26ae2a22b4f 12-Jun-2014 Elliott Hughes <enh@google.com> Merge "Offer a type-safe album art interface."
f3e80dddd7376aa9deeb27de25e1d50030a2ad98 11-Jun-2014 Elliott Hughes <enh@google.com> Offer a type-safe album art interface.

Bug: 15514223
Change-Id: Iddfc33a00e6cd3779ca09c01a55f62b151f6ec95
etadataRetrieverClient.cpp
ca44dc79b5a163030ab0963f80aa771871de092d 11-Jun-2014 Christopher Ferris <cferris@google.com> am 8d6d8f54: Merge "Add libcrypto for users of libstagefright."

* commit '8d6d8f546c1d6c55b79b454c720c03a80c738444':
Add libcrypto for users of libstagefright.
7dc5bfcf42cfb59025f615f494e29ff9e55990cc 11-Jun-2014 Christopher Ferris <cferris@google.com> Add libcrypto for users of libstagefright.

libstagefright_rtsp uses some MD5 functions that used to be in bionic,
but it was removed recently. As an initial fix, I statically linked in
libcrypto_static to the libstagefright_rtsp library. However, I think
it's better to modify the single user of this library to link against
the shared libcrypto library.

Change-Id: Iaf2e1aeea32fd8af038f6e77bf58ea7df50d807a
ndroid.mk
b9e55c4f17a91f070f78fb9fd72c08e461526e9e 11-Jun-2014 Christopher Ferris <cferris@google.com> am ca44dc79: am 8d6d8f54: Merge "Add libcrypto for users of libstagefright."

* commit 'ca44dc79b5a163030ab0963f80aa771871de092d':
Add libcrypto for users of libstagefright.
ef0cf50343f8a6d74894f96f5ecb5eec4c5f1bc6 11-Jun-2014 Chong Zhang <chz@google.com> Log an error when audio/video encoder failed to create

Change-Id: I493981cddeb9452c533e2917d8c440897d5e6b49
related-to-bug: 15106730
tagefrightRecorder.cpp
1cfe8ce28eafd5ff758adbb73bfb257503d7704b 05-Jun-2014 Chong Zhang <chz@google.com> check camera permission for video source other than SURFACE

Bug: 15448704
Change-Id: I5f5417037b877a6da3a46700ebb5a80ea59aac36
ediaRecorderClient.cpp
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
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
14ead787204a1bfc13e92067691efaefd624fcae 20-May-2014 Andy Hung <hunga@google.com> Fix OGG recognition for 64 bit

Change-Id: I4cef86ca05e06f508929d109a52e375169c33bf9
ediaPlayerFactory.cpp
1a7be1ec9c769203e6c8e26378de0ab8e2ad493d 29-Apr-2014 Bill Yi <byi@google.com> Merge commit '91820d46b5f3065c2fded3cdf65d305715b33bb1' into HEAD
dd01ce9c28e37d4556606f481faeec032a1fe04e 11-Apr-2014 Mark Salyzyn <salyzyn@google.com> am 52a861d2: Merge "warnings be gone."

* commit '52a861d2825544fe2eb90f8e5f6351d02ff95536':
warnings be gone.
d411b4ca2945cd8974a3a78199fce94646950128 11-Apr-2014 Andreas Huber <andih@google.com> warnings be gone.

(cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36)

Modified by Mark Salyzyn <salyzyn@google.com> to keep merge conflicts
or errors downstream to a minimum.

Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
tagefrightPlayer.cpp
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerSource.h
638986a78c94081cded0cd87dc9d3b31965092a4 03-Apr-2014 Jeff Tinker <jtinker@google.com> am d009aa2b: am 81e0bd44: Add signature|system permission to MediaDrm signer APIs

* commit 'd009aa2bac4a4c8ca2e0c1203148194e237cc5d0':
Add signature|system permission to MediaDrm signer APIs
d009aa2bac4a4c8ca2e0c1203148194e237cc5d0 03-Apr-2014 Jeff Tinker <jtinker@google.com> am 81e0bd44: Add signature|system permission to MediaDrm signer APIs

* commit '81e0bd44a10e90778ab5b0a3babd4fc52cadedd8':
Add signature|system permission to MediaDrm signer APIs
81e0bd44a10e90778ab5b0a3babd4fc52cadedd8 03-Apr-2014 Jeff Tinker <jtinker@google.com> Add signature|system permission to MediaDrm signer APIs

Change-Id: If970e5ff8dcab2e67af2f3376dcd14dca82f2394
related-to-bug: 12702350
rm.cpp
99021c47f45ee8bf3317cff7d08226e76c8d8227 02-Apr-2014 Jeff Tinker <jtinker@google.com> am f356a123: am 68d9d71a: Support CAST V2 Authentication in MediaDrm

* commit 'f356a123bf966150965a1af1cb9bd6ff2ca020de':
Support CAST V2 Authentication in MediaDrm
f356a123bf966150965a1af1cb9bd6ff2ca020de 02-Apr-2014 Jeff Tinker <jtinker@google.com> am 68d9d71a: Support CAST V2 Authentication in MediaDrm

* commit '68d9d71a792deed75d32fe13febc07c9c12c8449':
Support CAST V2 Authentication in MediaDrm
68d9d71a792deed75d32fe13febc07c9c12c8449 04-Mar-2014 Jeff Tinker <jtinker@google.com> Support CAST V2 Authentication in MediaDrm

Java API version

Update frameworks to enable support for CAST
V2 Authentication in the DRM Plugin.

Change-Id: I9066ada0edf8e0d777c503897d8c7fc7f76f2861
related-to-bug: 12702350
rm.cpp
rm.h
b47558f87ee9bd4fce11a2d5bc213bd1aa9031a8 28-Mar-2014 Lajos Molnar <lajos@google.com> mediaplayer: add temporary developer settings to use NuPlayer as default

Bug: 11784824
Change-Id: Ic98f5fd15ee283d7f581bdc3331d000198ecc9e8
ediaPlayerFactory.cpp
adad3d7d935da176ff24941b4ae9edf7340e9b96 21-Feb-2014 Glenn Kasten <gkasten@google.com> Use LOG_ALWAYS_FATAL instead of LOG_FATAL

LOG_FATAL is compiled out in most builds, so the
assertion checks were not being performed.

Change-Id: I774f0985ab9c5ccecd8989a0f1c940386b73fc35
ediaPlayerService.cpp
758799cef41fc5495f59eeb6249d02ce9154cde8 14-Mar-2014 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of 3c780188 to master

Change-Id: Ic579d346c27ff05ea6444faaa60fa6caaec86fbf
236104afb2300b7d969b1dc786f14b5f912df1cf 14-Mar-2014 Glenn Kasten <gkasten@android.com> am 089affb6: Merge "mediaserver and associated services are 32-bit only"

* commit '089affb6c2d9ed1e2d49df4be02d30dc490506f9':
mediaserver and associated services are 32-bit only
3c7801882bbb6d5f3cc641525a54cb8a6c4aca34 14-Mar-2014 Glenn Kasten <gkasten@android.com> am 089affb6: Merge "mediaserver and associated services are 32-bit only"

* commit '089affb6c2d9ed1e2d49df4be02d30dc490506f9':
mediaserver and associated services are 32-bit only
af783aa91f7a279153fb8bab8d0d6b9f737996e9 03-Mar-2014 Glenn Kasten <gkasten@android.com> mediaserver and associated services are 32-bit only

also 32-bit only command-line apps

Change-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3
ndroid.mk
1cd139824b2e6832f239cd27d8962d3239053c02 18-Jan-2014 Lajos Molnar <lajos@google.com> NuPlayer: use MediaCodec instead of ACodec

Bug: 11785204
Change-Id: I1455bfc683469c7a69e565b179aceacbc5c459f5
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
3eee65fa79e382b065ff5299bdc81f3a5b85be9a 07-Mar-2014 Lajos Molnar <lajos@google.com> am 49ea1337: Merge changes I787e1c05,I72d3a5e1,I0a5cc65f,I75fc2a25,I2c2be08d, ... into klp-dev

* commit '49ea13379fb15ddb73183ebafa3a377342ef932f':
LiveSession: Use the actual, possibly redirected url as base in the M3U
M3UParser: Skip query strings when looking for the last slash in a URL
ChromiumHTTPDataSource: Keep track of the redirected URL
Initial HLS seamless switch implementation.
NuPlayer side support for seamless format switch.
LiveSession refactor
PlaylistFetcher: Add support for block-by-block decryption.
LiveSession: Add support for block-by-block fetchFile.
31a98ad0da98227f3c76469e7a8a267c9539b6e8 07-Mar-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 8d1caa02 to klp-modular-dev-plus-aosp

Change-Id: Ibcb60d0d3bbc8beb54440951ffe8a14b946ccc85
8d1caa026caef3673799481c5fba454306f831e9 07-Mar-2014 Lajos Molnar <lajos@google.com> am 49ea1337: Merge changes I787e1c05,I72d3a5e1,I0a5cc65f,I75fc2a25,I2c2be08d, ... into klp-dev

* commit '49ea13379fb15ddb73183ebafa3a377342ef932f':
LiveSession: Use the actual, possibly redirected url as base in the M3U
M3UParser: Skip query strings when looking for the last slash in a URL
ChromiumHTTPDataSource: Keep track of the redirected URL
Initial HLS seamless switch implementation.
NuPlayer side support for seamless format switch.
LiveSession refactor
PlaylistFetcher: Add support for block-by-block decryption.
LiveSession: Add support for block-by-block fetchFile.
0523da8f16557a85395da86ab76be6d8cb771da0 24-Jan-2014 Robert Shih <robertshih@google.com> NuPlayer side support for seamless format switch.

Avoid reinstantiating decoder if seamless format switch is supported.

Bug: 11854054
Change-Id: I2c2be08d6da90cc835ec747d04a76db2313dfc7c
uplayer/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
d0115d8c4db2f337030dea706bc0a434c4a03ed6 27-Jul-2013 Eric Laurent <elaurent@google.com> update offloaded audio track sampling rate

AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.

Bug: 12823955.

Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
ediaPlayerService.cpp
ediaPlayerService.h
bce50bfc3846ab008bafa75c5d3f29fd7b5395f7 28-Feb-2014 Glenn Kasten <gkasten@google.com> Fix type of AudioTrack/AudioRecord parameter frameCount

It's size_t consistently

Change-Id: I29638ef59ac773218025f2403a3508a307b487e0
ediaPlayerService.cpp
e27e2d9bcabc1a367cb56b4599665c931a1d22ec 27-Feb-2014 Derek Sollenberger <djsollen@google.com> Fix includes to no longer pull in Skia includes directories.

bug:13225538
Change-Id: I4fccc414923f7e62cd46d691c67cb44b9692c225
ndroid.mk
1a5690652f3f6ee40f15c2f9f6c4b6badf4dbcf5 26-Feb-2014 Chong Zhang <chz@google.com> initialize encoder at start() time for camera source

Bug: 13156212
Change-Id: I845ef51f662f04c50179dbfb128204922a424e1d
tagefrightRecorder.cpp
tagefrightRecorder.h
9e2c298daec57edcf3d4d740673ebb94819f84c1 24-Feb-2014 Robert Shih <robertshih@google.com> Merge "NuPlayer side support for seamless format switch."
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/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
dc6ac201032d0f6ad0c8149ae2f009ec38693025 22-Feb-2014 Chong Zhang <chz@google.com> Merge "support for time lapse/slow motion when using SURFACE source"
2c9c8cba8562cc3a27532e4cd348912cc78d8d98 11-Feb-2014 Chong Zhang <chz@google.com> support for time lapse/slow motion when using SURFACE source

Bug: 13032650
Change-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595
tagefrightRecorder.cpp
c940c38242e8e0265db25a646ad63263934f2bb9 13-Feb-2014 Marco Nelissen <marcone@google.com> Merge "Track pid for each session"
240abcc4bf661a10ffca24859945796acc76ac6e 13-Feb-2014 Andreas Huber <andih@google.com> Remove unused FragmentedMP4Parser and friends. The functionality has been

subsumed into MP4Extractor.

Change-Id: Ic1b6445660adfb985c604f1ca6f0c86585f8de04
uplayer/Android.mk
uplayer/NuPlayer.cpp
uplayer/mp4/MP4Source.cpp
uplayer/mp4/MP4Source.h
ccb067b1d8424ba610cbd3de83368bd55b532b5b 11-Feb-2014 Andreas Huber <andih@google.com> fix the build by fixing more warnings.

Change-Id: Ied0ec39eb83b101582702d1e30c21643ccf6353e
tagefrightRecorder.cpp
d457c970c8d08519cd77280a90b61ae1e342cfe3 11-Feb-2014 Marco Nelissen <marcone@google.com> Track pid for each session

so they can be properly freed.

Change-Id: I6f389035bc29e74e7c367c1c6d0252b180f666b3
ediaPlayerService.cpp
ediaPlayerService.h
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
tagefrightPlayer.cpp
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerSource.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
ediaPlayerService.cpp
tagefrightRecorder.cpp
uplayer/NuPlayerDriver.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
80520381d0bdf3451bd17c9ddef73d3fe71c58c2 01-Feb-2014 Glenn Kasten <gkasten@google.com> Fix warnings about unused parameters

Change-Id: I27dc108e2c1f7ffd414bb7ff3d4c349651da6c26
ediaPlayerService.h
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
uplayer/mp4/MP4Source.cpp
7ca6e73bed1d2e1a928104feb6e9ae92953bfff5 06-Feb-2014 Chong Zhang <chz@google.com> Merge "Change StagefrightRecorder to use MediaCodec"
72cecca17d735db6532c45f0a7e10c47ee6f065a 26-Dec-2013 Chong Zhang <chz@google.com> Change StagefrightRecorder to use MediaCodec

Bug: 12305192
Change-Id: I72d7cb571be5bd348b58ad650f3269d24c15d350
tagefrightRecorder.cpp
tagefrightRecorder.h
81e68448f3361eaf8618930471fdc3c21bdf5cbc 05-Feb-2014 Andreas Huber <andih@google.com> Remove no longer needed http proxy handling code, it's obsolete now

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

Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
ediaPlayerService.cpp
ediaPlayerService.h
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/RTSPSource.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
ediaPlayerService.cpp
ediaPlayerService.h
etadataRetrieverClient.cpp
etadataRetrieverClient.h
idiFile.cpp
idiFile.h
idiMetadataRetriever.cpp
idiMetadataRetriever.h
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.cpp
estPlayerStub.h
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
8b567a219c3c7673d0b17e2a4da7e9ac4e984c3c 17-Jan-2014 Marco Nelissen <marcone@google.com> am fea77cb3: am fd0daeb3: am 4cc47940: Merge "Fix compile error in NuPlayerRenderer debug print"

* commit 'fea77cb3c22dcb691f44b939c626ae3070212b73':
Fix compile error in NuPlayerRenderer debug print
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
uplayer/NuPlayerRenderer.cpp
5e49afd05566820517747b9a8071c99ec0918328 27-Jul-2013 Eric Laurent <elaurent@google.com> update offloaded audio track sampling rate

AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.

Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
ediaPlayerService.cpp
ediaPlayerService.h
e2d617f5ba7fb90f27b03e2593666b2c927e4dc9 05-Dec-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit '2381f06f374ee0cb8bca0edf5388394432b00e6d' into HEAD
84acd489b93e04bea7aab06d8abb024eef2576fd 03-Dec-2013 Marco Nelissen <marcone@google.com> am 7ecfe4ec: am 92630351: Merge "NuPlayer: Use a software renderer when using software codecs"

* commit '7ecfe4ec3f6842377f840513850ad31933bcea30':
NuPlayer: Use a software renderer when using software codecs
7ecfe4ec3f6842377f840513850ad31933bcea30 28-Nov-2013 Marco Nelissen <marcone@google.com> am 92630351: Merge "NuPlayer: Use a software renderer when using software codecs"

* commit '92630351d265a61faae2dfe006a8bb330283aa7b':
NuPlayer: Use a software renderer when using software codecs
92630351d265a61faae2dfe006a8bb330283aa7b 28-Nov-2013 Marco Nelissen <marcone@google.com> Merge "NuPlayer: Use a software renderer when using software codecs"
6f59db12a64f4496866952a251122ccb77a36c6b 27-Jul-2013 Eric Laurent <elaurent@google.com> update offloaded audio track sampling rate

AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.

Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
ediaPlayerService.cpp
ediaPlayerService.h
b4213a1252c23115f3fac77101adb33a9c6b9423 15-Nov-2013 Eric Laurent <elaurent@google.com> am 576e89b5: am 7dae71d6: Merge "AwesomePlayer: correct stream type for offload" into klp-dev

* commit '576e89b523d7705545032edc67d98d9ab1dedbd2':
AwesomePlayer: correct stream type for offload
22612345ae97648d5b6db43cc1aa30aad77f7bba 15-Nov-2013 Eric Laurent <elaurent@google.com> AwesomePlayer: correct stream type for offload

canOffloadStream() function in stagefright utils forces the
stream type to AUDIO_STREAM_MUSIC when querying the audio policy
manager if a particular track is offloadable or not.
This causes MP3 ringtones to be offloaded which is not a validated use case.

The fix consists in using the actual stream type read from the AudioSink.

Bug: 11410937.
Change-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d
ediaPlayerService.h
b5099903c059dc913e0e592969c10d15fac0c14c 15-Nov-2013 Robert Shih <robertshih@google.com> Merge "Fixed StagefrightRecorder::setupVideoEncoder to use the clipped bitrate value mVideoBitRate; removed unused arguments after refactoring."
4db37cedd4db8230f3ec6191d8d7ba2b0036886e 12-Nov-2013 Robert Shih <robertshih@google.com> Fixed StagefrightRecorder::setupVideoEncoder to use the clipped bitrate value
mVideoBitRate; removed unused arguments after refactoring.

Bug: 11074303
Change-Id: Ieb5dd7dc67e5bc16b6e580ba11b157e4365f3cd6
tagefrightRecorder.cpp
tagefrightRecorder.h
41e7ae8f7f1ec93f8473142d1f3bfe07b22c5c51 12-Nov-2013 Lajos Molnar <lajos@google.com> am cc5aeced: am e100b813: Merge "StageFrightRecorder: do not use meta-data mode for software encoders" into klp-dev

* commit 'cc5aeced30609326c7495eca1286163af3933fe1':
StageFrightRecorder: do not use meta-data mode for software encoders
e100b813c4d833b48b48b74100ad0b9a82c46954 11-Nov-2013 Lajos Molnar <lajos@google.com> Merge "StageFrightRecorder: do not use meta-data mode for software encoders" into klp-dev
36bbb12410d4119cf3871ae9453a898c80d94800 05-Nov-2013 Marco Nelissen <marcone@google.com> am 92168885: am f8a1169d: Merge "Notify current video size if available" into klp-dev

* commit '921688852b72bfa921913b8afe18c0d749c6797d':
Notify current video size if available
3e518fd5d679abb83b654e473ea0fa5f7f16235f 01-Nov-2013 Marco Nelissen <marcone@google.com> Notify current video size if available

b/11248101

Change-Id: I0fa3b5592efcf400c86692002267da6825e331ad
uplayer/HTTPLiveSource.cpp
9c7f845780d62ea09469a8dac7117cc01adfea5c 30-Oct-2013 Lajos Molnar <lajos@google.com> StageFrightRecorder: do not use meta-data mode for software encoders

Camera HAL v1 uses vendor-specific camera-source meta-data mode, but
software encoders use generic gralloc-source mode, so they are not
compatible.

Change-Id: I0d1bab8eada26dcb70c97b1eec83f06d1f331239
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11446505
tagefrightRecorder.cpp
tagefrightRecorder.h
9cae217050aa1347d4ac5053c305754879e3f97f 14-Jan-2013 Marco Nelissen <marcone@google.com> Assign blame for playback wakelocks.

Set a work source for the playback wakelock, so that playback is
counted against the requesting app instead of the media server.

Cherrypicked from master.

b/9464621

Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31
ediaPlayerService.cpp
ediaPlayerService.h
462fd2fa9eef642b0574aa7409de0bde3fec8d43 14-Jan-2013 Marco Nelissen <marcone@google.com> Assign blame for playback wakelocks.

Set a work source for the playback wakelock, so that playback is
counted against the requesting app instead of the media server.

Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31
ediaPlayerService.cpp
ediaPlayerService.h
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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
c666b8f16310fc826471c0fb6ee3f7e4d3a2d067 24-Sep-2013 Eric Laurent <elaurent@google.com> am 8ee02943: am 1c7f35d1: Merge "soundpool: allocate shared memory heap by client" into klp-dev

* commit '8ee02943b61e0a7dd78e5596720261b185a223d5':
soundpool: allocate shared memory heap by client
3d00aa6de95fb46e36f2bab4e3facdf0b96acf06 24-Sep-2013 Eric Laurent <elaurent@google.com> soundpool: allocate shared memory heap by client

Current SoundPool implementation allocates the shared memory heap
containing decoded PCM samples in mediaserver process.
When mediaserver process crashes, the shared memory heaps allocated by
AudioCache cannot be mapped anymore in the new instance of mediaserver.
This causes a silent failure to end playback of new sounds because
AudioFlinger believes the new AudioTracks are opened in streaming mode
and not static mode: it sees a NULL shared memory pointer when the track
is created.

The fix consists in allocating the memory heap in the client process. Thus
the heap is not lost when mediaserver restarts. The global memory usage is
the same as this is shared memory.

Also added a way to detect that a shared memory is passed when the track is
created but cannot be mapped on mediaserver side.

Also fix a crash in SoundPool when ALOGV is enabled.

Bug: 10894793.
Change-Id: Ice6c66ec3b2a409d75dc903a508b6c6fbfb2e8a7
ediaPlayerService.cpp
ediaPlayerService.h
b5c682905d2735785bab6d7a27c131afbfe7650b 17-Sep-2013 Marco Nelissen <marcone@google.com> am 83774965: am bc910e5c: Merge "Fix hang" into klp-dev

* commit '83774965fefc5d0315ec41641bdd99cf0a657462':
Fix hang
bc910e5c8d05f24531bd6b11379cf41cc73415ed 17-Sep-2013 Marco Nelissen <marcone@google.com> Merge "Fix hang" into klp-dev
ee08f7e36eeba80e005f9bdaebce635860a8f005 16-Sep-2013 Marco Nelissen <marcone@google.com> Fix hang

Specify that the surface is controlled by the app, to avoid a hang.
b/10531761

Change-Id: Idccc2c73aa3d368d8e7fbdc071ce36e2382efea4
ediaPlayerService.cpp
5ee1f4fe66d15e8554352829771bf27913ea0b14 16-Sep-2013 Chong Zhang <chz@google.com> am fcb7a247: am a5652e9c: Merge "Add FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags" into klp-dev

* commit 'fcb7a2472bcb3c7985888acdb9905ba4e21c6bfe':
Add FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags
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/NuPlayer.cpp
uplayer/RTSPSource.cpp
a664d6b45777efb8f8b7c8a391d785f6152fa8db 08-Sep-2013 Chong Zhang <chz@google.com> HDCP: use getCaps() to query HDCP caps

Bug: 10609422
Change-Id: I8bfbd761b58d5b333db38f5e3cea806abb04443c
DCP.cpp
ec3acca4a75fc4adc076b56751124f507b419622 03-Sep-2013 Chong Zhang <chz@google.com> wifi-display: do not use HDCP's encryptNative method if its unsupported

Bug: 10609422
Change-Id: I005f1d04a4191b1503b5f3e895a98b8d6560c402
DCP.cpp
DCP.h
ee7e77d55d510725a314d8ed36dc730c21af6173 29-Aug-2013 Jeff Tinker <jtinker@google.com> fix MediaDrm.isCryptoSchemeSupported(uuid)

1. Don't expect plugins to support an empty mimeType in isContentTypeSupported
2. Move the cts test mock drm plugin to the cts tree so it is always used

b/10528466

Change-Id: I6023f6165b1e9d294986f7e5cd0896e056e376f1
rm.cpp
2484040e0f413989e4edbe26ba3bf71122382af6 23-Aug-2013 Chong Zhang <chz@google.com> Merge "MediaPlayer: add listener for raw track data" into klp-dev
62c1a46eec047eb5fbc4b90432ec1ce65b76fb75 23-Aug-2013 Jeff Tinker <jtinker@google.com> Merge "Add ability to test supported content types to MediaDrm" into klp-dev
9cf69e0fc110f17c28e988ed0f9bf91abfaf710d 21-Aug-2013 Jeff Tinker <jtinker@google.com> Add ability to test supported content types to MediaDrm

bug: 10244066
Change-Id: I317f05b146db962c271893f6208890a5a6c396f1
rm.cpp
rm.h
dcb89b3b505522efde173c105a851c412f947178 06-Aug-2013 Chong Zhang <chz@google.com> MediaPlayer: add listener for raw track data

Bug: 10326117

Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerSource.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
idiFile.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
d89532e133b881c7e0dac089333ad7642fc510f1 14-May-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> libmediaplayerservice: offload playback support

Main change is to how recycled tracks are used for gapless
playback. If we are playing offloaded tracks that can't be
recycled we don't open a new offloaded output until we have
closed the previous one. This is because offloaded tracks
are a limited resource so we don't want to spuriously create
unnecessary instances. If the tracks cannot be recycled
this means that the formats are incompatible and so the
hardware most likely will also be unable to use the existing
output channel for the new track. If we already have the
maximum number of hardware offload channels open (which could
be only one) then creation of the next output would fail if
we attempted it while the previous output was still open.

Change-Id: I4f5958074e7ffd2e17108157fee86329506730ea
Signed-off-by: Eric Laurent <elaurent@google.com>
ediaPlayerService.cpp
ediaPlayerService.h
8060060217ff16cd67c8f6a15c649f44c343acf0 18-Jul-2013 Andreas Huber <andih@google.com> ANetworkSession and ParsedMessage are now part of stagefright foundation.

Also fixes some bugs in ParseMessage and adds "WebSocket" mode to
ANetworkSession, something that's opt-in and should not affect existing clients
of the API.

Change-Id: I86d5748e0d818231d85d3590d86c2b41d4f8b1f1
emoteDisplay.cpp
emoteDisplay.h
3a24dfc5b608d86e1989c2a56afa98aaae095541 17-Jul-2013 leozwang@google.com <leozwang@google.com> Merge "Output more detailed error message if loading library fails"
d1eff5718510228503958e8fafa698c9e6a4a230 14-Jul-2013 leozwang@google.com <leozwang@google.com> Output more detailed error message if loading library fails

Bug: 9805979

Change-Id: I77b19d6a65ff9fb72e7428ce79b117628e4c8658
rypto.cpp
haredLibrary.cpp
haredLibrary.h
fb1fdc9d6603aa228362e7349451f6455c9849c2 11-Jul-2013 Glenn Kasten <gkasten@google.com> Add comments

Change-Id: Ifbf3a46a4183c8abc0feee1c588953ab10303cc1
idiFile.cpp
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
9f0e05978e236352fd2a4a7c6dce909755c36ead 08-Jul-2013 Jean-Baptiste Queru <jbq@google.com> am 7266bc80: am ca7f1609: Merge "Prevent double disconnects in RTSPSource"

* commit '7266bc80850dc327e9f18c27b81613f959399630':
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
69adec56fe13a2154cf9388c6e8725c6b6861b74 07-Jul-2013 Jeff Tinker <jtinker@google.com> am 9a25c012: am eced745a: Merge "Part of fix for TEE resource leaks when app crashes" into jb-mr2-dev

* commit '9a25c012915f2209fff1479b246ae8eba38c3eff':
Part of fix for TEE resource leaks when app crashes
9a25c012915f2209fff1479b246ae8eba38c3eff 07-Jul-2013 Jeff Tinker <jtinker@google.com> am eced745a: Merge "Part of fix for TEE resource leaks when app crashes" into jb-mr2-dev

* commit 'eced745af7d2d27a8c45e04eb071d4fb30cd3e48':
Part of fix for TEE resource leaks when app crashes
3d3f67f3afa45e6b49d85b20942ee8184a33c1a4 04-Jul-2013 Jeff Tinker <jtinker@google.com> Part of fix for TEE resource leaks when app crashes

bug: 9672606
Change-Id: I98cf65260d5e43d34e3897452f6f26ed2c89294e
rm.cpp
rm.h
1ab85ec401801ef9a9184650d0f5a1639b45eeb9 31-May-2013 Glenn Kasten <gkasten@google.com> Include what is needed

Remove old includes.
Header files only include other header files that they directly need themselves.

Change-Id: Ic471386808d9f42ea19ccbd59cb50a5f83a89dd0
ediaPlayerService.h
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
uplayer/RTSPSource.cpp
f761cec9aaca76bb84264f3666764d24a9c243e2 28-Jun-2013 Glenn Kasten <gkasten@android.com> am 903871da: am 83790fcc: am bdf33c98: Merge "Fix compilation warning: incorrect format specifier for type \'ssize_t\'."

* commit '903871da7a7c71b8718133e60e2f0835837b5f3f':
Fix compilation warning: incorrect format specifier for type 'ssize_t'.
83790fcce4f5cda1e7c89f1cbed452426502f227 28-Jun-2013 Glenn Kasten <gkasten@android.com> am bdf33c98: Merge "Fix compilation warning: incorrect format specifier for type \'ssize_t\'."

* commit 'bdf33c98912090176183d3e9b9a9217dbbdca6da':
Fix compilation warning: incorrect format specifier for type 'ssize_t'.
ad3af3305f024bcbbd55c894a4995e449498e1ba 25-Mar-2013 Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Public API changes for audio offload support.

NOTE: this does _not_ include all private member variables added
to classes as part of offload support. Only public/protected functions
and stubs functions/variables needed to make the changes buildable.

- isOffloadSupported() added to audio policy service
A stub implementation is required to build, this always returns false
- setParameters() added to IAudioTrack
A stub implementation is required to build, this always returns
INVALID_OPERATION

- CBlk flag for stream end

- Change AudioSystem::getRenderPosition() to take an audio_output_t
so caller can specify which output to query

- Add AudioSystem::isOffloadSupported()
This is fully implemented down to the AudioFlinger function
AudioPolicyServer::isOffloadSupported() which is just a stub
that always returns false.

- Add EVENT_STREAM_END to AudioTrack interface.
STREAM_END is used to signal when the hardware has actually finished
playing all the data it was sent.

- Add event type enumeration to media player interface AudioSink callbacks
so that the same callback can be used to handle multiple types of
event. For offloaded tracks we also have to handle STREAM_END and
TEAR_DOWN events

- Pass audio_offload_info_t to various functions used for opening outputs,
tracks and audio players. This passes additional information about the
compressed stream down to the HAL when using offload.
For publicly-available APIs this is an optional parameter (for some of
the internal and low-level APIs around the HAL interface it is mandatory)

- Add getParameters() and setParameters() API to AudioTrack
Currently dummy implementations.

- Change AudioPlayer contructor so that it takes a set of bitflags defining what
options are required. This replaces the original bool which only specified
whether to use deep buffering.

- Changes to StageFright class definition related to handling tearing-down of
an offloaded track when we need to switch back to software decode

- Define new StageFright utility functions used for offloaded tracks
Currently dummy implementations.

- AudioFlinger changes to use extended audio_config_t.
Fills in audio_offload_info_t member if this info is passed in when
opening an output.

- libvideoeditor changes required to add the new event type parameter
to AudioSink callback functions

- libmediaplayerservice changes required to add the new event type parameter
to AudioSink callback functions

Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
ediaPlayerService.cpp
ediaPlayerService.h
7d409691ed61f96bac6672b59f368cd3cc8ea2d8 28-Apr-2013 Scott Fan <fancp2007@gmail.com> Fix compilation warning: incorrect format specifier for type 'ssize_t'.

warning: format '%ld' expects argument of type 'long int',
but argument 7 has type 'ssize_t {aka int}' [-Wformat]

Change-Id: I823835a26320a3abb82f8dff9fbe82e5132e7556
Signed-off-by: Scott Fan <fancp2007@gmail.com>
ediaPlayerService.cpp
2799d743ee2ae5a25fe869a7f9c052acc029559f 30-May-2013 Glenn Kasten <gkasten@google.com> Use sp<AudioTrack> instead of raw AudioTrack *

This change prepares for the new implementation of AudioTrack client, which
will require clients to use only sp<AudioTrack>, not raw AudioTrack *.
A raw delete will cause a race condition during AudioTrack destruction.

AudioTrack was made a RefBase by commit b68a91a70bc8d0d18e7404e14443d4e4020b3635
on 2011/11/15, when it was needed by OpenSL ES (for the callback protector).
At that time, the only other client that was also converted from
AudioTrack * to sp<AudioTrack> was android.media.AudioTrack JNI in
project frameworks/base (file android_media_AudioTrack.cpp).

Details:
* Use .clear() instead of delete followed by = NULL.
* ALOG %p need .get().
* sp<> don't need to be listed in constructor initializer, if initially 0.
* Use == 0 for sp<> vs == NULL for raw pointers.
* Use if (sp != 0) instead of if (raw).

Change-Id: Ic7cad25795d6e862e112abdc227b6d33afdfce17
ediaPlayerService.cpp
ediaPlayerService.h
7c684c622110af460025eff85082030947278430 03-Jun-2013 Andreas Huber <andih@google.com> am f9bb8358: am b7319a7e: Update HTTP proxy configuration for all media playback inside stagefright.

* commit 'f9bb8358e454be6dc88403171db7e0e182407f17':
Update HTTP proxy configuration for all media playback inside stagefright.
f9bb8358e454be6dc88403171db7e0e182407f17 03-Jun-2013 Andreas Huber <andih@google.com> am b7319a7e: Update HTTP proxy configuration for all media playback inside stagefright.

* commit 'b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1':
Update HTTP proxy configuration for all media playback inside stagefright.
b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1 29-May-2013 Andreas Huber <andih@google.com> Update HTTP proxy configuration for all media playback inside stagefright.

Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b
related-to-bug: 8873723
(cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
ediaPlayerService.cpp
ediaPlayerService.h
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
ndroid.mk
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerSource.h
308bcaa44e578279e61be32b572fdb0b11b1e4c7 04-May-2013 Chong Zhang <chz@google.com> wifi-display: add support for metadata mode on encoder output

pass buffer_handle_t from encoder output to HDCP encryptor input

Bug: 8968123

Change-Id: Iea8007ce568641e213fd2e3cf6947a6f7a95746c
DCP.cpp
DCP.h
d84c79bf628d0f96189429add9c8b0fbb7acace9 26-Apr-2013 Andreas Huber <andih@google.com> am dd309b97: Merge "Handle the case where an asynchronous prepare was initiated and then" into jb-mr2-dev

* commit 'dd309b97f3e30cb8ab30892b4bf6b5d824853a86':
Handle the case where an asynchronous prepare was initiated and then
75f912ca9d8a03c91a421b80d96b81d87ef79d68 26-Apr-2013 Andreas Huber <andih@google.com> am dd309b97: Merge "Handle the case where an asynchronous prepare was initiated and then" into jb-mr2-dev

* commit 'dd309b97f3e30cb8ab30892b4bf6b5d824853a86':
Handle the case where an asynchronous prepare was initiated and then
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/NuPlayer.cpp
uplayer/NuPlayerDriver.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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
6bc71cac3619b0a5bb70d87abded691f3f929e3b 24-Apr-2013 Andreas Huber <andih@google.com> am 628a8c0e: Merge "fix a race condition of MediaPlayerServce::Client::mClient"

* commit '628a8c0ed91531468f5c615fea8745f63cc812aa':
fix a race condition of MediaPlayerServce::Client::mClient
2c2345cf7e163f532f32597051f579cdb0e36bec 24-Apr-2013 Andreas Huber <andih@google.com> am 628a8c0e: Merge "fix a race condition of MediaPlayerServce::Client::mClient"

* commit '628a8c0ed91531468f5c615fea8745f63cc812aa':
fix a race condition of MediaPlayerServce::Client::mClient
aa47eb2e0560ade9e0d899e72d733bb6764973b6 24-Apr-2013 Andreas Huber <andih@google.com> Merge "fix a race condition of MediaPlayerServce::Client::mClient"
628a8c0ed91531468f5c615fea8745f63cc812aa 24-Apr-2013 Andreas Huber <andih@google.com> Merge "fix a race condition of MediaPlayerServce::Client::mClient"
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/NuPlayer.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/NuPlayer.cpp
602f5bbd7596ec3fe447fde4329d5d4f0b370835 16-Apr-2013 Andreas Huber <andih@google.com> Guard against mLooper == NULL.

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

Change-Id: I01aa0e47b55d0dffe34525edf9f055a5cb4dc70f
related-to-bug: 8620223
uplayer/RTSPSource.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
uplayer/NuPlayerDriver.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
uplayer/NuPlayerDriver.cpp
ecba7488c5cceaacef95836b1b476433451e7761 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
ndroid.mk
da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
ndroid.mk
505208dd38ab2f143e6a3ff6a2c262d0fab76b7e 05-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev
d5ef30b223b627c21b11f2850eeb48426c74220d 05-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev
0cb126a34fe32f81c830858102471e7be2ce85b1 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b
rm.cpp
rm.h
c0d5f1f8405de861ed6f1725f26cd6601e7103ab 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I007f147d693664e777b8758be2bb8a4c7ec0236b
rm.cpp
rm.h
df41f485a9162407b32b7db1cea483f64bbd0c65 03-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "MediaDrm API update" into jb-mr2-dev
a56e15065bc45082d913c8c8e71e60692ce8c8f0 03-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "MediaDrm API update" into jb-mr2-dev
8856c8b8777d0e0de11b2de863a336b001024e29 31-Mar-2013 Jeff Tinker <jtinker@google.com> MediaDrm API update

Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc
rm.cpp
rm.h
4c63a239c404af1e055e5f9939939ab0fd09d98a 31-Mar-2013 Jeff Tinker <jtinker@google.com> MediaDrm API update

Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: I5d8000ce7e1dd7eba08969fc50296c9e1456c4fc
rm.cpp
rm.h
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
ediaPlayerFactory.cpp
uplayer/NuPlayer.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
ediaPlayerFactory.cpp
uplayer/NuPlayer.cpp
ad2bb2dd233b7220e29d2dafa3106ad498f3aea3 27-Mar-2013 Marco Nelissen <marcone@google.com> Fix valgrind error.

The constructor calls reset(), which in turn calls stop(), which then
accesses mCaptureTimeLapse before it has been initialized.

Change-Id: Ia94ac740b9bd1a0389c72647a5639dd25320d92c
tagefrightRecorder.cpp
59ca8040a0cfb0324c6be7dded74d02e9f5cf6e8 27-Mar-2013 Marco Nelissen <marcone@google.com> Fix valgrind error.

The constructor calls reset(), which in turn calls stop(), which then
accesses mCaptureTimeLapse before it has been initialized.

Change-Id: Ia94ac740b9bd1a0389c72647a5639dd25320d92c
tagefrightRecorder.cpp
5beac28a34e557251bd4bbd77a6d9303a69d4319 22-Mar-2013 Jeff Tinker <jtinker@google.com> Load crypto plugins from additional shared libraries

Currently crypto plugins are expected to be in libdrmdecrypt.so.
When there are multiple plugins supporting different schemes,
this approach requires source code integration across
vendors which is unmanagable. Also, for integration with
MediaDrm where the crypto keys are obtained from a drm server,
the MediaCrypto plugin needs to interoperate with the MediaDrm
plugin. This change allows {MediaCrypto, MediaDrm} pairs that
are logically related to be implemented in a common shared
library.

Change-Id: I7f6638f29171f91609fc2d944396365568630b56
rypto.cpp
rypto.h
bafb682ec7f51486e751fea954169deb91846063 22-Mar-2013 Jeff Tinker <jtinker@google.com> Load crypto plugins from additional shared libraries

Currently crypto plugins are expected to be in libdrmdecrypt.so.
When there are multiple plugins supporting different schemes,
this approach requires source code integration across
vendors which is unmanagable. Also, for integration with
MediaDrm where the crypto keys are obtained from a drm server,
the MediaCrypto plugin needs to interoperate with the MediaDrm
plugin. This change allows {MediaCrypto, MediaDrm} pairs that
are logically related to be implemented in a common shared
library.

Change-Id: I7f6638f29171f91609fc2d944396365568630b56
rypto.cpp
rypto.h
aab193b107e302e145b5c3d6e6c87f92ac296186 20-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Implementing MediaDrm APIs" into jb-mr2-dev
de5cdcae51d3afd9b14e818087be14288c0c6b8c 20-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Implementing MediaDrm APIs" into jb-mr2-dev
8fb6f96e1cc246bc5630e1f5a0eb90f5459331b7 13-Mar-2013 Mathias Agopian <mathias@google.com> Merge "remove uses of Surface in favor or IGraphicBufferProducer" into jb-mr2-dev
a32fd0e2c7489fa28055595d7c67d857d32566a5 13-Mar-2013 Mathias Agopian <mathias@google.com> Merge "remove uses of Surface in favor or IGraphicBufferProducer" into jb-mr2-dev
cc82dc6d500023eba6048616301a4b12682458db 08-Feb-2013 Jeff Tinker <jtinker@google.com> Implementing MediaDrm APIs

Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
ndroid.mk
rm.cpp
rm.h
ediaPlayerService.cpp
ediaPlayerService.h
haredLibrary.cpp
haredLibrary.h
441a78d5e224e0d67f9b52fa9adc795c6944159b 08-Feb-2013 Jeff Tinker <jtinker@google.com> Implementing MediaDrm APIs

Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
ndroid.mk
rm.cpp
rm.h
ediaPlayerService.cpp
ediaPlayerService.h
haredLibrary.cpp
haredLibrary.h
33da402287605e40e189289b11a08b8f5d515818 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor or IGraphicBufferProducer

Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
99617adda9bc46c43f511f0940bc735c73de61de 13-Mar-2013 Mathias Agopian <mathias@google.com> remove uses of Surface in favor or IGraphicBufferProducer

Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
uplayer/NuPlayerSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
uplayer/NuPlayerSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
48af7e8dd40883d6154e7029d9500072b551b5fa 19-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CameraService and Stagefright: Support AppOps

Camera:
- Signal to AppOpsService when camera usage starts and stops
- Listen to permissions revocations and act on them
- Currently just kill camera connection when permissions lost

Stagefright:
- Pass on client name, UID to camera as needed

Bug: 8181262
Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
ceb388d6c03c38b96dc41c0ea4804b749aa077c4 19-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CameraService and Stagefright: Support AppOps

Camera:
- Signal to AppOpsService when camera usage starts and stops
- Listen to permissions revocations and act on them
- Currently just kill camera connection when permissions lost

Stagefright:
- Pass on client name, UID to camera as needed

Bug: 8181262
Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
b1e7cd156ca3e1747374e0d20cdd1ce467210453 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

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

Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
ediaPlayerService.cpp
uplayer/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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/NuPlayer.cpp
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.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
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
b81b557d6e89cc2960b74ab343a08b5b44bff1f2 05-Feb-2013 Andreas Huber <andih@google.com> Merge "Support for a "preparation" state that can take care of lengthy"
3c7f8b48fcae6f4b41b66c86008170166e43b428 05-Feb-2013 Andreas Huber <andih@google.com> Merge "Support for a "preparation" state that can take care of lengthy"
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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
uplayer/mp4/MP4Source.cpp
uplayer/mp4/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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
uplayer/mp4/MP4Source.cpp
uplayer/mp4/MP4Source.h
27243b75722c077699a593cb64947f1d763a177f 05-Feb-2013 Andreas Huber <andih@google.com> Fix a typo in MediaPlayerFactory that would prevent us from

opting in to nuplayer for general media playback.

Change-Id: I050f5178aadbb0b8bf422861ef885745c0b9006a
ediaPlayerFactory.cpp
198a893671ce80d951625fe328a92073306660d0 05-Feb-2013 Andreas Huber <andih@google.com> Fix a typo in MediaPlayerFactory that would prevent us from

opting in to nuplayer for general media playback.

Change-Id: I050f5178aadbb0b8bf422861ef885745c0b9006a
ediaPlayerFactory.cpp
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
ediaPlayerFactory.cpp
uplayer/NuPlayer.cpp
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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
ediaPlayerFactory.cpp
uplayer/NuPlayer.cpp
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
5ab368af38fefacc4009e3ab1c1bbd00e62b3bcf 05-Feb-2013 Andreas Huber <andih@google.com> Groundwork to support bidirectional, asynchronous communication

between NuPlayer and its sources.

Change-Id: I1989022d806206b926555add3aa5c1fcf37aa78d
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
uplayer/mp4/MP4Source.cpp
uplayer/mp4/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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
uplayer/mp4/MP4Source.cpp
uplayer/mp4/MP4Source.h
279dcd89ab1d2de91dfe95e461412a0f577a6891 30-Jan-2013 Andreas Huber <andih@google.com> Plumbing to reflect minor changes in the HDCP module API that allow for

support of _decryption_ modules in addition to what we already supported.

Change-Id: Ic37b87dc170ba8def3817991d25df798f21e950b
DCP.cpp
DCP.h
ediaPlayerService.cpp
ediaPlayerService.h
a6a88d9c445e261972c2433254e0a996336e78a4 30-Jan-2013 Andreas Huber <andih@google.com> Plumbing to reflect minor changes in the HDCP module API that allow for

support of _decryption_ modules in addition to what we already supported.

Change-Id: Ic37b87dc170ba8def3817991d25df798f21e950b
DCP.cpp
DCP.h
ediaPlayerService.cpp
ediaPlayerService.h
5570227ac334479982a9dd8c1647c00f58f47c18 21-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove unnecessary parameter"
49d24d3fcd01aef0ec1fa4abd9c1b85473f64c0f 21-Dec-2012 Glenn Kasten <gkasten@google.com> Merge "Remove unnecessary parameter"
f37971f624164c3ed185d3f976404a6f60f49b9a 03-Feb-2012 Glenn Kasten <gkasten@google.com> Remove unnecessary parameter

Just get the parameter on server side

Change-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15
ediaPlayerService.cpp
ediaPlayerService.h
8d6cc842e8d525405c68e57fdf3bc5da0b4d7e87 03-Feb-2012 Glenn Kasten <gkasten@google.com> Remove unnecessary parameter

Just get the parameter on server side

Change-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15
ediaPlayerService.cpp
ediaPlayerService.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
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
ediaRecorderClient.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
tagefrightRecorder.cpp
tagefrightRecorder.h
estPlayerStub.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
ediaRecorderClient.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
tagefrightRecorder.cpp
tagefrightRecorder.h
estPlayerStub.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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/NuPlayer.cpp
516dacfb02d0b0eafe21114330c98ce0e7d90da9 04-Dec-2012 Andreas Huber <andih@google.com> Respect sample aspect ratio in NuPlayer.

related-to-bug: 7569402
Change-Id: I302de95d83b180bd2dc72ddd0c69a665dbce2527
uplayer/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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/NuPlayer.cpp
uplayer/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayer.h
f59ab0eb162cc32df4fc0af8d1a4500c5bce3ecc 29-Nov-2012 Andreas Huber <andih@google.com> am 2f6107ec: am b64def9a: Merge "[wfd] Support a low(er) power state by triggering PAUSE/RESUME." into jb-mr1.1-dev

* commit '2f6107ec8e67eea1f73b9558a5ad34caec52867f':
[wfd] Support a low(er) power state by triggering PAUSE/RESUME.
37a9e8e13bcc9ac614c1b733ec2c66764c29679a 29-Nov-2012 Andreas Huber <andih@google.com> am 2f6107ec: am b64def9a: Merge "[wfd] Support a low(er) power state by triggering PAUSE/RESUME." into jb-mr1.1-dev

* commit '2f6107ec8e67eea1f73b9558a5ad34caec52867f':
[wfd] Support a low(er) power state by triggering PAUSE/RESUME.
bf4950aa265ec7b54777d122b27037461638af0f 16-Nov-2012 Andreas Huber <andih@google.com> [wfd] Support a low(er) power state by triggering PAUSE/RESUME.

Change-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727
related-to-bug: 7638150
emoteDisplay.cpp
emoteDisplay.h
5131d127a042ee88f903370be88845dc8c9f8578 16-Nov-2012 Andreas Huber <andih@google.com> [wfd] Support a low(er) power state by triggering PAUSE/RESUME.

Change-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727
related-to-bug: 7638150
emoteDisplay.cpp
emoteDisplay.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'.
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
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
uplayer/mp4/MP4Source.cpp
uplayer/mp4/MP4Source.h
b7c8e91880463ff4981e3e53e98e45d68e2fe374 28-Nov-2012 Andreas Huber <andih@google.com> Add support for HLS playlists of type 'event'.

related-to-bug: 6870049

Squashed commit of the following:

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

Make everything a lot less verbose by default.

Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3

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

HLS now properly signals media time changes at discontinuities including

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

Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e

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

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

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

Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92

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

NuPlayer sources now expose flags() and can announce

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

Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea

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

Stop caching duration in MediaPlayer, duration could increase dynamically.

Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791

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

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

Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60

Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
uplayer/mp4/MP4Source.cpp
uplayer/mp4/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
uplayer/RTSPSource.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
uplayer/RTSPSource.cpp
7da35f231725aa6e0b2ac8714a7d66471368df77 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use size_t for frame counts

Also fix typo: bufferCount should be frameCount.

Change-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5
ediaPlayerService.cpp
e33054eb968cbf8ccaee1b0ff0301403902deed6 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use size_t for frame counts

Also fix typo: bufferCount should be frameCount.

Change-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5
ediaPlayerService.cpp
1127d65d536ebbe447ee17ce0926a7ce4a2a3c08 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use uint32_t for sample rate

Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
ediaPlayerService.cpp
3b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17 14-Nov-2012 Glenn Kasten <gkasten@google.com> Use uint32_t for sample rate

Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
ediaPlayerService.cpp
dcfefde6be8f9f33bbd2b3546f3be946d958d677 05-Nov-2012 beanz <beanz@marvell.com> fix a race condition of MediaPlayerServce::Client::mClient

there will be race condition between mClient.clear in MediaPlayerServce::Client::disconnect method
and c=client->mClient in in MediaPlayerServce::Client::notify method

Change-Id: I767294c4cb864c08e9c0e9f23d6d304a39016205
Signed-off-by: beanz <beanz@marvell.com>
ediaPlayerService.cpp
faa4420344216ccbad15a49aa7c1cd6141532fcb 30-Oct-2012 Glenn Kasten <gkasten@google.com> Remove obsolete references to libmedia_native

Bug: 6654403
Change-Id: I3993d62987cf0dd85db10bf002a5cce53d4f01bd
ndroid.mk
c41590251aa84c078c942d258e838aad814b73a5 30-Oct-2012 Glenn Kasten <gkasten@google.com> Remove obsolete references to libmedia_native

Bug: 6654403
Change-Id: I3993d62987cf0dd85db10bf002a5cce53d4f01bd
ndroid.mk
24a0ab1e9fef276abb830d6e411e41448c766cc7 12-Oct-2012 James Dong <jdong@google.com> am 954f6afe: am b4a55269: Fix some missing checks against missing codecs

* commit '954f6afed22e8a723ddb9a6448c14bce4e008a9c':
Fix some missing checks against missing codecs
cedc58d5c4e8769ac2dac6ddb9605776cbd452d8 12-Oct-2012 James Dong <jdong@google.com> am 954f6afe: am b4a55269: Fix some missing checks against missing codecs

* commit '954f6afed22e8a723ddb9a6448c14bce4e008a9c':
Fix some missing checks against missing codecs
6ebb67493075ecc817207bc0ca0305cde64b5c3b 12-Oct-2012 James Dong <jdong@google.com> Fix some missing checks against missing codecs

o related-to-bug: 6971073

Change-Id: Ia6d926663231f9a9ef31c82c85c70595c4a30ebe
tagefrightRecorder.cpp
b4a55269a5b39c73de2cc1d4013d0631ef18c77d 12-Oct-2012 James Dong <jdong@google.com> Fix some missing checks against missing codecs

o related-to-bug: 6971073

Change-Id: Ia6d926663231f9a9ef31c82c85c70595c4a30ebe
tagefrightRecorder.cpp
3d6354a33fb8524440d0bf8af203e37d52a34663 28-Sep-2012 Andreas Huber <andih@google.com> am d398c272: am ecc8db5e: Merge "Cleaner Wifi Display shutdown process, avoid crashing HDCP on exit." into jb-mr1-dev

* commit 'd398c2724c8a942961d13245a4669db0555080e4':
Cleaner Wifi Display shutdown process, avoid crashing HDCP on exit.
10b7722d745fb70a9becdfccac0eeb481f058ff0 28-Sep-2012 Andreas Huber <andih@google.com> am d398c272: am ecc8db5e: Merge "Cleaner Wifi Display shutdown process, avoid crashing HDCP on exit." into jb-mr1-dev

* commit 'd398c2724c8a942961d13245a4669db0555080e4':
Cleaner Wifi Display shutdown process, avoid crashing HDCP on exit.
be996645b3118b84edf26fc05cc5e4ff56c163b5 27-Sep-2012 Andreas Huber <andih@google.com> Cleaner Wifi Display shutdown process, avoid crashing HDCP on exit.

Change-Id: Ie54ee3edd672ec629360b4ecc5df2f85ecbaa45f
related-to-bug: 7247584
DCP.cpp
DCP.h
ef7d3793fa9bbfb25253626ede9a020ee9280a17 27-Sep-2012 Andreas Huber <andih@google.com> Cleaner Wifi Display shutdown process, avoid crashing HDCP on exit.

Change-Id: Ie54ee3edd672ec629360b4ecc5df2f85ecbaa45f
related-to-bug: 7247584
DCP.cpp
DCP.h
9234c190bf5cc94e677f915236dd2ebbfa35aac5 21-Sep-2012 Andreas Huber <andih@google.com> am 32cc2d3a: am 207e1854: Remove legacy code and APIs in wifi display related code.

* commit '32cc2d3a18cad9de4587ff6904b2b7e4d338db06':
Remove legacy code and APIs in wifi display related code.
27974f728512ef47d5d8fe847c75d1f2448180f2 21-Sep-2012 Andreas Huber <andih@google.com> am 32cc2d3a: am 207e1854: Remove legacy code and APIs in wifi display related code.

* commit '32cc2d3a18cad9de4587ff6904b2b7e4d338db06':
Remove legacy code and APIs in wifi display related code.
45d76bb6c8f15335f89c287dbae04cc38f79d0a8 21-Sep-2012 Andreas Huber <andih@google.com> Remove legacy code and APIs in wifi display related code.

Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
ediaPlayerService.cpp
ediaPlayerService.h
207e18540fefbaf530a4fdf506d266f34ddec84f 21-Sep-2012 Andreas Huber <andih@google.com> Remove legacy code and APIs in wifi display related code.

Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
ediaPlayerService.cpp
ediaPlayerService.h
ab92759a5c0b19042e8732b4e525341dc17a03c6 20-Sep-2012 Andreas Huber <andih@google.com> am 858882f2: am b88516c4: Merge "HDCP module binderized" into jb-mr1-dev

* commit '858882f2e6bd18d3da1db5cd8731fe3691628fb1':
HDCP module binderized
eec1c6cd2c3074722155731d6edebd9266237641 20-Sep-2012 Andreas Huber <andih@google.com> am 858882f2: am b88516c4: Merge "HDCP module binderized" into jb-mr1-dev

* commit '858882f2e6bd18d3da1db5cd8731fe3691628fb1':
HDCP module binderized
59451f8ced48874427ff1550391c4f3cd2ba2e35 18-Sep-2012 Andreas Huber <andih@google.com> HDCP module binderized

Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
ndroid.mk
DCP.cpp
DCP.h
ediaPlayerService.cpp
ediaPlayerService.h
efbb781c15abf8e085f5ab8d39710bd58ea0b6e4 18-Sep-2012 Andreas Huber <andih@google.com> HDCP module binderized

Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
ndroid.mk
DCP.cpp
DCP.h
ediaPlayerService.cpp
ediaPlayerService.h
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
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/NuPlayer.cpp
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/NuPlayer.cpp
593fecf6c18d060dd659d3995da505a8857b5254 13-Sep-2012 Andreas Huber <andih@google.com> am b030d656: am e891a788: Merge "Various improvements to the wifi display implementation." into jb-mr1-dev

* commit 'b030d65670fa236e09f91f5ef62ac6863d6600d4':
Various improvements to the wifi display implementation.
b7bed0ee59f7c39887b64d8412b8ecfdb6cb35ca 13-Sep-2012 Andreas Huber <andih@google.com> am b030d656: am e891a788: Merge "Various improvements to the wifi display implementation." into jb-mr1-dev

* commit 'b030d65670fa236e09f91f5ef62ac6863d6600d4':
Various improvements to the wifi display implementation.
eb29bae4b8ae270e656b6fcd5216fa86e9f1d8d0 12-Sep-2012 Andreas Huber <andih@google.com> Various improvements to the wifi display implementation.

Using a MediaPuller now, audio and video on their separate threads.
No more flushing the RTP stream on audio tracks, since it wastes too much
of a full size UDP packet.

Change-Id: I53346b4aea739c3142da13bd179428503a3c98b0
emoteDisplay.cpp
e1957358f11031a554c57d4fb46988dd6044acc1 12-Sep-2012 Andreas Huber <andih@google.com> Various improvements to the wifi display implementation.

Using a MediaPuller now, audio and video on their separate threads.
No more flushing the RTP stream on audio tracks, since it wastes too much
of a full size UDP packet.

Change-Id: I53346b4aea739c3142da13bd179428503a3c98b0
emoteDisplay.cpp
c1262ab36337a3b25b8a62b3902b965c3993dd68 11-Sep-2012 Jeff Brown <jeffbrown@google.com> am df00fc2d: am b019250d: Add a permission for controlling wifi display.

* commit 'df00fc2d9ac02cde6df75b76a93929396a1f696b':
Add a permission for controlling wifi display.
30482ff979f543cccd8717a707d1d6b7ec0312c0 11-Sep-2012 Jeff Brown <jeffbrown@google.com> am df00fc2d: am b019250d: Add a permission for controlling wifi display.

* commit 'df00fc2d9ac02cde6df75b76a93929396a1f696b':
Add a permission for controlling wifi display.
aba33d58ef6fe33210cc384b05cadf6ab8bac077 08-Sep-2012 Jeff Brown <jeffbrown@google.com> Add a permission for controlling wifi display.

Change-Id: I321b6c1a0223e0c3d5df04fde7a13ab91c08c7bc
ediaPlayerService.cpp
b019250df516e094b0cb648851f9a132b045378a 08-Sep-2012 Jeff Brown <jeffbrown@google.com> Add a permission for controlling wifi display.

Change-Id: I321b6c1a0223e0c3d5df04fde7a13ab91c08c7bc
ediaPlayerService.cpp
89710de8a149433f8258d779806c294b183edbe7 06-Sep-2012 John Grossman <johngro@google.com> am bdfb0207: am 2e5f22e8: Add a small hook to support gapless in AAH.

* commit 'bdfb020790f92a6ab055be9a5eda4646ed197ff3':
Add a small hook to support gapless in AAH.
2f8ecbd1d2fab208067d9fa025946e42cf16336e 06-Sep-2012 John Grossman <johngro@google.com> am bdfb0207: am 2e5f22e8: Add a small hook to support gapless in AAH.

* commit 'bdfb020790f92a6ab055be9a5eda4646ed197ff3':
Add a small hook to support gapless in AAH.
5f7e55ea443c80ef8b6173efd1c2551e07309b0a 24-Aug-2012 John Grossman <johngro@google.com> Add a small hook to support gapless in AAH.

Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
ediaPlayerService.cpp
2e5f22e85d177b34e790f832789d03aee438a7db 24-Aug-2012 John Grossman <johngro@google.com> Add a small hook to support gapless in AAH.

Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
ediaPlayerService.cpp
89592fc7216809d7a9ca34cc2ed25d95a20687c8 06-Sep-2012 Jeff Brown <jeffbrown@google.com> am 3e295bd2: am 49c74da1: Merge "Update remote display API." into jb-mr1-dev

* commit '3e295bd23c7dc4c94960f32465576cee62148d14':
Update remote display API.
b9c760d673dc3f3f3086a84f21d79949876c0345 06-Sep-2012 Jeff Brown <jeffbrown@google.com> am 3e295bd2: am 49c74da1: Merge "Update remote display API." into jb-mr1-dev

* commit '3e295bd23c7dc4c94960f32465576cee62148d14':
Update remote display API.
56cd317a35a18ba5c40b344f0a5bf436546246a1 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Update remote display API." into jb-mr1-dev
49c74da132fe42dd4d2066131f8f0e2df301c1dd 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Merge "Update remote display API." into jb-mr1-dev
d8b796c43dcdf4ece71352dcaa291114a15ad56e 06-Sep-2012 Marco Nelissen <marcone@google.com> am 2ae8964e: am 74262b57: Merge "To support .mxmf which is specified in Android CDD." into jb-mr1-dev

* commit '2ae8964ecd5f2b9668425394bd651bf2e715b33e':
To support .mxmf which is specified in Android CDD.
61c50eba62b55b3c1df4feb9125a4dd89b8c3d31 06-Sep-2012 Marco Nelissen <marcone@google.com> am 2ae8964e: am 74262b57: Merge "To support .mxmf which is specified in Android CDD." into jb-mr1-dev

* commit '2ae8964ecd5f2b9668425394bd651bf2e715b33e':
To support .mxmf which is specified in Android CDD.
19b247a8531b27cd32df84fc90f87a21e011d7a6 06-Sep-2012 Marco Nelissen <marcone@google.com> Merge "To support .mxmf which is specified in Android CDD." into jb-mr1-dev
74262b573c3d87c323c41d364af12f206ae46642 06-Sep-2012 Marco Nelissen <marcone@google.com> Merge "To support .mxmf which is specified in Android CDD." into jb-mr1-dev
ced24b36bbeed1ddd086a9304a9639c04ffe0962 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Update remote display API.

Renamed disconnect() to dispose() to emphasize the fact that
this method is intended to clean up the IRemoteDisplay
completely, not just temporarily disconnect the current client
(which might be useful someday).

Other minor tweaks.

Change-Id: I1209639eb0cd8af09c724206642d7e52aab48257
ediaPlayerService.cpp
emoteDisplay.cpp
emoteDisplay.h
455d02eca342d8159637af317a5d83219d267812 06-Sep-2012 Jeff Brown <jeffbrown@google.com> Update remote display API.

Renamed disconnect() to dispose() to emphasize the fact that
this method is intended to clean up the IRemoteDisplay
completely, not just temporarily disconnect the current client
(which might be useful someday).

Other minor tweaks.

Change-Id: I1209639eb0cd8af09c724206642d7e52aab48257
ediaPlayerService.cpp
emoteDisplay.cpp
emoteDisplay.h
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
ccd07716d105125b2eb2f1280b8c3fe9f57e78f3 06-Sep-2012 Marco Nelissen <marcone@google.com> Merge "Fragmented mp4 extractor" into jb-mr1-dev
9c6cb7a896f41cb8ad2f2ad63f8f6edfbb56ed4f 06-Sep-2012 Marco Nelissen <marcone@google.com> Merge "Fragmented mp4 extractor" into jb-mr1-dev
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
uplayer/mp4/MP4Source.cpp
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
uplayer/mp4/MP4Source.cpp
e10a187c1dac8e8d282c93a7ce5a44e9e7f2b4fd 05-Sep-2012 Andreas Huber <andih@google.com> am aae9c084: am 0b73d473: Expose an IRemoteDisplay to trigger wifi display connections setup and feedback.

* commit 'aae9c08476b44192fe3506ae26a8466da8b4251a':
Expose an IRemoteDisplay to trigger wifi display connections setup and feedback.
058fed277451382b42740a28c2399b5de21a2df4 05-Sep-2012 Andreas Huber <andih@google.com> am aae9c084: am 0b73d473: Expose an IRemoteDisplay to trigger wifi display connections setup and feedback.

* commit 'aae9c08476b44192fe3506ae26a8466da8b4251a':
Expose an IRemoteDisplay to trigger wifi display connections setup and feedback.
22ffeeb3a4466fac728f755b26efd5b361418a49 05-Sep-2012 Jeff Brown <jeffbrown@google.com> am 5bf9a8eb: am e1045960: Implement remote display service stubs.

* commit '5bf9a8eb914723cbb5bf4d70b8b48c37a1b6e82a':
Implement remote display service stubs.
318c27c3757be112667c6434ea3e670e7c6d18a5 05-Sep-2012 Jeff Brown <jeffbrown@google.com> am 5bf9a8eb: am e1045960: Implement remote display service stubs.

* commit '5bf9a8eb914723cbb5bf4d70b8b48c37a1b6e82a':
Implement remote display service stubs.
28169b107327b5db58877babf6993f0eb109c58a 05-Sep-2012 Andreas Huber <andih@google.com> Expose an IRemoteDisplay to trigger wifi display connections setup and feedback.

Change-Id: I7602cda0e38073c9f0e63fa4de238ca0d4b4ce8e
ediaPlayerService.cpp
emoteDisplay.cpp
emoteDisplay.h
0b73d4730202fcad53aefc4314a06e7b95f442f0 05-Sep-2012 Andreas Huber <andih@google.com> Expose an IRemoteDisplay to trigger wifi display connections setup and feedback.

Change-Id: I7602cda0e38073c9f0e63fa4de238ca0d4b4ce8e
ediaPlayerService.cpp
emoteDisplay.cpp
emoteDisplay.h
2013a54981d4ffb036dff279b88cc9f08c0ee1c2 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Implement remote display service stubs.

Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
ediaPlayerService.cpp
ediaPlayerService.h
e104596061b219e9bce6d4db49a9d15242f8d2e5 05-Sep-2012 Jeff Brown <jeffbrown@google.com> Implement remote display service stubs.

Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
ediaPlayerService.cpp
ediaPlayerService.h
a6932498a00735c4e438bb9c47478ff166e2d6fd 05-Sep-2012 Dongwon Kang <dwkang@google.com> To support .mxmf which is specified in Android CDD.

Bug: 7082658
Change-Id: I21269d72d1d21627c6adb2e6fbcb078d0eda6020
Tested: checked MediaScanner scans .mxmf and Music app plays .mxmf file.
ediaPlayerFactory.cpp
5c5f8d93667ec36fbcd01ecb113ccae78322c85b 05-Sep-2012 Dongwon Kang <dwkang@google.com> To support .mxmf which is specified in Android CDD.

Bug: 7082658
Change-Id: I21269d72d1d21627c6adb2e6fbcb078d0eda6020
Tested: checked MediaScanner scans .mxmf and Music app plays .mxmf file.
ediaPlayerFactory.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
53a2d13945f9df97f608b669dbd27ce6a27b9de6 31-Aug-2012 James Dong <jdong@google.com> Add setVideoScalingMode support to NuPlayer

o related-to-bug: 7089195

Change-Id: Ic30d9312673f2d5837c779e023ac64468ecd4951
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
0d268a3cae145afb2720c88ae38fb81550be5584 31-Aug-2012 James Dong <jdong@google.com> Add setVideoScalingMode support to NuPlayer

o related-to-bug: 7089195

Change-Id: Ic30d9312673f2d5837c779e023ac64468ecd4951
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.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.
8a61c22ecc2a38fffe978be210fe3f0a70efb71c 31-Aug-2012 Andreas Huber <andih@google.com> Support for acting as a wifi display sink.

Change-Id: I0beac87025b93c60164daa865c89f16b72197a47
uplayer/NuPlayer.cpp
fbe9d81ff5fbdc5aecdcdd13e4a5d7f019824f96 31-Aug-2012 Andreas Huber <andih@google.com> Support for acting as a wifi display sink.

Change-Id: I0beac87025b93c60164daa865c89f16b72197a47
uplayer/NuPlayer.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
ebb5047fca788f89188158cc764fbb5ad2321f7a 04-Sep-2012 Andreas Huber <andih@google.com> Merge "Improvements to our MPEG2 Transport Stream parser" into jb-mr1-dev
7323115c6e55f2da73317d7ff6a69b808d74264e 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
d99d678228fee4baa74d1bae463a59cc0aa13cd5 31-Aug-2012 Marco Nelissen <marcone@google.com> Merge "Move fragmented mp4 parser to libstagefright" into jb-mr1-dev
312380331e28b7e5693a4b1646caf2d19aba1b2a 31-Aug-2012 Marco Nelissen <marcone@google.com> Merge "Move fragmented mp4 parser to libstagefright" into jb-mr1-dev
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
uplayer/Android.mk
uplayer/mp4/MP4Source.cpp
uplayer/mp4/MP4Source.h
uplayer/mp4/Parser.cpp
uplayer/mp4/Parser.h
uplayer/mp4/TrackFragment.cpp
uplayer/mp4/TrackFragment.h
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
uplayer/Android.mk
uplayer/mp4/MP4Source.cpp
uplayer/mp4/MP4Source.h
uplayer/mp4/Parser.cpp
uplayer/mp4/Parser.h
uplayer/mp4/TrackFragment.cpp
uplayer/mp4/TrackFragment.h
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
uplayer/StreamingSource.cpp
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
uplayer/StreamingSource.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.
49694688c82214f5fd9e969e177c9e126a240a26 31-Aug-2012 Andreas Huber <andih@google.com> Add support for mpeg2 transport streams to the RTSP implementation.

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

Change-Id: I409d7133a53a71e62523b1acc2b03302fcf824a5
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
b26fdd2d8073b3758b68c04c28923071d58e564a 31-Aug-2012 Andreas Huber <andih@google.com> am 27a78751: am 5dcc2c98: Merge "Only run the wifi display RTSP server on demand, and only on the wifi direct" into jb-mr1-dev

* commit '27a787512ff3f9a7ba200bc53f8c688692995748':
Only run the wifi display RTSP server on demand, and only on the wifi direct
002febb34d186248e1a1b4a71fe454141c3f0dfe 31-Aug-2012 Andreas Huber <andih@google.com> am 27a78751: am 5dcc2c98: Merge "Only run the wifi display RTSP server on demand, and only on the wifi direct" into jb-mr1-dev

* commit '27a787512ff3f9a7ba200bc53f8c688692995748':
Only run the wifi display RTSP server on demand, and only on the wifi direct
ab1bd84889273bc21efdabe5ff6f4633eb918a85 30-Aug-2012 Andreas Huber <andih@google.com> Only run the wifi display RTSP server on demand, and only on the wifi direct

interface.

Change-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7
ediaPlayerService.cpp
ediaPlayerService.h
emoteDisplay.cpp
emoteDisplay.h
bcf09f8c995221e75c7cd328f25c7cc6d2b5f7c9 30-Aug-2012 Andreas Huber <andih@google.com> Only run the wifi display RTSP server on demand, and only on the wifi direct

interface.

Change-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7
ediaPlayerService.cpp
ediaPlayerService.h
emoteDisplay.cpp
emoteDisplay.h
2fee05b1f4b08e611d1441fa9f588e758d43d6f4 30-Aug-2012 Andreas Huber <andih@google.com> am 544b67a0: am d8ee4e56: Merge "Initial checkin of support for acting as a wifi display source" into jb-mr1-dev

* commit '544b67a04b4289aaafa852cbab54abf1f3d6a5bf':
Initial checkin of support for acting as a wifi display source
138dcf919303e0d47b2f5e5ce9e3e8b08eb83c42 30-Aug-2012 Andreas Huber <andih@google.com> am 544b67a0: am d8ee4e56: Merge "Initial checkin of support for acting as a wifi display source" into jb-mr1-dev

* commit '544b67a04b4289aaafa852cbab54abf1f3d6a5bf':
Initial checkin of support for acting as a wifi display source
a2c31a786cfea83f4028c4c5ae00386ae96542e9 30-Aug-2012 Andreas Huber <andih@google.com> Merge "Initial checkin of support for acting as a wifi display source" into jb-mr1-dev
d8ee4e56f92eeb44ddc0997efe280b9f28ad814d 30-Aug-2012 Andreas Huber <andih@google.com> Merge "Initial checkin of support for acting as a wifi display source" into jb-mr1-dev
35213f1420c669f43314cb75eadea450d21a75cb 29-Aug-2012 Andreas Huber <andih@google.com> Initial checkin of support for acting as a wifi display source

Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
emoteDisplay.cpp
emoteDisplay.h
d7bee3a9d2ad76d073d91f0ee36d5ac5f9df480c 29-Aug-2012 Andreas Huber <andih@google.com> Initial checkin of support for acting as a wifi display source

Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
emoteDisplay.cpp
emoteDisplay.h
5e3514e12cb94a2047cec1ea508383896787d4cf 29-Aug-2012 Andreas Huber <andih@google.com> am f4500233: am f147b722: Merge "Preliminary support for HDCP as a binder service for wifi display support." into jb-mr1-dev

* commit 'f45002335606a9edb181814fbdf8d0a4e1468a9d':
Preliminary support for HDCP as a binder service for wifi display support.
4872c0ab62561ac90bb7a47880e59b7f2e699a38 29-Aug-2012 Andreas Huber <andih@google.com> am f4500233: am f147b722: Merge "Preliminary support for HDCP as a binder service for wifi display support." into jb-mr1-dev

* commit 'f45002335606a9edb181814fbdf8d0a4e1468a9d':
Preliminary support for HDCP as a binder service for wifi display support.
9bd5a93ed8b4c4b3361c35dd1acdc3f1f49ede33 29-Aug-2012 Andreas Huber <andih@google.com> Preliminary support for HDCP as a binder service for wifi display support.

Change-Id: Ie0de1c086c629a668d1c7863992eef56fb94157c
DCP.cpp
DCP.h
1b19c9d120869c3182373a9b06a1ed98898df882 29-Aug-2012 Andreas Huber <andih@google.com> Preliminary support for HDCP as a binder service for wifi display support.

Change-Id: Ie0de1c086c629a668d1c7863992eef56fb94157c
DCP.cpp
DCP.h
fa5f8f5a98d389c7581ac7236a9b5aa60a4f9694 27-Aug-2012 James Dong <jdong@google.com> am 6d000617: am db7e3856: Merge "Fixed a potential/rare race condtion in MediaPlayerService::Client::notify() method" into jb-mr1-dev

* commit '6d000617230e82b9497a88ca0f485e0c16ba4543':
Fixed a potential/rare race condtion in MediaPlayerService::Client::notify() method
b8a9825bf0f5c74333b0e4ff5ba7677ac6fd2a25 27-Aug-2012 James Dong <jdong@google.com> Fixed a potential/rare race condtion in MediaPlayerService::Client::notify() method

o The mClient could be disconnected before the notify message is sent out. Use
a local reference could help resolve this issue.

o related-to-bug: 6782035

Change-Id: Ia2047bd7f2666100fed83c6e5417a3bf2e20cd2c
ediaPlayerService.cpp
f6520a29781ebf1fa16efc282899fbd0c858a57e 24-Aug-2012 John Grossman <johngro@google.com> am e171593f: am 6de95261: Merge "Add a missing NULL check." into jb-mr1-dev

* commit 'e171593f9afb2b345257cc8e6599f8da9b3437c3':
Add a missing NULL check.
cb0b755efc2cd24703f400729994900bf2117f66 24-Aug-2012 John Grossman <johngro@google.com> Add a missing NULL check.

Don't crash if its time to start the next media player in a media
player chain, but the current player's client has a NULL mAudioOutput,
as is the case when the low level player implements
MediaPlayerHWInterface.

Change-Id: If555da3a46960cbee91ff26e5b1fd05e52c8ef28
ediaPlayerService.cpp
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
uplayer/mp4/Parser.cpp
uplayer/mp4/Parser.h
4fc9d476db8ba59053deac76dce9f403c34a0f2d 13-Aug-2012 John Grossman <johngro@google.com> am 73247cac: am d58a68a4: Merge changes Ibe7e6d4b,Icf8904db into jb-mr1-dev

* commit '73247cac58b0c295e02b2350722699689ac45189':
Move the AAH RTP code out of framework and into vendor.
Add the ability to dynamicaly register MediaPlayer types.
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.
d58a68a4d6915d43d8b9d02ebfe04be62efe2eb1 13-Aug-2012 John Grossman <johngro@google.com> Merge changes Ibe7e6d4b,Icf8904db into jb-mr1-dev

* changes:
Move the AAH RTP code out of framework and into vendor.
Add the ability to dynamicaly register MediaPlayer types.
8ec1f2a4f3c72fe7472f8b8fa227f6b7bbc9279b 06-Aug-2012 John Grossman <johngro@google.com> Move the AAH RTP code out of framework and into vendor.

Relocate the AAH RTP code from framework/av into
vendor/google_devices/phantasm. This change is the deletion, there
will be a separate CL which re-introduces on the vendor side of
things.

Change-Id: Ibe7e6d4b633a3886b87a615691a2692f2382af6c
Signed-off-by: John Grossman <johngro@google.com>
ndroid.mk
ediaPlayerFactory.cpp
44a7e42f0310831e6a846d1b6bb40bf3a399bf6d 22-Jun-2012 John Grossman <johngro@google.com> Add the ability to dynamicaly register MediaPlayer types.

Add the ability to dynamically register low level MediaPlayer
factories which will be probed at setDataSource time to determine the
proper MediaPlayerBase to instantiate.

This change is in preparation for moving libaah_rtp out of
frameworks/base and into phantasm platform directory.

Change-Id: Icf8904db3ab9e3c85df6e780d5546d9988cb9076
Signed-off-by: John Grossman <johngro@google.com>
ndroid.mk
ediaPlayerFactory.cpp
ediaPlayerFactory.h
ediaPlayerService.cpp
ediaPlayerService.h
etadataRetrieverClient.cpp
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
uplayer/mp4/Parser.cpp
uplayer/mp4/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
uplayer/mp4/Parser.cpp
uplayer/mp4/TrackFragment.cpp
uplayer/mp4/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
uplayer/mp4/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
uplayer/Android.mk
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
uplayer/mp4/MP4Source.cpp
uplayer/mp4/MP4Source.h
uplayer/mp4/Parser.cpp
uplayer/mp4/Parser.h
uplayer/mp4/TrackFragment.cpp
uplayer/mp4/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/NuPlayer.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/NuPlayer.cpp
bf5bea96f236adb5eef78c2f414ef82b3602a0f7 19-Jul-2012 Eino-Ville Talvala <etalvala@google.com> Codecs: Add MetaDataMode support to software video encoders.

This support is needed to enable efficient video recording with
emulator and camera HAL 2.

- Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode
extension.
- Allow CameraSource to handle opaque pixel formats, so that
MetaDataMode can be used.
- Remove hardware codec restriction for MetaDataMode

Bug: 6243944
Change-Id: I970eb3d55542a413b6d75a78f76d3a8583155601
tagefrightRecorder.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
b46ccde3610d3f1713f7ebf0e9ffe943e44b54d2 18-Jul-2012 Edwin Wong <edwinwong@google.com> Merge from jb-dev for "sample video corruption in MediaCodec mode." DO NOT MERGE

jb-dev commit: fa2b8f243eb048fb2b8e5a14356190f69eb31a36

Change-Id: I4f08b9c8e9682a998db01c509a390e51bae60c2d
related-to-bug: 6732061
rypto.cpp
rypto.h
fa2b8f243eb048fb2b8e5a14356190f69eb31a36 11-Jul-2012 Edwin Wong <edwinwong@google.com> Fixed sample video corrupted in MediaCodec mode.

Change-Id: I50c5660072d40f6e297e58fd026ea04c89d6a70a
related-to-bug: 6732061
rypto.cpp
rypto.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
uplayer/MODULE_LICENSE_APACHE2
uplayer/NOTICE
d791e094da5698c787f8db28ca5d5d490c512cf1 12-Jun-2012 Marco Nelissen <marcone@google.com> Fix gapless for deep buffers

Forward current flags to next output.
b/6645676

Change-Id: I584f7a67472d99cbd6bc38f3fe84763331d115d1
ediaPlayerService.cpp
67295b543c16ed7c77b67f859d598fe7b4571660 11-Jun-2012 Marco Nelissen <marcone@google.com> Fix gapless playback

On some devices the actual framecount per buffer of an AudioTrack
will be different than what was requested, which prevented the
track from being reused. Now we create a new AudioTrack with the
requested parameters, and then compare it to the track we already
have. If they match, we throw away the new track and reuse the
existing one.
b/6644559

Change-Id: Id3e8c4460436f52e59b98ecaeb01c94f02877c1d
ediaPlayerService.cpp
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
uplayer/RTSPSource.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
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
a62bde0a391f65a418d77c46e6ba468433d81dba 08-May-2012 Marco Nelissen <marcone@google.com> Merge "Use new sd card mount point for dumpsys" into jb-dev
73ac1eebff620714c6977f7342ff8dcc4858b3cf 08-May-2012 Marco Nelissen <marcone@google.com> Use new sd card mount point for dumpsys

b/6455962

Change-Id: I5c9f8c16c50587b25cafab03c48662e63855868e
ediaPlayerService.cpp
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/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
4c9cd95b27a638701be2ffa1713273ba2f624770 30-Apr-2012 Dave Burke <daveburke@google.com> Merge "Added support for HE-AAC recording" into jb-dev
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
uplayer/NuPlayerDriver.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
f60c660f048d5f5e2458cff243c20400d73757a7 29-Apr-2012 Dave Burke <daveburke@google.com> Added support for HE-AAC recording

Fixed bug in decoder related to sample rates / channel counts
Made decoder follow Fraunhofer pattern
Log if bitrate not available
Bug: 6275957

Change-Id: I47a8e29358fa4a88ebc73fe02d46a2bfb96c64fe
tagefrightRecorder.cpp
aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b 19-Apr-2012 Dave Burke <daveburke@google.com> Add Fraunhofer AAC encoder with AAC-ELD support.

Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
tagefrightRecorder.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
uplayer/NuPlayerDecoder.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
ediaPlayerService.cpp
ediaPlayerService.h
uplayer/NuPlayer.cpp
5b8987e7de9d04b09153f329c680d2316cdb44ec 19-Apr-2012 Andreas Huber <andih@google.com> Allow propagation of error information and description from the CryptoPlugin to

the higher layers.

Change-Id: I9f434ad55cdf575803c208bedf47b607baff2330
related-to-bug: 6365261
rypto.cpp
rypto.h
0ca3cf94c0dfc173ad7886ae162c4b67067539f6 18-Apr-2012 Eric Laurent <elaurent@google.com> rename audio policy output flags

Change-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312
ediaPlayerService.cpp
1608735ef488ecd8c3c012a3b0d4b1d4ef3d93c7 13-Apr-2012 Andreas Huber <andih@google.com> Support widevine:// URLs in NuMediaExtractor / java MediaExtractor.

Allow anyone to talk to drm services.

Change-Id: I5c2f3c419d01de30c3d6e2bc85b1fe5c9c37b392
related-to-bug: 6276111
rypto.cpp
bdddc659a941afdb7f4958f582c6901c07246097 31-Mar-2012 Daniel Lam <dalam@google.com> Refactored SurfaceMediaSource

SurfaceMediaSource takes advantage of BufferQueue to avoid
duplicated code.

Change-Id: I5e60b8eca21e6c3cf728d363cd8f3786125182d1
tagefrightRecorder.cpp
99448608f375a7191c068c3bfd296f204b58a219 02-Apr-2012 Marco Nelissen <marcone@google.com> Allow AudioTrack to start at nonzero position

When creating a new AudioTrack (not inheriting one from a previous play),
the AudioSink should take the AudioTrack's position as the initial starting
point for mBytesWritten, since otherwise NuPlayer's calculations will be off.
Normally this position will be 0, but if the test code for 32 bit wraparound
in AudioFlinger.cpp is enabled, it might be (much) larger.

Change-Id: I1e4f906d529861c3dea996de8afc6dbd491589af
ediaPlayerService.cpp
1bd139a2a68690e80398b70b27ca59550fea0e65 03-Apr-2012 Andreas Huber <andih@google.com> New Crypto services talking to the new crypto "HAL".

Change-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566
related-to-bug: 6275919
rypto.cpp
rypto.h
ediaPlayerService.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
ediaPlayerService.cpp
ediaPlayerService.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerRenderer.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
ctivityManager.cpp
ctivityManager.h
ndroid.mk
ediaPlayerService.cpp
ediaRecorderClient.cpp
etadataRetrieverClient.cpp
uplayer/Android.mk
ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
ndroid.mk
rypto.cpp
rypto.h
ediaPlayerService.cpp
ediaPlayerService.h
uplayer/NuPlayerDecoder.cpp
3ee26944b082def647fe5bb2b75116ffb0267059 24-Mar-2012 James Dong <jdong@google.com> Remove JNI in LOCAL_C_INCLUDE from non-JNI related Android.mk files.

o related-to-bug: 6214141

Change-Id: Ic88d1732b3e014af47532a0809e01f6086e8464d
ndroid.mk
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
ediaPlayerService.cpp
etadataRetrieverClient.cpp
uplayer/Android.mk
uplayer/GenericSource.cpp
uplayer/GenericSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerRenderer.cpp
63c1faa8dea7feb90255d31ef2a133d8f2818844 21-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Update comments"
1bb8e81b066a2311fd238fc6dae8f026e33ed99e 20-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Add libmedia_native"
17a736c3e1d062d7fc916329eb32aef8935614af 14-Feb-2012 Glenn Kasten <gkasten@google.com> Update comments

Change-Id: I327663a020670d0a72ff57bd0b682e2ce0528650
ediaPlayerService.cpp
b12153e36ae5e514d96c77d660b327d1a8f5000f 16-Mar-2012 Glenn Kasten <gkasten@google.com> Add libmedia_native

Change-Id: Ib8cff8abd73723b793f08da99ad59549f219e0e7
ndroid.mk
ab334fd351ae5a0e18903da123d63e565b536874 14-Mar-2012 Glenn Kasten <gkasten@google.com> audio_channel_in/out_mask_from_count

and avoid ambiguous term "channels" where it might be confusing
as to whether it is a channel mask or channel count

Change-Id: I744fa08ccb6001a98c97bd638d2c9d56836c4234
ediaPlayerService.cpp
f9d660a5e0196240add5daf0199f128d471e592c 16-Feb-2012 Insun Kang <insun@google.com> Defines MediaPlayer APIs to support multiple audio/video/timedtext
tracks.

o Newly introduced APIs are (MediaPlayer):
getTrackInfo() / addExternalSource() / enableTrack() / disableTrack().

o Timed text tracks are supported only, for now.

o TODOs:
- Define the audio/video behavior for enableTrack and disableTrack.
- Refactoring AwesomePlayer / TimedTextDriver so that all types of
track index can be managed in the correct order and be ready for
supporting audio/video tracks.
(MediaExtractor and MediaSource for text file might be necessary.)

Change-Id: Idb85e1b3f2ed49a64f377d05472dd6663ce94e07
tagefrightPlayer.cpp
36a4d2cc7a44eb42d0d9ef5fe50b6747a7a34cab 13-Mar-2012 Marco Nelissen <marcone@google.com> Merge "Gapless playback, step 1."
6b74d671a1321a6ecc4a40b6c87beedfecc1ec44 29-Feb-2012 Marco Nelissen <marcone@google.com> Gapless playback, step 1.

Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly
by reusing the initial AudioTrack for subsequent players.

Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
ediaPlayerService.cpp
ediaPlayerService.h
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
uplayer/Android.mk
18868c5db2f90309c6d11e5837822135e4a0c0fa 07-Mar-2012 Glenn Kasten <gkasten@google.com> Use audio_policy_output_flags_t consistently

This affects:
- IAudioFlinger::openOutput
- AudioTrack::AudioTrack
- AudioTrack::set
- apps that call these

Change-Id: I26fb281bac6cb87593d17697bc9cb37a835af205
ediaPlayerService.cpp
6556e5bb99bda64f3ab92e8b540fccdd59e9ed8d 06-Mar-2012 Eric Laurent <elaurent@google.com> Merge "MediaPlayerService: fix AudioSink latency"
db354e58e65592777aa17caa47933e14838b8b35 06-Mar-2012 Eric Laurent <elaurent@google.com> MediaPlayerService: fix AudioSink latency

The AudioSink latency is currently cached when the associated AudioTrack
is created. However, the AudioTrack latency can change if the AudioTrack is moved
from one output stream to another.
The AudioPlayer must also periodically update its view of the latency
as it is needed to compensate the real audio time used for A/V sync.

This fixes an A/V sync problem seen when switching A2DP on and off while
playing a video.

Change-Id: I28b24049ca114e1af3e24791dcc900f463536ba4
ediaPlayerService.cpp
ediaPlayerService.h
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
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.cpp
uplayer/NuPlayer.cpp
c795b64060c3af9d7961fc1371e4ccfa8ee3e450 23-Feb-2012 John Grossman <johngro@google.com> Switch the way we configure for MediaPlayer retransmission.

This is a cherry-pick of I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
with merge conflicts addressed by hand and additional changes made in
response to code review feedback.

Move in the direction of a more publishable API for configuring a
media player for retransmission. It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://). There are many
issues with this technique and it was never meant to stand the test of
time.

This CL gets rid of all that. A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target. For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player. When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.

Change-Id: I3b46c5227bbf69acb2f3cc4f93cfccad9777be98
Signed-off-by: John Grossman <johngro@google.com>
ediaPlayerService.cpp
ediaPlayerService.h
df712ea86e6350f7005a02ab0e1c60c28a343ed0 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
tagefrightRecorder.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.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/NuPlayer.cpp
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/RTSPSource.cpp
79af02c6a813b5d31fba3e7b72686a02f0ae7e0f 23-Feb-2012 Andreas Huber <andih@google.com> Merge "Implementation of a java media codec interface and associated tools."
5778822d86b0337407514b9372562b86edfa91cd 21-Feb-2012 Andreas Huber <andih@google.com> Implementation of a java media codec interface and associated tools.

Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
uplayer/NuPlayer.cpp
2e77ad2a9f7afb57b6f9127dd7c229e774baa9c8 22-Feb-2012 James Dong <jdong@google.com> Allow to record time lapse videos without using setProfile()

o also added a check on whether capture rate was set before starting time lapse video recording.

o related-to-bug: 6045507

Change-Id: I8e1fdc8e8931e2684ab3822dc6260db44658e87d
tagefrightRecorder.cpp
761defc341c5ce9019a42919c441f035f665ec0d 10-Feb-2012 John Grossman <johngro@google.com> Upintegreate AAH TX and RX players from ICS_AAH

Upintegrate the android at home TX and RX players developed in the
ICS_AAH branch.

Change-Id: I8247d3702e30d8b0e215b31a92675d8ab28dccbb
Signed-off-by: John Grossman <johngro@google.com>
ndroid.mk
ediaPlayerService.cpp
7a8b0ed6419e57dd8b41d3806893d63d3df91aab 02-Feb-2012 Jean-Michel Trivi <jmtrivi@google.com> Playback rate on MediaPlayer

Add support for modifying the playback rate of a MediaPlayer
by altering the sample rate of its AudioTrack.
The playback rate is expressed in permille, where 1000 is the
playback at normal speed.

Change-Id: I981d060ab32f7bae7a767e82c60c88ae635dceed
ediaPlayerService.cpp
ediaPlayerService.h
tagefrightPlayer.cpp
f1d5aa162c02a16b7195a43a9bcea4d592600ac4 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
tagefrightRecorder.cpp
a3f1fa308728976fc9ca1b4f37d26e633b32b9ac 18-Jan-2012 Glenn Kasten <gkasten@google.com> Fix incorrect includes of AudioTrack.h

Remove unnecessary includes of AudioTrack.h.
Use forward declaration of class names in preference to #include when possible.

Change-Id: I12982811fa75c2c7695d8bbfa595a7aaec047dc0
ediaPlayerService.h
ediaRecorderClient.cpp
idiFile.h
fff6d715a8db0daf08a50634f242c40268de3d49 13-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_stream_type_t consistently

At native level it was a mixture of audio_stream_type_t, int, uint32_t,
and uint8_t. Java is still int. Also fixed a couple of hard-coded -1
instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0
instead of AUDIO_STREAM_VOICE_CALL.

Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
4cc55d53d542c4f4ed645738cebb65b9e7eb6c44 12-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use audio_format_t consistently"
c1dc1cb1d1eaf84e88669f1a5f22579a0d9237c2 09-Jan-2012 Steve Block <steveblock@google.com> Rename LOG_ASSERT to ALOG_ASSERT DO NOT MERGE

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

Bug: 5449033
Change-Id: I8ceb2dba1b031a0fd68d15d146960d9ced62bbf3
estPlayerStub.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
ediaPlayerService.cpp
ediaRecorderClient.cpp
etadataRetrieverClient.cpp
idiFile.cpp
idiMetadataRetriever.cpp
tagefrightRecorder.cpp
estPlayerStub.cpp
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.cpp
uplayer/StreamingSource.cpp
5ff1dd576bb93c45b44088a51544a18fc43ebf58 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
ediaPlayerService.cpp
tagefrightRecorder.cpp
e1c3962e268ffc12bfd1bd9ea84da1f135f36960 04-Jan-2012 Glenn Kasten <gkasten@google.com> Use audio_format_t consistently

Was int, uint32_t, uint16_t, and uint8_t with 2-bit bitfield.
Also replace 0 by AUDIO_FORMAT_DEFAULT and replace 1 by
AUDIO_FORMAT_PCM_16_BIT.

Change-Id: Ia8804f53f1725669e368857d5bb2044917e17975
ediaPlayerService.cpp
ediaPlayerService.h
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
tagefrightRecorder.cpp
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/RTSPSource.cpp
uplayer/StreamingSource.cpp
b8a805261bf0282e992d3608035e47d05a898710 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
ediaPlayerService.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
uplayer/NuPlayerRenderer.cpp
d2927a79dc933a134e022281a4679a65e340dc3a 12-Dec-2011 Owen Lin <owenlin@google.com> Fix the build. (Change LOGV to ALOGV)

Change-Id: I14104540cfbd2bcdd7af1534db20554b88c4c0ce
uplayer/RTSPSource.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
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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
uplayer/RTSPSource.cpp
uplayer/RTSPSource.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
uplayer/StreamingSource.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/NuPlayer.cpp
uplayer/NuPlayer.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
90100b5573f95e8404c6e2917520e090fe8b49fd 24-Jun-2011 Glenn Kasten <gkasten@google.com> MidiFile uses C++ Thread not createThreadEtc

This permits leveraging future improvements to Thread.

Change-Id: I323b709e935c47fa3c6041cb8b82fda994e78b56
idiFile.cpp
idiFile.h
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
uplayer/NuPlayerRenderer.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/NuPlayer.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/NuPlayer.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
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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
841fa37451fb74f3d5978a15aab606bbb67e8c39 28-Oct-2011 Andreas Huber <andih@google.com> Merge "Properly report that we're no longer playing after receiving event" into ics-mr1
4b8bb4ee7d1d64dc1cd5478a3772f97e4a4a00d7 28-Oct-2011 Jamie Gennis <jgennis@google.com> am fc9592f8: am 08479cee: Merge "Stagefright: ANW::connect in MediaPlayerService" into ics-mr0

* commit 'fc9592f8a5f2f75207e5e532655ac294eb2b334b':
Stagefright: ANW::connect in MediaPlayerService
262620399c228b3b201c2c4b39c87508d3047d74 28-Oct-2011 Jamie Gennis <jgennis@google.com> am 08479cee: Merge "Stagefright: ANW::connect in MediaPlayerService" into ics-mr0

* commit '08479ceeba56c460fb52f60a24df27776f1936c3':
Stagefright: ANW::connect in MediaPlayerService
7dae00baa6e8957be15523c46bb948bd1dde64c3 27-Oct-2011 Jamie Gennis <jgennis@google.com> Stagefright: ANW::connect in MediaPlayerService

This change moves the ANativeWindow connect and disconnect logic from
MediaPlayer to MediaPlayerService::Client.

Bug: 5502654
Change-Id: Ifc43b98b01ad8f35d62d7ece43110724ec7fda3d
ediaPlayerService.cpp
ediaPlayerService.h
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/NuPlayer.cpp
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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
ediaPlayerService.cpp
ediaRecorderClient.cpp
etadataRetrieverClient.cpp
idiFile.cpp
idiMetadataRetriever.cpp
tagefrightPlayer.cpp
tagefrightRecorder.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
d24bac2f9e83d3dbc0ef9d2aae3b8ad8e4d2b731 20-Oct-2011 James Dong <jdong@google.com> am b3cdadb6: Merge "Check whether media recorder client exists before dumping." into ics-mr0

* commit 'b3cdadb639027f62c7c1637ca962a70d2d1f3b4d':
Check whether media recorder client exists before dumping.
e579e28089c6b86f56d257030b778c5e22b1a5a5 19-Oct-2011 James Dong <jdong@google.com> Check whether media recorder client exists before dumping.

Change-Id: I1f3a644a958975e4cf6c02099c53e30cc4d2fd82
related-to-bug: 5477177
ediaPlayerService.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
ediaPlayerService.cpp
uplayer/Android.mk
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerSource.h
uplayer/RTSPSource.cpp
uplayer/RTSPSource.h
b832a03d563dd000faa44f2577e92237525edc32 06-Oct-2011 James Dong <jdong@google.com> Fix an issue where we should allow negative values but did not

Change-Id: Ia8d718b4e6aec4c17db86e30134132f767fd72c5
related-to-bug: 5419527
tagefrightRecorder.cpp
tagefrightRecorder.h
dd115cd3b1429a39f1c8e77cbdf03e760ebdb6c3 27-Sep-2011 Andreas Huber <andih@google.com> Merge "Signal an appropriate error even if there are no active streams yet."
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
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayerSource.h
uplayer/StreamingSource.cpp
uplayer/StreamingSource.h
82fd03b854a5e6879dc9eb6d57962414e7082894 27-Sep-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 5373048: AudioCache decode errors"
9cb839a0fcc98fe4278b39afb8b6d664c04f1673 27-Sep-2011 Eric Laurent <elaurent@google.com> Fix issue 5373048: AudioCache decode errors

When decoding a file for the SoundPool, do not
reject the entire file in case of error but
return what was decoded so far instead.

Change-Id: Iff199a1b6a4c8e064e42a0dfe0704e0ae36a27fd
ediaPlayerService.cpp
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
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.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
uplayer/NuPlayerStreamListener.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.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/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
uplayer/StreamingSource.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
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
d681bbb1767bed09415e050ba78975df214bcd68 30-Aug-2011 Dave Burke <daveburke@google.com> Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
ediaPlayerService.cpp
ediaPlayerService.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
uplayer/HTTPLiveSource.cpp
uplayer/StreamingSource.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/NuPlayer.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
uplayer/StreamingSource.cpp
63970b42f101c87db7cfd26d43b0d300260b1582 29-Aug-2011 Andreas Huber <andih@google.com> Return an error to the client instead of asserting if decoder instantiation fails

after a surface change.

Change-Id: Ic7758cbeb107032db68a1c3b8e2984710a12dd8b
related-to-bug: 5212725
tagefrightPlayer.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/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
c92fd24c10a6bf80b346d7e261325434d9c6964b 16-Aug-2011 Andreas Huber <andih@google.com> Error handling in ACodec and Nuplayer.

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

Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
uplayer/NuPlayer.cpp
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
db29e5238e28d59978755a2ff2e7e0f05393abdf 12-Aug-2011 Jason Simmons <jsimmons@google.com> Add a null check to handle failure of android::createPlayer

Change-Id: Id56bd0c16104e46d8dc71f13d8a44aefe251fad4
ediaPlayerService.cpp
a23456b306f35b9ecf973bf5818ca39295e9e029 08-Jul-2011 Ashish Sharma <ashishsharma@google.com> Network traffic accounting for chromium stack support in mediaserver.

- Atribute network activity to uid calling the mediaplayer
- Enables logging of chromium network stack in logcat

Change-Id: I2d28c8392248a056b3cee305dd4d4475ebba4337
ediaPlayerService.cpp
3cecf640c4daf2df616b278bd9986018c8182908 30-Jun-2011 James Dong <jdong@google.com> Do not support still image capture mode for timelapse video recording

related-to-bug: 4973779

Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
b33f3407bab0970a7f9241680723a1140b177c50 02-Jul-2011 Pannag Sanketi <psanketi@google.com> Connect MediaRecorder Native to SurfaceMediaSource

Making a connection from MediaRecorder Native layer to the
SurfaceMediaSource for the purpose of encoding GL Frames. This will be
called from the java side inside the Mobile Filter Framework.

The mediarecorder native layer (client), when set the videosource to
option VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver
side to create a SurfaceMediaSource object and pass it back as a
sp<ISurfaceTexture> object. Using that, the client side will dequeue and
queue buffers. Connecting the GL Frames to the obtained
sp<ISurfaceTexture> is not part of this CL.

Related to bug id: 4529323

Change-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.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
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayerDriver.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
uplayer/StreamingSource.cpp
5e0067b486c3862316aa1f293cf9690c0cf54bda 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
ndroid.mk
d552b88515c6ccd18695e5db5e6032a6425d8c63 08-Jul-2011 James Dong <jdong@google.com> Use advertised h264 encoding parameters by default if the profile is not baseline

o Force to use AVC baseline profile for camcorder low quality videos

Change-Id: I3424c57dd0c55fc4991f5767b57695c8f3420ecb
tagefrightRecorder.cpp
tagefrightRecorder.h
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
ediaPlayerService.cpp
ediaPlayerService.h
tagefrightPlayer.cpp
tagefrightPlayer.h
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
4ca2c7c913f8bd4ada13aca56d36045d42d1e00f 01-Jun-2011 Wu-cheng Li <wuchengli@google.com> Add framework support for camcorder zoom.

The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.

Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.

ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()

ICameraRecordingProxyListener
dataCallbackTimestamp()

The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.

The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().

bug:2644213

Change-Id: I15269397defc25cbbcae16abc071c8349c123122
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
b8e9897b8ad5d722e424d7a7e256153307ecbd93 15-Jun-2011 Glenn Kasten <gkasten@google.com> Remove unneeded #include <sys/resource.h>

Suggested in code review for previous change.

Change-Id: Ic3225b240367dc6c9bf56fb4498fb8a0f9f806ec
etadataRetrieverClient.cpp
a0b1d4b161599c2bb2a47119e50c51e75bbe980e 08-Jun-2011 Andreas Huber <andih@google.com> Make dumpsys(media.player) more useful by having AwesomePlayer populate it.

Change-Id: I12ba7d542331a8293d67a0d47378b8be4f777759
ediaPlayerService.cpp
tagefrightPlayer.cpp
tagefrightPlayer.h
0512ab559d4670c2204078470d7ef5d376811c57 05-May-2011 Glenn Kasten <gkasten@google.com> Remove dead code related to gettid

The gettid system call is always available now.

Change-Id: Ib78b41781eda182dc8605daf456bbea7ff7c2dc0
ediaPlayerService.cpp
etadataRetrieverClient.cpp
idiFile.cpp
d217a8c4632b3e3065f8c2a26b9ce4dc4c97171f 02-Jun-2011 Glenn Kasten <gkasten@google.com> Revert "Use AudioTrack::event_type not int in callback"

This reverts commit 2225e4b7049fa3fb9d39a068b8268b63c952d7c1
ediaPlayerService.cpp
ediaPlayerService.h
013b5a67d6f8e12a1b06e74863daec1bee4d99c1 05-May-2011 Glenn Kasten <gkasten@google.com> Use AudioTrack::event_type not int in callback

Change-Id: Ifefc708d46874e04fd0d01cb6e2d43b987ee796c
ediaPlayerService.cpp
ediaPlayerService.h
0d255b2d9061ba31f13ada3fc0f7e51916407176 25-May-2011 Jean-Michel Trivi <jmtrivi@google.com> Use channel mask instead of channel count for track creation

Record and playback objects (resp AudioRecord and AudioTrack)
are created using a channel mask, but this information is lost
in the mixer because only the channel count is known to
AudioFlinger. A channel count can always be derived from a
channel mask.

The change consists in:
- disambiguiting variable names for channel masks and counts
- passing the mask information from the client to AudioFlinger
and the mixer.
- when using the DIRECT ouput, only verifying the format of
the track is compatible with the output's for PCM.

Change-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e
ediaPlayerService.cpp
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
uplayer/HTTPLiveSource.cpp
uplayer/StreamingSource.cpp
86b7f47aa7482424cf8fd248f1315311919be3b0 10-May-2011 James Dong <jdong@google.com> Support platform and camera dependent recording start time offset

related-to-bug: 4390777

Change-Id: Icb52973ad4ac716f04fb103ef527915a966d06d5
tagefrightRecorder.cpp
tagefrightRecorder.h
07b1bb529a1ae76c46a71b01338c166f9490629d 12-May-2011 James Dong <jdong@google.com> Support for storing geo information in the recorded mp4/3gpp file.

o Geo data (latitude and longitude) is stored in udta box

Change-Id: I76e4aeb741c4b339f3753d3d28190151f3ea4919
related-to-bug: 4260295
tagefrightRecorder.cpp
tagefrightRecorder.h
64760240f931714858a59c1579f07264d7182ba2 11-May-2011 Dima Zavin <dima@android.com> update for new audio.h header location

Change-Id: Ic4c62c4037800802427eb7d3c7f5eb8b25d18876
Signed-off-by: Dima Zavin <dima@android.com>
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
idiFile.cpp
tagefrightRecorder.cpp
tagefrightRecorder.h
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
uplayer/Android.mk
uplayer/DecoderWrapper.cpp
uplayer/DecoderWrapper.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
760943b5e7a09b602aba04ec451e97662f48b0a4 21-Mar-2011 James Dong <jdong@google.com> Initial check-in for AACWriter

Change-Id: Ia21ca39a404484b2dda25c6101780d2ff11c4623

related-to-bug: 4211046
tagefrightRecorder.cpp
tagefrightRecorder.h
4f9e47f2c03ce36261c4717cd7e131d7940bb068 26-Apr-2011 Gloria Wang <gwang@google.com> Add setParameter/getParameter to MediaPlayer API.
for bug 1982947

Change-Id: If3f40e4f18cbba155af29944af38bdc627f8cd53
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
fce7a473248381cc83a01855f92581077d3c9ee2 20-Apr-2011 Dima Zavin <dima@android.com> audio/media: convert to using the audio HAL and new audio defs

Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
idiFile.cpp
tagefrightRecorder.cpp
tagefrightRecorder.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
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
b483c4724846c0b8d4e82afcbb7c17f671bae81c 12-Apr-2011 Gloria Wang <gwang@google.com> - Add another parameter in notify() to be able to send timed text sample
through listener during video playback.
- Add OnTimedTextListener in the MediaPlayer
For feature request 800939.

Change-Id: I65072c27acb4c0037109a72be38c73e9f667420f
ediaPlayerService.cpp
ediaPlayerService.h
7fb4b427d5fca79c09d69b212ddca41539c215a2 04-Apr-2011 Andreas Huber <andih@google.com> Merge "This reverts an earlier change 4aeec2da39fce4de9b07b694d59fd308ffb3d491"
51c1e0e86a0ad95bf3d890a9a2f51e54b8ef9444 04-Apr-2011 Andreas Huber <andih@google.com> This reverts an earlier change 4aeec2da39fce4de9b07b694d59fd308ffb3d491

Instead of returning 0-filled buffers after EOS from AudioTrack we do this
work in AudioOutput instead. That way the EOS signal (0 frames returned)
is preserved in AudioCache which otherwise would lead to a heap size overflow
filling everything with zeroes.

Change-Id: I7e07429ba887957a4340dd4b21eef4bba76248cd
related-to-bug: 3514073
ediaPlayerService.cpp
bd7b7177f88ae6e83bd7bb8bfd9b7018be923931 04-Apr-2011 Andreas Huber <andih@google.com> Avoid a race condition while signaling audio EOS/seek complete by acquiring the lock.

Change-Id: Idfea452ff661b264e013fe515bcd2a2762bd959c
related-to-bug: 4193552
tagefrightPlayer.cpp
5f7fcf29a7475a20cf38bf72da67746135d504c3 26-Mar-2011 Mathias Agopian <mathias@google.com> merge libsurfaceflinger_client into libgui

this is the first step in unifying surfacetexture and surface.
for this reason the header files were not moved, as most of them
will eventually go away.

NOTE: currently we keep libsurfaceflinger_client.so as an empty
library to workaround prebuilt binaries wrongly linking against
it.

Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
ndroid.mk
0a73d81f213fb2d6f2fdd59c4dda047bf453bb1c 22-Mar-2011 Andreas Huber <andih@google.com> Enable http-live support for https:// urls, fix a parsing issue.

Change-Id: I2284e1d62babde7f739fba6a3cb4e2619f0e62f9
related-to-bug: 4148291
ediaPlayerService.cpp
0511969950188634f4212fcf63680c43207baedd 21-Mar-2011 Eric Laurent <elaurent@google.com> Merge "Fix issue 3483718: audio streaming and A2DP."
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
uplayer/NuPlayerRenderer.cpp
af8791e112c8072452bd14ef3c43a47511d19542 21-Mar-2011 Andreas Huber <andih@google.com> Support passing headers to MediaMetadataRetriever's setDataSource API

Change-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26
related-to-bug: 3506316
etadataRetrieverClient.cpp
etadataRetrieverClient.h
idiMetadataRetriever.cpp
idiMetadataRetriever.h
c901f74404435cc1cf2717016e2b0092b6dcea24 17-Mar-2011 James Dong <jdong@google.com> am 782ffe91: am 9c0c5b56: am 2f1f2248: Fix missing AOSP copyright headers for a bunch of media framework files

* commit '782ffe91da665c6b1fb9e297faa6e0dc6035f40c':
Fix missing AOSP copyright headers for a bunch of media framework files
27c174483a8ae9688d5d4897c19074f62c7f1701 17-Mar-2011 James Dong <jdong@google.com> Fix missing AOSP copyright headers for a bunch of media framework files

bug - 4119349

Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
tagefrightPlayer.cpp
8635b7b095fbf7ffc63d3ce791891a9116ace1f6 15-Mar-2011 James Dong <jdong@google.com> Add memory leak tracking/debugging code to drm server

bug - 4099038

Change-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66
ediaPlayerService.cpp
4f46fed004b76d462ef859aa94a3c056b0e79b60 03-Mar-2011 Gloria Wang <gwang@google.com> Merge "- To track the usage of all audio output devices - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()"
9ee159b79022b2e1a050acb3890ce948e99e9ccb 24-Feb-2011 Gloria Wang <gwang@google.com> - To track the usage of all audio output devices
- To track the currently used audio device
- The devices are separated as speaker and other audio devices
- Provide the collected data to battery application through pullBatteryData()

Change-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc
ediaPlayerService.cpp
ediaPlayerService.h
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
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerStreamListener.cpp
uplayer/NuPlayerStreamListener.h
uplayer/StreamingSource.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
tagefrightPlayer.cpp
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
72feaa5df1f7b15b18e30592653dc511dc0b8c51 24-Feb-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3438258 Add SurfaceTexture as MediaPlayer sink"
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
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
75b0b5473c7b43f8c5972db7e6e8930988ead751 23-Feb-2011 Gloria Wang <gwang@google.com> To collect the total usage time of encoders in the media recorder

Change-Id: I94c9c94dec6bd714a3ebf96b4465b94f069e55b8
tagefrightRecorder.cpp
tagefrightRecorder.h
7cf180c9bff69e5cc4a2f4e53b432db45ebbebab 20-Feb-2011 Gloria Wang <gwang@google.com> - Add method in MediaPlayerService to collect and pull
codec usage (duration) for the battery app
- Collect MediaPlayer decoding usage data

Change-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965
ediaPlayerService.cpp
ediaPlayerService.h
ed8d14f6a934072cd012992c4ef16990a54baa9a 16-Feb-2011 Andreas Huber <andih@google.com> Remove legacy, AwesomePlayer-based http live implementation.

Change-Id: I455d0faa5612dcd4d2bb6f2b3c7b64a1caaabf69
ediaPlayerService.cpp
27944ef5cd8d0fb476c8c8958986e827c5f8ab83 09-Feb-2011 James Dong <jdong@google.com> Should reset errno to 0 before calling strtoll().

bug - 3431238

Change-Id: I855847209d2e022242b8eb62985759922ab94779
tagefrightRecorder.cpp
7757f5010a771fb8824b6fdf9788f588a1577e3f 26-Jan-2011 James Dong <jdong@google.com> Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.

This will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where
o n is the actual number of buffers advertised by the video encoder
o time_interval is the interval settings for timelapse video recording
specifying the time distance between neighboring input video frames

The fix includes two parts:
o OMXCodec will not submit all n buffers at one time, but instead submit one input
frame at one time if it become available.

o Timelapse camera source made available the first two input frames and do not skip
them so that the first compressed output frame data can be received regardless
the specified time_interval

bug - 3367659

Change-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b
tagefrightRecorder.cpp
bc7f5b2e56107cfeaeeab13cf8979379e3c2f139 21-Jan-2011 Andreas Huber <andih@google.com> Some tweaks to HTTP live / nuplayer behaviour

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

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

Change-Id: Ia3f1ce521dd4b70e134ef03aa7c9db8e8d39a134
related-to-bug: 2368598
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
7bd460110b27a979384dda351788eac95d8467f5 20-Jan-2011 James Dong <jdong@google.com> Eliminate recording sound by starting the video track before audio track.

Due to the variable delays in the system, the recording sound can still be heard
if the audio track is started early. This happens even after we suppress a relative
long period of initial audio for a recording session. By starting the video track
before the audio track, we effectively play the recording sound earlier.

bug - 3371141

Change-Id: I2cccf77eae953d96827fc080c618b1d962445c26
tagefrightRecorder.cpp
2b4883641e324c50a2ee24c5bd15170c7d31e57d 19-Jan-2011 James Dong <jdong@google.com> Use metadata in video buffers for timelapse video recording by default to eliminate memcpy

bug - 3361771

Change-Id: Ib37ffe4be8edc8708baa76b3507b6f11372536d9
tagefrightRecorder.cpp
31389148f4ab7587e150f4043b7379eaefe2af2b 18-Jan-2011 James Dong <jdong@google.com> Fix the sluggish preview during timelapse video recording because software encoder is used.

bug - 3361771

Change-Id: Ic5344e9eabe7f1b82910b65b4260e4ad8dc51c32
tagefrightRecorder.cpp
42dd1d5f186252a7f09f8fb1a46ea82e3877b2d3 13-Jan-2011 James Dong <jdong@google.com> Add audio encoding parameters check

bug - 3345296

Change-Id: If3f33955f5473b0c5ad9c9b85f8b5cb21ddd7e65
tagefrightRecorder.cpp
tagefrightRecorder.h
7f7d52ac18dfc3c6d8f6267dad29306613e9bd0e 06-Jan-2011 James Dong <jdong@google.com> Publish MediaMetadataRetriever.java as public API

o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc

o part of a multi-project change.

bug - 2433195

Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
etadataRetrieverClient.cpp
etadataRetrieverClient.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
uplayer/DecoderWrapper.cpp
uplayer/NuPlayer.cpp
4b197e1ffe46eb73ebdb80efc984bfde336b8e92 06-Jan-2011 Andreas Huber <andih@google.com> Use NuPlayer for HTTP live streaming playback by default.

Reversed the property logic, set media.httplive.disable-nuplayer to true to revert

Change-Id: I1057940667aaab56bb75c9ea15c2cdcab736f3c6
ediaPlayerService.cpp
22fc52f6f72f39e33c3970d0291de3569118aa5c 06-Jan-2011 Andreas Huber <andih@google.com> Some more fixes regarding HTTP live in NuPlayer.

Change-Id: I9e29615fa8ee6c7bd4189373a75c20caef3fd2b1
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.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
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
uplayer/NuPlayerSource.h
uplayer/StreamingSource.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
uplayer/HTTPLiveSource.cpp
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.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
ediaPlayerService.cpp
uplayer/Android.mk
uplayer/HTTPLiveSource.cpp
uplayer/HTTPLiveSource.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
uplayer/NuPlayerSource.h
uplayer/NuPlayerStreamListener.cpp
uplayer/StreamingSource.cpp
uplayer/StreamingSource.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/NuPlayer.cpp
uplayer/NuPlayer.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
uplayer/DecoderWrapper.cpp
uplayer/DecoderWrapper.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
2d1e5d35be5e6d4b55ac8b39fbfcbeb60fcdd084 20-Dec-2010 James Dong <jdong@google.com> Backward-compatibility max file size support, ignoring 0 or negative file size limit

bug - 3281011

Change-Id: I2d3ae4565602e2374ca794c5e8d0837ad33cf0e8
tagefrightRecorder.cpp
2c2814b900a61fa07ddfff860b143fbbe9c740e9 16-Dec-2010 Andreas Huber <andih@google.com> Properly announce decoder output format changes, make sure AMessage::dup does.

Change-Id: Ia77f6b6d5e5c5055583740dfe876b8a3c22be9b6
uplayer/DecoderWrapper.cpp
uplayer/NuPlayer.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
ediaPlayerService.cpp
uplayer/Android.mk
uplayer/DecoderWrapper.cpp
uplayer/DecoderWrapper.h
uplayer/NuPlayer.cpp
uplayer/NuPlayer.h
uplayer/NuPlayerDecoder.cpp
uplayer/NuPlayerDecoder.h
uplayer/NuPlayerDriver.cpp
uplayer/NuPlayerDriver.h
uplayer/NuPlayerRenderer.cpp
uplayer/NuPlayerRenderer.h
uplayer/NuPlayerStreamListener.cpp
uplayer/NuPlayerStreamListener.h
ba29002c7aee13c068049037cd14bba6a244da6b 10-Dec-2010 James Dong <jdong@google.com> First step towards renabling Timelapse video recording

Change-Id: I93836b066fb69d5152d3774546a9935057a1f12f
tagefrightRecorder.cpp
ea7b485595f8cec6a66668b5c54c8f297d843f77 05-Dec-2010 James Dong <jdong@google.com> Remove check if the target video resolution is not supported by CameraSource
and clean up Camera is CameraSource could not created.

bug - 3254411

Change-Id: I43497c450e7007de5ce027e2912b1421119e8887
tagefrightRecorder.cpp
16afe2fb439cab6125bb46a07a8078d4ce1c1ea5 03-Dec-2010 James Dong <jdong@google.com> Prepare for publishing MediaMetadataRetriever as public API

step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

bug - 2433195

Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
etadataRetrieverClient.cpp
etadataRetrieverClient.h
1cc73922339a110d7ffc47e8842f958492dd85bf 02-Dec-2010 James Dong <jdong@google.com> If camera source uses the metadata, we must use HW encoder
Software video encoders are not able to deal with non-YUV metadata in the video buffer sent from camera

bug - 3242213

Change-Id: I97361ed88b2a687190e5129459011afff7f32c2d
tagefrightRecorder.cpp
f6882a9c8144dc0fd07f3434bb870e5251f51275 02-Dec-2010 James Dong <jdong@google.com> am 80639875: am d4c5478a: Merge "Be conservative in estimating the file size limit." into gingerbread

* commit '806398755fdc63438b607856574e5b885ad98e6b':
Be conservative in estimating the file size limit.
acd234bba9f048971d66890009eeff9a8db94be3 01-Dec-2010 James Dong <jdong@google.com> Be conservative in estimating the file size limit.

bug - 3045580

Change-Id: Ifdffa354b9433639c3f246a0eb581ef14af1e797
tagefrightRecorder.cpp
e2b1028852120bcfded33b8f06f66b780437fe92 23-Nov-2010 Andreas Huber <andih@google.com> Support streaming data across binder boundaries.

Change-Id: Ifbac61406dcb81343765f99ccba08bd90f9274cc
ediaPlayerService.cpp
ediaPlayerService.h
tagefrightPlayer.cpp
tagefrightPlayer.h
f5ab57c2d5e02af7483c94eddb177e4f5c9e9892 22-Nov-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 12:57:04 2010 -0800

set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer.

Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42

commit 4767b52bee3a54ae117a8708d6832276a44e6a6a
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 11:14:57 2010 -0800

info->mMediaBuffer may still be NULL at this point...

Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f

commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 10:55:12 2010 -0800

QCOM's YVU420 color format conversion has now been tested.

Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67

commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 09:59:50 2010 -0800

Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.

Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc

commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:11:06 2010 -0800

Revamped Software Renderer respects the crop rectangle.

Removed obsolete ADRENO support code.

Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535

commit 8abbc6a5608bff650f968540f24a2eab75f254ed
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:10:41 2010 -0800

The metadata retriever now respects the crop rectangle while capturing a video frame.

Change-Id: Id3377176060086d16717f62c77ce26fabe899050

commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:09:50 2010 -0800

Changed ColorConverter APIs to be more general.

Clients can now refer to crop rectangles in both source and destination.

Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04

commit 273184303d54a54febd3e9c3dd4df30507ea78b5
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 15:04:06 2010 -0800

The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg

Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4

commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 14:36:55 2010 -0800

The AVC software decoder now properly advertises the cropping rectangle.

Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b

commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 13:40:39 2010 -0800

OMXCodec now signals a format change if the cropping rectangle changes.

...and puts the cropping info into its output format.

Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2

commit efe0323947029df1c502599ccc288c8d676dfd31
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 11:29:39 2010 -0800

Stagefright's MetaData object now supports rectangle items.

Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504

Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70
ndroid.mk
674ebd0b4e1143e38392a4e3bb38b4679a4577bc 19-Nov-2010 James Dong <jdong@google.com> Removed uncessary FILE structure pointer for I/O

o also move the fd owner from caller to callee in the Writers

Change-Id: I510ccfdd0fcc58f1777fea4ed1349fd251852c65
tagefrightRecorder.cpp
0a5ca668c6f7d45706e9aec4a1dfec0aacc6d233 16-Nov-2010 Andreas Huber <andih@google.com> Remove all traces of legacy renderer support in stagefright.

Change-Id: I17b8e0dbf53fca37c96830c41131b4bc0c24ca6d
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.h
30d713a1c18a5ff892a7f13b2524ba624b70890a 11-Nov-2010 James Dong <jdong@google.com> Remove legacy PV stuff

Change-Id: I60ffea7c65592df4b3a80c590c863f1f79b371fd
ndroid.mk
ediaPlayerService.cpp
ediaRecorderClient.cpp
etadataRetrieverClient.cpp
393410a441b6d06daf286ed496470e9d6b2b6ca8 11-Nov-2010 James Dong <jdong@google.com> Separate the key for audio sampling rate and video frame rate in MetaData.h

Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
tagefrightRecorder.cpp
62db7db731c47a00ee1493e94f3e1d953c6e297a 10-Nov-2010 James Dong <jdong@google.com> Fix uninitialized variable

o This was missed while the rotation patch was hand merged.

Change-Id: I4016f9fb9cd54c5e853da15bbaaa50b1d1dac8c8
tagefrightRecorder.cpp
13f6284305e4b27395a23db7882d670bdb1bcae1 09-Nov-2010 James Dong <jdong@google.com> Rotation support

- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation

The original patch (65a73f4e8c79d05c0d9001b660325748d4ecf37b) was not merged.
The only change I made is to reuse the same kKeyRotation in MetaData.h;
and thus do not neeed to use kKeyRotationDegree.

Change-Id: Ib328716d4842201c4adf57e4ddfe1f1ac1ae4d8a
tagefrightRecorder.cpp
tagefrightRecorder.h
2cef2eff28fd5ba3eaa875dd2e22e74b6f464121 09-Nov-2010 James Dong <jdong@google.com> am c4a2ead2: am d2d62d04: Merge "Support extracting thumbnail from rotated video tracks" into gingerbread

* commit 'c4a2ead2aa5ab4403553e4956ba71b44782f0c84':
Support extracting thumbnail from rotated video tracks
ce0febae177d1816ee7a6750ed9fba52472b9a71 09-Nov-2010 James Dong <jdong@google.com> Support extracting thumbnail from rotated video tracks

Change-Id: Ife0a2536aaac5ff1efdf1035b9d2c892773ee16c
etadataRetrieverClient.cpp
aca1fe35480ae76dd6bae167ade40adc955e2d0d 17-Aug-2010 James Dong <jdong@google.com> Rotation support

- We only support 0, 90, 180, and 270 degree clockwise rotation

- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation

Change-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4
tagefrightRecorder.cpp
tagefrightRecorder.h
8480835b4bc1350646376aa7f3ae33742a7adeb1 02-Nov-2010 James Dong <jdong@google.com> Use meta data in the media recording framework

o This patch allows us to do 720p video recording

Change-Id: I2ea37e80a59630145396b08ebcdc6ee71df53333
tagefrightRecorder.cpp
tagefrightRecorder.h
ff5bfcf19da45e6bb0136ef818b7c4bf8fd8db3d 04-Nov-2010 James Dong <jdong@google.com> Revert "Support rotation in media recorder"

This reverts commit f1febe470ac30f8992066cb263c10f58493c4c34.
tagefrightRecorder.cpp
tagefrightRecorder.h
5b6edb79827a910d8e677e35e77bc12fdc7772b9 04-Nov-2010 James Dong <jdong@google.com> Support rotation in media recorder

o needs to be tested with camera hal and camcorder application

Change-Id: Ie343185c8ad3ec55da8850efbdcf19cf98993232
tagefrightRecorder.cpp
tagefrightRecorder.h
05ea6434ed399395e2dbe9f68abb44f04b274cb0 29-Oct-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0d5694ba2d399dd0869532a4d6256448185a1be0
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:59:23 2010 -0700

suspend() and resume() methods on VideoView are back but don't do anything.

They need to be back because they were public before.

Change-Id: Iddfd1021ffcf341f26e8d55ba761fd33701e2425

commit 16192891ed7d349ee97e47d1729d20a2d0d247b8
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:47:05 2010 -0700

Revert "New API on VideoView widget to suspend/resume a session. Do not release the MediaPlayer client for video suspending/resuming."

This reverts commit 2e1818a4d16c3309660f27286c77d8d1eee95a25.

Conflicts:

api/current.xml

Change-Id: I68dd1d05871044faf3f832d0838aa40bc7f890e5

commit 8f934dc1a3ae4e60f0790fcf97671e063fa20fad
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:16 2010 -0700

Revert "Release mediaplayer if the current state is not suspending. Fix for bug 2480093."

This reverts commit efb882cf75eef39ecaf9f8920ed302a019fa629f.

commit f2ed03550887986f39d36b5dabcd9e919949c7cf
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:44:08 2010 -0700

Revert "Release MediaPlayer if suspend() returns false."

This reverts commit 047212fd4ea360675e94d3ce83c7f5544f65b268.

commit 441ecce678bd24e9660a72c8627b5bd94433ff8b
Author: Andreas Huber <andih@google.com>
Date: Fri Oct 29 11:40:46 2010 -0700

manually.

Change-Id: I4fdd43c9f7c8b3eedddb31a196da4984e1c58e87

Change-Id: I60d4b10e7a9e4ed8d9a796f1711618f557eb6e89
ediaPlayerService.cpp
ediaPlayerService.h
tagefrightPlayer.cpp
tagefrightPlayer.h
635730831e08c32a5fe7c59125e0919b7e7899cd 24-Oct-2010 James Dong <jdong@google.com> Don't change the video recording frame rate if it is not requested.

o set the default video frame rate to the current frame rate being used
o add check on whether the requested frame rate is supported
o fix an issue where the hardware video encoder setting was bypassed
o increases the max frame rate from 30 t0 120 frames per second
the actual frame rate will be clipped if the requested frame rate is too
high when recording starts by checking the hardware encoder capabilities

Change-Id: I1b47671d74da0ebcb9601bdca390d430cc048fbc
tagefrightRecorder.cpp
8ac0cb9dc8a46f9b2badabc91cb5f7871e2215a9 18-Oct-2010 Jean-Baptiste Queru <jbq@google.com> Merge fb474872 from gingerbread-plus-aosp

Change-Id: I1bbb845a86a7b7df44ea175df3af22e5f47c44e3
56cfa2376ae87cba730ea7ce4a9e0ca4f0d07627 15-Oct-2010 Andreas Huber <andih@google.com> Include the framework copy of the OpenMAX headers instead of referencing external/opencore.

Change-Id: I762f59acf5e1f770e4d7c2d89af362bfffebefa6
related-to-bug: 3101573
ndroid.mk
f9f083e2853740c97588f4db82c24645ae5880e4 15-Oct-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of a127c07c to master

Change-Id: Ifdfc6681cba00f36456eaf7a97f34a75b9d0c086
59b7dc39ea8332d3418a599e51447d7edb612ac4 12-Oct-2010 Andreas Huber <andih@google.com> Support for writing to MPEG2 transport stream files.

Change-Id: If3b7a807bc224a4b1cb2236537c3ebdc5aee0d97
tagefrightRecorder.cpp
tagefrightRecorder.h
9086ce254ac8769dbe90afd5146fce509a86418f 11-Oct-2010 Andreas Huber <andih@google.com> am 2b4f1f4c: am f72dd019: Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread

Merge commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7'

* commit '2b4f1f4cb814f7a7df8d2cb9fcb5210bfe7999c7':
Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.
2eeadf9ded4b5770a713496e9887d668889987bc 11-Oct-2010 Eric Laurent <elaurent@google.com> am 4f21e517: am b37fcbfd: Merge "Added getter for session Id to AudioSink" into gingerbread

Merge commit '4f21e517d09b9d793d20d64547df330fba705b3c'

* commit '4f21e517d09b9d793d20d64547df330fba705b3c':
Added getter for session Id to AudioSink
54ff19ac69ace7c05ea90d225e26dab3b133f487 08-Oct-2010 James Dong <jdong@google.com> Move Camera specific logic out from StagefrightRecorder to CameraSource

o updated comments and streamlined the logic in
checkVideoSize() and checkFrameRate() as suggested

Change-Id: I49d04ac7998d4a215997aa63555dfb6e814e38d3
tagefrightRecorder.cpp
tagefrightRecorder.h
6f3cba53efdd985ab13734c7ad90eb373ae9b9f7 08-Oct-2010 Andreas Huber <andih@google.com> Merge "Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality." into gingerbread
70f521de2675ce6eedf4b22beed94ea1289b0f38 08-Oct-2010 Andreas Huber <andih@google.com> Disable 10secs forward/backward seeking for rtsp as seek is a very expensive operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality.

Change-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2
related-to-bug: 3073955
tagefrightPlayer.cpp
8c563ed9ca8a863a66965330b5d14bb4b4ab59d4 08-Oct-2010 Eric Laurent <elaurent@google.com> Added getter for session Id to AudioSink

Added a method to expose the audio session id at AudioSink interface
so that the AudioPlayer in stagefright can retrieve it.

Also:
- Fixed audio effect send level not being initialized in mediaplayer.
- Fixed compilation error when LOGV is enabled in mediaplayer JNI

Change-Id: I4bb55454fd63d646e0e677692d737c4843fb05fb
ediaPlayerService.cpp
ediaPlayerService.h
5f4d93467a03b3a38320416f8cc2c2c2c94bf3fc 04-Oct-2010 James Dong <jdong@google.com> Use setVideoSize API in StagefrightRecorder

Change-Id: Ia7ddf5e8d2b931453d2cb801169906191349ca07
tagefrightRecorder.cpp
tagefrightRecorder.h
51be6db7d0e802b3f5d067e39e543ae4f09ed01c 28-Sep-2010 Dave Sparks <davidsparks@android.com> am 7dff9dfd: am 269dea1c: Merge "Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669. The dump function whitelists several directories as filters to the output. The mount point changed for SD card in Froyo, and we started filtering files that w

Merge commit '7dff9dfd6176fad1318a27f16318561453a429f0'

* commit '7dff9dfd6176fad1318a27f16318561453a429f0':
Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.
02fa834249a01144d6f23137951538600aa5d611 28-Sep-2010 Dave Sparks <davidsparks@android.com> Fix media.player dumpsys to output open/mapped files correctly. Bug 2866669.
The dump function whitelists several directories as filters to the output.
The mount point changed for SD card in Froyo, and we started filtering files
that were open on the SD card. This fix changes the filter for the SD card,
and adds the directory for data files as well.

Change-Id: I61b67c3d11d93dbd530e8b3566000e79bc037137
ediaPlayerService.cpp
78eff720c86eb6d4e3d45a144df60b2ca464d2d4 16-Sep-2010 Nipun Kwatra <nkwatra@google.com> Implemented frequent read returns for quick stop in time lapse.

If the frame capture interval is large, read will block for a long time.
Due to the way the mediaRecorder framework works, a stop() call from
mediaRecorder waits until the read returns, causing a long wait for
stop() to return. To avoid this, we return a copy of the last read
frame with the same time stamp if a frame is not available quickly.
This keeps the read() call from blocking too long. This method is
triggered when startQuickReadReturns() is called on
CameraSourceTimeLapse.

In the still camera case, also using waitRelative on Condition
instaed of sleeping, so that we can wake it up.
Also for the idle check instead of sleeping, we now wait on a
condition variable, which is woken up when the last takePicture
callback gets called.

Change-Id: Ia74386e175536aee0f44ae2f8b114c353d3d72f5
tagefrightRecorder.cpp
tagefrightRecorder.h
59d9e31c503e5c2f49448362a0d3a8f1150fb6c2 14-Sep-2010 Nipun Kwatra <nkwatra@google.com> Checks for auxiliary video recording.

- Check that time lapse mode is on when using auxiliary video recording.
- Check that auxiliary video size is strictly less than the main video
size.

Change-Id: Ic49d25e6ac30f6f885ce4f5fb38dbe0cc7bc1be1
tagefrightRecorder.cpp
155e833a7a5fc3e193691324cf9326da1bc3289a 02-Sep-2010 Nipun Kwatra <nkwatra@google.com> Moving decision to use still camera to CameraSourceTimeLapse

CameraSourceTimeLapse now decides whether to use still or video
camera automatically. It checks if the passed in size is a valid
preview size and if it is, then uses the video camera else uses
the still camera.

Removed from StagefrightRecorder the support to set parameter
useStillCameraForTimeLapse.

Change-Id: I71f5b0fc7080ca524792381efe918d22e41a7f36
tagefrightRecorder.cpp
tagefrightRecorder.h
cfe88a20345dad981842b2c8092e4c704d3f98b4 01-Sep-2010 Nipun Kwatra <nkwatra@google.com> Support for auxiliary video parameters.

Added support for passing width, height and video bitrate
for the auxiliary video.
Also setting encoder level depending on the video size and bitrate.

Change-Id: I4a90046853f67287c3e7e6babc75b4827f0c3e73
tagefrightRecorder.cpp
tagefrightRecorder.h
5d6aca5d86e86af3f8f597be573d4563d69ceb85 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Added setAuxiliaryOutputFile to MediaRecorder and JNI

added setAuxiliaryOutputFile to allow setting of an auxiliary output file.
Also added the JNI support.

Change-Id: I8c3335192bd6f7fcbfdfc8552cfd0848f2ad2a5d
ediaRecorderClient.cpp
ediaRecorderClient.h
9c075bca0b75093ca0514a3c8f74d73c8e9e83fd 27-Aug-2010 Nipun Kwatra <nkwatra@google.com> Adding support for parallel recording sessions.

- Added setOutputFileAuxiliary to pass the auxiliary file descriptor. The java
interface through JNI will be checked in next.

- renamed setupCameraSource to setupCamera as the function just sets the camera.
- Added setupCameraSource which sets up the camera source. This functionality
was in setupVideoEncoder before.
- setupVideoEncoder now takes in a cameraSource instead of creating it on it
own.

- Refactored startMPEG4Recording() to use setupMPEG4Recording,
setupMPEG4MetaData.
- setupMPEG4Recording() takes in file descriptor, bitrates to setup a mpeg4
writer. This function can be called multiple times to setup multiple
writers.
- Added setupMPEG4MetaData() for setting up the meta data for mpeg4 writer.
startMPEG4Recording() now calls setupMPEG4Recording, setupMPEG4MetaData for
each recording session.

Change-Id: I07f5334a1ff8e12a36f58e94129fcfa6add2208b
tagefrightRecorder.cpp
tagefrightRecorder.h
dd0f7a7127fdb04863b4ad66d2b846ee94358314 30-Aug-2010 Andreas Huber <andih@google.com> am 9aa05ec2: am 681c5ff2: Merge "Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore." into gingerbread

Merge commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12'

* commit '9aa05ec2cd6bc592074c7bd08d22db46649c7f12':
Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.
a1ffe49c7d537bf2a16fc3eb32b0ecc6d72bdf8a 30-Aug-2010 Andreas Huber <andih@google.com> Reverse the default setting of media.stagefright.enable-{rtsp,record} in preparation for building without opencore.

Change-Id: I1ca6bd8faba0185f9694f9dc04d2b3e6a7ab5ac3
related-to-bug: 2370115
ediaPlayerService.cpp
ediaRecorderClient.cpp
a8c88e810ea1b8e90fd6c250d4c0a87eb628d4d8 24-Aug-2010 James Dong <jdong@google.com> am 28a92120: am 3f51fa78: Runtime dump support for MediaWriter

Merge commit '28a92120a702289533a9c9d004bd60f83b2fd98b'

* commit '28a92120a702289533a9c9d004bd60f83b2fd98b':
Runtime dump support for MediaWriter
515c0a56b6fbcca18a08f0daac7be278dede46d0 24-Aug-2010 Nipun Kwatra <nkwatra@google.com> am 701b710c: am 300b0b7e: Merge "setParamMaxFileDurationUs should allow zero time input as per API of setMaxDuration." into gingerbread

Merge commit '701b710c194181765616520f6d89d450b4b6c1f5'

* commit '701b710c194181765616520f6d89d450b4b6c1f5':
setParamMaxFileDurationUs should allow zero time input as per API of setMaxDuration.
4b79168835965cf0fc41ebe2a367e22b4cb20d08 11-Aug-2010 Jamie Gennis <jgennis@google.com> Change the framework to use the new camera preview path.

This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated. The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface. The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.

Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
f143cc1866737c2ac24f4b2d7e4b2e776be10d56 23-Aug-2010 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:"
5daeb129a2c2ba3d14ccd94af283b5f561c783ea 16-Aug-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 35cc68814a9537c31fde146e171e7b0bbdfe211e
Author: Andreas Huber <andih@google.com>
Date: Mon Aug 16 08:48:42 2010 -0700

Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else.

commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 13:56:44 2010 -0700

The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise.

commit 684972074b74318bdcb826ed9b5b0864d2d2e273
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 09:34:35 2010 -0700

A first shot at supporting the new rendering APIs.

Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.h
dedf414d3fe2e79ee0aad0f1c82ca16ebd886ff6 18-Aug-2010 James Dong <jdong@google.com> Runtime dump support for MediaWriter

Change-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895
tagefrightRecorder.cpp
263ebfd8a17266eedc84eb879edb6a6a3395f760 21-Aug-2010 James Dong <jdong@google.com> am c8d2fa70: am cbd038fe: Merge "Make MediaWriter stop and pause return errors if necessary" into gingerbread

Merge commit 'c8d2fa704abebdbf0bd8aac185216dc068950217'

* commit 'c8d2fa704abebdbf0bd8aac185216dc068950217':
Make MediaWriter stop and pause return errors if necessary
be6fd201b9a04fe0f8fd409f10595ddb41832591 19-Aug-2010 Nipun Kwatra <nkwatra@google.com> setParamMaxFileDurationUs should allow zero time input as per API of setMaxDuration.

according to MediaRecorder::setMaxDuration documentation we should disable duration limit
when zero or negative time is passed. Currently setParamMaxFileDurationUs was treating
zero/negative as an error case. Fixed that.

Change-Id: I468c3bcc74cb5a34ee3e172cef5147550d6be096
tagefrightRecorder.cpp
37187916a486504acaf83bea30147eb5fbf46ae5 19-Aug-2010 James Dong <jdong@google.com> Make MediaWriter stop and pause return errors if necessary

o Make the API consistent with SF framework, which the MediaSource
provides a return status for stop

o Also, helps to convey errors that occurred right when a
premature stop() is called, leading to a potentially
mal-formed output file.

Change-Id: I52a932345f38570fdf8ea04d67d73dd94ccd30ef
tagefrightRecorder.cpp
8206beb4953e42a727417286cdf9d52c35c2889d 17-Aug-2010 James Dong <jdong@google.com> am f54da15b: am eff30e3d: Change the default time scale for audio/video track during recording and reduce rounding errors in calculating the sample duration

Merge commit 'f54da15b7c3fa55268451c485544e831832fdf15'

* commit 'f54da15b7c3fa55268451c485544e831832fdf15':
Change the default time scale for audio/video track during recording
c059860c73678a202bfa33062723e8f82fb779d9 13-Aug-2010 James Dong <jdong@google.com> Change the default time scale for audio/video track during recording
and reduce rounding errors in calculating the sample duration

- Default time scale for tracks other than audio is set to 90000.
- Audio track by default uses the audio sampling rate as the time scale.
- Default movie time scale remains to be 1000.
- The default time scale values will be overwritten by a user-supplied value if exits.

Change-Id: I81b40ed0626ea45e9fd24a89e21a2c5a4a2c3415
tagefrightRecorder.cpp
2dac90da3ea5120b52844a6ee38c300301de5756 12-Aug-2010 James Dong <jdong@google.com> am 0386d04b: am 581581fe: Merge "Fix all fd leaks in authoring engine" into gingerbread

Merge commit '0386d04b19619b03b6bce830010e11d31d3f8a5c'

* commit '0386d04b19619b03b6bce830010e11d31d3f8a5c':
Fix all fd leaks in authoring engine
25d83125cee222993673d3ba261ae1186bcad8c2 12-Aug-2010 James Dong <jdong@google.com> Fix all fd leaks in authoring engine

Change-Id: I17798543f9dd41cc8bef6f6086e66932f9f97be8
tagefrightRecorder.cpp
ca2fa61ef03cac008ea86e6fe16b2e5f9f1a2be3 04-Aug-2010 Nipun Kwatra <nkwatra@google.com> When using still camera for time lapse capture, don't set preview.

Since HD resolution may not be supported by the video camera,
don't set preivew using the HD size. The app should have set the
preview already, just use that.

Change-Id: I2f8e89bf2c7440f7bc8db7e4a228f4c8250d92b4
tagefrightRecorder.cpp
982a93173bc84f005172152d823cbb59dfcbeb12 05-Aug-2010 Andreas Huber <andih@google.com> am 1f513d88: am c17f35dd: Merge "Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation." into gingerbread

Merge commit '1f513d8821670a33d6361ea521b6756163a3f9bf'

* commit '1f513d8821670a33d6361ea521b6756163a3f9bf':
Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.
39ddf8e0f18766f7ba1e3246b774aa6ebd93eea8 04-Aug-2010 Andreas Huber <andih@google.com> Support for Gtalk video, includes AMR/H.263 assembler and packetization support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation.

Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
ndroid.mk
tagefrightRecorder.cpp
tagefrightRecorder.h
e41f9ba4869a96f004c731d8d17939ae607143b9 04-Aug-2010 James Dong <jdong@google.com> am d152c1c7: am d194f3d6: Merge "Replace CHECK with a failure return value when mCamera->setParameters() fails if the camera is locked by someone else." into gingerbread

Merge commit 'd152c1c7534a80b84f6b389efa8a410ea359b3eb'

* commit 'd152c1c7534a80b84f6b389efa8a410ea359b3eb':
Replace CHECK with a failure return value when mCamera->setParameters() fails
48f6ce0e17297c575dcbb25671a7bee80ba13061 04-Aug-2010 James Dong <jdong@google.com> Replace CHECK with a failure return value when mCamera->setParameters() fails
if the camera is locked by someone else.

bug - 2827892

Change-Id: I217d4a00f04ebd57b557d3faef28787c14f23ea0
tagefrightRecorder.cpp
f95ce6452d87316b8f5df6692537bd039377f349 02-Aug-2010 Nipun Kwatra <nkwatra@google.com> Allowing useStillCameraForTimeLapse to be set through MediaRecorder.java

This will allow apps to make the decision of whether to use still image mode or
video mode for time lapse capture.

- setTimeLapseParameters now takes in a useStillCameraForTimeLapse parameter.
- Added support in StagefrightRecorder for passing through this parameter.

Change-Id: Iafbcb76f9a7903118ea5eb822c81008619630f03
tagefrightRecorder.cpp
tagefrightRecorder.h
30e3eb619f02cf36e6d1d31be528d6be552bb3e2 30-Jul-2010 James Dong <jdong@google.com> am e915b0ef: am d973a533: Merge "Lower the lower bound for max file duration check" into gingerbread

Merge commit 'e915b0ef5d574022dfeffc9b2b61e21c1433c89c'

* commit 'e915b0ef5d574022dfeffc9b2b61e21c1433c89c':
Lower the lower bound for max file duration check
489d78dcde35ef7ecaed5fac5b777fabfcd0525b 30-Jul-2010 James Dong <jdong@google.com> Merge "Lower the lower bound for max file duration check" into gingerbread
e4fc55de48241c5fb4c4b9d652fd2d4cd0b71138 30-Jul-2010 James Dong <jdong@google.com> Lower the lower bound for max file duration check

- This fixed a CTS test where 200 ms is being used

Change-Id: Ib598b7b94be54e98a96703c58c5f244bc379cf7d
tagefrightRecorder.cpp
9da2070b6d6d20550de7da61478c325f0928d020 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 27eecb70 to gingerbread

Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
bc286dce1af6670824fba4167e0750b631168d72 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> am 0c51c98f: am 4506c62a: fix inaccurate copyrights

Merge commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf'

* commit '0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf':
fix inaccurate copyrights
0319aaecb03aa83924ab4e3d9c9bc657c2e8bc06 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> am 4506c62a: fix inaccurate copyrights

Merge commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625' into gingerbread-plus-aosp

* commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625':
fix inaccurate copyrights
68335fdd6e9c1d622384612605d6952503cb7fd0 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> fix inaccurate copyrights

Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
ediaRecorderClient.cpp
ediaRecorderClient.h
01cff464978aa0f749f42650180b45ea56cb17de 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> fix inaccurate copyrights

Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
ediaRecorderClient.cpp
ediaRecorderClient.h
3722abe1a6ae53034b9dee6b12e8513804622fd5 28-Jul-2010 James Dong <jdong@google.com> am cb51115c: am 5587bb7e: Merge "Interleave the audio and video by default - default interleave duration is set to 1 second" into gingerbread

Merge commit 'cb51115cca81ba47d00aa344f6ed16d1056b056b'

* commit 'cb51115cca81ba47d00aa344f6ed16d1056b056b':
Interleave the audio and video by default
f01528f435e6b1f02d118fcd8305a148c27a89f1 28-Jul-2010 James Dong <jdong@google.com> Interleave the audio and video by default
- default interleave duration is set to 1 second

This can dramatically reduce the memory usage
by the MP4 file writer.

Change-Id: Ia3ff202cabfcd2d3f183065d31e4596617c2dded
tagefrightRecorder.cpp
e4e0a6994d39c4a7cba09c5fff442b2dca1df8f8 21-Jul-2010 Nipun Kwatra <nkwatra@google.com> Allowing setting of time lapse parameters through MediaRecorder.java

added setTimeLapseParameters() to MediaRecorder.java and SetParameter support
in StagefrightRecorder to allow enabling time lapse and setting the corresponding
parameters.

Change-Id: I509040aa71f8d3fc37337b0894a81d9c0fd7a40a
tagefrightRecorder.cpp
tagefrightRecorder.h
71ff94cb52874e42dede3c6bc4b86757b72cf0b1 21-Jul-2010 Eric Laurent <elaurent@google.com> am 34161132: am 7070b365: Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Merge commit '34161132030254bac7dd64c9713832e2f961a061'

* commit '34161132030254bac7dd64c9713832e2f961a061':
Added support for auxiliary audio effects to AudioTrack and MediaPlayer.
2beeb50b1bba9e92f6cacfeca37fe9fa9d36ead1 16-Jul-2010 Eric Laurent <elaurent@google.com> Added support for auxiliary audio effects to AudioTrack and MediaPlayer.

Added methods to AudioTrack and MediaPlayer java classes to enable use of
auxiliary audio effects. The effect can be attached and detached by specifying its
ID and the send level controlled.

Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
ediaPlayerService.cpp
ediaPlayerService.h
932e0a11d74d5e236ccef9ee314442385c3d4e9d 21-Jul-2010 James Dong <jdong@google.com> am 9049fe60: am d7514ec6: Merge "Progress status notification" into gingerbread

Merge commit '9049fe60c20640bd606741c8f45f3f781a1684f5'

* commit '9049fe60c20640bd606741c8f45f3f781a1684f5':
Progress status notification
7a42770f47225483a885b168d05e81b6a81189c0 20-Jul-2010 Nipun Kwatra <nkwatra@google.com> Use software encoder for time lapse capture.

Change-Id: I7f60eb1af95590c84b0cd98134f5a5a8963338dd
tagefrightRecorder.cpp
faed5cd124a54b8db3429f4c26b3220bbec4c8bb 16-Jul-2010 James Dong <jdong@google.com> Progress status notification

- Keep track of per-track progress

Change-Id: Ibd36f0e8c78581928c8aa2f5e23c5e7e0615c2cc
tagefrightRecorder.cpp
tagefrightRecorder.h
65e7e6facda89927cb26594b3b65ae81b3235ebc 12-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding support for timelapse capture using still camera's takepicture.
Also moving entire implementation into a new class CameraSourceTimeLapse
which inherits from CameraSource.

For timelapse capture using still camera, we start a thread which runs a
loop in which it calls Camera::takePicture() and then sleeps until the next
frame should be captured.
The function dataCallback() handles the callback from the camera with the
raw image data. This function copies the data and creates an artificial
timestamp corresponding to one frame time ahead of the last encoded frame's
time stamp. It then calls dataCallbackTimestamp() of the base class which
will think that it recieved the frame from a video camera and proceed as usual.

For moving the implementation to the subclass CameraSourceTimeLapse, added a
few virtual functions to CameraSource, which do the current thing for the base
class, but specialized things for CameraSourceTimeLapse.
E.g. startCameraRecording() in the base class just calls mCamera->startRecording(),
while in CameraSourceTimeLapse it may start a thread for the still camera case.

Change-Id: Ib787f24bd2e1f41681513f0257e1c4ca10a2b4de
tagefrightRecorder.cpp
cbcc684555a8774b21ba04c09b2f5cee8c88453a 15-Jul-2010 James Dong <jdong@google.com> am b068b47c: am d6a85a21: Merge "Support user-supplied timescales for authoring" into gingerbread

Merge commit 'b068b47c6d0214256116a0c661740bddf7acc18c'

* commit 'b068b47c6d0214256116a0c661740bddf7acc18c':
Support user-supplied timescales for authoring
8f5f2fcee5c12d08df71d17017410c50951fc2e3 02-Jul-2010 James Dong <jdong@google.com> Support user-supplied timescales for authoring

- also, change all the real time unit to microseconds in MPEG4Writer

Change-Id: I260f512f2eb670ade7b8858a56335a5d639de756
tagefrightRecorder.cpp
tagefrightRecorder.h
f6266bb1912255e92e590fcb6aedb719898545da 13-Jul-2010 James Dong <jdong@google.com> am f6bdc764: am 9d8bea11: Merge "Initial checkin for software AVC encoder" into gingerbread

Merge commit 'f6bdc764b7a21f8037504e1dc4f81227ea2bedea'

* commit 'f6bdc764b7a21f8037504e1dc4f81227ea2bedea':
Initial checkin for software AVC encoder
29a84457aed4c45bc900998b5e11c03023264208 03-Jul-2010 James Dong <jdong@google.com> Initial checkin for software AVC encoder

- Since the software encoder assumes the input is YUV420 planar,
color conversion needs to be added when the input color format
does not meet the requirement. With this patch, I only added
a single color conversion from YUV420 semi planar to YUV420
planar. We can add more as we go.

Change-Id: If8640c9e5a4f73d385ae9bb2022e57f7f62b91b9
tagefrightRecorder.cpp
004a77836d1963847acd20ea684e2ffe48aa3f19 09-Jul-2010 James Dong <jdong@google.com> am 4f440632: am 929642ee: Add runtime dumpsys support for media recorder client

Merge commit '4f4406322dafd6e128b437edbc541327f0b38d04'

* commit '4f4406322dafd6e128b437edbc541327f0b38d04':
Add runtime dumpsys support for media recorder client
b914122eb9cb54bbeae4ec03bfebb194aecdccbd 08-Jul-2010 James Dong <jdong@google.com> Add runtime dumpsys support for media recorder client

Change-Id: I4c8a81720f3be2db54678a7e84fe12849255046b
ediaPlayerService.cpp
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
6506bd2be256cdebc69324714c5b26c767981046 08-Jul-2010 Eric Laurent <elaurent@google.com> am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread

Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
Added Visualizer effect.
6c5c25fae5aa68a52c6fa75649dd559a9ca98932 08-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Added Visualizer effect." into gingerbread
bf21177ccede8f01c0da0bd53392a289a5a84462 08-Jul-2010 James Dong <jdong@google.com> am b3598832: am c4243342: Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread

Merge commit 'b35988329ac1a574898db9226039e37e352c57a8'

* commit 'b35988329ac1a574898db9226039e37e352c57a8':
Allow application to set two more encoding paramters: video profile and level
145bfe5eb3e08c9689c28f6bf3287a979438b04b 02-Jul-2010 James Dong <jdong@google.com> Allow application to set two more encoding paramters: video profile and level

Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
tagefrightRecorder.cpp
tagefrightRecorder.h
da7581b7b61b84f15e8d671c86fd117c322b009e 02-Jul-2010 Eric Laurent <elaurent@google.com> Added Visualizer effect.

The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
- the enable()/disable() methods have been replaced bya more standard setEnabled() method.
- some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
ediaPlayerService.cpp
ediaPlayerService.h
fc20aab463f527ab3b0664986f0381a86b375884 01-Jul-2010 Nipun Kwatra <nkwatra@google.com> Adding timelapse capture from videocamera.

Current implementation looks at the timestamps of all incoming frames in
CameraSource::dataCallbackTimestamp().
It drops all frames until enough time has elapsed to get the next time lapse frame.
When enough time has passed to capture the next time lapse frame, the frame is no longer dropped
and the timestamp of this frame is modified to be one frame time (1/framerate) ahead of the
last encoded frame's time stamp.

Change-Id: I82b9d5e96113dffa6901aac3b8a8ef999ffc1d0b
tagefrightRecorder.cpp
tagefrightRecorder.h
934da11c4cc598d3dd3b53726c362bcdcc0fd37f 30-Jun-2010 James Dong <jdong@google.com> Refactor Stagefright::StartMPEG4Recording()

- Also, better error handling

Change-Id: Ic18d08dc6489adf92c6a588efa4baca66429b175
tagefrightRecorder.cpp
tagefrightRecorder.h
d329e21495eda9dbc531fdd0c26c77f1593ac3f4 30-Jun-2010 James Dong <jdong@google.com> Added encoding parameters set up for H263 video encoder

Also:
- Allowed start() call when encoder already starts and stop() call when encoder has not started yet
- Handled default value for audio/video sources/encoders and file output format

Change-Id: I03b2f7d3cf570baa0fd011a8c0ad200f2f2a5da1
tagefrightRecorder.cpp
37047fceba836f341d0108beed0991b0f8dfc543 26-Jun-2010 James Dong <jdong@google.com> Separate MediaRecorderClient with MediaPlayerClient

- An alternative would be to define a common base class that
both MediaRecorderClient and MediaPlayerClient can derive.
But since the common code, onTransact() and notify() uses
some Binder code, having a common base class may not gain
us too much in terms of code reuse.

Change-Id: Ibc06720278ad173fceacff3d267b7060856c6316
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
93d6b102a13afa23bfa80d74c399d93d542e6ad6 25-Jun-2010 James Dong <jdong@google.com> Provide progress status report during authoring

- Track either the number of A/V frames authored, or the time elapsed
- Track the completion of the authoring
- Add multiple camera support for authoring by accepting a camera id parameter
- Set file type based on the OUTPUT_FORMAT requested

Change-Id: I0f9d31b3b7a8fa43eb53f572410fb0ebd4fa0bb7
tagefrightRecorder.cpp
tagefrightRecorder.h
2dec2b5be2056c6d9428897dc672185872d30d17 20-Jun-2010 James Dong <jdong@google.com> Enable passing parameters to the MediaWriter at runtime (at start() call).

- estimate the moov box size for mp4 file writer based on the file
size/duration limit and target bit rate.
- can switch to use 64 bit file offset at runtime

rebased

Change-Id: Ibbe1f57e91ab2605820d5d96e8048d11e5559c53
tagefrightRecorder.cpp
tagefrightRecorder.h
d3d4e5069e1af0437c4f5a7b4ba344bda5b937af 25-Jun-2010 James Dong <jdong@google.com> Track maximum amplitude and fix getMaxAmplitude()

- only start to track the max amplitude after the first call to getMaxAmplitude()

Change-Id: I64d3d9ca0542202a8535a211425e8bccceca50fc
tagefrightRecorder.cpp
tagefrightRecorder.h
608d77b1cf4fb9f63dc861e4e1fa3e80a732f626 24-Jun-2010 Andreas Huber <andih@google.com> Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.

Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
ndroid.mk
ediaPlayerService.cpp
ediaRecorderClient.cpp
etadataRetrieverClient.cpp
orbisMetadataRetriever.cpp
orbisMetadataRetriever.h
orbisPlayer.cpp
orbisPlayer.h
a514bdb58b5de4986679f72b7204b4764f7a2778 21-Jun-2010 Eric Laurent <elaurent@google.com> Added support for audio sessions in MediaPlayer and AudioTrack.

Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
ediaPlayerService.cpp
ediaPlayerService.h
99c2a076b4a46762a22bbb4dfbd51d107e0532d9 17-Jun-2010 James Dong <jdong@google.com> Check and clip some video encoding parameters against media profiles before passing them to video encoder

Change-Id: I69e0e7411806a4ece6c0bf0e02c74eaaf48a17ac
tagefrightRecorder.cpp
tagefrightRecorder.h
be6ec71af2d12e2a55f2f0b1b77d3fa5d593a1c7 15-Jun-2010 James Dong <jdong@google.com> Remove hard-coded number of audio channels in AudioSource

Change-Id: I5f362252c25e2251bbfa9818b711ee23b4975248
tagefrightRecorder.cpp
a7d1a2dd776bf356c228785a94ba8e0ff6a2ec7f 10-Jun-2010 James Dong <jdong@google.com> Initial checkin for pause and resume control

Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
tagefrightRecorder.cpp
tagefrightRecorder.h
9d7f58a7da8502a4174a17ac49fcba6efa35a457 10-Jun-2010 James Dong <jdong@google.com> Remove the lock/unlock workaround from CameraService

bug - 2677772

Change-Id: I7c996daad8b3bfc89e9fa2d655dc18c9a5c68f2f
tagefrightRecorder.cpp
ddcc4a66d848deef6fb4689e64e30cd9bd2684fe 08-Jun-2010 James Dong <jdong@google.com> Remove some hard-coded encoding parameters

Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
tagefrightRecorder.cpp
tagefrightRecorder.h
cf7b9c7aae758ac0b99833915053c63c2ac46e09 08-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of preliminary rtsp support for stagefright.

Change-Id: I0722aa888098c0c1361c97a4c1b123d910afc207
ediaPlayerService.cpp
e136c3bb38e88315bf8797a464ebf2c788296b22 21-May-2010 James Dong <jdong@google.com> Properly handle start code in H264/AVC encoder output

- Some H264/AVC encoder output start code in each output buffer, and others don't.
This patch always strips the start code first so that the sample contains the correct size.
- Also properly initialize the interleave duration.

Change-Id: I692043ce7e38f0215e1097aad9e847a57907b6e4
tagefrightRecorder.cpp
7405500bb3b5f8e8e739e344bc9d036c2736fcdf 20-May-2010 James Dong <jdong@google.com> Workaround for preview frame rate setting and encoder profile and level settings on passion
1. QCOM camera HAL does not honor the preview frame rate set request. see bug - 2701282
2. QCOM video encoder has lots of 0-length output buffers if the default level setting is changed. see bug - 2660974

Change-Id: Id01d94bb77dc242c4712d56a91b0d69a96ba6c2f
tagefrightRecorder.cpp
f0ce2fb0c7bf3a414279e5aba61105f3d9025c0e 14-May-2010 James Dong <jdong@google.com> Detect and handle premature termination of a recording session

Change-Id: Ifb83b19f3e68580345b23efed5d5956fb81baeb8
tagefrightRecorder.cpp
d599cd4573b5a2d5914c5040e0565ef866749b77 11-May-2010 James Dong <jdong@google.com> Handle recording file size and/or duration limit

Change-Id: Ib9ed1f3ebd8fef550cc130a7ef11f2905fa9aedc
tagefrightRecorder.cpp
2e90514be4c98b5fa6e1df5f2049a5e005a4263d 14-May-2010 The Android Open Source Project <initial-contribution@android.com> am 1d628c5d: merge from open-source master

Merge commit '1d628c5d3dd7998b29c339292a2dc391015d0782' into kraken

* commit '1d628c5d3dd7998b29c339292a2dc391015d0782':
Accept media files by file extension in case insensitive manner.
4ac3585263ad59def5cf14756347cecab43e6e67 14-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I934cf85c4673f9ca3a9549c2074907ad572310f4
65ae665befd929efd1a7d1c9addac41c699f04b2 13-May-2010 James Dong <jdong@google.com> Remove dummy surface in CameraSource

bug - 2680919

Change-Id: Ia0308cf57fd67058b4dd0e042b3ce97f13df475f
tagefrightRecorder.cpp
ef9d0cd72e476a4b7556833fb09505a51b626797 11-May-2010 James Dong <jdong@google.com> Added initial validation on video/audio encoding parameters before/at start()

Change-Id: I1a40dd247202f70e3e5429d74533d349b88f1d54
tagefrightRecorder.cpp
tagefrightRecorder.h
d8a30349da270715156d3f658b165481ce10cf71 06-May-2010 Andreas Huber <andih@google.com> am 71bd9fc8: am 100ef9be: Merge "Disable vorbis seek when streaming from localhost." into froyo

Merge commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c' into kraken

* commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c':
Disable vorbis seek when streaming from localhost.
acdd9d0f59c3d8bdc3de80664a609527ec3d21e2 06-May-2010 Andreas Huber <andih@google.com> Disable vorbis seek when streaming from localhost.

Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f
related-to-bug: 2654400
tagefrightPlayer.cpp
tagefrightPlayer.h
13aec890216948b0c364f8f92792129d0335f506 22-Apr-2010 James Dong <jdong@google.com> Support audio and video track interleaving in the recorded mp4 file

Change-Id: Ifa27eb23ee265f84fe06773b29b0eb2b0b075b60
tagefrightRecorder.cpp
tagefrightRecorder.h
aa9ca29395eebfcfa64e070dc71009b99131769f 04-May-2010 James Dong <jdong@google.com> Merge "Support AAC recording" into kraken
3830a4f133893e6a77a967c84220d7baf9687f23 04-May-2010 Andreas Huber <andih@google.com> am 8ea45aad: am e083d0a2: Merge "Support for Ogg Vorbis decoding in stagefright." into froyo

Merge commit '8ea45aad100ee25067b2e83703454c71a968ba4f' into kraken

* commit '8ea45aad100ee25067b2e83703454c71a968ba4f':
Support for Ogg Vorbis decoding in stagefright.
3cf4e43cdd391502690c07e08e805aa8ff5db0c0 04-May-2010 Andreas Huber <andih@google.com> Support for Ogg Vorbis decoding in stagefright.

Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright.

Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8
related-to-bug: 2654400
ediaPlayerService.cpp
050b28a593350047845a45a14cc5026221ac1620 23-Apr-2010 James Dong <jdong@google.com> Support AAC recording

- Extend the audio recording to AAC format
- Add support for setting some recording parameters
- Add stss box to the meta data in the recorded file

Change-Id: I41167bfd9d70ef9cd33906f8437b39c232b6d3b7
tagefrightRecorder.cpp
tagefrightRecorder.h
c32cd79d9ad4aba7d959b5b3be7361b4715e6f18 27-Apr-2010 James Dong <jdong@google.com> Use timestamp from camera driver for CameraSource

Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
ndroid.mk
tagefrightRecorder.cpp
tagefrightRecorder.h
4acdadbd8195f4fb21ff4cb72f09f088097ddf3b 14-Apr-2010 James Dong <jdong@google.com> am 6852b198: am d3d445b1: Merge "Use PV_PLAYER to handle RTSP streaming" into froyo

Merge commit '6852b198fbedd9378ed79ca6528a4d6f33b0b677' into kraken

* commit '6852b198fbedd9378ed79ca6528a4d6f33b0b677':
Use PV_PLAYER to handle RTSP streaming
27fde958c8e8e6a998ec7a28d32b0aad97662dee 14-Apr-2010 James Dong <jdong@google.com> Use PV_PLAYER to handle RTSP streaming

bug - 2594865

Change-Id: Ice5b89b1d53bbc4da033892fe545bdf51ac7267f
ediaPlayerService.cpp
fe774a9c3ffe12979e182563b0e922ffc0ad20ef 05-Apr-2010 Andreas Huber <andih@google.com> Remove legacy NO_OPENCORE code bypass from MediaPlayerService.

Change-Id: I72db73c91673e0d7f1090e3b033ae915337dc16e
ediaPlayerService.cpp
fc1c7b940c84793ad262a345af117c482a86acec 19-Mar-2010 Atsushi Eno <atsushieno+android@gmail.com> Accept media files by file extension in case insensitive manner.

Change-Id: I8e246010c96802ae87960797607fc8f8f2ab6031
ediaPlayerService.cpp
fe4c6f01646de47d41bbe3aa6d17c6a0daa2b730 02-Mar-2010 Dave Sparks <davidsparks@android.com> Fix build. I screwed up a merge.
ediaPlayerService.cpp
4bbc0ba371c52951191eff1cba7c1ea5d27ee976 02-Mar-2010 Dave Sparks <davidsparks@android.com> Add locking to signal in AudioCache::notify(). Bug 2317844.
ediaPlayerService.cpp
1edee16200cb377b7862b30aa5c387d9686023db 25-Feb-2010 James Dong <jdong@google.com> Add some space and total memory amount to the memory dump from the media server process.
ediaPlayerService.cpp
2e8ffaf95bd35358ecd14ddf00cddaf3abefe0a9 19-Feb-2010 Andreas Huber <andih@google.com> Implement legacy behaviour for MediaPlayer's behaviour of starting from the start of the media on a start() call instead of resuming at the current position, if previously reached the end of the stream. Also properly report number of frames played to audio flinger. Finally, delay spawing the queue thread until actually used.

related-to-bug: 2453220
ediaPlayerService.cpp
3cf7054398a9c0f2f15ce1cd189ed88de42e5ec3 13-Feb-2010 Gloria Wang <gwang@google.com> Merge "Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression)"
b56e992476d1bbeb4021d256852dbe02fc1064f8 13-Feb-2010 Gloria Wang <gwang@google.com> Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression)
ndroid.mk
4e92c7efc68b5d7635a32dbd283ab8558ad9bdd6 12-Feb-2010 Andreas Huber <andih@google.com> New API on java's MediaPlayer to suspend/resume a session.

related-to-bug: 2231576
ediaPlayerService.cpp
ediaPlayerService.h
tagefrightPlayer.cpp
tagefrightPlayer.h
3cf613507f1e2f7bd932d921a6e222e426fd3be4 10-Feb-2010 Mathias Agopian <mathias@google.com> split libsurfaceflinger_client and libcamera_client out of libui
ndroid.mk
ediaPlayerService.h
tagefrightRecorder.cpp
b45c62c8e9b05c2703bdae18cc298ae55550db8a 11-Feb-2010 Andreas Huber <andih@google.com> Fixing AMR recording code.
tagefrightRecorder.cpp
7d5b8a70c28c0d5746a600467b2887822dbff88e 10-Feb-2010 Andreas Huber <andih@google.com> Implementation of stagefright-enabled MediaPlayerService::decode functionality

related-to-bug: 2359268
ediaPlayerService.cpp
ediaPlayerService.h
2dd73b65542c9eeb82bb567098f235349d18b06f 09-Feb-2010 Andreas Huber <andih@google.com> Merge "Properly implement asynchronous preparation of media playback."
c23f12af0394aa2f6651968a3c8840f1af317aa1 08-Feb-2010 Andreas Huber <andih@google.com> Properly implement asynchronous preparation of media playback.

related-to-bug: 2413002
tagefrightPlayer.cpp
9636054b52f0de54e42b669805883c71a5196d42 08-Feb-2010 Gloria Wang <gwang@google.com> Use Tremor for sim-eng, and Tremolo for other targets.
ndroid.mk
7ebf475799f6ae1ec8c67983fc1028c487af4c2e 06-Feb-2010 Gloria Wang <gwang@google.com> Revert "Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression)"

This reverts commit 2f46c062b05254671aec96a98b431f91ae7b270c.
ndroid.mk
9944aaea3a4f0e7a68b448e666b025b458ecc595 04-Feb-2010 Gloria Wang <gwang@google.com> Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression)
ndroid.mk
6b3359d4669f539c173bfc40809deb8ffde3dd0c 30-Jan-2010 Mathias Agopian <mathias@google.com> Don't use MemoryDealer in MetadataRetrieverClient as it's not necessary.

Use a MemoryHeapBase directly instead.
etadataRetrieverClient.cpp
etadataRetrieverClient.h
867d2f6ce668968e463eb86b856d21525f12fd67 26-Jan-2010 Mathias Agopian <mathias@google.com> Simplify the MemoryDealer implementation

At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.

Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.

Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)

Removed a lot of unneeded code.
etadataRetrieverClient.cpp
5561ccf4a8db88a2e44eac1b3ed13b4ff53a7f20 28-Jan-2010 Andreas Huber <andih@google.com> Support the specification of additional HTTP headers in the creation of a DataSource.

related-to-bug: 2393577
tagefrightPlayer.cpp
2db8455d8f4468a637109d31f319ce02d9d743ec 28-Jan-2010 Andreas Huber <andih@google.com> API Extension: Support for optionally specifying a map of extra request headers when specifying the uri of media data to be played.

related-to-bug: 2393577

Original change by Andrei Popescu <andreip@google.com>
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.cpp
idiFile.h
idiMetadataRetriever.cpp
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.cpp
estPlayerStub.h
orbisMetadataRetriever.cpp
orbisPlayer.cpp
orbisPlayer.h
342e9cf388cceb807def720e40e8b0a217f4bcaa 20-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync

Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames
written by AudioFlinger to audio HAL and by DSP to DAC.

Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames
written by DSP to DAC.

Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player.

Removed excessive log in AudioHardwareGeneric.
ediaPlayerService.cpp
ediaPlayerService.h
2dce41ad26cb3e9e15c9e456a84bcf5309548ca0 26-Jan-2010 Andreas Huber <andih@google.com> Support for audio recording into AMR NB/WB files as well as audio tracks in MPEG4 files.

related-to-bug: 2295449
tagefrightRecorder.cpp
tagefrightRecorder.h
b49676a55e7dce9710e1a10749a26997513c5ceb 21-Jan-2010 Andreas Huber <andih@google.com> Special-case .wmv and .wma metadata retrieval and playback to use PV if available.

related-to-bug: 2381874
ediaPlayerService.cpp
7ee8ac94bb1a724a481a7cddf10ce63d35df6296 12-Jan-2010 Marco Nelissen <marcone@google.com> b/2353646
Fix music visualizations to also work with audiotrack callbacks, which
stagefright uses. This slightly changes the way the data is stored,
since before we were relying on the buffers being written always
being at least 4K, whereas the callbacks are generally for smaller
amounts of data. Now we append all the data to a big circular buffer,
then return chunks of that buffer for visualization. When there are
multiple things playing at the same time, this will give the wrong
result, but (1) that was the case before as well, and (2) will be
fixed once we start visualizing the mixer output instead of the
mixer inputs.
ediaPlayerService.cpp
ediaPlayerService.h
67e5a4f6f6879d512a859e5dba92e9beec7a2f91 08-Jan-2010 Andreas Huber <andih@google.com> Reorganize some of the stagefright implementation related to metadata.
ndroid.mk
tagefrightMetadataRetriever.cpp
tagefrightMetadataRetriever.h
f1350fdb125e1069f867ba13190c5c8e7b64e9b8 05-Jan-2010 Andreas Huber <andih@google.com> Use stagefright for http streaming if the right property is set.
ediaPlayerService.cpp
065c05e72091567632f927d9e5411e277480c1bf 05-Jan-2010 Andreas Huber <andih@google.com> Make metadata support through stagefright property dependent until it's ready.
etadataRetrieverClient.cpp
47945ea184f62def4c5a1dd15164cfa3fd286882 17-Dec-2009 Andreas Huber <andih@google.com> Disable HTTP playback and metadata support in stagefright, use PV instead.
ediaPlayerService.cpp
etadataRetrieverClient.cpp
733b7729ea462fae9c6899456444e28fef1c757c 14-Dec-2009 Andreas Huber <andih@google.com> AwesomePlayer now renders either remote (IOMXRenderer) or locally depending on what kind of decoder was instantiated. Split off color conversion code into its own shared library.
ndroid.mk
0a2b8e6424d1b027fb188ba0bd290fedff34b0f5 11-Dec-2009 Dave Sparks <davidsparks@android.com> am 14f89404: Fix media player decode function. Bug 2317821.

Merge commit '14f8940472217e8b0164d8f213679710d623d528' into eclair-mr2

* commit '14f8940472217e8b0164d8f213679710d623d528':
Fix media player decode function. Bug 2317821.
8eb8011120a68a86199b9960cf1ae91a6ddc7e6d 10-Dec-2009 Dave Sparks <davidsparks@android.com> Fix media player decode function. Bug 2317821.

There was a recent change to OpenCORE that broke the MediaPlayer::decode()
function for all OpenCORE supported formats (MP3, AAC, and AMR-NB/WB). The
affect is that SoundPool is unreliable for all of these formats. This patch
changes the logic in the AudioCache object that processes messages from the
media player. The old logic was fragile. This change should make it more
robust against changes.
ediaPlayerService.cpp
413f523afe96aff02d2b0a7459127b8f67b2b43c 03-Dec-2009 Andreas Huber <andih@google.com> Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
ndroid.mk
ediaRecorderClient.cpp
1d711f67ffb3ea73aca155537e0f21b444251158 03-Dec-2009 Dave Sparks <davidsparks@android.com> Remove old hack A/V sync hack that is no longer needed.
ediaPlayerService.cpp
ediaPlayerService.h
827f3004421aacb6bceaf772ac825d4f2d3006e4 24-Nov-2009 Dave Sparks <davidsparks@android.com> am 8424ec32: Merge change I0f9a53d4 into eclair

Merge commit '8424ec323b2bc38887370c75e2c1fcd84bcdb013' into eclair-mr2

* commit '8424ec323b2bc38887370c75e2c1fcd84bcdb013':
Set metadata retriever thread group to the caller's group.
ec4dde75955f87e5afea3f59ef991130257f3f3a 24-Nov-2009 Dave Sparks <davidsparks@android.com> Set metadata retriever thread group to the caller's group.

This patch modifies the native binder interface to the metadata
retriever to pass the caller's thread group across the binder
interface. On the server side, the thread scheduler group is
set to the caller's scheduler group temporarily and restored
after the request has completed. This patch also reverts a
previous patch where the priority of the thread was forced to
a low priority foreground thread.

This should give apps more control over the priority of their
metadata retrieval, particularly allow background process to
run without hogging the CPU.
etadataRetrieverClient.cpp
etadataRetrieverClient.h
bfa6b2d7a1be1832ac40ed90aece1834f720b5c6 20-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 1efc38dc3c33fef57b759002db3965ed07a28cb0
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 19 14:36:14 2009 -0800

Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed.

Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed.

commit 51973062eb5ee63fd64b845d72bac517cc3369cf
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 14:01:43 2009 -0800

Fix one more unit test, properly send seek-complete notification only after seek actually completed.

commit cb22250b34b1fcfe1bf459723a761fd003950229
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:31:36 2009 -0800

Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails.

commit 25eb9241138ddf7bb27ce90657116c5f8a94d880
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 12:30:40 2009 -0800

Support seeking and duration in AMRExtractor, assuming all frames are the same size.

commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 10:21:44 2009 -0800

MediaPlayerImpl is dead, long live AwesomePlayer.

commit c5b52d3c0674f5dc94db506afbce52401cceddac
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 18 09:42:23 2009 -0800

New implementation of the stagefright mediaplayer.
tagefrightMetadataRetriever.cpp
tagefrightPlayer.cpp
tagefrightPlayer.h
30ab66297501757d745b9ae10da61adcd891f497 17-Nov-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 333057b355f8c260c549553b9a0634755c838b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 13 15:35:48 2009 -0800

Some more tweaks to AVC encoding on sholes.

commit 9981d0ee52ec5b8b0182aae733d1571e3ebb8390
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 12 16:36:57 2009 -0800

Support for avc encoding, including sholes specific tweaks to pick the right colorspace for the camera to not require transcoding.

commit 5ba0ebbbd4efca51f3ae1f60e2ca31e7d2cf136d
Author: Andreas Huber <andih@google.com>
Date: Wed Nov 11 09:50:03 2009 -0800

Enable actual (camera) video-only recording using h.263 or mpeg4 encoding.

commit 3fd59c3526a37fe7c696f4a978925d1831c09313
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 10 14:57:48 2009 -0800

Allow switching between the PV recorder implementation and one supported by stagefright.

This is controlled through the property "media.stagefright.enable-record".
ndroid.mk
ediaRecorderClient.cpp
ediaRecorderClient.h
tagefrightRecorder.cpp
tagefrightRecorder.h
7eb443df575d8002d045bec28cdcde23c8137a2c 10-Nov-2009 Andreas Huber <andih@google.com> am cfe45c77: Merge change I96c4d4b3 into eclair

Merge commit 'cfe45c775ddb5e48bf556aee7422298260eb4fd8' into eclair-mr2

* commit 'cfe45c775ddb5e48bf556aee7422298260eb4fd8':
Fix for random audio output failures, properly dup() the file descriptor in IMediaPlayer::setDataSource to assume ownership as the caller will otherwise close it.
a75e9fb4876139fff4bb836fb0ebd5f80c8b20b3 10-Nov-2009 Andreas Huber <andih@google.com> Fix for random audio output failures, properly dup() the file descriptor in IMediaPlayer::setDataSource to assume ownership as the caller will otherwise close it.
tagefrightPlayer.cpp
5b65c7043dada0c89d3a941742666ac40ea35746 05-Nov-2009 Andreas Huber <andih@google.com> DO NOT MERGE: Squashed commit of the following:

commit 08259dd3dc9026887f9bbfedaf45866eb56ea9bc
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 12:02:31 2009 -0800

DO NOT MERGE: Use PV for metadata extraction even if stagefright is used for playback.

commit 991832fe4dc012e51d3d9ed8d647c7f09991858f
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:24:11 2009 -0800

DO NOT MERGE: Do not assert if we encounter OMX_StateInvalid. All bets are off though.

commit cec45cf302d9218fe79956cbe8a462d7ca3a10bb
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 16:11:54 2009 -0700

DO NOT MERGE: When freeing an OMX node, attempt to transition it from its current state all the way to "Loaded" in order to properly free any allocated buffers.

commit 34a1e885ef9113d68acbc26d36fcc47fdebbed84
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:10:49 2009 -0800

DO NOT MERGE: Fix heap corruptin in OMXNodeInstance.

commit 5a47f7439a1298b330541a7e4e647a8b44487388
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:08:19 2009 -0800

DO NOT MERGE: Fix seek-on-initial-read behaviour of OMXCodec.

commit 45bed64722501b9f411a2940aff5aff4cc4d2e98
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 5 11:02:23 2009 -0800

DO NOT MERGE: Renaming string.h to stagefright_string.h to avoid conflicts.

commit 6738e306a50196f31a73d4fc7b7c45faff639903
Author: Andreas Huber <andih@google.com>
Date: Thu Oct 15 13:46:54 2009 -0700

DO NOT MERGE: Reimplement the OMX backend for stagefright.

Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

Changed APIs to conform to the rest of the system.
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
etadataRetrieverClient.cpp
076667f9624516f9c65d5d4d7571ef5522237229 02-Nov-2009 Marco Nelissen <marcone@google.com> am 1d9246e8: Merge change Id095e180 into eclair

Merge commit '1d9246e8bb8de624e14c55dce57e93da18cfd7a8' into eclair-mr2

* commit '1d9246e8bb8de624e14c55dce57e93da18cfd7a8':
Make sure the visualization stops immediately when sound stops, instead of continuing for a fraction of a second.
6741eb86bf54bee6a0875e4f7a825d5d0de5c23a 02-Nov-2009 Marco Nelissen <marcone@google.com> Make sure the visualization stops immediately when sound stops, instead of continuing for a fraction of a second.
ediaPlayerService.cpp
8d8380ccea24aed511f96ecb9282b0d2c3331d10 30-Oct-2009 Gloria Wang <gwang@google.com> am 3a814141: Merge change Iee0486e2 into eclair

Merge commit '3a8141416a0b1d517d4729eba4bcf914c468e20b' into eclair-mr2

* commit '3a8141416a0b1d517d4729eba4bcf914c468e20b':
Dump media recorder PID in dumpsys media.player, and fix minor bugs.
dac6a31a33ba53fb93850670cdddd1e6515dadce 29-Oct-2009 Gloria Wang <gwang@google.com> Dump media recorder PID in dumpsys media.player, and fix minor bugs.
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
ediaRecorderClient.h
b439827ca7e2a991055260982952b8fd8bc84fee 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic5e3d73f into eclair-mr2

* changes:
LOG_ASSERT needs a message.
23e246f7c2a53426b97296ec7780e8dfe80147d4 29-Oct-2009 Patrick Scott <phanna@android.com> LOG_ASSERT needs a message.

This fails to build when asserts are turned on.
estPlayerStub.cpp
4ee1540a3949693693688c2004a56cb42de55160 28-Oct-2009 Dave Sparks <davidsparks@android.com> am e8543418: Merge change I7c0d20a7 into eclair

Merge commit 'e8543418783f8f8f9a6bafdaa1dd6289661eac85' into eclair-mr2

* commit 'e8543418783f8f8f9a6bafdaa1dd6289661eac85':
Run the metadataretriever at background priority. Bug 2187133.
1eea7f529c1c25901a7749fed4792ed68379d841 27-Oct-2009 Andreas Huber <andih@google.com> Use a simple replacement for String8 that allocates its storage beforehand to avoid reentering the heap while we're examining it (leak checker).
ediaPlayerService.cpp
41fbe930c0c128bcded1348e60d7d9e8f79d8a77 27-Oct-2009 Dave Sparks <davidsparks@android.com> Run the metadataretriever at background priority. Bug 2187133.

This change forces metadata retreiver threads to background priority.
Uses an inner class to encapsulate the priority change so that it
automatically restores priority when returning to the client.
etadataRetrieverClient.cpp
etadataRetrieverClient.h
34769bc913e9f6bb138e666d94a9d685bf3da217 23-Oct-2009 Andreas Huber <andih@google.com> New API to instantiate a MediaExtractor given a URI and optional MIME type.

Also DataSources now must provide a method initCheck()
and DataSource::reat_at has been renamed to readAt to conform to
standard API naming guidelines.
tagefrightMetadataRetriever.cpp
47bed1a7755ed58fa5d4c0d35b20468deb83bd60 22-Oct-2009 Andreas Huber <andih@google.com> Make stagefright a little less verbose. Fix heap corruption for real.
tagefrightMetadataRetriever.cpp
ba229b3faa98b3bb6567cf95040062be2d9c2b3f 22-Oct-2009 Andreas Huber <andih@google.com> Prefer software decoders over hardware for thumbnail extraction.

While our hardware decoders clearly outperform the software decoders in terms
of raw throughput, their startup latency makes them less suitable for thumbnail
extraction.
tagefrightMetadataRetriever.cpp
7e04dcf8d6784dd56f53aa90bf34431ab4f0710c 22-Oct-2009 Andreas Huber <andih@google.com> Extract video thumbnails from the largest sync sample among the first 20.

Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
tagefrightMetadataRetriever.cpp
c6323f9d72e0f08dd1e813550a56c8d2f0fd76a2 21-Oct-2009 Andreas Huber <andih@google.com> Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
tagefrightMetadataRetriever.cpp
318ad9c1d9d6515026dfc2c021359d27decaa7a1 15-Oct-2009 Andreas Huber <andih@google.com> Reimplement the OMX backend for stagefright.

Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

Changed APIs to conform to the rest of the system.
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
7f281f87670c63775ea1ae8b24af31822d5ad416 09-Oct-2009 Andreas Huber <andih@google.com> OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
tagefrightMetadataRetriever.cpp
2a4a7d5af053a17586a262a1267ba993e31790f1 07-Oct-2009 Andreas Huber <andih@google.com> Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
ndroid.mk
etadataRetrieverClient.cpp
tagefrightMetadataRetriever.cpp
tagefrightMetadataRetriever.h
10dbb8e97e7a81ca4867663b5517f048820b3094 20-Sep-2009 Marco Nelissen <marcone@google.com> Music visualizer support hack.
This currently assumes 44k stereo (won't crash on other formats, but won't give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
ediaPlayerService.cpp
ediaPlayerService.h
fdf23c711d5d6094c95b43cdc9356a25d67f10c8 30-Sep-2009 Jianhong Jiang <jianhong@google.com> Remove audio latency fudge factor 96 msec.
ediaPlayerService.cpp
a569aebd284506058a34d9772ebb28c8dac09aa3 29-Sep-2009 James Dong <jdong@google.com> Fix some metadata retriever issues:
1. mRetriever was initialized twice: one in the constructor and the other in the setDataSource
2. cached the mode so that setMode can still be called before setDataSource.
mRetriever won't be initialized until data source is set; thus we have to do this
etadataRetrieverClient.cpp
etadataRetrieverClient.h
1b84df1a0823fbcb9cec754311f53eaccfe85ae3 15-Sep-2009 Andreas Huber <andih@google.com> Added an API IOMX::createRendererFromJavaSurface.

This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
ndroid.mk
8f0e4aace6c0643f7c4005184c7df2c73368f0dc 11-Sep-2009 Andreas Huber <andih@google.com> Only build the "full" stagefright (including MediaExtractors and MediaPlayer) if BUILD_WITH_FULL_STAGEFRIGHT define is set (to true).
ndroid.mk
ediaPlayerService.cpp
148c1a2a96774517407717b61e5bc9cb08be8806 06-Sep-2009 James Dong <jdong@google.com> Add basic metadata retrieval support for midi, ogg, etc.
Bug 2050320
ndroid.mk
ediaPlayerService.cpp
etadataRetrieverClient.cpp
idiMetadataRetriever.cpp
idiMetadataRetriever.h
orbisMetadataRetriever.cpp
orbisMetadataRetriever.h
47f59cfe40b0ebb3afd6c39f97dcd1eac2e966f7 07-Aug-2009 Andreas Huber <andih@google.com> Build the stagefright library by default.
ndroid.mk
ediaPlayerService.cpp
0024245e134467d120b40099da16c467dc365e76 28-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 374ea382ee3a9e3ce17e4c6357fc40d02e362810
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 28 09:54:13 2009 -0700

PV's OMX implementation now uses (spec-compliant) microseconds instead of milliseconds in buffer timestamps.

commit 8d02f8ab5d7b022ad4ad34db2a9bdeea6ce2acfe
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 14:24:26 2009 -0700

Support for using an overlay for video playback on TI hardware.

Appears to be currently constrained to CbYCrY 16-bit colorspace.

commit d17f321cb4b15c1fea378f33a7ef5998f23dd0fc
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 09:45:38 2009 -0700

Added '--audio-only' commandline option to stagefright tool.

commit d8beef6be5c668c46451446d87e622933371cd75
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 24 13:35:00 2009 -0700

Generalize the various workarounds for OMX nodes with their own unique interpretation of the spec.

commit c7dfd53eeadf8ed5a39bf2b19b014dcd62f3324d
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 16:06:36 2009 -0700

Fixed erroneous TI AAC decoder behaviour wrt shutdown.

The AAC decoder appears to not return out buffers on an Executing->Idle transition, implemented a workaround that does a flush on all ports followed by the Executing->Idle. Oh, and flush with OMX_ALL doesn't properly work either. Fun.

commit d6377282e75060881336578f166f9c7feacf3f8f
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 14:06:50 2009 -0700

Apparently the "channels" parameter in AudioTrack's constructor no longer counts channels but is a bitmask of enabled destinations, update the code accordingly.

commit ff698c79e851a2e57d362e9c3a09828af4048087
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 16:54:44 2009 -0700

Fix MPEG4 decoding using TI's hardware decoder that I broke earlier...

commit 2ef78bb87cd856eb7f0b3d7dd68782a8650c12bf
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 15:43:18 2009 -0700

Now that the qcom decoder properly advertises its own custom colorspace, update dependent code to reflect this fact.

commit bbaec96910727080fd7c8a6907c04facb9f5220f
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:32:03 2009 -0700

Finishing up previous, incomplete change.

commit 76f14a1ae816b6f434771f8d12bdad81196f351e
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:25:17 2009 -0700

The TI video decoder now properly decoder AVC/H.264 content.

commit e106130d8c100d5c94603e43864a7a93cca10252
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 08:56:04 2009 -0700

Experimental support for the TI H.264 decoder, various modifications to OMXDecoder, non-functional still.

commit 241c3062dec3447db1a1ee74558cb4b9098fc404
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 12:13:09 2009 -0700

Enable TI hardware OMX decoders (except for AVC/H.264 which still has issues).

This particular set of OMX nodes does not appear to properly return our buffers when sending the "disable" command on a port. Rather it reqires manually flushing that port and _then_ disabling it instead.

commit 1c34506a46e32ce25f2a86f3b4250dcfc037356a
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 08:51:35 2009 -0700

Make it simpler to switch between the stagefright player and PVPlayer.

commit 249c6de05671d403f8dd51f095d49bf190430c9c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 20 14:38:15 2009 -0700

Prepare to use soon-to-be-available hardware decoders in the OMX decoder.
ediaPlayerService.cpp
c2f1f07084818942352c6bbfb36af9b6b330eb4e 17-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1795088 Improve audio routing code

Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
ediaPlayerService.cpp
a64c8c79af1a15911c55306d83a797fa50969f77 21-Jul-2009 niko <niko@google.com> Added native metadata support.

Metadata.java:
Fixed typo 8k != 8092. The comment was correct though.

In Metadata.h, the new Metadata class is declared in the ns android::media
to limit the chances of conflict with other packages.

The MetadataType in MediaPlayerInterface is gone and moved to Metadata as
an inner typedef.

Similarly the SortedVector<MetadataType> instance have been replace by a
new type Metadata::Filter.

All the keys declared in the java counterpart are also in Metadata.h.

Metadata.cpp:
Contains the implementation of the native metadata packing.

There an associated change in the opencore package that should go in
at the same time as this one.
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
tagefrightPlayer.cpp
tagefrightPlayer.h
estPlayerStub.h
orbisPlayer.h
e7656d6494a8cb45daeab03393dcb4fa264502c2 20-Jul-2009 Andreas Huber <andih@google.com> Fixing the build: StagefrightPlayer now implements the newly introduced "getMetadata" pure virtual.
tagefrightPlayer.cpp
tagefrightPlayer.h
d608a813a9d2cbc6e2a5ea81d78d4a9044090c4c 17-Jul-2009 niko <niko@google.com> Added method to get metadata out of the player.

The method passes a list of metadata ids to be retrieved and
a parcel where the metadata records should be appended.

If the list of ids is empty, all the metadata should be returned.
ediaPlayerService.cpp
idiFile.h
estPlayerStub.h
orbisPlayer.h
14d2747c7e54037e267bcff78b29e65b2181f0fa 13-Jul-2009 Nicolas Catania <niko@google.com> New test player stub to load mock native players.

Added a new class TestPlayerStub that takes a magic url in the setDataSource call.
Based on the value of the url, the stub is going to load a DL and create the concrete
player used during the test.
After these initialization steps TestPlayerStub is just a wrapper.

Added a new functional test MediaPlayerInvokeTest to demonstrate how a new
mock player to test the invoke method can be loaded.

Added a new mock player for the invoke test: invoke_mock_media_player.cpp.
ndroid.mk
ediaPlayerService.cpp
estPlayerStub.cpp
estPlayerStub.h
20111aa043c5f404472bc63b90bc5aad906b1101 15-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 8d179995654c19d9094e51989dc84ed0deba6e04
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 16:30:40 2009 -0700

Protect stagefright code with BUILD_WITH_STAGEFRIGHT build-define.

commit 99b41acb58c34e8f024c30c833a09fd7b31c4e1f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 14:06:00 2009 -0700

OMX::list_nodes API, stagefright --list now lists all available OMX components.

commit 94a74c5b24aae6d7e446fff83d62ae3a57dc351b
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 16:04:29 2009 -0700

Reenabled "record" commandline application to test encoding, support for h263 codec specific data when writing to .mp4.

commit d363dd74f611577567c66d25900d6264c306468c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:59:58 2009 -0700

Make non-socket communication in IOMX the default.

commit e89fc82c4fd138c88339887baf72f1d0e67f8660
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:32:33 2009 -0700

The OMX interface now optionally supports communication through the binder only (no sockets involved)

commit 28611de11223fba65299787cdd33f7fdbd6a60a3
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 15:09:13 2009 -0700

Split off the logic to render to a Surface (not ISurface!) into SurfaceRender.{cpp,h}

commit c0cfa885faaeb17d3fc5436f6447b61708bd6fe1
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 12:21:46 2009 -0700

Fix display dimensions vs. decoded dimensions display issues, unfortunately breaks software rendering a bit...

commit ae209a2b5d09caed5dd383c910f238926aaa8fc6
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 09:33:29 2009 -0700

Simple video decoder performance test in "stagefright" commandline tool.

commit 59fe7840111d6f46dd3c48f4950146aed962dbd2
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 16:05:12 2009 -0700

StagefrightPlayer: Properly publish video dimensions by notifying the listener.

commit 51b6598f0e47be5e12d77f1d14e111e71c593638
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 11:38:15 2009 -0700

MediaPlayerInterface::AudioSink now supports the specification of a callback for pull-based audio.

commit 31ce53375d748da3e7d30e993ce89dae97fd65ea
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 17:23:37 2009 -0700

Proper support for pushing audio to a specified AudioSink interface. Still not bulletproof: video falls behind frequently.

commit a23e312b10631a5d47f5c9831205beac6b84ab36
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 15:10:13 2009 -0700

IGenesisPlayer and friends are no more, java interface now uses local playback instead
of playing inside the media server process.

commit 42ee5c06ab5ba1c16f50472b0b26a0526635c73c
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 13:17:03 2009 -0700

MP3 extractor now supports seeking (only fixed bitrate files currently supported)

commit 96a790405763bfa738d1c6845c99a9fdf579b66f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 7 10:53:54 2009 -0700

Keeping up-to-date with new master-gl changes, removing CameraSource for now, removing unnecessary commandline utilities from the build.

commit 6c9dcb7c628c0347154dd7f37913a3a5f04deb99
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 16:40:02 2009 -0700

Finally take advantage of the fact that the Qcom OMX decoders already place the output buffers into memory accessible by the hardware yuv converter and avoid extra allocations and memcpys in that case. Split of the render logic into subclasses of VideoRenderer.

commit e8d46e81cffc15ffb0bdf03f511e4a4497ca7621
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 12:18:29 2009 -0700

Added a few more cases of valid MPEG4 files to the sniffer, fixed end of stream notifications in MPEG4 files.

commit 88bffc5ed4033a607080f8777a1c0ec9e3e079de
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 2 12:25:03 2009 -0700

MediaPlayerImpl now properly pauses/resumes instead of tearing down the decoder chains and starting back up from the beginning.

commit 732aa0a87c7e8d8a10776b275712649954962414
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:58:56 2009 -0700

Remove pthread_mutex_* and pthread_cond_* in favour of Mutex and Condition.

commit 669e5944b2fe0542a3b8dba0c441a94503e99fb0
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:43:02 2009 -0700

Proper support for end-of-stream signalling of MediaSources.

commit afb038f2dc594c742e554b2d42b86ffc7434e3fc
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 30 16:48:03 2009 -0700

Support for the "sniffing" of datasources to determine their probable mime type (along with confidence). Slightly refactored the MP3Extractor to share common code with the sniffer.

commit ed3644b8bd56807e1db4b32433a93a2467f1f3c5
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 13:27:52 2009 -0700

I don't think prepare should automatically start the player.

commit 11eb9b49dc4a0819d366682817cba68613f4fe12
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 11:09:22 2009 -0700

Somewhat better timing information implemented in the MP3Extractor.

commit cab023a1751735c0ed26c8493498a91d8644c6c9
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 25 15:41:56 2009 -0700

Initial checkin for support of mp3 content, extraction and playback. Media extractors now abstracted in MediaExtractor baseclass.

commit 40f4146bb3c647e56690dd9b0fa3ffdea60030dc
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:41:12 2009 -0700

Make sure we only allocate surface buffers if there is video to be played.

commit 7f85e7d92fe81740e102e09905b19354f4ac178e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:19:32 2009 -0700

Clean up a failed merge and implement stub for new API in MediaPlayerBase.

commit f0e9d494a4c03402ea7b54891848ca5a50c421b2
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 15:38:03 2009 -0700

Support yuv420->rgb565 conversion if hardware color conversion is unavailable.

commit 87223248b3099cd5261b94169f84cfd1eba56a8f
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 09:35:56 2009 -0700

Remove unimplemented and currently unnecessary blocking option from MediaSource::ReadOptions.

commit e07e651f0325892b797f3eb64dbeca0f317afdfd
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 16:26:42 2009 -0700

Enable assertions in HTTPDataSource.

commit 0dc97adebea1721156880f4b3d5c70f8d50c53b2
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:39 2009 -0700

delete foo.

commit 7f05845dda496e7defee284d32509d127e785784
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:08 2009 -0700

added foo.

commit e432970c51eeec4e5d549bdb3e2d3e48ffb4f0e7
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 11:44:31 2009 -0700

Make sure to initialize all fields in _all_ constructors... Use a Mutex instead of the raw pthread_mutex_t.

commit d6286a6bbca639952491448fa3e609b775a8a814
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 17:11:49 2009 -0700

send_command is now implemented twice... ugly hack to get both shutdown working correctly and startup as well... playback now "works" on the emulator, too.

commit 8d657e004677a7c5dae4479e8519bcaa94c18aad
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 11:58:55 2009 -0700

Instead of erasing codec specific data once it's been output to the omx node, retain the data and just rewind after a stop.

commit 279fede6ba35cbc37c35616c53406bf2c9720202
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 10:58:11 2009 -0700

Various fixes related to play/pause. Decoder now properly frees OMXMediaBuffers, made MemoryDealer destructor protected instead of public to prevent accidental stack-allocation of MemoryDealer objects.

commit 0f717f15a6328efd3f34082929cd8ad2351095a9
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 08:44:12 2009 -0700

Make sure to rewind codec specific data on OMXDecoder::stop and reset AudioPlayer's notion of time mapping.

commit 0cfb63e33270daf9b215214608ab383f93a31823
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 14:25:48 2009 -0700

Massive rename.

commit 30ed8f476c4431a5275538958b3e281bd17d5eab
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 13:52:41 2009 -0700

send_command and fill/empty buffer commands must be executed in sequence, send_command is now dispatched over the socket instead of through the binder interface to ensure this.

commit b832d04011b2dd8a9632eb7e575bfe1addd1270d
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:21:17 2009 -0700

MediaBuffers can now be "clone()", they sit on top of the same data but have their own range and metadata. Once a clone's refcount drops to 0 it decrements the refcount on the original buffer.

commit 4e944672808bdf1ed40a69f3f602f93ebf7b4049
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:01:01 2009 -0700

Split MediaBuffer.h into MediaBufferGroup.h and MediaBuffer.h, same with their respective source files.

commit ddb7529b4de4828db51432bd405fddd76cfa3b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 16:30:25 2009 -0700

More fudging with A/V sync...

commit 1e5a4d8df08237b58c06c6527a33152ae931addf
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 11:54:20 2009 -0700

API cleanup of MediaSource. Got rid of MediaRing as it really doesn't serve a purpose if OMX decoders are used.

commit 0953c65232aa9753d17d2e25c5f5526eb810cf13
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 16:59:19 2009 -0700

Experimental TimedEventQueue and an attempt at a cleaner player implementation using it, OMXDecoder is now a little less verbose.

commit 2085b8ea9484a21fa11f94194a27405d413aeecc
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 10:17:01 2009 -0700

Properly bail out of the AV sync loop if the MediaPlayerImpl is stopped.

commit 471f143458a8a0d93cb1bf9568c63c3967279dc6
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 17:32:27 2009 -0700

Now this is much better AV sync, defer seeking the audio source until we know where the video source synced to.

commit 4010d371dbe62ce4971e13437776cba32cb0bb3d
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 16:01:07 2009 -0700

Tweaked some of the heuristics in AV sync, OMXDecoder is now a little less verbose, seek to a sync sample at or _after_ the requested position.

commit f3d4af1d5a4ac31fa02271b000f6c7ec593f0da9
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 15:33:58 2009 -0700

Change the TimeSource interface's APIs, prefer microseconds over milliseconds now, changed the way MediaPlayerImpl does AV sync.

commit 08bb46fa61d12e852a424698ddb0c90700328f6e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 11:57:24 2009 -0700

Using framework's Mutex and Condition classes instead of pthread functions, much saner locking in OMXDecoder.

commit 4d77b4e09e59bbf8c1af009ae7dc62b10af52fd6
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 17:12:03 2009 -0700

MediaSources now publish their format.

commit 7e429a26c57bf936e1a08035d2d11839f9f00310
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 16:38:29 2009 -0700

MetaData is now implemented in terms of KeyedVector, MetaData is now reference counted.

commit 0fa957aa5c9bcb6ec122ed7b5b97430039be6797
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 14:39:55 2009 -0700

Sync sample seek support.

commit 78a5f090d02e7e6e1a146b29bdb7771eecaa2f86
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 13:51:11 2009 -0700

Distinguish shutdown from port-flush since one requires buffers to be freed and the other one doesn't. Fixes a problem with seek.

commit e57781d3b2c985a74cd8b60e7c8f2d576459d038
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 10:52:20 2009 -0700

First shot at support for seeking a MediaSource. Sync frames are not properly handled yet.

commit 0551cd78fda78bf66877fb26c5a55e5ae23d8367
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 16:23:38 2009 -0700

Preliminary support for camera input.

commit f8ebafa65d10d5a06944de6b2e2992a33121b857
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 12:13:47 2009 -0700

Allow NativeMediaPlayer access to Surface's getISurface() method.

commit b1a9fb36eeccd9f49d28c1c64b31fccbd6506eeb
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:38:25 2009 -0700

Header files are now in their own genesis2 hierarchy below frameworks/base/include.

commit f49b8b234b8f6ce83148787eef540dd920f04aa6
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:22:03 2009 -0700

moved MPEG4Writer into libgenesis2.

commit 5224254919dac4728677335ea60429fa16f518b4
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:13:38 2009 -0700

Everything now lives in the android namespace, integrated errors with android errors, renamed MediaPlayer to MediaPlayerImpl.

commit f9a9d84f7e0465ef5d1938a068655ba39527cf99
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 16:43:11 2009 -0700

Support for getPosition() and getDuration().

commit 3206cc5140bcbc88be039f8d94b954af63e69752
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 15:37:45 2009 -0700

Support for {MediaPlayer, GenesisPlayer, Genesis2Player}::isPlaying()

commit 9f41b248e0dfce71bbc50f883750cec52ebfd1fe
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 13:49:50 2009 -0700

Proper disconnection from the OMX service.

commit cdcf47a2c31599109ee42277c7fa14af3c600091
Author: Andreas Huber <andih@google.com>
Date: Tue May 26 17:27:06 2009 -0700

New player type for the genesis player in libmediaplayerservice. Playing video through an ISurface now.

commit 0586af20ac9ae0403dd190bafd290b0f90549723
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 15:53:19 2009 -0700

Fix a buffer overflow error by adding padding in case we need to de-frame AVC data.

commit eac62fff6ad2ffb7b75c0d4a1b9620d33e93fb9b
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 13:35:30 2009 -0700

Support for http URIs in MediaPlayer, compensate for AudioTrack latency.

commit a7db456e3173d94d6b5e457547e2a6a5f7a8e1cc
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 11:33:25 2009 -0700

Support for URIs in MediaPlayer class, support for shoutcast streams in MediaPlayer, force shutdown of OMX nodes if they don't shutdown cleanly within a second.

commit 1f0268f4f14ad5215668f34e06a420850174d665
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:33:16 2009 -0700

and foo.txt is gone again.

commit 0feca4e0919f345704d78ec78894bac5027bd5ed
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:28:49 2009 -0700

added foo.txt

commit 9c7d04b35cdc895a2de3602dc46522f608bd205f
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:28:04 2009 -0700

delete foo again

commit fec3ca1720992cce51b9a92b86b945da88a6b16c
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:27:45 2009 -0700

weird

commit 30a6571302333146e537e537a3a8986245cca87c
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:18:55 2009 -0700

reverse test

commit dea3d99dd0fe9386e8a3c51954d9d0fe2be09d38
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:18:22 2009 -0700

test

commit a9eeafec6e46072cac41e54ebdbd153cb7ae7518
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 16:37:50 2009 -0700

Use the video ring again for now.

commit e05ff3d3c1c4f89ef499a2b172138a775fd694e3
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 15:42:19 2009 -0700

Export to .mp4 now works for MPEG4 video content. Fixed a bug in the sample table wrt co64 chunks.

commit 5c44c540374a4e50c4e8aaab2b7a34aed6e1391e
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 09:56:11 2009 -0700

Fix the build, all binder-related headers have moved and there's a new library libbinde
r to link against now.

commit 23e0a24404d16c898c2c6b3c7495ad303844bc71
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 08:42:04 2009 -0700

Initial checkin of MPEG4Writer, a class to export media sources into an mpeg4 file. MPEG4/AVC metadata (efss & friends) not currently working.

commit 9cd77adb1ac194197364ffad00a0d7215f458e1a
Author: Andreas Huber <andih@google.com>
Date: Wed May 20 12:31:45 2009 -0700

New shell command to test recording/encoding. Various changes to OMXDecoder to support encoding properly. Now each OMXDecoder needs a dedicated thread on the client side since onEvent responses could block which would cause deadlocks if a node depends on the output of another node for example.

commit 5c510fb55ffed7ec25305999ed9b6c1eec48d503
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 15:40:06 2009 -0700

Make media decoding the default in the genesis2 commandline app instead of shoutcast playback.

commit f6c7a2040b8eb43326621f12c3a936e09b3a70e3
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 11:03:04 2009 -0700

The king is dead, long live the kind... Replaced old OMX binder interface with new OMX binder interface/socket hybrid.

commit 0d4955eb5df9bfafb576d22f2ed572644d6d69ac
Author: Andreas Huber <andih@google.com>
Date: Thu May 14 12:39:34 2009 -0700

dynamic negotiation of NAL framing with the MPEG4Source, removed stale code from genesis2 commandline tool. Enable support form PV H264 software decoder.

commit 380369f54a8027cbc9349305184d6bf527a24efe
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 17:32:00 2009 -0700

Explore the option of running everything inside the mediaserver process by encapsulating the player in an IGenesisPlayer binder interface.

commit b5cada56b9089a23e0c461352a97dc71e08b424d
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 12:11:06 2009 -0700

Introduction of TimeSource class, clean shutdown of OMX Nodes.

commit 89f6e582e605dcb2149eb67f73fe9345d4b9be2e
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 17:11:56 2009 -0700

Helper classes MediaRing and MediaPlayer.

commit 9aaed8739b4bb941473da367fb88f63224d2f1b7
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 14:19:18 2009 -0700

Using mmap to map a file instead of going through FILE* improves performance, who knew?

commit ad097a78bbd002c59193ffdc39b64935928426c7
Author: Andreas Huber <andih@google.com>
Date: Mon May 11 16:42:42 2009 -0700

Added a performance test, refactored AudioDecoder a little.

commit bdd1b80ab3f3ba43e04f1f996e7fa84ed2e2728a
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 16:19:29 2009 -0700

No more copying the output buffers coming out of the decoder, NAL separation also done in the extractor to avoid copying the data.

commit 858955b42c29b8033841a8caaa56c2a449810ef3
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 14:02:38 2009 -0700

Change from a model in which the caller specifies the destination buffer to one where the MediaSource returns a buffer.

commit 95098b6d4f8bdc37dfb6a109ca58db4d9e414e2d
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 13:21:45 2009 -0700

Changes to support multiple pieces of codec specific data to the decoder, de-frame nal units from the h.264 stream and insert start codes

commit 3941fcf87a48dda81683df727dfb1381f62d9184
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 16:37:45 2009 -0700

some refactoring. Most streams play now.

commit d3152862840d4dd39068e5197bec8674f3d55dd5
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 15:37:32 2009 -0700

Misc. changes to support H264 decoding using the qcom hardware decoder

commit d4ecdfe7af36e7468270d1c2cbbdc540efe0351e
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 09:28:18 2009 -0700

Timestamps are now stored as a fraction, i.e. units and scale, also, PV appears to violate OMX specs by assuming timestamps are in milliseconds instead of microseconds.

commit fe6a50943f885e065d4061aa727a54417e9f36db
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 14:18:27 2009 -0700

Refactored commandline app instantiation of the decoder.

commit da1ff2724d0e78e8b360d9a2c34c55dd0e2c0492
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 10:41:14 2009 -0700

Proper audio/video synchronization.

commit 569ee3a23f600f4b6b87c6178c0223b06e97f201
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 09:17:20 2009 -0700

Preliminary support for timestamps.

commit e4e302a89207550d8a7170d8c0afbd9c15047c84
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:13:12 2009 -0700

Another quick hack job to make CachingDataSource thread-safe as well.

commit dfb376a58bd7c09aa04e89558186fcfe13fe696c
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:08:14 2009 -0700

Quick rushjob to make FileSource and SampleTable thread safe.

commit 02b29e7ebdab1f8b959b6c177ceb3b89d998f375
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 17:22:04 2009 -0700

Made video decoding work for mpeg4/h263 and mostly(?) with AVC content.

commit 3a57b8ff15e48f5a0af03bf0a99c32e240dbb7ef
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 09:26:42 2009 -0700

Getting rid of old sample code to drive the OMXNode binder interface.

commit 5b046aed0cf524a57ea711bc1e43ea80e57b2cb3
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 16:21:11 2009 -0700

Moved files from the commandline utility into the framework, renamed MP3Decoder to AudioDecoder

commit 7f3fbba21512a078b732cc52c7bd5ba5acb9a317
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 15:56:19 2009 -0700

Fixed buffer ordering and an off-by-1 error in the SampleTable code. Plays all AACs now :)

commit 024d06baab8f2c540dde16f7e7a4b6dd57f638c7
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 11:52:48 2009 -0700

Some AAC content in .3gp or .mp4 files plays correctly now, other does not. Implemented ESFS parser.

commit 1470427866b0d3e0ce6848b4edc01c13a09be289
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 30 15:19:31 2009 -0700

Another checkpoint, amr decoding now functional.

commit e612d044439f56331b6a2bc4a88622e04d4d42e7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 12:11:29 2009 -0700

string wrapper around String8, various fixes, shoutcast now works again.

commit 2ea52dfb1a39bf3a223ffc87855e54919e2daff7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 11:08:18 2009 -0700

Initial check-in of OMXNode binder interface.

commit 7880d2957f74c0d7fba7679431ff5adb3780543b
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 10:05:01 2009 -0700

Initial check-in of both libgenesis2 and the genesis2 commandline tool.
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
tagefrightPlayer.cpp
tagefrightPlayer.h
4829038419910aa6e75ce8992d45a223452d5c67 10-Jul-2009 Nicolas Catania <niko@google.com> Implemented the tracking of the metadata updates.

Switched from Vector to SortedVector. Removed dead sorting code.
Added a type to represent MetadataType.

Minor fixes missed in the previous CL.
ediaPlayerService.cpp
ediaPlayerService.h
8e1b6cce24574b9ecd5b0300155776bd0b4ef756 09-Jul-2009 Nicolas Catania <niko@google.com> Basic plumbing to retrieve metadata from the native player.

IMediaPlayer.h
Added a getMetadata method that mirrors the on in MediaPlayer.java.

MediaPlayer.java
Added a native method to get the metadata from the native player.
Parse the parcel into a Metadata object.

Metadata.java
Added a stub to parse the Parcel returned by the native player into
a set of metadata.

android_media_MediaPlayer.cpp
JNI call to forward the getMetadata call.

MediaPlayerService.cpp
MediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h
ediaPlayerService.cpp
ediaPlayerService.h
a7e0e8b4c429fc68eb1bd5b5a30f5b91352288f9 08-Jul-2009 Nicolas Catania <niko@google.com> Implemented the metadata changed notification filters.

IMediaPlayer:
new setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type)
serialized in a Parcel.

MediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp
new setMetadataFilter that passes the filter down to the MediaPlayerService's binder interface.

MediaPlayerService.cpp
The Client inner class holds the allowed and blocked metadata types.
These are in 2 vectors that get populated in the setMetadataFilter.

A new shourldDropMetadata method returns true if a type of metadata should be dropped according
to the filters.

The notify method in run the metadata update notifications thru the filter and possibly drop them.
ediaPlayerService.cpp
ediaPlayerService.h
82827d70378961f30077d3a35a06aab58c368d52 02-Jul-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
24a5bdab1a1fb8516c270927b811763510986c8f 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 2d9f3169: Merge change 5595 into donut

Merge commit '2d9f31697fb5ece89c80cc66bdd3bd9caa9df9c3'

* commit '2d9f31697fb5ece89c80cc66bdd3bd9caa9df9c3':
We might try to close the Vorbis file twice under certain
76aa28371e93829927c66f1a48e39e18e01d704d 27-Jun-2009 Dave Sparks <davidsparks@android.com> We might try to close the Vorbis file twice under certain
circumstances. This fix nulls the mFile member so we don't
try to close it twice. Bug 1904783.
orbisPlayer.cpp
e35922dc7121ddbd2ec7923e0756adb92046b8ff 25-Jun-2009 Mathias Agopian <mathias@google.com> merge master in master_gl
1d187f1a86855f5f0694d7ec30efc9833bf7c589 13-May-2009 Nicolas Catania <niko@google.com> Direct api to the native media player.

MediaPlayer.java has 3 new methods:
* newRequest creates a Parcel that can be used to send data to the
native player using invoke.
* invoke issues synchronous calls to the native player using opaque
parcels for the request and reply.

IMediaPlayer.h has 1 new abstract method:
* invoke

The Midi and Vorbis players have a stub for these. So far only PV
makes use of that new feature.

To avoid any copy overhead, the JNI interface uses Parcel as a java
object (no serialization/copy happens at the JNI layer).

The remote interface token is inserted when the Parcel is constructed
in java. That way the parcel is already routable when it reaches
IMediaPlayer.cpp (proxy). No extra copy is needed there.
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.h
orbisPlayer.h
6f74b0cc490a3b8523252ded00f7ca55160effd1 04-Jun-2009 Mathias Agopian <mathias@google.com> fix build
ediaPlayerService.cpp
273d098cc72a88c797d01c7dff0c1350f315f05f 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils.h
ediaPlayerService.h
etadataRetrieverClient.h
41d23d53e34eaa3c4928ec4a1c7d4a968c3c596e 21-May-2009 Android (Google) Code Review <android-gerrit@google.com> am c1c82509: Merge change 2163 into donut

Merge commit 'c1c82509fb78403a969040cf057a66cbe3bfa538'

* commit 'c1c82509fb78403a969040cf057a66cbe3bfa538':
Fix permission hole for RECORD_AUDIO created when we moved the MediaRecorder
510d6566bd2494991fac07aee46fcb2ddac99c13 21-May-2009 Dave Sparks <davidsparks@android.com> Fix permission hole for RECORD_AUDIO created when we moved the MediaRecorder
implementation to the mediaserver process. The permission check was previously
enforced only at the AudioRecord binder interface for clients not in the same
process. This change adds an additional check when the client tries to set
the audio source.
Bug 1868334
ediaRecorderClient.cpp
7562408b2261d38415453378b6188f74fda99d88 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
ediaPlayerService.cpp
ediaRecorderClient.cpp
etadataRetrieverClient.cpp
etadataRetrieverClient.h
615a9bfbd98b90e09d868c128db84836feb658e4 19-May-2009 Mathias Agopian <mathias@google.com> checkpoint: split libutils into libutils + libbinder
ndroid.mk
65e5f79102e39cb2e9ab71ced0b62347bf1512a5 01-May-2009 James Dong <jdong@google.com> Change 79 in git master branch
ndroid.mk
eac4d8216b8e26ca18b4c56f105f68595e5c410f 30-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 7fe3b06: Merge change 740 into donut

Merge commit '7fe3b064d3645fcebd09b162c5989e0d702112e2'

* commit '7fe3b064d3645fcebd09b162c5989e0d702112e2':
MIDI render thread was nice 0, should be nice -16.
124b5234a5110fb14d2114062c04d598cca76dd4 30-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 740 into donut

* changes:
MIDI render thread was nice 0, should be nice -16. Seems like a recent change sets the thread priority to 0. Previously it inherited priority from the parent thread. This change sets the MIDI render thread priority to the default for audio threads. Reference bug 1800905
8a6234e743862d5f9570c518b967892899799146 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 9f98f79: Merge change 739 into donut

Merge commit '9f98f79f8eb41889dec36e0a76aaf0414b39bb3a'

* commit '9f98f79f8eb41889dec36e0a76aaf0414b39bb3a':
Vorbis render thread was nice 0, should be nice -16.
577ba8a1ae29cd2ca3b6103ae51530111d3e9b22 29-Apr-2009 Dave Sparks <davidsparks@android.com> MIDI render thread was nice 0, should be nice -16.
Seems like a recent change sets the thread priority to 0. Previously it
inherited priority from the parent thread. This change sets the MIDI
render thread priority to the default for audio threads.
Reference bug 1800905
idiFile.cpp
08d949a37fc1d0a7b501a85d4d442975325de093 29-Apr-2009 Dave Sparks <davidsparks@android.com> Vorbis render thread was nice 0, should be nice -16.
Seems like a recent change sets the thread priority to 0. Previously it
inherited priority from the parent thread. This change sets the Vorbis
render thread priority to the default for audio threads.
Reference bug 1800905
orbisPlayer.cpp
84c18d6459635099d52b63009ef5a007891c4fb6 14-Apr-2009 Jianhong Jiang <jianhong@google.com> Squashed commit of the following:

commit b6cf47306b642f7cf7e1b55cce448e0deff38f36
Author: Jianhong Jiang <jianhong@google.com>
Date: Mon Apr 13 11:07:01 2009 -0700

Change tabs into 4 spaces.

commit 93c5890dbcc68e37aa0ef039b4a203acddca8968
Author: Jianhong Jiang <jianhong@google.com>
Date: Fri Apr 10 14:15:23 2009 -0700

OpenCore 2.02 related changes.
ndroid.mk
0adb1685383aef4b2c9158544a22ae40fcc79ffa 08-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Revert "Changes required to accommodate OpenCORE 2.0"

This reverts commit ea780b689f8ee3dff355deab2434bbd4ae04d208.

Conflicts:

media/libmediaplayerservice/Android.mk
ndroid.mk
8f7f2dcd8b975657e3c33befdaed48fc2966ce34 28-Mar-2009 Dave Sparks <> AI 143267: am: CL 143127 Media recorder service requires android.permission.CAMERA to record video
Original author: davidsparks
Merged from: //branches/cupcake/...

Automated import of CL 143267
ediaRecorderClient.cpp
5580d1f0e9eb01fbfb81f2270f2caaa5ae3b47ed 28-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'goog/cupcake'
c918d4ae9d45f3d7d0150e35eae8cd97ec474118 27-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'

Conflicts:
core/java/android/webkit/WebView.java
core/java/android/widget/TwoLineListItem.java
preloaded-classes
3f6fc880d92081fdec1351d219093dc0f7bbfcdd 27-Mar-2009 Dave Sparks <> AI 143127: Media recorder service requires android.permission.CAMERA to record video
BUG=1742392

Automated import of CL 143127
ediaRecorderClient.cpp
3c4b3e3f8927dd149df87bb98646497c7043d0ae 25-Mar-2009 Dave Sparks <> Automated import from //branches/donutburger/...@141593,141593
ediaPlayerService.cpp
795fa5848276bab87445fa64fd0941c13ef62398 25-Mar-2009 Dave Sparks <> Automated import from //branches/cupcake/...@141591,141591
ediaPlayerService.cpp
6c5b21025f746fcb838499ae01b4d384ab1d2f66 21-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Deal better with situations where OpenCORE is disabled.
ndroid.mk
ediaPlayerService.cpp
etadataRetrieverClient.cpp
8374f8fce997c0e1df39f0b515ca494b0a15dbdc 18-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake' into merge

Conflicts:
core/java/android/view/animation/TranslateAnimation.java
core/jni/Android.mk
core/res/res/values-en-rGB/strings.xml
libs/audioflinger/AudioFlinger.cpp
libs/surfaceflinger/LayerScreenshot.cpp
packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
c048cae0367db6fbb4fe1127be5011910713d4ad 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
ediaRecorderClient.cpp
ediaRecorderClient.h
89fa4ad53f2f4d57adbc97ae1149fc00c9b6f3c5 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
ediaRecorderClient.h
etadataRetrieverClient.cpp
etadataRetrieverClient.h
idiFile.cpp
idiFile.h
orbisPlayer.cpp
orbisPlayer.h
15f767b960b38059a74a42a33e16d8df2aec8bc1 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
ediaRecorderClient.h
etadataRetrieverClient.cpp
etadataRetrieverClient.h
idiFile.cpp
idiFile.h
orbisPlayer.cpp
orbisPlayer.h
ad04d9201452001dbaac4349f084cc9316190b89 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
ediaPlayerService.cpp
ediaRecorderClient.cpp
ediaRecorderClient.h
99ffda877980468a9ae31e013cd10fb3645df1b0 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
ediaPlayerService.cpp
ediaRecorderClient.cpp
ediaRecorderClient.h
7a2146d5807030b2629f347736be5301b61e8811 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
ediaPlayerService.cpp
ediaRecorderClient.cpp
ediaRecorderClient.h
idiFile.cpp
orbisPlayer.cpp
5e07b5774c8b376776caa4f5b0a193767697e97e 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
ediaPlayerService.cpp
idiFile.cpp
idiFile.h
orbisPlayer.cpp
74b79edce2638fe87fb4ec8f7702fcd70b72207d 22-Jan-2009 Brock Atchison <batchison@pv.com> Changes required to accommodate OpenCORE 2.0
ndroid.mk
7b5eb023f8d87cca6d830ae6c11c6aadbe02aca8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
ediaRecorderClient.cpp
ediaRecorderClient.h
etadataRetrieverClient.cpp
etadataRetrieverClient.h
idiFile.cpp
orbisPlayer.cpp
2729ea9262ca60d93047e984739887cfc89e82eb 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ndroid.mk
ediaPlayerService.cpp
ediaPlayerService.h
idiFile.cpp
idiFile.h
orbisPlayer.cpp
orbisPlayer.h