• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libmediaplayerservice/nuplayer/
History log of /frameworks/av/media/libmediaplayerservice/nuplayer/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
247a92eec4b0a8e4a9fd31b2755e96928b2895d0 09-Jun-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: set mPaused to false in onStart()." into nyc-dev
fe8fe7dc0316289e7f03690bcbe2332b395ba331 08-Jun-2016 Wei Jia <wjia@google.com> NuPlayer: set mPaused to false in onStart().

Bug: 29209515
Change-Id: I96c506feccd7105a63421a7b9444385d4fa6e7d8
uPlayer.cpp
8a092d306e3fb228628506ffd73d9d9f0387f271 03-Jun-2016 Wei Jia <wjia@google.com> NuPlayer: fix behavior of setPlaybackParams.

setPlaybackParams with zero speed is equivalent to pause().
setPlaybackParams with non-zero speed should start playback when player has
been prepared.
Bug: 29032949

Change-Id: Ib7738da653208f4fe5a8f1d7cf98b8479b3dc798
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
aaa28debcb0d2475d065a467281d1cc77c7c4aca 28-May-2016 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: ignore fractional audio frame." into nyc-dev
03cee24b8d54e5b5a94957b9fb7049738ff68765 27-May-2016 Wei Jia <wjia@google.com> NuPlayerRenderer: ignore fractional audio frame.

Bug: 27488269
Change-Id: I3f0e38f972e9d28b6edd8a4286b334021be81371
uPlayerRenderer.cpp
c9ff2009a0a010eeaba80d76493fbf33fcb561c8 25-May-2016 Wei Jia <wjia@google.com> RTSPSource: pause internally when buffering starts.

Bug: 28915794
Change-Id: I1a04bdfe306fdf0f82fefbe9eb2855184991c1c8
uPlayer.cpp
uPlayerSource.h
TSPSource.cpp
4ecb8af13a00dd6331a3e957af5c3230f537e923 24-May-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: remove the condition on sending BUFFERING_START event." into nyc-dev
bfe8207b2fa54a84ccbdb19fefe3a2836a2707c4 20-May-2016 Wei Jia <wjia@google.com> NuPlayer: remove the condition on sending BUFFERING_START event.

Since RTSPSource::pause() has become no op, it's safe to always send BUFFERING events.
Bug: 28915794
Bug: 25727912
Bug: 27292698

Change-Id: Ia61bce13ee7ef84734ab5063a3311f0bb38e6f72
uPlayer.cpp
uPlayer.h
46f80165c595d81dda68f8f3fea27f4fb04937dd 20-May-2016 Lajos Molnar <lajos@google.com> stagefright: fix issues with bitrate handling

- parse btrt mp4 box
- write max and avg. bitrates into avcc
- fix the use of "bit-rate" vs. the correct "bitrate"
- document ESDS better
- fix some spacing

Bug: 28671284
Change-Id: I94961a095c6d162af38b7999cc946f899a1b1b09
uPlayerRenderer.cpp
d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9 18-May-2016 Robert Shih <robertshih@google.com> Merge "Re-enable source re-scan for StreamingSource" into nyc-dev
78d4d1e46c546a29ec86b98f4bfce71424c42213 17-May-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: reduce calls to getFormat()." into nyc-dev
41cd463de0e5d7fd5d1ac2b537226ab209529760 13-May-2016 Wei Jia <wjia@google.com> NuPlayer: reduce calls to getFormat().

Bug: 28545177
Change-Id: Ia4a2725f0ac353adfcd8f23654175467e86b78f3
uPlayer.cpp
uPlayer.h
1f1fc459ddb67d1162f2dbb10d14e57f42841da2 12-May-2016 Wei Jia <wjia@google.com> IMediaSource: add readMultiple API to speed up inter-process reading.

GenericSource: use readMultiple for audio track.
Bug: 28545177
Bug: 22775369
Change-Id: If26b80e75eba4212105d51140c4bfce85ec664f8
enericSource.cpp
093024bfa271988655327e0fb761b581afa8bc11 12-May-2016 Robert Shih <robertshih@google.com> Re-enable source re-scan for StreamingSource

Bug: 28666655
Change-Id: I6d142e33958460144cda7370fdf3dd06d28ea3e1
treamingSource.cpp
treamingSource.h
64cc92884966864b7a08e0eac74be108edf883da 27-Apr-2016 Wei Jia <wjia@google.com> Merge "GenericSource: reduce logging." into nyc-dev
4d71c0224e48d87c81363ad061d58deaf991a323 27-Apr-2016 Wei Jia <wjia@google.com> GenericSource: reduce logging.

Bug: 28408463
Change-Id: I48eb7e7f6c5d786c4dc37c2abfc6733fe926cf9d
enericSource.cpp
8986b4d50c8d46de2a8950cb23fcc4138df67191 23-Apr-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: ignore stale message for teardown." into nyc-dev
8456ddd1e4c3daa8f32ea1cbb94c70275e5a22f5 22-Apr-2016 Wei Jia <wjia@google.com> NuPlayer: ignore stale message for teardown.

Bug: 28121584
Change-Id: I9df088b4d99ebae38c06a1138f3d66b31bf67529
uPlayer.cpp
21afe805580c1fdf394415648fba8e1c482def60 21-Apr-2016 Andy Hung <hunga@google.com> NuPlayerRenderer: Ensure cancelAudioOffloadPauseTimeout cancels timeout

Bug: 28121584
Change-Id: Ic8887851544f769e0cd0717d97075931ab73df3f
uPlayerRenderer.cpp
c45a4b26d188a7e4287f672565792479bcf67b9d 16-Apr-2016 Wei Jia <wjia@google.com> NuPlayer: guard mSource when it's accessed on external looper.

Bug: 25121900
Change-Id: Ibc0a114acef91269c83d9494818bdb30589dcfc9
uPlayer.cpp
uPlayer.h
0c4a97e6e1470b2d8b8810792af8d66689020c51 13-Apr-2016 Andy Hung <hunga@google.com> Merge "NuPlayer: Reserve buffer for 8x max speed" into nyc-dev
f2c87b3f88d987d2af6322e9763eb8224a2bae48 08-Apr-2016 Andy Hung <hunga@google.com> NuPlayer: Notify if drain message time is unexpectedly long

Bug: 27940058
Change-Id: Id8897c30e21b6b9de545a710e7766ffceb491455
uPlayerRenderer.cpp
ff874dc957f9ea70d87f4d627bf903e1fc86d58b 12-Apr-2016 Andy Hung <hunga@google.com> NuPlayer: Reserve buffer for 8x max speed

Affects Photos with Bluetooth and 240x recording.

Bug: 26986060
Change-Id: I228223221f9811e05c274d64cd42ac104db04c36
uPlayerRenderer.cpp
3b9912bcd428fcaeead1faf9297aee11b7fd1888 08-Apr-2016 Robert Shih <robertshih@google.com> GenericSource: gracefully handle missing timestamp

Bug: 23474771
Change-Id: I1a1c03162fb08fa43607905ff2c6d4d594675001
enericSource.cpp
1cf582cfc8e1082a0c37c25655a052c7a9185fe4 05-Apr-2016 Wei Jia <wjia@google.com> Merge "GenericSource: send video input data to decoder in paused state." into nyc-dev
ff486640ca9794a4c328bb1b7ccf4ab5d36d1331 05-Apr-2016 Wei Jia <wjia@google.com> GenericSource: send video input data to decoder in paused state.

Bug: 27926143
Change-Id: If2dc21d2dcb6e8e6d4da5456999899d4dbe5d52b
enericSource.cpp
a05f1e3a8eb80a0a9f19456aea357d6d8e405794 26-Mar-2016 Wei Jia <wjia@google.com> NuPlayer: allow audio tear down to restart with non-offload mode.

Bug: 27673375
Change-Id: Iab3ac908bb850e6333fab0cf83894913c1df9005
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerRenderer.h
3e1715dd62ce6472d19ed6b1b6baf16239b12c5e 23-Mar-2016 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: log pause." into nyc-dev
03a5653c8f25c0e90f362e252be48f95703b18fe 23-Mar-2016 Wei Jia <wjia@google.com> NuPlayerDriver: log pause.

Change-Id: I85776d5d2a0b6dc9c5fd18fc19afc211f3b44b7a
uPlayerDriver.cpp
f4044e892d3939fb99ee545a5e8e8e2999f476b2 22-Mar-2016 Robert Shih <robertshih@google.com> Merge "NuPlayerStreamListener: NULL and bounds check before memcpy" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43 am: 093cd05 am: 05cb2d8 am: 5042d77 am: 6d1599d am: 297a8d2
am: 539826f

* commit '539826f278dadc8041467713790ffe5b54572d6e':
NuPlayerStreamListener: NULL and bounds check before memcpy
6d1599db3c2438287922e58ccae42f10904c2948 22-Mar-2016 Robert Shih <robertshih@google.com> Merge "NuPlayerStreamListener: NULL and bounds check before memcpy" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43 am: 093cd05 am: 05cb2d8
am: 5042d77

* commit '5042d77680112a7dc8f72190d2dc320a13d93500':
NuPlayerStreamListener: NULL and bounds check before memcpy
5042d77680112a7dc8f72190d2dc320a13d93500 22-Mar-2016 Robert Shih <robertshih@google.com> Merge "NuPlayerStreamListener: NULL and bounds check before memcpy" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43 am: 093cd05
am: 05cb2d8

* commit '05cb2d88206227dca9f77d4aaaa47699fb6c70d2':
NuPlayerStreamListener: NULL and bounds check before memcpy
05cb2d88206227dca9f77d4aaaa47699fb6c70d2 22-Mar-2016 Robert Shih <robertshih@google.com> Merge "NuPlayerStreamListener: NULL and bounds check before memcpy" into klp-dev am: 4fa31b5 am: 6ee73da am: 9ef3f17 am: 8278e43
am: 093cd05

* commit '093cd05cb8c505975c678c0ecb1042f798e6416a':
NuPlayerStreamListener: NULL and bounds check before memcpy
8278e439fb12da29b0144d1830d886dc0629a3ce 22-Mar-2016 Robert Shih <robertshih@google.com> Merge "NuPlayerStreamListener: NULL and bounds check before memcpy" into klp-dev am: 4fa31b5 am: 6ee73da
am: 9ef3f17

* commit '9ef3f1714381dd903bd4a1f978c8fb0cc8e15c81':
NuPlayerStreamListener: NULL and bounds check before memcpy
9ef3f1714381dd903bd4a1f978c8fb0cc8e15c81 22-Mar-2016 Robert Shih <robertshih@google.com> Merge "NuPlayerStreamListener: NULL and bounds check before memcpy" into klp-dev am: 4fa31b5
am: 6ee73da

* commit '6ee73dabbf1774517d5d4afcefad4e9f71c6df9b':
NuPlayerStreamListener: NULL and bounds check before memcpy
6ee73dabbf1774517d5d4afcefad4e9f71c6df9b 22-Mar-2016 Robert Shih <robertshih@google.com> Merge "NuPlayerStreamListener: NULL and bounds check before memcpy" into klp-dev
am: 4fa31b5

* commit '4fa31b5d858e11df241d6518cb06eea5b0adb3d6':
NuPlayerStreamListener: NULL and bounds check before memcpy
88b3147ea116911285cdbbea422e67e1c69b355e 18-Mar-2016 Robert Shih <robertshih@google.com> NuPlayerStreamListener: NULL and bounds check before memcpy

Bug: 27533704
Change-Id: I992a7709b92b1cbc3114c97bec48a3fc5b22ba6e
uPlayerStreamListener.cpp
419187cec0ff4660a84524b1980c2a6b6f987272 29-Oct-2015 Wei Jia <wjia@google.com> NuPlayerDriver: no delayed seek.

Bug: 25302052
Change-Id: Icbfd38b6ca26fdefd1b87ea4dcd4e9c576d9bb3f
uPlayerDriver.cpp
uPlayerDriver.h
f013dc41d9ac1e295c91594e6f2ebc1455af5f41 25-Feb-2016 Robert Shih <robertshih@google.com> Merge "Miscellaneous RTSP improvements" into nyc-dev
5031b2f3ac5223587e48fc8463bec24cb62495ba 25-Feb-2016 Wei Jia <wjia@google.com> NuPlayer: allow restartAudio in non-offload mode.

Bug: 27349327
Bug: 27059518
Change-Id: Ia41de9dbe8949ca04f6f3cd11f5b01cea2f53a74
uPlayer.cpp
uPlayer.h
641e0c718da1c58e5b89379f60465c4e564ebb73 22-Feb-2016 Robert Shih <robertshih@google.com> Miscellaneous RTSP improvements

1. Server side management based on buffer monitoring
2. Notify prepared after more buffering
3. Drop stale access units after seek

Bug: 27292698
Change-Id: Ic41686bb3514eb1d4c206bb155d45f34b6350810
TSPSource.cpp
TSPSource.h
bf70feb38dc0361989aa6ef869cdd4f6ce3f7108 20-Feb-2016 Wei Jia <wjia@google.com> NuPlayer: switch to non-offload mode when playback rate is not 1.f

Bug: 27059518
Change-Id: Ib53786fe5ba2271bd4c1563c3ee5403617589066
uPlayer.cpp
uPlayer.h
262c39e35bf88e09dab3e0ae9f7df84db64273bb 18-Feb-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: always send BUFFERING_END to client." into nyc-dev
d2f35de429c67a156299f662b0783fbcead13cb6 18-Feb-2016 Wei Jia <wjia@google.com> NuPlayerRenderer: return correct pending audio duration for virtual audio sink.

Bug: 27222912
Change-Id: Ia900f8ac66fcdad538f847233fe680f6bf47ea2f
uPlayerRenderer.cpp
uPlayerRenderer.h
3bed45a4923eaf615fdc322da7b0b8faf7475a63 17-Feb-2016 Wei Jia <wjia@google.com> NuPlayer: always send BUFFERING_END to client.

Bug: 25727912
Change-Id: I8c0d87ae2611769e275ed8f0d82a8928961657e8
uPlayer.cpp
528c8403ad2ede53054a706a20c00b710fa08166 12-Jan-2016 Andy Hung <hunga@google.com> NuPlayerRenderer: Reduce calls into AudioTrack::getTimestamp

Bug: 26513187
Change-Id: I2e1792fedd81f95272485b0122f1dfe04113f1ac
uPlayerRenderer.cpp
uPlayerRenderer.h
818382eed20cae448416c4ff78d36874016ab30b 11-Feb-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: set mPausedByClient correctly when calling setPlaybackSettings()." into nyc-dev
4ad74b2b4507c8b2714b7b7584578d2d43ae2633 06-Feb-2016 Wei Jia <wjia@google.com> RTSP: increase mCheckGeneration when mCheckPending is set to false.

This will ensure there is only one 'chek' message.
Also delay notification of seek done till kWhatSeekDone, instead of
kWhatSeekPaused. This allows back-to-back multiple seeks.

Bug: 25727912
Change-Id: If873bfaf1c37790e520f1f659ab26148b0c8cd1c
TSPSource.cpp
351ce871cee5da00340cf448e8d73b9e22cea078 10-Feb-2016 Wei Jia <wjia@google.com> NuPlayer: set mPausedByClient correctly when calling setPlaybackSettings().

Also reset mPendingBufferingFlag when seeking.

Bug: 25727912
Change-Id: I1b6ec51b22f981c1701ac7eab572f95e6874c3a0
uPlayer.cpp
07af6518b7b7eeb730ded9c5fd6fd6fb3a462bc5 10-Feb-2016 Wei Jia <wjia@google.com> NuPlayerRenderer: remove extra quotation mark.

Bug: 26400089
Change-Id: Icbfe373424e03629d6bc7242879618402bbbcb96
uPlayerRenderer.cpp
12b6265f1d4be368957f91104d5210cf604ac4cc 10-Feb-2016 Wei Jia <wjia@google.com> NuPlayerRenderer: use system clock when audio sink is not working.

Bug: 26400089
Change-Id: I8243b95798b54daa3023d1123ef0a8351e7502e2
uPlayerRenderer.cpp
71c75e002fce579444a1a6126effe883b963091b 04-Feb-2016 Wei Jia <wjia@google.com> NuPlayer: do not send BUFFERING_START to client when paused by client.

Bug: 25727912
Change-Id: I5f82090352a3d6806f1f8fafbdb2a3bf0be48be7
uPlayer.cpp
uPlayer.h
3ba7ed56de35656a1eeb12fff16531085d3f37cb 03-Feb-2016 Wei Jia <wjia@google.com> Merge "Revert "NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource.""
e67ba383dd585d2c253986a39225e0d6d05755f3 03-Feb-2016 Wei Jia <wjia@google.com> Revert "NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource."

This reverts commit 2c9a30a341e50f53039e1b7da96dfa91104fdd62.
RTSPSource::pause() will stop receiving data in RTSPSource. This is different from GenericSource::pause().

Change-Id: I2df2bf350731ce0fb1f278942b23ccc6f4f37fb9
uPlayer.cpp
uPlayerSource.h
TSPSource.cpp
97385561584e96c1c1149cf883e0ad1c75cfbdd0 22-Jan-2016 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: fix misc. getCurrentPosition issue."
62cc8d0d9d8019a84e6ef63c3917d3beb99061c6 21-Jan-2016 Wei Jia <wjia@google.com> NuPlayerDriver: fix misc. getCurrentPosition issue.

Query position from nuplayer if player is at EOS as driver may have
stale position.

Use driver's getPosition instead of player's getPosition if player is
paused by setPlaybackRate. This will preserve sought position.

Change-Id: Ib55f028438fc40359f599969d01b66aef5100c0a
uPlayerDriver.cpp
f2e71d265424820caf64dd8e53c03c6a65f80373 21-Jan-2016 Wei Jia <wjia@google.com> Merge "NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource."
56097a8ecc31ec308a1caa38f92b69f99324eada 08-Jan-2016 Wei Jia <wjia@google.com> NuPlayerDecoder: fail gracefully when input data can't be held in allocated buffer.

Bug: 24145279
Change-Id: I6b99ee2dc63063557f4ee2c5856f7c848e969752
uPlayerDecoder.cpp
05b7b2d33816a4bf9592ec82639a7bcf06166157 21-Jan-2016 Jaesung Chung <jaesung@google.com> Merge "Support for CEA-708 closed caption"
4def1cb3283df05929dbf81f9ca68803b519437f 20-Jan-2016 Wei Jia <wjia@google.com> GenericSource: reset mPrepareBuffering to initial value when buffering monitor is stopped.

Bug: 26676177
Change-Id: I4dbd86a624bd0c8fb8dd154752e345168e804d6b
enericSource.cpp
2c9a30a341e50f53039e1b7da96dfa91104fdd62 20-Jan-2016 Wei Jia <wjia@google.com> NuPlayer: use kWhatPauseOnBufferingStart instead of kWhatBufferingStart in RTSPSource.

Bug: 24295007
Change-Id: I75026f7c96b40b0d552d849772760367f9859d1b
uPlayer.cpp
uPlayerSource.h
TSPSource.cpp
14532f2383c3849d0db59a607ed0bd802f57155c 29-Dec-2015 Wei Jia <wjia@google.com> MediaPlayer: overhaul buffering monitor scheme.

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

Bug: 24295007
Change-Id: I535a438d96ee902c9b4baa7c84ed7e5063a23964
(cherry picked from commit 32ce83cf93e4eb14c9937e4b850e044f9f7fdf2c)
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerDecoderPassThrough.cpp
uPlayerSource.h
ce84b2240497cd0923e190ae115e319e4c17d303 14-Jan-2016 Wei Jia <wjia@google.com> RTSPSource: check mHTTPService before dereferencing it.

Change-Id: Id92c5ed86742f9c5cb0a67207b26de61523fd009
TSPSource.cpp
00541e293c250ea9e31b6ab2dc134802e34fe843 19-Dec-2015 Robert Shih <robertshih@google.com> NuPlayerRenderer: delay video until audio clock is ready

Bug: 26291187
Change-Id: Ifcfc87033390ed772868976129e233afb099c13b
uPlayerRenderer.cpp
fe2d80d385d71be73ba6ac0f5c98de1b524bf12f 08-Dec-2015 Chong Zhang <chz@google.com> DO NOT MERGE nuplayer: do not use cached source for wvm content am: 91a23ed95c
am: 83487187ab

* commit '83487187ab549d0966791a60a92d49d77e47f071':
DO NOT MERGE nuplayer: do not use cached source for wvm content
3694d7cf40d1645bf05246cf38595eed606bb650 21-Oct-2015 Jaesung Chung <jaesung@google.com> Support for CEA-708 closed caption

Bug: 24314667, Bug: 24889604
Change-Id: Ica8a8405b143921de82ca6075a1f7b1f6f9ff345
enericSource.cpp
uPlayerCCDecoder.cpp
uPlayerCCDecoder.h
91a23ed95cda558a3c31e8ef34f420924f4d6d7d 20-Feb-2015 Chong Zhang <chz@google.com> DO NOT MERGE nuplayer: do not use cached source for wvm content

bug: 18730095, 25563255
Change-Id: Ibd4f54907949daae1d095fa0922050310d16698f
(cherry picked from commit fc6cfd8343ae8919e85ec22efed9df626fe8854b)
enericSource.cpp
728a7aa0819cd583f09a941f26b71886533a244f 04-Dec-2015 Andy Hung <hunga@google.com> Merge "NuPlayerRenderer: Allow immediate pause on next track."
8420073fda0f6f6c68c952e030b0dbc184112e42 03-Dec-2015 Andy Hung <hunga@google.com> NuPlayerRenderer: Allow immediate pause on next track.

Prior code required audio data to have been decoded first.

Bug: 25904185
Change-Id: I52fa65b2ed53d29ddd534c2bf3070626d54bd633
uPlayerRenderer.cpp
f4284584d6a12c19906d661e55163c0d90f83286 30-Nov-2015 Marco Nelissen <marcone@google.com> Merge "Tuning the number of packets for one read in StreamingSource" am: 9cd5f8115b am: a4afeea0dc
am: 2a9cf2eeef

* commit '2a9cf2eeefa590a26c0af51fa226940560e5bef2':
Tuning the number of packets for one read in StreamingSource
a4afeea0dccf5d2bf400f53743df196ceee2fcbe 30-Nov-2015 Marco Nelissen <marcone@google.com> Merge "Tuning the number of packets for one read in StreamingSource"
am: 9cd5f8115b

* commit '9cd5f8115b9d2414e8ec537ffec3308776c2b587':
Tuning the number of packets for one read in StreamingSource
9cd5f8115b9d2414e8ec537ffec3308776c2b587 30-Nov-2015 Marco Nelissen <marcone@google.com> Merge "Tuning the number of packets for one read in StreamingSource"
dc123cbae198204e8c6c3d4f4f09a95cbc0e9ec5 26-Nov-2015 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: always display the first video frame without delay." am: 80b991393d am: bd060b5932
am: caf17eb5d7

* commit 'caf17eb5d71fb588fd1cc0c040f4d18538170e3d':
NuPlayerRenderer: always display the first video frame without delay.
bd060b5932d4c27cb7e11d5b7273de945a125e7d 26-Nov-2015 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: always display the first video frame without delay."
am: 80b991393d

* commit '80b991393de73161eb0bf8e692c830eb9ab12ca4':
NuPlayerRenderer: always display the first video frame without delay.
80b991393de73161eb0bf8e692c830eb9ab12ca4 26-Nov-2015 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: always display the first video frame without delay."
7897659e2756c0f715b7469421cbbeb4d422eae0 25-Nov-2015 Wei Jia <wjia@google.com> Merge "NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data." am: f5ac18d2fd am: 674649bcb5
am: 873ca50c7d

* commit '873ca50c7d590b4a04efc1e9c6ffec566e7e4e24':
NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.
674649bcb5d3e5fd6e527906c7b166f96d35ec16 25-Nov-2015 Wei Jia <wjia@google.com> Merge "NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data."
am: f5ac18d2fd

* commit 'f5ac18d2fd86b1fe6d2f115d64d95117ed7f96f5':
NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.
25d696f31bfcbb24459f5d68c2288101bb5f7875 19-Nov-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: always display the first video frame without delay.

Bug: 25357751
Change-Id: Iffd9af2ddf7626155d98caf086fe209600141585
uPlayerRenderer.cpp
3bc667014875aba35102941b3997d242c303aa0d 19-Nov-2015 Wei Jia <wjia@google.com> NuPlayerDecoder: add synchronous call pause() to ensure decoder will not request or send out data.

Bug: 25372978
Change-Id: Id66ab9b9961d5a3b9fb783ae73c27ed1c8054db8
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
10a121b2a3ea3334e1e3a2722b2a03833fb9a897 04-Nov-2015 Marco Nelissen <marcone@google.com> GenericSource: use sp<> instead of regular pointer.

Regular pointers have a tendency to go stale.

Bug: 25472775
Change-Id: I85fc152e11d11d2f29ba621e88ea314f56e7dd60
enericSource.cpp
74e0f3a620bd0cdfb153728e99a17a96ca3db0de 03-Nov-2015 Bill Yi <byi@google.com> Merge commit 'f71d2618532e73db5c01e3c00595d7d2ab2cff3e' into HEAD
c24b47c33d9f250972a570a9ff22920f98d3c732 30-Oct-2015 Ronghua Wu <ronghuawu@google.com> Merge "nuplayer: don\'t resume if player is reseting"
am: c5ea4edcd4

* commit 'c5ea4edcd4326eaea78549e3d1ad5e4367e65f06':
nuplayer: don't resume if player is reseting
9a40167c3dc32fccc72abd96f03df6ea5676793b 28-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Extractor service"
b2487f03f12dcafdb801fc0007c8df8412397f44 01-Sep-2015 Marco Nelissen <marcone@google.com> Extractor service

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

Change-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13
enericSource.cpp
enericSource.h
7350b057ca864f5dc9e53d48e34710a8e81133f8 02-Oct-2015 Robert Shih <robertshih@google.com> Don't re-scan sources if no new ones will appear

The only scenario we might need to re-scan is when switching between
bitrate variants in HTTPLiveSources.

Bug: 23313819
Change-Id: I892033c8698f985de74801c39ac5b5417ed19e89
TTPLiveSource.cpp
uPlayer.cpp
b75de9d4ba6725104342b5376a1047ff1c9b2765 08-Oct-2015 Ronghua Wu <ronghuawu@google.com> nuplayer: don't resume if player is reseting

Bug: 24712426
Change-Id: I58cca0bde708a5c3b073ed77e18b62fe81d6c017
uPlayer.cpp
uPlayer.h
8cf4ced8d25e9b1b56b69b544339acc1550e4038 06-Oct-2015 osamu fujita <osamu.x.fujita@sonymobile.com> Tuning the number of packets for one read in StreamingSource

Read performance in StreamingSource became worse from LMR1 because
the design was changed to asynchronous from synchronous.
As a result, the generation of access unit does not make it
in time for some multiplexed contents, and this causes frame drop.
This patch improves read performance by increasing the number of
packets for one read.

Change-Id: I14955da5a9c5415e35905cc95f1471e0811a4991
treamingSource.cpp
64c2d17111b5aebaee2592d9d17c56301bb3e1bc 08-Oct-2015 Ronghua Wu <ronghuawu@google.com> nuplayer: don't resume if player is reseting

Bug: 24712426
Change-Id: I58cca0bde708a5c3b073ed77e18b62fe81d6c017
uPlayer.cpp
uPlayer.h
4a8b99cf5d7754d0cad30ec376d2883efe078feb 26-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Play timed text even after 35.79 minutes" am: 66bee4de48 am: 7b65e85b6f
am: 02e3ed9de2

* commit '02e3ed9de28cc2f38edee12423dc36b3ef348a47':
Play timed text even after 35.79 minutes
02e3ed9de28cc2f38edee12423dc36b3ef348a47 26-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Play timed text even after 35.79 minutes" am: 66bee4de48
am: 7b65e85b6f

* commit '7b65e85b6f4fb063b5156c39e36c5e115e81d935':
Play timed text even after 35.79 minutes
7b65e85b6f4fb063b5156c39e36c5e115e81d935 26-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Play timed text even after 35.79 minutes"
am: 66bee4de48

* commit '66bee4de485d389d719a7dea03d73baa5380eacf':
Play timed text even after 35.79 minutes
24d484bab46ef8f9c95197afa064c941eb5fccba 27-Jan-2015 Patrik2 Carlsson <patrik2.carlsson@sonymobile.com> Play timed text even after 35.79 minutes

int overflow when converting current position in ms to Us

Change-Id: I12882e52ed1ac92644d601efae5c10ec25ae9e63
uPlayer.cpp
fd72a5b9e1b7d36d8afb116b8e08c28ad444c188 23-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDecryptHandle when mDataSource is cleared. am: 09c291c838 am: 313358c747 am: 92b6cd8da9 am: 7b5564e251
am: 000321c7ee

* commit '000321c7ee8c2a0e489d41b9a5f8bad93bdd89b2':
GenericSource: reset mDecryptHandle when mDataSource is cleared.
000321c7ee8c2a0e489d41b9a5f8bad93bdd89b2 22-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDecryptHandle when mDataSource is cleared. am: 09c291c838 am: 313358c747 am: 92b6cd8da9
am: 7b5564e251

* commit '7b5564e251680275d810b5c34b5d9a3caebff0fb':
GenericSource: reset mDecryptHandle when mDataSource is cleared.
92b6cd8da9052e17710945604cd45098ebfb25e0 22-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDecryptHandle when mDataSource is cleared. am: 09c291c838
am: 313358c747

* commit '313358c747b54bbdcbff97636546e0304f6f4947':
GenericSource: reset mDecryptHandle when mDataSource is cleared.
2f218cfd1f58624de6a90aae32a35eba78e8097b 22-Oct-2015 Wei Jia <wjia@google.com> Merge "GenericSource: reset mDecryptHandle when mDataSource is cleared." into mnc-dr-dev am: f8dc643316 am: 87494c6a68
am: 5357aa663e

* commit '5357aa663ed4467e830925a942021064374c0616':
GenericSource: reset mDecryptHandle when mDataSource is cleared.
09c291c838bc74bb7c10c22f7232abb946cad8ff 22-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDecryptHandle when mDataSource is cleared.

Bug: 25070434
Change-Id: Ib0eb6a419683a0e686a4f63b82e9300cb1f69484
(cherry picked from commit cdc9cf656a8e43875234cb021fffeb4792d7c74e)
enericSource.cpp
cdc9cf656a8e43875234cb021fffeb4792d7c74e 22-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDecryptHandle when mDataSource is cleared.

Bug: 25070434
Change-Id: Ib0eb6a419683a0e686a4f63b82e9300cb1f69484
enericSource.cpp
ddb3d77dad1766708fdb18cc48e60a663ee8e2e1 21-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDrmManagerClient when mDataSource is cleared. am: 224858e719 am: 69c8e36da7 am: 3fcddfd23a am: e01ba47052
am: adadada4f0

* commit 'adadada4f00eaf44bbc616be7a7d30010750560e':
GenericSource: reset mDrmManagerClient when mDataSource is cleared.
adadada4f00eaf44bbc616be7a7d30010750560e 21-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDrmManagerClient when mDataSource is cleared. am: 224858e719 am: 69c8e36da7 am: 3fcddfd23a
am: e01ba47052

* commit 'e01ba470525155c1c36e53d242a12a778069a5bc':
GenericSource: reset mDrmManagerClient when mDataSource is cleared.
3fcddfd23adc88116c8fe5ea593626bfce0b75bd 21-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDrmManagerClient when mDataSource is cleared. am: 224858e719
am: 69c8e36da7

* commit '69c8e36da7137730f4789a0d27d983b40d1f2917':
GenericSource: reset mDrmManagerClient when mDataSource is cleared.
d855a738735a3df8863b486f5d3b5e404cef15c1 21-Oct-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: fix merge error.

Change-Id: I9cadabd4b5699a607fd5b22f8bd50f9203542b46
uPlayerRenderer.cpp
c4ac8173f911aeac8d5006b19ba48fb51a865115 21-Oct-2015 Wei Jia <wjia@google.com> AudioSink: move getPlayedOutAudioDurationUs() from NuPlayerRenderer to AudioSink.

Change-Id: Id22e10dc5f1cd7ade0e043ea56ed77497c2e32af
uPlayerRenderer.cpp
uPlayerRenderer.h
4ecbea3ae1fcefb082dc419cb663909536138ddb 21-Oct-2015 Wei Jia <wjia@google.com> MediaClock: prevent media time from going backwards.

Media Clock is started only when AudioSink has rendered some frames.

Bug: 25074321
Change-Id: Ic09fc666eed019e24f5b6a4b8929021eab87ca41
uPlayerRenderer.cpp
422bf879ed138202f7731d5f279c64af5af7da42 21-Oct-2015 Wei Jia <wjia@google.com> Merge "GenericSource: reset mDrmManagerClient when mDataSource is cleared." into mnc-dr-dev am: 7bfd9afefa am: 023815588c
am: 558f5c28c9

* commit '558f5c28c9a1e70dd9ef7ee2fbd33ef407a53de8':
GenericSource: reset mDrmManagerClient when mDataSource is cleared.
224858e719d045c8554856b12c4ab73d2375cf33 20-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDrmManagerClient when mDataSource is cleared.

Bug: 25070434
Change-Id: Iade3472c496ac42456e42db35e402f7b66416f5b
(cherry picked from commit b41fd0d4929f0a89811bafcc4fd944b128f00ce2)
enericSource.cpp
12a841346158e6edad01e3601014058cfc0ca01d 21-Oct-2015 Andy Hung <hunga@google.com> Nuplayer: Fix playback for video only streams

Bug: 24146140
Change-Id: I58c72c74cfcffa66ea8dc5804bcfc5ba884cbab9
uPlayer.cpp
b41fd0d4929f0a89811bafcc4fd944b128f00ce2 20-Oct-2015 Wei Jia <wjia@google.com> GenericSource: reset mDrmManagerClient when mDataSource is cleared.

Bug: 25070434
Change-Id: Iade3472c496ac42456e42db35e402f7b66416f5b
enericSource.cpp
216f0177cbfa0d8e911d64fc17ccbb5100ad87b4 21-Aug-2015 Eric Laurent <elaurent@google.com> NuPlayerDecoder: report error in case of audio sink open error.

Bug: 21093153.
Change-Id: I77e03a620b43967991dcee9d6ca01f67c8b7a02e
(cherry picked from commit 15ce09dddf830d6a6ca097c5ec0a7ec7c35b6b3a)
uPlayerDecoder.cpp
a5b4642220b810d8f044171c7c05aed0597a1812 04-Sep-2015 Andy Hung <hunga@google.com> NuPlayerRenderer: do not send rendering started message when paused

Delay until resume.

Bug: 23669269
Change-Id: I0a805812d80b1aad561425442bca0fc05a05752f
uPlayerRenderer.cpp
uPlayerRenderer.h
95c3a43ae474f327289670c8fc61a0ec003810af 14-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Don't send OnCompletion events when looping" into mnc-dr-dev
106ceacb404fc580984f882a0c17d61aed3aaf7b 08-Oct-2015 Wei Jia <wjia@google.com> NuPlayer: reset mAudioEOS and mVideoEOS when renderer is flushed.

Bug: 24749881
Change-Id: I0d3a757262446ac702dfebd464d5e59f1a98eba8
(cherry picked from commit 3261f0db54e31e652af9bd3b76a8e85174f5ee87)
uPlayer.cpp
780b766d823040e2d015529e5529c83a008442cc 13-Oct-2015 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: acquire mLock when needed." into mnc-dr-dev
3f6fe8512006905f584e6a9998e1707350c7a1e5 13-Oct-2015 Wei Jia <wjia@google.com> am 4e1095c6: am 1a825df7: Merge "NuPlayerRenderer: always update MediaClock with max media duration." into cw-e-dev

* commit '4e1095c67f144ac8b90170afae035fea57454d9d':
NuPlayerRenderer: always update MediaClock with max media duration.
842396584c80d352c9aa7ea249399102155df49b 06-Oct-2015 Wei Jia <wjia@google.com> NuPlayerDriver: acquire mLock when needed.

Bug: 24338126
Change-Id: Ic55d1a551c18255423423079b6c2bf045dea6e44
(cherry picked from commit f3631d2921ee0738f87427848e38873370ef9ec0)
uPlayerDriver.cpp
4e1095c67f144ac8b90170afae035fea57454d9d 13-Oct-2015 Wei Jia <wjia@google.com> am 1a825df7: Merge "NuPlayerRenderer: always update MediaClock with max media duration." into cw-e-dev

* commit '1a825df7d657ff70f356965140340e488e121033':
NuPlayerRenderer: always update MediaClock with max media duration.
492ccd6f03f83a72dcde6aa1674cc22fd45fc06e 13-Oct-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: always update MediaClock with max media duration.

Bug: 24345295
Change-Id: I868c9c44ea22de98a083432262e485d0f134203f
(cherry picked from commit d005c5ddb4842369979df7b76f1d0f5f1380fcd9)
uPlayerRenderer.cpp
b345ddc3c728359166375af6f19367f547bbd613 08-Oct-2015 Marco Nelissen <marcone@google.com> Don't send OnCompletion events when looping

AwesomePlayer never did, and neither should NuPlayer.

Bug: 18656047
Change-Id: Ia9abe42cfe6ea643633cec859e9da770092569bb
uPlayerDriver.cpp
d005c5ddb4842369979df7b76f1d0f5f1380fcd9 13-Oct-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: always update MediaClock with max media duration.

Bug: 24345295
Change-Id: I868c9c44ea22de98a083432262e485d0f134203f
uPlayerRenderer.cpp
3809d9ee895ecd3366fa6c4c532c0ac5930d2a6f 09-Oct-2015 Marco Nelissen <marcone@google.com> am a8d731c3: am 185c1347: am 69f26226: Merge "Don\'t send OnCompletion events when looping"

* commit 'a8d731c34e9c414d8ed3517985dfda405ba7e3c1':
Don't send OnCompletion events when looping
185c134768b418dbc6c19c9a0ee75f6dc2a95bb4 09-Oct-2015 Marco Nelissen <marcone@google.com> am 69f26226: Merge "Don\'t send OnCompletion events when looping"

* commit '69f262267cede8b34022deae67336f705bebfcf2':
Don't send OnCompletion events when looping
3261f0db54e31e652af9bd3b76a8e85174f5ee87 08-Oct-2015 Wei Jia <wjia@google.com> NuPlayer: reset mAudioEOS and mVideoEOS when renderer is flushed.

Bug: 24749881
Change-Id: I0d3a757262446ac702dfebd464d5e59f1a98eba8
uPlayer.cpp
0e4bd4db6072472de7b7fca7c91f8ac854b2d24c 08-Oct-2015 Marco Nelissen <marcone@google.com> Don't send OnCompletion events when looping

AwesomePlayer never did, and neither should NuPlayer.

Bug: 18656047
Change-Id: Ia9abe42cfe6ea643633cec859e9da770092569bb
uPlayerDriver.cpp
f3631d2921ee0738f87427848e38873370ef9ec0 06-Oct-2015 Wei Jia <wjia@google.com> NuPlayerDriver: acquire mLock when needed.

Bug: 24338126
Change-Id: Ic55d1a551c18255423423079b6c2bf045dea6e44
uPlayerDriver.cpp
82b34505323c095c800f6620a09fd58a17016699 15-Sep-2015 Andy Hung <hunga@google.com> Merge "NuPlayerRenderer: Do not drain audio during teardown" into mnc-dr-dev
9436e48eed5e9be6b98ec6eb7df43845fc781a44 15-Sep-2015 Marco Nelissen <marcone@google.com> Fix the fix

AMessage::find* returns a bool, not a status_t

Change-Id: I89a56181f088881de215e8e79843637eb1b7e8ff
uPlayer.cpp
c367ca1762278277fb7a7d1156ce6e193ab524a3 15-Sep-2015 Marco Nelissen <marcone@google.com> Fix a few potential crashes

Change-Id: Ib7bdfc1d5fff928570e4fec3f3d4e175f9656dd3
enericSource.cpp
uPlayer.cpp
5a965bb113c6c57dd381ea4d44272ad2789f6428 15-Sep-2015 Andy Hung <hunga@google.com> Merge "NuPlayerRenderer: Do not drain audio during teardown"
58d315cae745aae2c87eb3e7cac2da5e25a57d4c 12-Sep-2015 Andy Hung <hunga@google.com> NuPlayerRenderer: Do not drain audio during teardown

Bug: 23748678
Change-Id: I8b65786f25f4524e5e2e9476ecc2a4f4ab3aea9e
uPlayerRenderer.cpp
b12ea0bbda453769584efcea69054b41d9b4c4c7 04-Sep-2015 Andy Hung <hunga@google.com> NuPlayerRenderer: do not send rendering started message when paused

Delay until resume.

Bug: 23669269
Change-Id: I0a805812d80b1aad561425442bca0fc05a05752f
uPlayerRenderer.cpp
uPlayerRenderer.h
421977ae5117403dd481424fab48850d31f239e8 14-Sep-2015 Wonsik Kim <wonsik@google.com> am c53328a5: am 67f36a8e: resolved conflicts for 76b704e3 to lmp-mr1-dev

* commit 'c53328a55427224dd42534d2b500728e38a83ca2':
DO NOT MERGE: Protect data source access with mutex during disconnect
67f36a8e6130f5c22ab177b0d29f5705e86daca2 14-Sep-2015 Wonsik Kim <wonsik@google.com> resolved conflicts for 76b704e3 to lmp-mr1-dev

Change-Id: I843f6b4080b06581c52683ab4af5261e974cd7af
f5eb7c6fa2f6acb0fb19df9809d409f21e04ca4c 14-Sep-2015 Andy Hung <hunga@google.com> Merge "NuPlayerRenderer: Do not deliver audio too soon after stop" into mnc-dr-dev
3f5ff68327b1df21196f18a020aec474a0dd95fe 12-Sep-2015 Andy Hung <hunga@google.com> NuPlayerRenderer: Do not drain audio during teardown

Bug: 23748678
Change-Id: I8b65786f25f4524e5e2e9476ecc2a4f4ab3aea9e
uPlayerRenderer.cpp
b06a77e2968ec5cf5d116f7cd633afc1fe065ae6 09-Sep-2015 Marco Nelissen <marcone@google.com> Merge "Make NuPlayer send global timed text info too"
27e0350ae57184d5e300f96c8338379f5d3d0fbc 09-Sep-2015 Robert Shih <robertshih@google.com> am b946648c: Protect data source access with mutex during disconnect

* commit 'b946648cc63a4d328318b56215214ead575bc54a':
Protect data source access with mutex during disconnect
f3eb82683a80341f5ac23057aab733a57963cab2 02-Sep-2015 Robert Shih <robertshih@google.com> DO NOT MERGE: Protect data source access with mutex during disconnect

Bug: 23658148
Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
enericSource.cpp
enericSource.h
b946648cc63a4d328318b56215214ead575bc54a 02-Sep-2015 Robert Shih <robertshih@google.com> Protect data source access with mutex during disconnect

Bug: 23658148
Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
enericSource.cpp
enericSource.h
55e2f4ca5bb23ce32fbdd627b0f648c27106b98e 05-Sep-2015 Marco Nelissen <marcone@google.com> Make NuPlayer send global timed text info too

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

Change-Id: I1be451c4b3191cae65bc46b3b721a1924b4fadc8
enericSource.cpp
enericSource.h
uPlayer.cpp
b669b18d7fee8f7ba1ff64681b4869ac648f0d8f 04-Sep-2015 Robert Shih <robertshih@google.com> Merge "Protect data source access with mutex during disconnect"
0386c91b8a910a134e5898ffa924c1b6c7560b13 28-Aug-2015 Wei Jia <wjia@google.com> MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

GenericSource: return error when no track exists.

SampleIterator: make sure mSamplesPerChunk is not zero before using it as divisor.

Bug: 21657957
Bug: 23705695
Bug: 22802344
Change-Id: I7664992ade90b935d3f255dcd43ecc2898f30b04
enericSource.cpp
ebc2712d5e8a66f8d6652e7cc7fb14cdbec7f235 02-Sep-2015 Robert Shih <robertshih@google.com> Protect data source access with mutex during disconnect

Bug: 23658148
Change-Id: Ic37cac7b5d166143e0b77e9919b0aaef486e4fdd
enericSource.cpp
enericSource.h
360df70a479a4992ea64c0f72dd464c8767620f8 03-Sep-2015 Wei Jia <wjia@google.com> am 4b0d70df: am 084b0de5: Merge "NuPlayerRenderer: avoid divison by zero when sample rate is 0." into mnc-dr-dev

* commit '4b0d70df1f3021c10ae640cb0df7497a19f4f338':
NuPlayerRenderer: avoid divison by zero when sample rate is 0.
1947550866d9edbb2d5aed8394a520803ca8ec43 03-Sep-2015 Ronghua Wu <ronghuawu@google.com> am 1e9f2979: am cfb252cd: Merge "nuplayer: let non-offload AudioSink to handle the reconnect when there\'s video." into mnc-dr-dev

* commit '1e9f29799a593f829e476ee3fb09956440dfd8a0':
nuplayer: let non-offload AudioSink to handle the reconnect when there's video.
4d7ac854c5a45d0e3af3d0af78b5a8c9807cbec6 01-Sep-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: avoid divison by zero when sample rate is 0.

Also close AudioSink when failing to set playback rate.

Bug: 23624664
Change-Id: I5bf8bcca4a21c26fb52821db597d61f7f1273d5c
uPlayerRenderer.cpp
7665f5886093e1aee07a5266b8c384e5d1186f34 02-Sep-2015 Ronghua Wu <ronghuawu@google.com> nuplayer: let non-offload AudioSink to handle the reconnect when there's video.

Bug: 23707144
Change-Id: Ie0e2db8dc91a78f82fb935d165aa11abe73697a3
uPlayerRenderer.cpp
7d05308b16a688436331de2e94d89e46d05d8d1d 28-Aug-2015 Andy Hung <hunga@google.com> NuPlayerRenderer: Do not deliver audio too soon after stop

For non-offloaded audio, do not deliver audio data too soon after stop
when in paused mode. Otherwise the audio MixerThread will keep the
track playing, instead of inactivating the track.

Bug: 23167401
Change-Id: If376148c742fde2d20dc5d23bf0b894fe378e71a
(cherry picked from commit b03dcb34cd44d77e5fe1559e72323e03c59931db)
uPlayerRenderer.cpp
uPlayerRenderer.h
b7b23d3cf474e4a34e3609cbe96337cdb71d4cf0 01-Sep-2015 Andy Hung <hunga@google.com> Merge "NuPlayerRenderer: Do not deliver audio too soon after stop"
7c8d0e0a896eb736ca4cec7fb796704a3c14ab66 28-Aug-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: discard delayed audio EOS notification when renderer being flushed.

Bug: 23226641
Change-Id: I21fc7b8fd66ceefe70b110987e472f035198d1ae
uPlayerRenderer.cpp
uPlayerRenderer.h
b03dcb34cd44d77e5fe1559e72323e03c59931db 28-Aug-2015 Andy Hung <hunga@google.com> NuPlayerRenderer: Do not deliver audio too soon after stop

For non-offloaded audio, do not deliver audio data too soon after stop
when in paused mode. Otherwise the audio MixerThread will keep the
track playing, instead of inactivating the track.

Bug: 23167401
Change-Id: If376148c742fde2d20dc5d23bf0b894fe378e71a
uPlayerRenderer.cpp
uPlayerRenderer.h
03753ecd014ca07846e43f547570be1244af6d34 28-Aug-2015 Wei Jia <wjia@google.com> am a3610be1: am 08723d86: am 5d76e54d: Merge "NuPlayer: do not create audio decoder if the player is still in shutdown process." into mnc-dev

* commit 'a3610be12d03da21dcb5e6ed36b98db9d0e4d692':
NuPlayer: do not create audio decoder if the player is still in shutdown process.
08723d86e9921a3eacca77c79c50839d40ee4f33 28-Aug-2015 Wei Jia <wjia@google.com> am 5d76e54d: Merge "NuPlayer: do not create audio decoder if the player is still in shutdown process." into mnc-dev

* commit '5d76e54d2f3b02b52be035e37681fde0caf15eaa':
NuPlayer: do not create audio decoder if the player is still in shutdown process.
566da808857c2c26e191ce18aba5abe97746fe1a 27-Aug-2015 Wei Jia <wjia@google.com> NuPlayer: do not create audio decoder if the player is still in shutdown process.

Bug: 23350795
Change-Id: I46b02cf31d7d4447806910a9ecd8c3bda05f2f5b
uPlayer.cpp
f3c2b3df8bf616ad593e2c0101b04a718f291827 06-Aug-2015 Wei Jia <wjia@google.com> NuPlayerDriver: log more info for existing lines.

Change-Id: Ibab966e564aa5d5b84841e8769c0ebe46caa2d9c
uPlayerDriver.cpp
15ce09dddf830d6a6ca097c5ec0a7ec7c35b6b3a 21-Aug-2015 Eric Laurent <elaurent@google.com> NuPlayerDecoder: report error in case of audio sink open error.

Bug: 21093153.
Change-Id: I77e03a620b43967991dcee9d6ca01f67c8b7a02e
uPlayerDecoder.cpp
2b355c2063fa89a50c5fd463c00a47633dfee56b 18-Aug-2015 Eric Laurent <elaurent@google.com> am 6ee9b57b: am dd6a1764: am c08872f9: Merge "NuPlayerRenderer: handle error when resuming an offloaded track" into mnc-dev

* commit '6ee9b57b06a40e2490911cd390e8528eda0b21c5':
NuPlayerRenderer: handle error when resuming an offloaded track
dd6a17649106fd48b0e69703d339bbc5a1ae9a0b 18-Aug-2015 Eric Laurent <elaurent@google.com> am c08872f9: Merge "NuPlayerRenderer: handle error when resuming an offloaded track" into mnc-dev

* commit 'c08872f977fc52c015cc17438dd3bd7981dfc0dc':
NuPlayerRenderer: handle error when resuming an offloaded track
3f37eb27745f9581292fb2f214773f6fcafb21f1 14-Aug-2015 Robert Shih <robertshih@google.com> am 11787971: am f33a302f: Merge "RTSPSource::pause mHandler NULL check" into mnc-dr-dev

* commit '117879713fbe181e8fa251ff7637a4599bce844c':
RTSPSource::pause mHandler NULL check
f33a302f112f19503e842cacfea1492ae81796b0 14-Aug-2015 Robert Shih <robertshih@google.com> Merge "RTSPSource::pause mHandler NULL check" into mnc-dr-dev
6d3cd2e22c73e5b554a2c4e34d51616f8737e571 13-Aug-2015 Robert Shih <robertshih@google.com> RTSPSource::pause mHandler NULL check

Bug: 23151568
Change-Id: I2dba3e7388b1b84b8b762dbc82c8e5330a158d97
TSPSource.cpp
97c9f4fd7bc31e2968d816402659ba1c64f10b42 12-Aug-2015 Eric Laurent <elaurent@google.com> NuPlayerRenderer: handle error when resuming an offloaded track

Make sure that an offloaded audio track is torn down if
start() returns an error in onResume().
This makes sure that a track invalidated due to a potential
audio path change while paused is re created on the correct
output.

Bug: 22256441.
Change-Id: I6c7bfec6e7322415daffc0451bab46d0c558522a
uPlayerRenderer.cpp
4fd29c293f30d54c8740ac097b9d159781228c3e 11-Aug-2015 Wei Jia <wjia@google.com> am 4d9e6d1b: am a3474637: am 9195d57f: Merge "NuPlayer: set video surface directly when NuPlayer has not started yet." into mnc-dev

* commit '4d9e6d1b8455ecd174a85257950ee9d787ac9fa6':
NuPlayer: set video surface directly when NuPlayer has not started yet.
6b7d2ed40c4e7f7bac824c44795e2cd83459844c 11-Aug-2015 Wei Jia <wjia@google.com> NuPlayer: set video surface directly when NuPlayer has not started yet.

Bug: 22119956
Change-Id: Ie174f4fc495ab8418993ff7887aaa6ae721c6008
uPlayer.cpp
e3afbff71f399ea8ae7832e37edd151d9f9204c6 06-Aug-2015 Robert Shih <robertshih@google.com> am 79355de9: am 27b71aa7: Merge "NuPlayer:seek handling on kWhatAudioTearDown" into mnc-dev

* commit '79355de939e57dcb7eab8e923bb388691c50c58e':
NuPlayer:seek handling on kWhatAudioTearDown
27b71aa74b6ddfb45a5508dcaa90c5065a12500b 05-Aug-2015 Robert Shih <robertshih@google.com> Merge "NuPlayer:seek handling on kWhatAudioTearDown" into mnc-dev
1a5c859016e743779e4db25855390b3ce523cd48 05-Aug-2015 Robert Shih <robertshih@google.com> NuPlayer:seek handling on kWhatAudioTearDown

Restart from previous seek time on kWhatAudioTearDown if mRenderer
didn't supply a useful positionUs.

Bug: 22662968
Change-Id: Ic21957f676ba25fb92694f71093bed60b630390b
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
8f4c4c964fd247747789daa0166d814b5425c45f 30-Jul-2015 Lajos Molnar <lajos@google.com> am 014e6f52: am c20cf8b5: Merge "stagefright: disable automatic experiments" into mnc-dev

* commit '014e6f52719d05acc988ad5623b5228e7b374ca7':
stagefright: disable automatic experiments
2995dc7afc23e42478969bf567aa3435f4d3b54d 25-Jul-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: allow video to update media clock when audio reaches EOS.

Bug: 22769545

Change-Id: I417f00a16bd7859a09eeb44d57ea426cc35dc4a4
uPlayerRenderer.cpp
uPlayerRenderer.h
7c3c275b4d0100eec36f7b66637a7aace7971466 29-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: disable automatic experiments

allow manually-enabled experiments only in eng and userdebug builds

Bug: 20894667
Change-Id: Ie6c93e9482a84ed3aaf6aa0abd909f14cfea4e9b
ndroid.mk
98e7ece3fcea7d95620049a69df08140f59ba3b8 24-Jul-2015 Shivaprasad Hongal <shongal@codeaurora.org> nuplayer: Fix incorrect audio resume time during seek

GenericSource uses the timestamp of last video buffer
read in readBuffer() to seek audio, due to which audio
starts at a later position leading to frame drops.

Add change to use the first video sample timestamp
to seek audio

Bug: 22770523

CRs-Fixed: 780094
Author: Xavier Varricatt <xvarrica@codeaurora.org>
Change-Id: I5f2061e67994a3a0330b527bd3164ee04ed04005
enericSource.cpp
e1d701902765c710398133025cfeee3ea8b6d280 24-Jul-2015 Robert Shih <robertshih@google.com> NuPlayerRenderer: prepareForMediaRenderingStart_l on en/disable offload audio

Bug: 22662910
Change-Id: I8fb4a9fce801295a4b251e27965aef048d217da6
uPlayer.cpp
uPlayerRenderer.cpp
68845c14ebf2c7282800b1abffde38d8e9a57aab 21-Jul-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: propagate caller pid to MediaCodec.

Bug: 22630317
Change-Id: I0337d74f4ef04bf96f2de83f33d98d0d7da47c12
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDriver.cpp
uPlayerDriver.h
9febc8a664d25eaa699134682aa455ab4d7f62a2 17-Jul-2015 Robert Shih <robertshih@google.com> Merge "RTSP: clear data/eos status before returning from seek" into mnc-dev
a3725d7b0cb79ddb49f81cba00a0164d8e645acd 02-Jul-2015 Lajos Molnar <lajos@google.com> stagefright: MediaSync: use VideoFrameScheduler

Move VideoFrameScheduler to libstagefright as part of this change.

Bug: 22234976
Change-Id: Ib23fb52399cb700a1dcf789e8486b94a3edf9d95
uPlayerRenderer.cpp
8d237a5ce1e3c1dbc1d538f47e68cff2cc52d799 14-Jul-2015 Robert Shih <robertshih@google.com> RTSP: clear data/eos status before returning from seek

The original RTSP seek implementation involves pausing and restarting
a session. This change clears data/eos status after an rtsp session
is paused for a seek, and delays the seek to return after data/eos
status are cleared.

Bug: 22207372
Change-Id: I1bdf65653f90436f7ee5d7fe85eeadc1598a0d56
TSPSource.cpp
TSPSource.h
6712ae1e1cd4e68c6f43ea3396c30a3633d8bd8c 15-Jul-2015 Wei Jia <wjia@google.com> Merge "NuPlayer: fix handling of teardown event during flushing or shutting down." into mnc-dev
da4252f86b1b730827053f015acec43b9c61fd37 15-Jul-2015 Wei Jia <wjia@google.com> NuPlayer: fix handling of teardown event during flushing or shutting down.

Bug: 22481669
Change-Id: I9114c16c081fd7907508e9c776607d653ae18612
uPlayer.cpp
1bc88814f530bf67e425cfb8cea0f2b8dce3c03f 15-Jul-2015 Chong Zhang <chz@google.com> Merge "NuPlayer: pull more video buffers in advance in GenericSource" into mnc-dev
fcf044a9c5624395d24eb6181e67163ce169458b 15-Jul-2015 Chong Zhang <chz@google.com> NuPlayer: pull more video buffers in advance in GenericSource

pull 4 video buffers at a time, and start pulling when we're down
to 1 buffers to avoid starving the decoder.

bug: 22320866
Change-Id: I10914dc092f3830ecb6296e2d9ebf9064ff7a5dc
enericSource.cpp
495151d3f4c5f92f1d162efb32b636521c105df5 14-Jul-2015 Wei Jia <wjia@google.com> Merge "NuPlayer: determine audio mode before instantiating audio decoder." into mnc-dev
e4d18c7f84186b935ac569d5919059c455edd390 14-Jul-2015 Wei Jia <wjia@google.com> NuPlayer: determine audio mode before instantiating audio decoder.

Bug: 22460159
Change-Id: I334c6dc5e1163a462155d251eaa985ff5e3858e6
uPlayer.cpp
uPlayer.h
a7c2db7226b23dfe6ad0c7c1cccc073dab2f97bd 14-Jul-2015 Lajos Molnar <lajos@google.com> Merge "nuplayer: use codec->setSurface when possible to avoid seeking" into mnc-dev
db350735e14c13c4fc1094768bfbbad4dab8ef2c 14-Jul-2015 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: clear first audio anchor time only when audio is flushed." into mnc-dev
a81c6229638a4db56752dd77a6610e0f0971e877 11-Jul-2015 Lajos Molnar <lajos@google.com> nuplayer: use codec->setSurface when possible to avoid seeking

Bug: 22414719
Change-Id: I0442e12af960f86a0fc090b4a469c62ba638a1a0
ndroid.mk
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.h
3b0cd26dbb0ce37d220db9ff0fa8172a7ef1c5cb 13-Jul-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: clear first audio anchor time only when audio is flushed.

Bug: 22228075

Change-Id: I5914d7cfd2fb9c7ca5279964b530a404b20c8764
uPlayerRenderer.cpp
c6e58419e00e6d04882a885101510e667d9c043a 11-Jul-2015 Wei Jia <wjia@google.com> NuPlayer: seek to current position when changing video surface and audio decoder exists.

Bug: 22228075
Change-Id: I8b233319f48d2d0a49b44063cd895dc94949a489
uPlayer.cpp
0c61a0d78f5f093f47826d770111cd455a19beb4 07-Jul-2015 Robert Shih <robertshih@google.com> NuPlayer: disable pre-start preview for audio only sources

Bug: 22117876
Change-Id: I0e00ff8f081d80946cbd19028f1f786c1b8268f3
uPlayer.cpp
uPlayer.h
9d66d7f78284268272fefcb92697002169c62717 12-Jun-2015 Chong Zhang <chz@google.com> Merge "stagefright: post audio EOS in NuPlayerRenderer if getPosition fails" into mnc-dev
9da0ce44f228408d73a4dea0be972c785095dccc 12-Jun-2015 Chong Zhang <chz@google.com> stagefright: post audio EOS in NuPlayerRenderer if getPosition fails

bug: 20071480
Change-Id: I81f2a1fea0daa694a61be7f4a6d70d6847e9f183
uPlayerRenderer.cpp
uPlayerRenderer.h
67c2c94aa9d387bb7dc47514d62deeb66d486210 11-Jun-2015 Wei Jia <wjia@google.com> NuPlayerDriver: add more logging.

Change-Id: Ib80a42b4e46b4e2bea02d9a002228a058d1fa211
uPlayerDriver.cpp
3a20d29ff09ca2568cb904415625cc44db37edb0 21-May-2015 Praveen Chavan <pchavan@codeaurora.org> NuPlayer: print player stats at the end of playback

Print stats at the end of playback if the shell
property persist.debug.sf.stats is set

Change-Id: Ie4250bf86b12af75c16f108ca09ad02b3e44fd29
uPlayerDriver.cpp
e1e5d7a3d3d4d6d644e6c731f977422e004140d5 20-May-2015 Praveen Chavan <pchavan@codeaurora.org> NuPlayer: Enhance dumpsys statistics

Account for dropped output-frames (rather than input-frames)
in percentage dropped frames.
Print mime and component name for each active track

Change-Id: I3491d336c696d8ed0fd1503b80afe1df47c787c8
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
uPlayerDriver.cpp
3ab25457385dceb07205fc8ead86d7fb9e307588 10-Jun-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: discard pending kWhatDrainAudioQueue message when AudioSink is opened in callback mode.

Bug: 21723010
Change-Id: Iddab8c1cbdf87714aa53315feba064fe101d8f98
uPlayerRenderer.cpp
416d4a8ad177a48bcb25aa3a32c4bdfaf6227014 09-Jun-2015 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: change log from ALOGW to ALOGV when audio sink reports WOULD_BLOCK on writing." into mnc-dev
df809479696725faf5d3424b11fa8a07bd94cb5e 09-Jun-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: change log from ALOGW to ALOGV when audio sink reports WOULD_BLOCK on writing.

Bug: 21726662
Change-Id: I4aa63df7f21e06473594dda30a935e0f1cb745ac
uPlayerRenderer.cpp
005e9d0300fc326a076ec17b7fa6dd4f51568f55 01-Jun-2015 Andy Hung <hunga@google.com> NuPlayer: Allow audio drain to fill buffer when paused

If a pause lasts more than a few seconds, the audio device
enters standby. When the audio device comes out of standby,
it typically requests a large amount of data to fill its buffers
(especially severe for deep buffer PCM mode).

To avoid a glitch, continue to fill the buffer (until no more data
can be written) when paused.

Also, we do not start the audio sink if we are paused to avoid
audio playback in video preview mode.

Bug: 19062223
Bug: 21198655
Change-Id: Ifb3f181d5e810283381b65f2af16a4c71df0b04f
uPlayerRenderer.cpp
85e48142f726770d3b65caa1f29d8b98f8d5db6b 01-Jun-2015 Andy Hung <hunga@google.com> NuPlayer: Allow audio callback to fill buffer when paused

If a pause lasts more than a few seconds, the audio device
enters standby. When the audio device comes out of standby,
it typically requests a large amount of data to fill its buffers
(especially severe for deep buffer PCM mode).

To avoid a glitch, continue to service the audio callback
when paused.

Also, we do not start the audio sink if we are paused to avoid
audio playback in video preview mode.

Bug: 19062223
Bug: 21198655
Change-Id: I987337a87e6c875aeb381df8ad37c7139c42dc72
uPlayerRenderer.cpp
288da02b1f074f9f3c191f1838f135d4633b3d34 01-Jun-2015 Andy Hung <hunga@google.com> NuPlayer: Add audio deep buffer configuration

Disabled for video streams now.
Enabled by property media.stagefright.audio.deep 1

Bug: 21198655
Change-Id: I03f3b43091f950637d46779e2e74c1321b2cd268
uPlayerDecoder.cpp
uPlayerRenderer.cpp
179652ee2a508361df1aa18e99000373886f0816 01-Jun-2015 Andy Hung <hunga@google.com> NuPlayer: Add audio sink buffer configuration

Property media.stagefright.audio.sink (in milliseconds)
Also change the default buffer size for PCM playback to 500 ms.

Bug: 21198655
Change-Id: I5781288f59bf08fbecd9263a26c919570b58be0f
uPlayerRenderer.cpp
a0b397133bfce8a62198dfac9a2b970c8b20bcc5 01-Jun-2015 Andy Hung <hunga@google.com> NuPlayer: Add audio callback mode for PCM audio.

Disabled for now. Enabled by property media.stagefright.audio.cbk 1

Bug: 21198655
Change-Id: I8f117b089fe019009f1615908d33720a93e1b21e
uPlayerRenderer.cpp
uPlayerRenderer.h
0a62c1948cede8f99eaed1ba55f4880380a4f3ee 27-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "libmediaplayerservice: get isStreaming info from source." into mnc-dev
02fc5e3f8af41052dcb961f85e34fe109d38a3bb 27-May-2015 Marco Nelissen <marcone@google.com> GenericSource should report -1 instead of 0 for unknown duration

If the underlying source never reported a duration, GenericSource
would report a duration of 0. The right value to return is -1.

Bug: 21391417
Change-Id: Ie53045f819727b0ac79ed6719991724c069d7650
enericSource.cpp
02cb98d726b97d8e6dbb9c6c60d32a3cedc7f82d 27-May-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: get isStreaming info from source.

Bug: 19061436
Change-Id: I0fc0d6207b0d3297d64aadab3e81448e3f3fa1de
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerSource.h
0a7989f5691f161fff97dd550eb602e44a6e6185 22-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "libmediaplayerservice: try to open audio sink in offload mode in error." into mnc-dev
faeb0f291330134dc4468359a36e099aae508449 21-May-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: try to open audio sink in offload mode in error.

Bug: 19061432
Bug: 21370108
Change-Id: Iaa757555ef37fd1ac87b6e2d5a9969bb58cc5ebc
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
1061c9c29cfdeb3b2a307a4ee4cda2cd197b48e6 20-May-2015 Wei Jia <wjia@google.com> mediaplayer: display one frame when seek is called before start.

Bug: 18608164
Change-Id: I83252421278aeeb1c1611138994bfdaf86d7a363
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
856f37a8b62bb3732d4a92b0278672819720b3f1 20-May-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: handle decoder error when NuPlayerDecoder gets a NULL buffer from MediaCodec." into mnc-dev
5a8422a0bb54ad74bab9bf1b2d38cd2d4f0843b8 19-May-2015 Ronghua Wu <ronghuawu@google.com> Merge "libmediaplayerservice: queue discontinuity when seek to eos." into mnc-dev
8f291bc99e92015ebb959654a73c87e98bd46958 19-May-2015 Ronghua Wu <ronghuawu@google.com> libmediaplayerservice: queue discontinuity when seek to eos.

Bug: 19063416
Change-Id: I23d1a3788006a0d68effa01fe9ee1d92fe06739c
enericSource.cpp
enericSource.h
6301a5e94de3659b4e6e4910394861830f8ebfb7 13-May-2015 Wei Jia <wjia@google.com> mediaplayer: handle decoder error when NuPlayerDecoder gets a NULL buffer from MediaCodec.

MediaCodec could send out message of input buffer available right before it hits an error and clears its buffers.

Bug: 14433407
Change-Id: I32494f4cb2a8537fac12449fd68a74c021f5c9e1
uPlayerDecoder.cpp
4a95e69406aa2e9896d865962d6d947ebbdac6fc 16-May-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: remove unused parameter needNotify in NuPlayer::performSeek." into mnc-dev
2984080a97d6d43f640029b58930a28e58b8754a 16-May-2015 Wei Jia <wjia@google.com> mediaplayer: remove unused parameter needNotify in NuPlayer::performSeek.

Change-Id: I5ee4c3ba968a2ac52266cda0425d1a709e5c0fb2
uPlayer.cpp
uPlayer.h
89cf8946e8d61ce32b83fdc2bb3274a562bf76cf 15-May-2015 Robert Shih <robertshih@google.com> Merge "HTTPLiveSource: fix non timed id3 track selection" into mnc-dev
055404ea1309d4cbc5d313332b026f86bd6f0da1 15-May-2015 Robert Shih <robertshih@google.com> HTTPLiveSource: fix non timed id3 track selection

Non timed id3 track selection generates INVALID_OPERATION when performed
on the last track.

The buggy logic reads:

if (not last track) {
// non-timed-id3 related work
} else if (has timed id3) {
// timed id3 related work
} // last track but non timed id3 not handled

It should read:

if (has no timed id3 || not last track) {
// non-timed-id3 track related work
} else {
// timed id3 related work
}

Bug: 21195284
Change-Id: I2ddb5d8e2a1ecba4cc071c7ee14c6697fe8e220d
TTPLiveSource.cpp
27ea08e3811dc8057685258af52a7d40474eba16 12-May-2015 Wei Jia <wjia@google.com> mediaplayer: get/set PlaybackRate only when AudioSink has been opened.

Change-Id: I676567fc029b9f82d039990e629374bd48168cec
uPlayerRenderer.cpp
e5e9a0df67ae23d16bf48e4a8fd652684434a3b6 08-May-2015 Chong Zhang <chz@google.com> Merge "nuplayer: fixes for subtitle pause/resume" into mnc-dev
8a048338d9291b2db1b3a325fff58cb1aa69f04d 07-May-2015 Chong Zhang <chz@google.com> nuplayer: fixes for subtitle pause/resume

- pause after the current block when select track
- ignore metadata timestamps as they're too sparse
- use smaller range when searching for next segment to prevent
resumeUntil from downloading too much data

bug: 20500732
Change-Id: Ibda57a39ec86efd96a8dd0db95adeb92d076697a
uPlayer.cpp
uPlayer.h
2e3a425dc1bf7baada752926f94e0ce8a7512ec4 06-May-2015 Robert Shih <robertshih@google.com> NuPlayer: parcel placeholder mime in track info if not provided by source

Bug: 20853994
Change-Id: Iaf30e84ec78297099e6888070e7e779237b2d69f
uPlayer.cpp
c8a70d340f0ce610dfb8bd44d833708269484e99 30-Apr-2015 Ronghua Wu <ronghuawu@google.com> nuplayer: get playback frame rate from video track meta instead of file meta.

Bug: 20481562
Change-Id: Ifb4b89cce5bc810f3f411c27ba61c996a488a1c0
uPlayer.cpp
uPlayer.h
0247f0db93a828f0754a6d2d278cb08c6609cf26 02-May-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: flush audio sink when renderer is flushed." into mnc-dev
9e7ed3315298b42db485963b182a572e9ab42f9f 02-May-2015 Wei Jia <wjia@google.com> mediaplayer: flush audio sink when renderer is flushed.

Bug: 17488729
Change-Id: Ie56018367cb6aec1749ca148e94173e6c5864b27
uPlayerRenderer.cpp
1de1e25cba872bd4c077c2e394f8ca9c70b65856 01-May-2015 Lajos Molnar <lajos@google.com> stagefright: remove NativeWindowWrapper

Now that Surface and SurfaceTextureClient are the same and Surface,
it does not add value.

Bug: 19489395
Change-Id: I016ecd1cf5cc51ce6244b6fa34ecd75f84e3db01
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
94ce218596a88cc6d37098cce4e17e68f7405603 01-May-2015 Robert Shih <robertshih@google.com> Merge "GenericSource: reply mime information for *all* track types" into mnc-dev
3a474aa67fc31505740526dd249d96204c08bf79 25-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: support setting/getting playback/sync config in MediaSync

Bug: 18249558
Bug: 19666434
Bug: 20057497
Change-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
755106eb9cff51dc4eda45d8cefc4306df308845 30-Apr-2015 Robert Shih <robertshih@google.com> GenericSource: reply mime information for *all* track types

Bug: 20729923
Change-Id: I65a8aedf089cfa4756fc9de433949c1b4bd416ce
enericSource.cpp
uPlayer.cpp
8db8813d39e3c8b5fbd580dfc3062830744afd63 22-Apr-2015 Ronghua Wu <ronghuawu@google.com> DO NOT MERGE libmediaplayerservice: set priority and operating rate for the codec used by nuplayer.

Bug: 20481562
Change-Id: I9806414962352fbcda726f8274f1cd348c961de0
(cherry picked from commit f19f5d716b39a5d9dc1abdcd5a16a7aaf1b1ab8b)
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
bb6635d0aa35d6d31ec7de7c0d957720983fdc55 24-Apr-2015 Chong Zhang <chz@google.com> Merge "HLS: make disconnect faster to prevent ANR"
5abbd3dcbb0bb32a3d4b90dddbcf90458967eb6f 21-Apr-2015 Chong Zhang <chz@google.com> HLS: make disconnect faster to prevent ANR

disconnect HTTP connection when we absolutely won't resume

bug: 19890444
Change-Id: Idee36b48741f6f8eb1d65bca32156e9e18349c67
uPlayerDecoder.cpp
f8bd851cc652501239a8e3759b21890dfa2afdea 24-Apr-2015 Robert Shih <robertshih@google.com> Copy sei offset/size during ABuffer/MediaBuffer conversion

Bug: 20537676
Change-Id: I0bd11527ccd022c39d94b7877df81de4da1b14a6
enericSource.cpp
81636761bead03f13b4ed9320a7f25ce1354f1ae 21-Apr-2015 Chong Zhang <chz@google.com> HLS: remove no more than 10% of bandwidth history at a time

- fix a 'possible video time jump' after seek, don't update
renderer anchor time for 0-sized audio buffers

- fix another 'possible video time jump' caused by some states
not reset in mStreams

- bandwidth estimator changes to not remove more than 10%
of total transfer duration at a time to avoid jumping up
too quickly

bug: 20267388
related-to-bug: 19864613
related-to-bug: 20138395

Change-Id: I8812332cd1e26bf562acfaf086fd679a3549debc
uPlayerRenderer.cpp
dfe5c4217d440740b47567e05c73018b44d183cd 18-Apr-2015 Chong Zhang <chz@google.com> Merge "NuPlayer: queue a deferred scan sources when flushing during scan"
6d339f1f764bbd32e3381dae7bfa7c6c575bb493 18-Apr-2015 Lajos Molnar <lajos@google.com> libmediaplayerservice: fix warnings, make warnings errors, use clang

Change-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228
ndroid.mk
enericSource.cpp
uPlayer.cpp
uPlayerCCDecoder.cpp
uPlayerRenderer.cpp
3b032b3865fd93173aadca0591eeea32853206f9 18-Apr-2015 Chong Zhang <chz@google.com> NuPlayer: queue a deferred scan sources when flushing during scan

also refactor code to move scheduleRequestBuffers to decoder base.

bug: 20267388
Change-Id: I48f16adc6b4d4008f8fcda8b3b01c595ad199f8b
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
enericSource.h
uPlayer.h
uPlayerDecoderBase.h
uPlayerSource.h
2170233c49e50f3986cdc4f726016d6003cb5b8e 17-Apr-2015 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: Maintain the timeStamp after seek"
d3c28f66a48dd450f5f6d8a3ba92a40132bc45de 11-Apr-2015 Haynes Mathew George <hgeorge@codeaurora.org> NuPlayerDriver: Maintain the timeStamp after seek

While offload playback is going on, if user pause
and seeks to new position before offload tear-down,
on resume playback starts from old time-stamp.

Once tear-down happens NuPlayer loses updated time-stamp
so while resuming it resumes playback with stale time-stamp.
Make sure the updated time-stamp is maintained in
NuPlayerDriver which is used while starting the playback
after resume.

authored-by: Sharad Sangle <assangle@codeaurora.org>
Change-Id: Ie125cf0fab1b0a237e67e43b0e5b4a704483ef99
uPlayerDriver.cpp
0852843d304006e3ab333081fddda13b07193de8 08-Apr-2015 Robert Shih <robertshih@google.com> stagefright: initial timed id3 support in hls

Change-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8
ndroid.mk
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
c224ec53a17994fa97ab2f29304647c9f195c51c 16-Apr-2015 Chris Watkins <watk@google.com> Merge "Unhide the android.media.[Media]DataSource interface."
99f31604136d66ae10e20669fb6b5716f342bde0 20-Mar-2015 Chris Watkins <watk@google.com> Unhide the android.media.[Media]DataSource interface.

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

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

Only NuPlayer supports this new data source.

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

Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
43cc944ecdc1634dccd92a1aad559f0caa13b53c 15-Apr-2015 Chong Zhang <chz@google.com> fix NuPlayerDecoder discontinuity handling with async mode

bug: 20234224

Change-Id: I317b52b089f1e1432255100ef5f36322a231a399
uPlayerDecoder.cpp
7bef0e14010d2527ac4f8abe26e13fe24c918ed1 13-Apr-2015 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: adjust delay of posting drain audio message based on playback rate."
d9c2e9c81a6f75c4dd6818a3d5075a875d25a2d4 11-Apr-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: adjust delay of posting drain audio message based on playback rate.

Bug: 19196501
Change-Id: I2a98e877ed946e899af0974a0c2397c4146ce349
uPlayerRenderer.cpp
e6109e2f10b43c2cc2561c6fd6633b5f988bd7a9 11-Apr-2015 Lajos Molnar <lajos@google.com> mediaplayer: support async mode for widevine legacy mode

Bug: 14679336
Change-Id: Id224eb8c31ec148ca9a144758cc56ddbf5465f5c
uPlayerDecoder.cpp
421f47ca9c2dcc78584b2bb609c3755483b55155 25-Mar-2015 Marco Nelissen <marcone@google.com> mediaplayer: use async mode in NuPlayer

Bug: 14679336
Change-Id: I5e471a6e13be82a375afc2718599f27cd0255bf5
uPlayerDecoder.cpp
uPlayerDecoder.h
30f4dfafc6ae73bb2e40deedc9904b8740ab995b 03-Apr-2015 Ronghua Wu <ronghuawu@google.com> Merge "nuplayer: Has video hint for offload"
8b63533e6aaff121378878998925c57dbe9a9e16 31-Mar-2015 Haynes Mathew George <hgeorge@codeaurora.org> nuplayer: Has video hint for offload

Send a hint indicating whether the clip being played has a video stream
from NuPlayer to NuPlayerDecoderPassThrough. This hint is used to open the audio
sink with the correct offload config. Currently, NuPlayerDecoderPassthrough
always calls openAudioSink with hasVideo set to false causing an unnecessary
recreation of AudioTrack.

Change-Id: I7bc6c73818b65f9237a6e606721b7d48e1d807b9
CRs-Fixed: 811510
uPlayer.cpp
uPlayerDecoderPassThrough.cpp
fcd3e94c075e964670d946f6ec5d82d059bf9e09 31-Mar-2015 Lajos Molnar <lajos@google.com> mediaplayer: ensure secure decoders are instantiated before starting source

Bug: 19984798
Change-Id: Iff13cf03c4ce3141380f4d7ab4a2b1045c5ce747
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
6bedacad9a67bb8eca5b3073ad41bb002207e623 01-Apr-2015 Lajos Molnar <lajos@google.com> am d513b7da: am 31878abb: am 68fca636: mediaplayer: ensure secure decoders are instantiated before starting source

* commit 'd513b7da73be6013daa321e1f8c2e488dec65dcd':
mediaplayer: ensure secure decoders are instantiated before starting source
68fca636ac961c181ee71a49f151c71b564258d0 31-Mar-2015 Lajos Molnar <lajos@google.com> mediaplayer: ensure secure decoders are instantiated before starting source

Bug: 19984798
Change-Id: Iff13cf03c4ce3141380f4d7ab4a2b1045c5ce747
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
9bb23ff63e17b91a8480b142975067e8b6ab69ec 27-Mar-2015 Chong Zhang <chz@google.com> Merge "HLS: faster switching and pause/resume on low buffer"
7c8708046117e03c0d38006bdd9685139df3ac6b 18-Mar-2015 Chong Zhang <chz@google.com> HLS: faster switching and pause/resume on low buffer

- when upswitching, discard excessive buffering on low
bandwidth variant, switch to new variant earlier

- when downswitching, report newly found IDR positions
continuously, and switch as soon as new fetcher passes
playback position. This allows us to skip time-consuming
resumeUntil() of old fetcher most of the time

- implement pause/resume on low buffering, and notify
buffering percentage

- buffering parameter tuning, separate pause/resume/ready
buffer level and up/down switch buffer level, boost up
fetcher buffering significantly

bug: 19567254

Change-Id: I750dfcc6f861d78d16a71f501beb86d8129cb048
TTPLiveSource.cpp
91e5e043d766e39b0840f2ca2e658e2fe58987e7 26-Mar-2015 Marco Nelissen <marcone@google.com> Fix seek issue

The removed code was original added to fix a deadlock, but is no longer needed.

Bug: http://b/19947213
Change-Id: I4dd9d6fdf5eb6c0fb654953569dc87b820579f84
uPlayerDriver.cpp
230b188b2c2ed74aa017cb93f847e9a558feba95 19-Mar-2015 Wei Jia <wjia@google.com> mediaplayer: check existence of AudioTrack before trying to access it.

Bug: 19828971
Change-Id: Ib7fdb8bf36e33ef95d21fa5342cd1647fd81ff24
uPlayerRenderer.cpp
c84eb736fd051c37e1d7e8585d14612713388a58 12-Mar-2015 Chong Zhang <chz@google.com> Merge "nuplayer: remove prefill cache code"
3cb7e0dcc2e915280cb9a5121def8b5277d8a6e6 12-Mar-2015 Chong Zhang <chz@google.com> Merge "NuPlayer: play out pending frames on discontinuity"
c287cad65bd0c7a79e43f4decc5e04593027a7c8 20-Feb-2015 Chong Zhang <chz@google.com> nuplayer: remove prefill cache code

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

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

Change-Id: I1a39df4bc0a685f76d8558c368db1bac92b490c2
enericSource.cpp
enericSource.h
366d92e0b2732406fff4153f6d3d0f7de50a425b 11-Mar-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: update mAnchorNumFramesWritten when anchor time is updated."
8edb3f85f58e8738582e8f9abbc018c85100b712 11-Mar-2015 Wei Jia <wjia@google.com> mediaplayer: update mAnchorNumFramesWritten when anchor time is updated.

This will fix the max duration for anchor time.

Bug: 19196501
Change-Id: I9b8e0775105e31d47d919afaf49ca1e3d608a2f6
uPlayerRenderer.cpp
66704af4d82c2b6303609b29402641f861fdcb19 04-Mar-2015 Chong Zhang <chz@google.com> NuPlayer: play out pending frames on discontinuity

bug: 19567254

Change-Id: Iff689e1eea54283095068d68bcdff4c2674af554
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
3f27436a9346f043f52265da1e6a74cde2bffd4d 05-Mar-2015 Lajos Molnar <lajos@google.com> stagefright: don't use ALooperRoster mutex for reply handling

Change replyID-s from uint32_t to an object
Move reply handling into the loopers (to reuse a common mutex)

Bug: 19607784
Change-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be
enericSource.cpp
uPlayer.cpp
uPlayerDecoderBase.cpp
uPlayerRenderer.cpp
TSPSource.cpp
TSPSource.h
1c2a7a6391a5465cb5b059bb004fbbc884ce1a29 10-Mar-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: move MediaClock from NuPlayer to libstagefright."
5833b6aad2c46ba516bdc8262f4fc4667e8018ed 10-Mar-2015 Wei Jia <wjia@google.com> mediaplayer: move MediaClock from NuPlayer to libstagefright.

Bug: 19666434
Change-Id: I86865e594226419bbbbee217098f96434e43afbe
ndroid.mk
ediaClock.cpp
ediaClock.h
uPlayerRenderer.cpp
1d15ab58bf8239069ef343de6cb21aabf3ef7d78 05-Mar-2015 Lajos Molnar <lajos@google.com> media: switch to new AMessage handling

Bug: 19607784
Change-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa
enericSource.cpp
TTPLiveSource.cpp
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoderBase.cpp
uPlayerDecoderPassThrough.cpp
uPlayerRenderer.cpp
uPlayerStreamListener.cpp
uPlayerStreamListener.h
TSPSource.cpp
treamingSource.cpp
c10e7f121d346b433c32d1c0d791c4b547cbe60e 06-Mar-2015 Robert Shih <robertshih@google.com> Merge "Revert "Fix NuPlayer::Decoder input buffer loss upon seamless format change""
c8206ffa7d2361dd89c09166ff85ca6396babe28 04-Mar-2015 Wei Jia <wjia@google.com> mediaplayer: call setPlaybackRate after Renderer has looper set up.

Bug: 19196501
Change-Id: Iaac34a4a9e095799eb60e7d7a9bc228f0c7212b6
uPlayer.cpp
62ca0231787d5fe23ee95c482d15b8434add2427 04-Mar-2015 Robert Shih <robertshih@google.com> Revert "Fix NuPlayer::Decoder input buffer loss upon seamless format change"

This reverts commit c5eef08195a6f81c2ae8fe7d4c346f12b15944e5.

Change-Id: I49d817ed367aaa29a93e22135e9adf1e2ad253f1
uPlayerDecoder.cpp
e8c9a8f78a9f9213060e5d54a15cde364df3e0d0 04-Mar-2015 Robert Shih <robertshih@google.com> Merge "Fix NuPlayer::Decoder input buffer loss upon seamless format change"
7d3f4df0a77e052a7d37de9268aff8c2ed0909cc 04-Mar-2015 Wei Jia <wjia@google.com> mediaplayer: use non-blocking mode for AudioSink::write().

This cherry picks https://googleplex-android-review.git.corp.google.com/#/c/643541/ to master.

Bug: 19448263
Change-Id: I43dea830212de79c2b080185b6c6b36078f517d2
uPlayerRenderer.cpp
212765f2d5ee6e533f3d032d6609125faa95bf48 26-Feb-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: support dynamic playback rate"
9816016afb2a13c6a866cd047d57020566a8b9a9 05-Feb-2015 Wei Jia <wjia@google.com> mediaplayer: support dynamic playback rate

Bug: 19196501

Change-Id: I856b1507d5fa2cedfb645706d2435683a7d3e050
ediaClock.cpp
ediaClock.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
fc6cfd8343ae8919e85ec22efed9df626fe8854b 20-Feb-2015 Chong Zhang <chz@google.com> nuplayer: do not use cached source for wvm content

bug: 18730095
Change-Id: Ibd4f54907949daae1d095fa0922050310d16698f
enericSource.cpp
c5eef08195a6f81c2ae8fe7d4c346f12b15944e5 21-Feb-2015 Robert Shih <robertshih@google.com> Fix NuPlayer::Decoder input buffer loss upon seamless format change

Bug: 19462710
Change-Id: I30f2ab76785a524e95b404b8b18ddc862e9c414e
uPlayerDecoder.cpp
e2cce8139fb5a205170d4e878cc9fea5493755d1 12-Feb-2015 Chong Zhang <chz@google.com> Merge "process all SEI messages for CC extraction"
78acc89eae9789366b6384707861f4563addf2d3 07-Feb-2015 Chong Zhang <chz@google.com> process all SEI messages for CC extraction

bug: 19297083
Change-Id: I5b89e35cc2bd5fb2f332872941e7978f15a6f403
uPlayerCCDecoder.cpp
uPlayerCCDecoder.h
49c9a53d098091791b0e6e2d97ce6bf0d562d17e 11-Feb-2015 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 157defdd to master

Change-Id: I14fd8063fa052f16868b8053a211190092131317
157defdde7013062bbd04f7e873b6856adce14ca 10-Feb-2015 Lajos Molnar <lajos@google.com> am 4fc5d758: am 0c11f31b: Merge "nuplayer: acquire wakelock during offload pause timeout" into lmp-mr1-dev

* commit '4fc5d758d6722bedf341e5d93a0ba5698c658c29':
nuplayer: acquire wakelock during offload pause timeout
35d5af131c9d4962e935082f204ccd6a2130861c 28-Jan-2015 Weiyin Jiang <wjiang@codeaurora.org> nuplayer: acquire wakelock during offload pause timeout

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

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

Bug: 19297092
Change-Id: I3d11fef633e3f2783f4aa31e71285e2fa09d234c
uPlayerRenderer.cpp
uPlayerRenderer.h
abc4872bb8af6699c8c5fc285a538bf492c51748 06-Feb-2015 Chong Zhang <chz@google.com> am 78a0d1ac: am 04d2804a: am 13cfe85a: Merge "reuse CCDecoder on video discontinuity" into lmp-mr1-dev

* commit '78a0d1acd4cb7103bba349f8a23fd1814bed483b':
reuse CCDecoder on video discontinuity
78a0d1acd4cb7103bba349f8a23fd1814bed483b 06-Feb-2015 Chong Zhang <chz@google.com> am 04d2804a: am 13cfe85a: Merge "reuse CCDecoder on video discontinuity" into lmp-mr1-dev

* commit '04d2804a212c2625425cb23b2b778ab4f3683769':
reuse CCDecoder on video discontinuity
13cfe85ae9f4daab1d0bfcd248fc2576585e259a 05-Feb-2015 Chong Zhang <chz@google.com> Merge "reuse CCDecoder on video discontinuity" into lmp-mr1-dev
b96efd3cd7ff49e85049a1515b8bb3b7514dce0b 05-Feb-2015 Wei Jia <wjia@google.com> Merge "mediaplayer: Add MediaClock component and use it in NuPlayerRenderer."
341ab6eebb6a992ec7bdf095420cf82bcab1c6b3 04-Feb-2015 Chong Zhang <chz@google.com> reuse CCDecoder on video discontinuity

bug: 19266084
Change-Id: I06ef57b09b048a85f77be4dee27599c4f60aacc9
uPlayer.cpp
c9fcfb923bb891d980238d47f33fdf488f758dc2 04-Feb-2015 Chong Zhang <chz@google.com> am 07840f75: am 3a7ed550: am efbb6195: NuPlayer: pause playback when buffering is low

* commit '07840f7544de883fe5c00cbd18bc6458a20e2691':
NuPlayer: pause playback when buffering is low
07840f7544de883fe5c00cbd18bc6458a20e2691 04-Feb-2015 Chong Zhang <chz@google.com> am 3a7ed550: am efbb6195: NuPlayer: pause playback when buffering is low

* commit '3a7ed550579b5ecd99439c44ce13a48b3f0639ae':
NuPlayer: pause playback when buffering is low
7b15cb33847e6282ea8352c98894683b796127f3 04-Feb-2015 Wei Jia <wjia@google.com> mediaplayer: Add MediaClock component and use it in NuPlayerRenderer.

Also fix some racing conditions, remove unused code in NuPlayerRenderer.

This obsoletes https://googleplex-android-review.git.corp.google.com/#/c/609880/.

Bug: 19196501
Change-Id: I0eebeb573ce7229dd8bacecd0e1c5d6f5634a72f
ndroid.mk
ediaClock.cpp
ediaClock.h
uPlayerRenderer.cpp
uPlayerRenderer.h
efbb61950db36a5eb789be83f077246172507c67 31-Jan-2015 Chong Zhang <chz@google.com> NuPlayer: pause playback when buffering is low

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

bug: 18730095
Change-Id: I11e7ca4ba9e772a1ae76861ca1ff1725b62f65ae
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
d7dbf4179aa87a018d4a8a4cd0958a5ed5d7fe5f 02-Feb-2015 Robert Shih <robertshih@google.com> am 82bbd248: am c37a6e6b: am 7a434265: Merge "Wrong format used in seamless check" into lmp-mr1-dev

* commit '82bbd248d0578e5da04aa95d9906006275c330b5':
Wrong format used in seamless check
82bbd248d0578e5da04aa95d9906006275c330b5 02-Feb-2015 Robert Shih <robertshih@google.com> am c37a6e6b: am 7a434265: Merge "Wrong format used in seamless check" into lmp-mr1-dev

* commit 'c37a6e6bbe038cf94d11abdb6f8003e7476e11af':
Wrong format used in seamless check
7a4342651cc6539fc9a8775ce1e322a47adeda78 31-Jan-2015 Robert Shih <robertshih@google.com> Merge "Wrong format used in seamless check" into lmp-mr1-dev
7abbd4c954e26fb69235831e11090ad61cec7b94 30-Jan-2015 joakim johansson <joakim.c.johansson@sonymobile.com> Wrong format used in seamless check

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

Use the input format instead.

Bug: 18821145
Change-Id: Iea3cbd59e423da5f2f813e98505b40dc341061b8
uPlayerDecoder.cpp
2ac21a5d35591acc7f7ff4f85fda146ebeaa2551 28-Jan-2015 Wei Jia <wjia@google.com> am 5fcd4d19: am 0bd5274e: am 231406d5: NuPlayerRenderer: return current real time as render time for video frame when paused.

* commit '5fcd4d19e95d5237fef46b1dec8b6f649ea64b84':
NuPlayerRenderer: return current real time as render time for video frame when paused.
5fcd4d19e95d5237fef46b1dec8b6f649ea64b84 28-Jan-2015 Wei Jia <wjia@google.com> am 0bd5274e: am 231406d5: NuPlayerRenderer: return current real time as render time for video frame when paused.

* commit '0bd5274ef93eae389cd7da89e163b1a5b67a47e1':
NuPlayerRenderer: return current real time as render time for video frame when paused.
980b106908cb8e105bb8849749722c5088e2f6eb 28-Jan-2015 Marco Nelissen <marcone@google.com> resolved conflicts for merge of 9391844d to master

Change-Id: I348a71d1b3e3238bc3871a69454edc8247d03111
231406d597cca1c9c009f870fbb62e46b8475186 27-Jan-2015 Wei Jia <wjia@google.com> NuPlayerRenderer: return current real time as render time for video frame when paused.

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

Bug: 19153026
Change-Id: I0d7a8981ca3c121f5dbc430c2c6d8b7522edc24a
uPlayerRenderer.cpp
uPlayerRenderer.h
9391844deb3f6a442745cea62f78aca2cea19e50 27-Jan-2015 Marco Nelissen <marcone@google.com> resolved conflicts for merge of b955b722 to lmp-mr1-dev-plus-aosp

Change-Id: I385371869169eee4fe6330ffe0abc5eda4cb4f72
b955b7224382b488a4d8d5663c92118feb8deb1e 27-Jan-2015 Marco Nelissen <marcone@google.com> am 47deb15e: Merge "Remove MediaPlayerService::decode()"

* commit '47deb15e99cbf60e558027e074b7415c95637943':
Remove MediaPlayerService::decode()
b7848f1c442bc8c71020957948d1b003a62a25b7 04-Dec-2014 Marco Nelissen <marcone@google.com> Remove MediaPlayerService::decode()

and make SoundPool use MediaCodec for decoding files to PCM.

Bug: 18239054
Change-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310
uPlayerDriver.cpp
50870c983127f2c9e0a3c04a46ea7c24ad2271cf 16-Jan-2015 Chong Zhang <chz@google.com> am 4beddcf5: am 9e308de9: am 4d4ea7f7: Merge "do not use paused postition if it\'s not available" into lmp-mr1-dev

* commit '4beddcf5130bd24847c1e87696f864df41d42cae':
do not use paused postition if it's not available
4beddcf5130bd24847c1e87696f864df41d42cae 16-Jan-2015 Chong Zhang <chz@google.com> am 9e308de9: am 4d4ea7f7: Merge "do not use paused postition if it\'s not available" into lmp-mr1-dev

* commit '9e308de9214e55dd0d102484ea44b117ec050540':
do not use paused postition if it's not available
4d4ea7f7ca04cfe70ecf6f35658389f52ae6d3c1 16-Jan-2015 Chong Zhang <chz@google.com> Merge "do not use paused postition if it's not available" into lmp-mr1-dev
cec7febc48ff76b293ace0cc12a6288f13f72293 15-Jan-2015 Chong Zhang <chz@google.com> do not use paused postition if it's not available

bug: 18896133
bug: 18996505
Change-Id: I1e24fabe3fe8f2275b1ccc0df100cb2c4ba2264b
uPlayerRenderer.cpp
32479c9f7a004d2c1daeac015684529b0158f8a4 08-Jan-2015 Chong Zhang <chz@google.com> am 7993d6b3: am e0344754: am 468977f0: Merge "mark any copyrighted content as protected to disable capture" into lmp-mr1-dev

* commit '7993d6b343f2723872dac085756743630371454d':
mark any copyrighted content as protected to disable capture
7993d6b343f2723872dac085756743630371454d 08-Jan-2015 Chong Zhang <chz@google.com> am e0344754: am 468977f0: Merge "mark any copyrighted content as protected to disable capture" into lmp-mr1-dev

* commit 'e03447548d1c56fa9875cac7d500f1012a6b5c26':
mark any copyrighted content as protected to disable capture
1713460104b86f6be3a5d9993d9ace864d889b2d 08-Jan-2015 Chong Zhang <chz@google.com> mark any copyrighted content as protected to disable capture

bug: 18916274
Change-Id: I23f096b51433bf18a10dc5fe6dc6b75c3881c340
enericSource.cpp
uPlayer.cpp
uPlayerSource.h
64cbdee08a18b25448a5fb0b058d3b83d5630d7f 29-Dec-2014 Andy Hung <hunga@google.com> am 545d5c41: am 69bdf92f: am 0d19abb4: Merge "NuPlayer: Do not recreate AudioTrack if not needed" into lmp-mr1-dev

* commit '545d5c41f04ec591bd0f034434b6d65ffd4c4c9c':
NuPlayer: Do not recreate AudioTrack if not needed
545d5c41f04ec591bd0f034434b6d65ffd4c4c9c 29-Dec-2014 Andy Hung <hunga@google.com> am 69bdf92f: am 0d19abb4: Merge "NuPlayer: Do not recreate AudioTrack if not needed" into lmp-mr1-dev

* commit '69bdf92f3e20147a08194da45e3c61ac7f16d280':
NuPlayer: Do not recreate AudioTrack if not needed
0d19abb440c7e62e944efbeadf02299990f9a589 23-Dec-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Do not recreate AudioTrack if not needed" into lmp-mr1-dev
f0e83644637bd05852c244df481f21a0d435ff66 20-Dec-2014 Andy Hung <hunga@google.com> NuPlayer: Do not recreate AudioTrack if not needed

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

Bug: 18817027
Change-Id: I4290dcb90cb35bc1303b025e162f6b813d49a05b
uPlayerRenderer.cpp
uPlayerRenderer.h
8e883a15d950c461f258104d7fe5c3c81c1db0de 19-Dec-2014 Wei Jia <wjia@google.com> am bae511e3: am 4af263bd: am ad019236: Merge "NuPlayer: reports paused position in paused state." into lmp-mr1-dev

* commit 'bae511e3b982355fbc75ae2ba13bb88feab9fe8c':
NuPlayer: reports paused position in paused state.
bae511e3b982355fbc75ae2ba13bb88feab9fe8c 19-Dec-2014 Wei Jia <wjia@google.com> am 4af263bd: am ad019236: Merge "NuPlayer: reports paused position in paused state." into lmp-mr1-dev

* commit '4af263bd15a8177f1e28a53a2765277022d7372e':
NuPlayer: reports paused position in paused state.
ad019236b9bc4a030c2740fd9cfdd0670b118d5c 19-Dec-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: reports paused position in paused state." into lmp-mr1-dev
68586a6c3d8ce45c054bb7e7c3c38f70f3e167fd 19-Dec-2014 Andy Hung <hunga@google.com> am 01a7aaf2: am 823ee706: am d4b056da: Merge "NuPlayer: Fix failure to stop audio playback" into lmp-mr1-dev

* commit '01a7aaf2cec81edbdc2bb62a5a46594312cce078':
NuPlayer: Fix failure to stop audio playback
01a7aaf2cec81edbdc2bb62a5a46594312cce078 19-Dec-2014 Andy Hung <hunga@google.com> am 823ee706: am d4b056da: Merge "NuPlayer: Fix failure to stop audio playback" into lmp-mr1-dev

* commit '823ee7067a7d525a88d4ba55780e98975cfed6fc':
NuPlayer: Fix failure to stop audio playback
d4cdba18ba7d0057ae54ec7efa5871b1a9d8beca 18-Dec-2014 Wei Jia <wjia@google.com> NuPlayer: reports paused position in paused state.

Bug: 18733773
Change-Id: I993a4bf108913ab98a0294d7dcf7605349f7029b
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
3491232a7c0d953fa021f6a81baee64c44f364f3 19-Dec-2014 Andy Hung <hunga@google.com> NuPlayer: Fix failure to stop audio playback

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

Bug: 18787619
Change-Id: I71063b9e3aad9a6dfd7d46ea614e107c815e4c57
uPlayerRenderer.cpp
f06060f9544c71ebdc1e0b1b8d73f6cb275e6311 07-Nov-2014 Ronghua Wu <ronghuawu@google.com> DO NOT MERGE - NuPlayer: open audio sink in offload mode when resuming from timeout teardown.

Also always recheck if a new stream can do offload.

Bug: 18154425
Change-Id: I121877834bd963eeeba91a2b951fd30d5dc36a8b
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
8b67ce7210caa4f119a687e9b0946b339db08265 19-Nov-2014 Ronghua Wu <ronghuawu@google.com> DO NOT MERGE - NuPlayer: invalid anchor time when render is flushed.

Also rememeber the pause time in NuPlayerDriver.

Bug: 18436336
Change-Id: If09f680a0d0f9137bd55c5f94201eb3aa783278a
uPlayerDriver.cpp
uPlayerRenderer.cpp
abb627e4e971e134e1618d9fb602f23696717c6a 15-Dec-2014 Jeff Tinker <jtinker@google.com> am d1f0f143: am 42818cca: am 9f932418: Merge "Fix for apps that forget to use widevine:// urls" into lmp-mr1-dev

* commit 'd1f0f143fecd65c0987691fd33ee3975708479ec':
Fix for apps that forget to use widevine:// urls
d1f0f143fecd65c0987691fd33ee3975708479ec 15-Dec-2014 Jeff Tinker <jtinker@google.com> am 42818cca: am 9f932418: Merge "Fix for apps that forget to use widevine:// urls" into lmp-mr1-dev

* commit '42818cca55fa4e4faca5b5686c7930070c2bf434':
Fix for apps that forget to use widevine:// urls
f1596a66a32072d8cdf7b5e877bdaea7033b761b 15-Dec-2014 Wei Jia <wjia@google.com> am dc039672: am a0b3a0a4: am 6e430fbd: Merge "NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable." into lmp-mr1-dev

* commit 'dc039672b8fad7746200ecc36304d0e85db4f367':
NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable.
9f932418856844c6b8242d4c921654d0cc6af754 15-Dec-2014 Jeff Tinker <jtinker@google.com> Merge "Fix for apps that forget to use widevine:// urls" into lmp-mr1-dev
dc039672b8fad7746200ecc36304d0e85db4f367 15-Dec-2014 Wei Jia <wjia@google.com> am a0b3a0a4: am 6e430fbd: Merge "NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable." into lmp-mr1-dev

* commit 'a0b3a0a46dc42eafe620ffd053604515bbd9ca9a':
NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable.
6e430fbd927b9cc043639eb728ddc921392a60e8 15-Dec-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: send NOT_SEEKABLE media info to client when the source is not seekable." into lmp-mr1-dev
661a5270303392bbf22eaa459961e6ab7b26b529 13-Dec-2014 Jeff Tinker <jtinker@google.com> Fix for apps that forget to use widevine:// urls

bug: 18554455

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

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

Bug: 18599325
Change-Id: Iecd040f48750806f98d1799e2aaab2f90c6f3887
uPlayer.cpp
9ae34ec4f2a78d98643cf8428cd8eafdc48e6245 11-Dec-2014 Lajos Molnar <lajos@google.com> am b6ac4d49: am 2253b3c5: am f484952e: mediaplayer: allow setVideoSurface before setDataSource

* commit 'b6ac4d49e468e155aa1591f3c400e1c06442e7b1':
mediaplayer: allow setVideoSurface before setDataSource
b6ac4d49e468e155aa1591f3c400e1c06442e7b1 11-Dec-2014 Lajos Molnar <lajos@google.com> am 2253b3c5: am f484952e: mediaplayer: allow setVideoSurface before setDataSource

* commit '2253b3c50ee4b89349553f42edf676ce8579e680':
mediaplayer: allow setVideoSurface before setDataSource
f484952edd94c1b7ee82d7b108edc1ce08671cc4 11-Dec-2014 Lajos Molnar <lajos@google.com> mediaplayer: allow setVideoSurface before setDataSource

Bug: 18709604
Change-Id: I41e4734faed48b5583feb29896cd5783b8cd7e33
uPlayer.cpp
230e8b2b843666c2803d6b3ea3a5276381b1ecfb 10-Dec-2014 Wei Jia <wjia@google.com> am 1ed99f0c: am 2b02f140: am 80c57d57: Merge "NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition." into lmp-mr1-dev

* commit '1ed99f0c1b9d7c4fbf2a59b3aeeb4901cc536e5c':
NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition.
a7da121b3dc0097fa92dd29350efea3cf915dfae 10-Dec-2014 Chong Zhang <chz@google.com> am e4fe1b62: am 876c21b1: am a147c17a: Merge "fixes for non-secure widevine playback" into lmp-mr1-dev

* commit 'e4fe1b62b37eefe8b88aeeea896d2b3851d32480':
fixes for non-secure widevine playback
33edcf10489f783a5659ff89ceaca02828496053 09-Dec-2014 Andy Hung <hunga@google.com> am 5f480891: am 4c56f8e0: am b65842dd: Merge "Fix NuPlayer assertion on failure to create AudioTrack" into lmp-mr1-dev

* commit '5f480891e5818f111f431ae69b4c1354e302242a':
Fix NuPlayer assertion on failure to create AudioTrack
c962ac8a8ae14764bbf8e99cc227746c9656b179 09-Dec-2014 Chong Zhang <chz@google.com> am 3202a2dc: am 7cc9a1c5: am 76c156f7: Merge "fix threading in RTSPSource and StreamingSource" into lmp-mr1-dev

* commit '3202a2dc337a3f4eb5410781e35f1ca0a1428615':
fix threading in RTSPSource and StreamingSource
1ed99f0c1b9d7c4fbf2a59b3aeeb4901cc536e5c 08-Dec-2014 Wei Jia <wjia@google.com> am 2b02f140: am 80c57d57: Merge "NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition." into lmp-mr1-dev

* commit '2b02f140d6a54ec2a704449463eb2c1ba760ddfb':
NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition.
e4fe1b62b37eefe8b88aeeea896d2b3851d32480 08-Dec-2014 Chong Zhang <chz@google.com> am 876c21b1: am a147c17a: Merge "fixes for non-secure widevine playback" into lmp-mr1-dev

* commit '876c21b1c10c953fac6acefdfb2cb8658cb462db':
fixes for non-secure widevine playback
5f480891e5818f111f431ae69b4c1354e302242a 08-Dec-2014 Andy Hung <hunga@google.com> am 4c56f8e0: am b65842dd: Merge "Fix NuPlayer assertion on failure to create AudioTrack" into lmp-mr1-dev

* commit '4c56f8e0329cbdd0f3406bde96fc6f0bba65664d':
Fix NuPlayer assertion on failure to create AudioTrack
3202a2dc337a3f4eb5410781e35f1ca0a1428615 08-Dec-2014 Chong Zhang <chz@google.com> am 7cc9a1c5: am 76c156f7: Merge "fix threading in RTSPSource and StreamingSource" into lmp-mr1-dev

* commit '7cc9a1c59af8a583d33971c0d12e32dc66f742a5':
fix threading in RTSPSource and StreamingSource
80c57d570238f9f213ccfe818e285090daeafd63 06-Dec-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition." into lmp-mr1-dev
474d7c778b63aa33dcf25a92e23a52c1c47f0ac1 05-Dec-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: Update mAnchorMaxMediaUs when anchor time is changed to fix pause-seek-getCurrentPosition.

NuPlayerDecoder: Notify resume is done when EOS is reached.

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

Bug: 18625723
Change-Id: I99a54d4d549e0d805e3abcc227fbf96c16405af0
enericSource.cpp
enericSource.h
uPlayerDecoder.cpp
uPlayerRenderer.cpp
42e8153cf7271b572e4a94ade332b68521977f36 01-Dec-2014 Chong Zhang <chz@google.com> fixes for non-secure widevine playback

- separate secure decoding from widevine

- use non-blocking mode when reading from widevine source

- schedule buffer read when packet source is empty

bug: 18536934
Change-Id: I65a8e5e819975ca6900ed8e887a442940f2d5d38
enericSource.cpp
enericSource.h
b65842dd9447a7925046b2285b2aa8459dc63ed3 05-Dec-2014 Andy Hung <hunga@google.com> Merge "Fix NuPlayer assertion on failure to create AudioTrack" into lmp-mr1-dev
73cdb2fd391a8f7f939f8a9104a8ae2b2838bae5 04-Dec-2014 Wei Jia <wjia@google.com> am c7883e6a: am b783a705: am ab05b4cc: StreamingSource: check mTSParser before dereferencing it.

* commit 'c7883e6a5381bbc96029f2dc9f949d6b2f8b3558':
StreamingSource: check mTSParser before dereferencing it.
180d1b96ee2312f1056a58e26884a89d25ab62c8 03-Dec-2014 Chong Zhang <chz@google.com> fix threading in RTSPSource and StreamingSource

Bug: 18532335

Change-Id: I9c34401a928dc0ddbd0923aa5f127dc628efbb92
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
202bce11a7f66f27e6dbb6d154ddc123aa62513d 03-Dec-2014 Andy Hung <hunga@google.com> Fix NuPlayer assertion on failure to create AudioTrack

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

Bug: 17319843
Change-Id: I5d4e200b5f50d800046851a33e035cdc6ff10075
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
uPlayerRenderer.cpp
uPlayerRenderer.h
c7883e6a5381bbc96029f2dc9f949d6b2f8b3558 03-Dec-2014 Wei Jia <wjia@google.com> am b783a705: am ab05b4cc: StreamingSource: check mTSParser before dereferencing it.

* commit 'b783a70593c85493a2578dd8fbd7935f1bf00420':
StreamingSource: check mTSParser before dereferencing it.
ab05b4ccb8ea59079d7f773aa0e090029c479bad 02-Dec-2014 Wei Jia <wjia@google.com> StreamingSource: check mTSParser before dereferencing it.

Bug: 18532335
Change-Id: I7819d8d359fe75ea4c827138e9aaa2454ccfe3b1
treamingSource.cpp
a0f1d394aefb2e7c60ba90ea02a3e6c552c96a7c 02-Dec-2014 Ronghua Wu <ronghuawu@google.com> am 48662b3a: am 779d4164: am f1828910: nuplayer: clear pending audio access unit on flush.

* commit '48662b3a0e88c85dc1ff401427892c695f1937b5':
nuplayer: clear pending audio access unit on flush.
48662b3a0e88c85dc1ff401427892c695f1937b5 02-Dec-2014 Ronghua Wu <ronghuawu@google.com> am 779d4164: am f1828910: nuplayer: clear pending audio access unit on flush.

* commit '779d41640615177524ecc8ce5cef4113de0c8ca2':
nuplayer: clear pending audio access unit on flush.
126f3d00be30e6ebdbfc8b877650d21ad2392bf7 02-Dec-2014 Chong Zhang <chz@google.com> am 6c5db47a: am 3253bef3: am d8731629: Merge "notify seek complete upon first video output frame" into lmp-mr1-dev

* commit '6c5db47a612c52533066dde2d867454689ea30ff':
notify seek complete upon first video output frame
6c5db47a612c52533066dde2d867454689ea30ff 02-Dec-2014 Chong Zhang <chz@google.com> am 3253bef3: am d8731629: Merge "notify seek complete upon first video output frame" into lmp-mr1-dev

* commit '3253bef38cd6653768e7858f95d8baf371d58bf0':
notify seek complete upon first video output frame
f1828910d48bbd22e1392e6ab0ce31298d1f115c 02-Dec-2014 Ronghua Wu <ronghuawu@google.com> nuplayer: clear pending audio access unit on flush.

Also add flag to avoid reading on flush.

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

Bug: 18541814
Change-Id: Ie4e0976885f26eb253460eab371cb181ea85f2db
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
aede81e85e777fbd32d09ca1051043e33e96a10f 21-Nov-2014 Chong Zhang <chz@google.com> am e9e6a930: am 3a8d7d10: Merge "tunnel NuPlayer source and decoder input" into lmp-mr1-dev
automerge: 9353571

* commit '93535715c6d2cac06d5dc6f8e3d8f15a19c21e60':
tunnel NuPlayer source and decoder input
8518168a1bdb81e56f4324a72224a724337a5844 21-Nov-2014 Ronghua Wu <ronghuawu@google.com> am f108dc85: am 7966142a: Merge "NuPlayer: invalid anchor time when render is flushed." into lmp-mr1-dev automerge: 2a424d6

* commit 'f108dc85443936ca219567cc3a8556daa4a20fb3':
NuPlayer: invalid anchor time when render is flushed.
93535715c6d2cac06d5dc6f8e3d8f15a19c21e60 21-Nov-2014 Chong Zhang <chz@google.com> am e9e6a930: am 3a8d7d10: Merge "tunnel NuPlayer source and decoder input" into lmp-mr1-dev

* commit 'e9e6a9306c42e0902d31f32dffc75135ff9dca49':
tunnel NuPlayer source and decoder input
f108dc85443936ca219567cc3a8556daa4a20fb3 21-Nov-2014 Ronghua Wu <ronghuawu@google.com> am 7966142a: Merge "NuPlayer: invalid anchor time when render is flushed." into lmp-mr1-dev
automerge: 2a424d6

* commit '2a424d6fdccc6152ae855025996beef39f20c6df':
NuPlayer: invalid anchor time when render is flushed.
30e0138abb68adb246e610ac5e7d8c5807dacc4a 21-Nov-2014 Ronghua Wu <ronghuawu@google.com> am 2a424d6f: am 7966142a: Merge "NuPlayer: invalid anchor time when render is flushed." into lmp-mr1-dev

* commit '2a424d6fdccc6152ae855025996beef39f20c6df':
NuPlayer: invalid anchor time when render is flushed.
3a8d7d1064a665a8a348710c7d27b31642f7f624 21-Nov-2014 Chong Zhang <chz@google.com> Merge "tunnel NuPlayer source and decoder input" into lmp-mr1-dev
7137ec7e005a5a6e3c0edb91cfacf16a31f4bf6a 13-Nov-2014 Chong Zhang <chz@google.com> tunnel NuPlayer source and decoder input

Bug: 18342383

Change-Id: Ieff1cd3bad2b39d46f127ddd5d5139b919992461
ndroid.mk
uPlayer.cpp
uPlayer.h
uPlayerCCDecoder.cpp
uPlayerCCDecoder.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderBase.cpp
uPlayerDecoderBase.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
uPlayerRenderer.cpp
uPlayerRenderer.h
ff7b8bc1fe8a1f8b45e1bea675848efca3306177 21-Nov-2014 Chong Zhang <chz@google.com> am 9111465a: am ec9459c6: Merge "close fd if data source is reset without prepare" into lmp-mr1-dev
automerge: 0cd651d

* commit '0cd651d18eeee52be945b0379b667473549bbf63':
close fd if data source is reset without prepare
b4a909c0fee79b53b87634a06c5902dd1e6a8bc4 21-Nov-2014 Marco Nelissen <marcone@google.com> am 9dad026b: am 574aed90: Merge "When aggregating buffers, make sure we don\'t lose data" into lmp-mr1-dev
automerge: 7ac1df3

* commit '7ac1df382ad86f0bc7af2c92843978ad8990eee1':
When aggregating buffers, make sure we don't lose data
0cd651d18eeee52be945b0379b667473549bbf63 21-Nov-2014 Chong Zhang <chz@google.com> am 9111465a: am ec9459c6: Merge "close fd if data source is reset without prepare" into lmp-mr1-dev

* commit '9111465a5f4a0bed8747da594070f35010644979':
close fd if data source is reset without prepare
7ac1df382ad86f0bc7af2c92843978ad8990eee1 21-Nov-2014 Marco Nelissen <marcone@google.com> am 9dad026b: am 574aed90: Merge "When aggregating buffers, make sure we don\'t lose data" into lmp-mr1-dev

* commit '9dad026b7c69add31e1cab48774223236efe801e':
When aggregating buffers, make sure we don't lose data
fb4dac55d0d3943e09680e779ba77310eedf011b 20-Nov-2014 Lajos Molnar <lajos@google.com> am 75cfc881: am 8ed5afa3: Merge "mediaplayer: request auto-frc for high quality avsync" into lmp-mr1-dev automerge: 225f4f6

* commit '75cfc881e25a9d7647701526484b5885dc43c574':
mediaplayer: request auto-frc for high quality avsync
75cfc881e25a9d7647701526484b5885dc43c574 20-Nov-2014 Lajos Molnar <lajos@google.com> am 8ed5afa3: Merge "mediaplayer: request auto-frc for high quality avsync" into lmp-mr1-dev
automerge: 225f4f6

* commit '225f4f6d458331c26e2015a593079c45942520e3':
mediaplayer: request auto-frc for high quality avsync
7966142a096c1d5d7386a42eaccc9aed5b4344b3 20-Nov-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: invalid anchor time when render is flushed." into lmp-mr1-dev
ec9459c63d1c2969505ffdc4a100646fd07223bd 20-Nov-2014 Chong Zhang <chz@google.com> Merge "close fd if data source is reset without prepare" into lmp-mr1-dev
574aed902443d41581684dc8bc5ddd2e067f4cdf 20-Nov-2014 Marco Nelissen <marcone@google.com> Merge "When aggregating buffers, make sure we don't lose data" into lmp-mr1-dev
a6bf21f2a7cdd33c78464019dc1105ef01248b51 20-Nov-2014 Chong Zhang <chz@google.com> close fd if data source is reset without prepare

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

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

Bug: 18277034
Change-Id: Ia8c35791eea88545a873cad339eb6b5fc25d1d97
uPlayer.cpp
3da436dee876ba1059033a7fb1369993e13bd2e8 19-Nov-2014 Ronghua Wu <ronghuawu@google.com> am 16f9d58f: am 0c999060: am 18899808: Merge "NuPlayer: open audio sink in offload mode when resuming from timeout teardown." into lmp-mr1-dev

* commit '16f9d58f1ea91a8c37bd5f56564697a2527b619e':
NuPlayer: open audio sink in offload mode when resuming from timeout teardown.
16f9d58f1ea91a8c37bd5f56564697a2527b619e 19-Nov-2014 Ronghua Wu <ronghuawu@google.com> am 0c999060: am 18899808: Merge "NuPlayer: open audio sink in offload mode when resuming from timeout teardown." into lmp-mr1-dev

* commit '0c999060549796ccd13aefc00ece993500d8931f':
NuPlayer: open audio sink in offload mode when resuming from timeout teardown.
18899808001ddaea13fa4c5277502c96351f69a5 19-Nov-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: open audio sink in offload mode when resuming from timeout teardown." into lmp-mr1-dev
f83408b41bbd796b7923d719e7e3799ddc7acaff 19-Nov-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: invalid anchor time when render is flushed.

Also rememeber the pause time in NuPlayerDriver.

Bug: 18436336
Change-Id: If09f680a0d0f9137bd55c5f94201eb3aa783278a
uPlayerDriver.cpp
uPlayerRenderer.cpp
0951ed3cd4fd322453d5c9619e5089c9b620a7ae 19-Nov-2014 Marco Nelissen <marcone@google.com> am dae9df0a: am db95b7db: am ba0790bf: Merge "Don\'t autoloop notifications" into lmp-mr1-dev

* commit 'dae9df0a67acae245a81a8a1404b14044eb5f5b4':
Don't autoloop notifications
642025caee4b7917ca261ef65168c602d1e20630 19-Nov-2014 Robert Shih <robertshih@google.com> am fab5ad93: am 2f65ada8: am 993d57ec: Merge "NuPlayer: pass media time to selectTrack for responsiveness" into lmp-mr1-dev

* commit 'fab5ad9331de20b82b02aac4bc73cccf7054fd38':
NuPlayer: pass media time to selectTrack for responsiveness
dae9df0a67acae245a81a8a1404b14044eb5f5b4 19-Nov-2014 Marco Nelissen <marcone@google.com> am db95b7db: am ba0790bf: Merge "Don\'t autoloop notifications" into lmp-mr1-dev

* commit 'db95b7dbba21fc0b1112f9c362d4d942dddefba0':
Don't autoloop notifications
fab5ad9331de20b82b02aac4bc73cccf7054fd38 19-Nov-2014 Robert Shih <robertshih@google.com> am 2f65ada8: am 993d57ec: Merge "NuPlayer: pass media time to selectTrack for responsiveness" into lmp-mr1-dev

* commit '2f65ada84cced6704e8fcdb03835fe218d917fcb':
NuPlayer: pass media time to selectTrack for responsiveness
ba0790bf10da74caacb214ea8155d172bae4d0c5 19-Nov-2014 Marco Nelissen <marcone@google.com> Merge "Don't autoloop notifications" into lmp-mr1-dev
6ffb1fd67eb8f00f130a6db914ba42a8432aec70 30-Oct-2014 Robert Shih <robertshih@google.com> NuPlayer: pass media time to selectTrack for responsiveness

Bug: 18020001
Change-Id: Id50f8473992f39d8c0aa86a1fabb2601093d2572
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerSource.h
a10fd23bb9fcf16e778c639ea5638e2917dacd89 07-Nov-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: open audio sink in offload mode when resuming from timeout teardown.

Also always recheck if a new stream can do offload.

Bug: 18154425
Change-Id: I121877834bd963eeeba91a2b951fd30d5dc36a8b
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
c1d3818b2f63731e38083b3d2dea62a3b295f200 18-Nov-2014 Robert Shih <robertshih@google.com> am ef2af979: am 811a92f6: am 39b109a1: Merge "NuPlayer HTTPLiveSource: impl getSelectedTrack" into lmp-mr1-dev

* commit 'ef2af979309dd4f85c449614dfeb829e72ff718d':
NuPlayer HTTPLiveSource: impl getSelectedTrack
707eadef2ad1388bafdb2d003a4169208fa99811 18-Nov-2014 Marco Nelissen <marcone@google.com> Don't autoloop notifications

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

Bug: 15929273
Change-Id: I77c4277801cb2561743f8c676ef76ab4d1668b08
uPlayerDriver.cpp
ef2af979309dd4f85c449614dfeb829e72ff718d 18-Nov-2014 Robert Shih <robertshih@google.com> am 811a92f6: am 39b109a1: Merge "NuPlayer HTTPLiveSource: impl getSelectedTrack" into lmp-mr1-dev

* commit '811a92f68dbcab0f88b4be72099d783d3a44c9f6':
NuPlayer HTTPLiveSource: impl getSelectedTrack
39b109a1df23e7610b031b466e9ecf510b3c077f 18-Nov-2014 Robert Shih <robertshih@google.com> Merge "NuPlayer HTTPLiveSource: impl getSelectedTrack" into lmp-mr1-dev
1c39c28ed6537cab06d681f8f3c0a4d17bb0543d 17-Nov-2014 Chih-hung Hsieh <chh@google.com> am 8c5ee61a: am d86450b9: am c80b9b83: Merge "Fix struct vs. class mismatches"

* commit '8c5ee61a057e3b87e8f0800b284642bf3b107fd0':
Fix struct vs. class mismatches
8c5ee61a057e3b87e8f0800b284642bf3b107fd0 17-Nov-2014 Chih-hung Hsieh <chh@google.com> am d86450b9: am c80b9b83: Merge "Fix struct vs. class mismatches"

* commit 'd86450b93ab3960ccd68aed14563aaa76b43ce9b':
Fix struct vs. class mismatches
86a58cabe322b746ab0eb17f0cade34ed68ba60e 17-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Fix struct vs. class mismatches

Fix something being declared a struct and forward-declared a class and
vice versa.

gcc doesn't care, clang complains about the mismatch.

Change-Id: I7a7a8e9040e3c86fa1d73eb112631ea140861657
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
uPlayer.h
uPlayerSource.h
060ef2a4f42820c77ded1de99c6e1f5edb0033a0 15-Nov-2014 Wei Jia <wjia@google.com> am 1ea52d5f: am addfc718: Merge "NuPlayer: tunnel decoder with renderer for data buffer passing." into lmp-mr1-dev automerge: b915eeb

* commit '1ea52d5ff0465f9353fcf14ed64246c1b9bf4439':
NuPlayer: tunnel decoder with renderer for data buffer passing.
c6cfd70f24a11b946859485ce398a189c301a4e2 12-Nov-2014 Wei Jia <wjia@google.com> NuPlayer: tunnel decoder with renderer for data buffer passing.

Bug: 18342383

Change-Id: I182928007814c146c01a86196c4fda1d46e74ea4
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
9b58c14a4988cf56b9b9a85da60e3c7297e6ef31 14-Nov-2014 Lajos Molnar <lajos@google.com> am 39740c2a: am 85a5b99f: am 6641004b: Merge "Revert "mediaplayer: make frame-accurate avsync configurable"" into lmp-mr1-dev

* commit '39740c2abbf66d33d3e7a276cd3a295054e3a275':
Revert "mediaplayer: make frame-accurate avsync configurable"
6641004be544a394f3fca81f7213dd6e0668ff98 13-Nov-2014 Lajos Molnar <lajos@google.com> Merge "Revert "mediaplayer: make frame-accurate avsync configurable"" into lmp-mr1-dev
6e100e42872aa039900959760cfd046eb358d607 13-Nov-2014 Marco Nelissen <marcone@google.com> am cea67364: am 233ef496: Merge "Fix looping sound playback" into lmp-mr1-dev automerge: 538596f

* commit 'cea67364cee2c8e2e9baae86276cdeb0e13c8c0d':
Fix looping sound playback
368e33700ed16acc8e99657fb84edd5d2806b34f 11-Nov-2014 Marco Nelissen <marcone@google.com> Fix looping sound playback

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

Bug: 18326137
Change-Id: I3bc3629597fc43cce33bdf5691d29cc4c2285926
uPlayerDriver.cpp
ee8b6abd8c201589fc260cbef48b1755109b1ac0 11-Nov-2014 Marco Nelissen <marcone@google.com> am aa97f709: am 48cb6d7c: Merge "Fix short sound playback" into lmp-mr1-dev automerge: 667b46d

* commit 'aa97f7093c8bb99ad5f86294fef7a070be0e206f':
Fix short sound playback
be695c80b8b5c3aae66ad7a2a56f523fc766ff4d 11-Nov-2014 Robert Shih <robertshih@google.com> am 63f2701a: am 21efaad1: Merge "GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs" into lmp-mr1-dev automerge: c93fbdb

* commit '63f2701a38a3a2ea43d5ac8f909d095b49a89590':
GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs
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
374753585c2cc72977709b218314f8f4f5bc7889 10-Nov-2014 Robert Shih <robertshih@google.com> am 1dda4012: am 53fea876: Merge "HTTPLiveSource: NULL check in getFormat" into lmp-mr1-dev automerge: 2dc28b6

* commit '1dda4012b814e0874c178a79b2d478c9a45bac1f':
HTTPLiveSource: NULL check in getFormat
5c67ddcf987b1f07c9abc1d051a0c051e7c73ff7 05-Nov-2014 Robert Shih <robertshih@google.com> GenericSource: add mVideoLastDequeueTimeUs/mAudioLastDequeueTimeUs

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

Bug: 18297916
Change-Id: I14c5de8d28202ee1b68e369d33e01bd26dbe968d
TTPLiveSource.cpp
e17afa888040eb5fbd31249305efd88ee03bb5bc 08-Nov-2014 Lajos Molnar <lajos@google.com> Revert "mediaplayer: make frame-accurate avsync configurable"

Reenable PTS scheduling for all playback.

This reverts commit 274084f7bfd3f6bdf5a55cf16ceefed345aa0060.

Bug: 18111837
Change-Id: Ia734ad304c1f85d2ac302261866be82b8f2a30d4
uPlayerRenderer.cpp
33f45b51654999a8b9d29c8f9471794730b85393 07-Nov-2014 Wei Jia <wjia@google.com> am 6200e7f4: am 5cccfce1: Merge "AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek." into lmp-mr1-dev automerge: e86c6d5

* commit '6200e7f43d977ad6698f018ee55e2f423ff8a87c':
AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.
89bf2525c5b57f17260de5b00c5f3f78ac4b881e 30-Jul-2014 Robert Shih <robertshih@google.com> NuPlayer HTTPLiveSource: impl getSelectedTrack

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

This will remove the unnecessary flush for seek.

Bug: 17511837
Change-Id: I4b7acfc71a410372f5c630afb94b6a95d09d8974
enericSource.cpp
uPlayer.cpp
uPlayer.h
TSPSource.cpp
treamingSource.cpp
15ce5f35187659ad757ee2ea6f70dcef5010c2c2 05-Nov-2014 Marco Nelissen <marcone@google.com> Fix short sound playback

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

Bug: 18188921
Change-Id: I038aad74a105e163963929c7002b55f377de1442
uPlayerRenderer.cpp
53f3053c3bd106d6ddf9b6d800ad1ee843f82f32 31-Oct-2014 Eric Laurent <elaurent@google.com> am f6a22ab1: am b2147445: am 7011ee31: Merge "NuPlayer: reduce offload pause teardown timeout." into lmp-mr1-dev

* commit 'f6a22ab15c6d4f3bbb49a30a896dd73553fccc83':
NuPlayer: reduce offload pause teardown timeout.
545e123c54789f8dcb9f5fa77fd5aa0b7a172f10 31-Oct-2014 Wei Jia <wjia@google.com> am 0307c3ce: am 97d84d7f: am cde2b722: Merge "NuPlayer: merge start() and resume()." into lmp-mr1-dev

* commit '0307c3ce5be18d83093e0e45b8cbd90caf30c4fc':
NuPlayer: merge start() and resume().
9df2742a0dc6eb1e4aea2905487722dc60d537cf 30-Oct-2014 Eric Laurent <elaurent@google.com> am ff05cbdb: am 0d277600: am eac3f36c: Merge "fix deep buffer logic in NuPlayer." into lmp-mr1-dev

* commit 'ff05cbdb4939c2140726b6b7ce8907a9c90716e8':
fix deep buffer logic in NuPlayer.
7011ee31d65917a9e15b271942e863f06eee2da1 30-Oct-2014 Eric Laurent <elaurent@google.com> Merge "NuPlayer: reduce offload pause teardown timeout." into lmp-mr1-dev
a5d316fd802cfc92954527f27e6f32206a896113 29-Oct-2014 Eric Laurent <elaurent@google.com> NuPlayer: reduce offload pause teardown timeout.

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

Bug: 13505340.
Change-Id: Ibcaa609b59e86ba2bc49539620bd77504d534c0c
uPlayerRenderer.cpp
cde2b72229fd6e06ee301238fd2943cdc1c40686 29-Oct-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: merge start() and resume()." into lmp-mr1-dev
9421174a2f002fef31b330fb04e00105a905dca4 29-Oct-2014 Wei Jia <wjia@google.com> NuPlayer: merge start() and resume().

NuPlayerDriver: allow seekTo called in STOPPED_AND_PREPARED state.

Bug: 18127606
Change-Id: I92ff9f7e0a176c434202762d30966d8c4643d1ef
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
d88c3cafb439367f2a245b625e0a74bcd785f099 28-Oct-2014 Eric Laurent <elaurent@google.com> fix deep buffer logic in NuPlayer.

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

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

Bug: 18114624.
Change-Id: If3c04c784bc20d77926993ee475fbf961aeba7ae
uPlayer.cpp
uPlayerRenderer.cpp
58f06b5e4fba042c3f94f5ef25b44b829cc3b02e 23-Oct-2014 Lajos Molnar <lajos@google.com> am a968c6e3: am 3c8631e2: am a4ee6d5f: am 6e52a61a: am f5926713: mediaplayer: don\'t report position past last queued position

* commit 'a968c6e34d028ac81a7997685c3ebfd576ae192e':
mediaplayer: don't report position past last queued position
575c2823cc0de91e8e4e9d91e53962a4ec45dd3b 22-Oct-2014 Lajos Molnar <lajos@google.com> am 171fa160: am 9bbccd13: am d5923409: mediaplayer: limit scheduling video frames into the future automerge: 28cd743
automerge: 3c29422

* commit '3c29422347281a721d46517e7c581b03e2347e90':
mediaplayer: limit scheduling video frames into the future
ec8f834893598ccd800c30fd215ad8d148da9706 22-Oct-2014 Ronghua Wu <ronghuawu@google.com> am 41c4d1a2: am da686693: am eecb7805: NuPlayer: set anchor time for each audio buffer. automerge: 1dbf21b
automerge: 29bd4d1

* commit '29bd4d1f1e273a5ecf00142dcde3711d7447c6e5':
NuPlayer: set anchor time for each audio buffer.
f592671336be0a061799033e47ceeacb648ed3bf 21-Oct-2014 Lajos Molnar <lajos@google.com> mediaplayer: don't report position past last queued position

also reanchor offloaded audio track correctly

Bug: 17653702
Change-Id: If05394d3b119be8d80b7764847496246d34a2133
uPlayerRenderer.cpp
uPlayerRenderer.h
d5923409bbcbb22954a92c2b497ef4492d7cb6a5 21-Oct-2014 Lajos Molnar <lajos@google.com> mediaplayer: limit scheduling video frames into the future

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

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

Bug: 18032127
Change-Id: I959a714edfe1c8cf3b84704c693dcd1b3e5b7855
uPlayerRenderer.cpp
uPlayerRenderer.h
eecb7805bbbb712925d4372c505f8c7f5c4fb5ed 20-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: set anchor time for each audio buffer.

And use anchor time to compute current position

Bug: 17999949
Bug: 18008307
Bug: 18032127
Change-Id: Ie493c9a1d45d7b788aef65d863f710da6326fcc1
uPlayerRenderer.cpp
uPlayerRenderer.h
da363eddb713785d924de1c9650e0d4f30b08e82 17-Oct-2014 Chong Zhang <chz@google.com> am 69e61ed4: am f4f34037: am 95b6e531: am 0ebf65be: Merge "move audio sink open/close to NuPlayerRenderer" into lmp-dev
automerge: 4412a4e

* commit '4412a4ee7c6f6d0347d71badb3091ab7b1767b85':
move audio sink open/close to NuPlayerRenderer
3b9eb1f8629c6264d924ab7043f80d824cdd39e2 16-Oct-2014 Chong Zhang <chz@google.com> move audio sink open/close to NuPlayerRenderer

Bug: 17675112
Change-Id: I7eb3d02380658f848baedafe2aea287586ccf016
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerRenderer.h
f26ab6051b4d1550101aabe4d7680ada6d439850 15-Oct-2014 Lajos Molnar <lajos@google.com> am f4e2e282: am cd559cc6: am c3340b80: am 1375ac6d: Merge "NuPlayer: query current position from NuPlayerRenderer." into lmp-dev

* commit 'f4e2e282b7a695e2dec16961748ea2469a220ad3':
NuPlayer: query current position from NuPlayerRenderer.
d0c8913702815fb0e86c4e183e6dbb4bab1016c2 14-Oct-2014 Wei Jia <wjia@google.com> am e2a11aea: am 45b94402: am 2fa84b0b: am e760de61: Merge "NuPlayerDriver: request seek notification when prepare*() is called in STOPPED state." into lmp-dev

* commit 'e2a11aea42e3fca474e737717dd471baa2c22861':
NuPlayerDriver: request seek notification when prepare*() is called in STOPPED state.
1375ac6d029b74ac392db411907b3c0ea57f08a7 14-Oct-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: query current position from NuPlayerRenderer." into lmp-dev
a73d9e0b3d171d2bfcd9eb07df9d6d36ae74df57 09-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: query current position from NuPlayerRenderer.

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

Bug: 17596535
Change-Id: Ib43f91f9b0d0a52112aa1fa8352adac15aaf80f8
uPlayerDriver.cpp
87a4b9255e5eed5927a7981c4616798ae70e67ff 11-Oct-2014 Wei Jia <wjia@google.com> am ac56dfe5: am d7635618: am 9e9196fe: am 185a295d: Merge "NuPlayerRenderer: adjust anchor time correctly for video only case." into lmp-dev

* commit 'ac56dfe5198fea5680bc94c8fcc290358b5dc092':
NuPlayerRenderer: adjust anchor time correctly for video only case.
185a295d4518878d5e2bca7b7c3e51df44492df1 10-Oct-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: adjust anchor time correctly for video only case." into lmp-dev
49966fff32b27f8821ebe280f25688b3c4f5f73f 09-Oct-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: adjust anchor time correctly for video only case.

Bug: 17922171
Change-Id: I4c7e9e7f5ab96d3675d012ae30f78ef945394103
uPlayerRenderer.cpp
uPlayerRenderer.h
573a6e86363e26bf3f4f47de35f3da9217d2bbbc 07-Oct-2014 Andy Hung <hunga@google.com> am 9da6c242: am 595a5c70: am 73d0a798: Merge "NuPlayer: wait for renderer flush before decoder shutdown" into lmp-dev

* commit '9da6c242c6979a52bccb60776b993b2282461b0c':
NuPlayer: wait for renderer flush before decoder shutdown
8d121d41f5355b78b687f44e8d4aae4de2aa0359 03-Oct-2014 Andy Hung <hunga@google.com> NuPlayer: wait for renderer flush before decoder shutdown

Bug: 17679341
Change-Id: Ie3883686891e7ee6fb45ceb01af1eb60b559d3a0
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
d6bdf2f11355b70e8f000e9a4b869b27702e75e8 06-Oct-2014 Ronghua Wu <ronghuawu@google.com> am 5769ed50: am 658937e7: am c4da004d: Merge "NuPlayer: add audioDecoderStillNeeded." into lmp-dev

* commit '5769ed50bfcb88e2613a8616a5f4cf9f99ea2ecf':
NuPlayer: add audioDecoderStillNeeded.
71608d7cbeb0f6124b90eb8d4768a107d2455cb1 04-Oct-2014 Ronghua Wu <ronghuawu@google.com> am e38441d3: am acc8918e: am af1a4dc9: Merge "NuPlayer: don\'t restart AudioSink when torn down due to pause timeout." into lmp-dev

* commit 'e38441d377ae9bdd5a00cbc2351c95cc8d5efdfb':
NuPlayer: don't restart AudioSink when torn down due to pause timeout.
d7988b1a7b32e39e671f7d4e2b2d8027a1f99639 04-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: add audioDecoderStillNeeded.

Bug: 17752358
Change-Id: Ia3b3ee4df65e5564afd0723943d2d747f3a604af
uPlayer.cpp
uPlayer.h
af1a4dc989d6707116eaefab300ad55124aace66 03-Oct-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: don't restart AudioSink when torn down due to pause timeout." into lmp-dev
0852917279f79a94907e9906d0533ae409a30f6a 03-Oct-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: don't restart AudioSink when torn down due to pause timeout.

Bug: 17752358
Change-Id: I232d105480139bfc0b991bcd8e001930e577cf30
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
36a7f5b2971f9125e908388113d5e52ddcb8822c 03-Oct-2014 Chong Zhang <chz@google.com> am 9b68037c: am f0d98899: am aaa527fb: Merge "send available codec buffer count with codec notification" into lmp-dev

* commit '9b68037c1f3fcf2a390dd796fb31b1d873fe4bea':
send available codec buffer count with codec notification
aaa527fbd790d30353d15608e54b5b94625b7b6d 03-Oct-2014 Chong Zhang <chz@google.com> Merge "send available codec buffer count with codec notification" into lmp-dev
fac0deda3513858fc2c70bc1ff3e1df93fab6708 03-Oct-2014 Wei Jia <wjia@google.com> am f893459f: am 86c541dc: am 6eff943c: Merge "NuPlayerDecoder: postpone input message processing when it\'s not dequeued." into lmp-dev

* commit 'f893459ff569c240bd525b1a2176da4192501eaa':
NuPlayerDecoder: postpone input message processing when it's not dequeued.
6eff943c133903fcd9bdb7bb1812d7b383b090f8 03-Oct-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDecoder: postpone input message processing when it's not dequeued." into lmp-dev
e47d44486f0a9f9b828b01d0fbaf84f5573f0aa2 30-Sep-2014 Chong Zhang <chz@google.com> send available codec buffer count with codec notification

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

Bug: 17622642
Change-Id: I67608121bf70d6acb152e4aa64892b11bf167e8c
uPlayerDecoder.cpp
uPlayerDecoder.h
6820103771b5af4bda1ed7dab29dcf49421afc2e 02-Oct-2014 Andy Hung <hunga@google.com> am d7bdfd7d: am cfe3ba6b: am d8b03abf: Merge "NuPlayer: Fix flush mode decoder error handling" into lmp-dev

* commit 'd7bdfd7d33789965988079e3a03ec1233f1f5896':
NuPlayer: Fix flush mode decoder error handling
d8b03abf1d003e2940a19f0071ea2892689dd10e 02-Oct-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Fix flush mode decoder error handling" into lmp-dev
f75baebba3a35780df156d1378e18c38097f7c6c 02-Oct-2014 Robert Shih <robertshih@google.com> am b76c2702: am 8359c43a: am 3af67d03: Merge "GenericSource: support disconnect before NuCachedSource2 is created" into lmp-dev

* commit 'b76c2702fcae662b7ac0523d4735ef90c0f6dbba': (32 commits)
GenericSource: support disconnect before NuCachedSource2 is created
Camera1 shim: If there's no flash, the keys need to be null.
NuCachedSource2: more fixes for source read hang
NuPlayer: change assert to conditional check.
Camera2Client: log an error when autoFocus is called in wrong state
NuPlayer: use generation to filter out stale message from renderer.
MediaBuffer: ABuffer will release MediaBuffer when it's destructed.
AudioEffect acquires session
Add support for ANDROID_LOOP to NuPlayer
StagefrightRecorder: default to codec and fps from camcorder low profile
AudioPolicyManager: Use "safe" speaker for notifications if available
mediaplayer: release MediaBuffer in stale input buffers
NuPlayerDriver: do not set to paused state when receiving playback complete and reset is in progress.
Revert "Fix AAC timestamps for multiple aac frames per input buffer"
fix failure in MediaCodecTest#testException
mediaplayer: limit number of outstanding buffer requests
NuPlayer: make previous decoders obsolete when reset is done.
NuPlayer::Renderer::onPause() - Converted CHECK(!mPaused) to a warning.
NuPlayer: check mSource before deferencing it.
Move stale handler cleanup to constructor
...
2abde2c118a94f843a7450818c925d3f0b673cd3 30-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: Fix flush mode decoder error handling

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

Bug: 17638878
Bug: 17679341
Change-Id: I219796c04d65d7c4dd61c0d4f99f9f580241a68b
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
2a0110017acd604261e098c5683783bd33319566 02-Oct-2014 Lajos Molnar <lajos@google.com> am 87129bcf: am 41b9ef26: Merge "mediaplayer: make frame-accurate avsync configurable" into lmp-dev

* commit '87129bcf0aff6b8dd37a871fece451d49bb8f889':
mediaplayer: make frame-accurate avsync configurable
3af67d03bbc30c368821caf8b74ae7fb91ee7db7 01-Oct-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: support disconnect before NuCachedSource2 is created" into lmp-dev
360d6d0924f99b82ebacb5cfb6f7bca95e11b4ee 29-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: support disconnect before NuCachedSource2 is created

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

disable by default

Bug: 17686015
Change-Id: I3961b1bc9c6d48afc8c5f7f5270528ea6341bc60
uPlayerRenderer.cpp
92001302180afe70564e692e29cf6a878c14b88e 26-Sep-2014 Wei Jia <wjia@google.com> am 18e10cb1: am 0ed72488: Merge "NuPlayer: use format obtained from source to tell if video exists." into lmp-dev

* commit '18e10cb19395ba8758d484cb962c9f38e30adba4':
NuPlayer: use format obtained from source to tell if video exists.
36f389888e4b2905f0b457f451187fd8d3ed5153 26-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: use format obtained from source to tell if video exists.

Bug: 17374216
Change-Id: I2d5f90d72b70684475d67ff8f41b803c2880840b
uPlayer.cpp
8a836ce76a7328df6dc274f65935b176060989f3 25-Sep-2014 Andy Hung <hunga@google.com> am 3529b78d: am c0d17e34: Merge "NuPlayer: Fix decoder error handling" into lmp-dev

* commit '3529b78d2b430aac5b8f1e48bd37c0201fb1d0f7':
NuPlayer: Fix decoder error handling
9dd5b87c7400e6c0ace12d185bd3b1443aece69b 25-Sep-2014 Lajos Molnar <lajos@google.com> am 376a8353: am 9a70c2c4: Merge "Fix Widevine classic playback errors with NuPlayer" into lmp-dev

* commit '376a8353901533268d21a0e2041c75cd9f2f04da':
Fix Widevine classic playback errors with NuPlayer
7a90ca027632c8e5220ca24c75856ccd96bba1d3 25-Sep-2014 Wei Jia <wjia@google.com> am 3709974f: am 50373731: Merge "NuPlayerDecoder: release MediaBuffers when decoder is deleted." into lmp-dev

* commit '3709974f26e9661d512ae995123f2b22db51dc66':
NuPlayerDecoder: release MediaBuffers when decoder is deleted.
c0d17e349901c3ccf6d15b7dcdf7fa30139c9750 25-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Fix decoder error handling" into lmp-dev
9a70c2c490afe35383c2226061af5a2f4e5b2109 25-Sep-2014 Lajos Molnar <lajos@google.com> Merge "Fix Widevine classic playback errors with NuPlayer" into lmp-dev
cf31f1eecf46d599428e115dfee8dd47b76c83fc 23-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: Fix decoder error handling

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

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

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

bug: 17589961
Change-Id: If16c61b90cf92caa89eecd66aabef5813fd7619b
enericSource.cpp
00c0b12f9d4cc04d42cf6254c121fc6b86862946 24-Sep-2014 Wei Jia <wjia@google.com> am d996c469: am fc55783d: Merge "NuPlayer will notify SeekComplete only when requested so." into lmp-dev

* commit 'd996c4698bda072866d77bac9e9a7685a2c9349b':
NuPlayer will notify SeekComplete only when requested so.
47c04624a80c812dbbdf2c7eab3572aeaf536cd8 24-Sep-2014 Wei Jia <wjia@google.com> am c090e902: am 7e9f7f7a: NuPlayer: change assert to conditional check.

* commit 'c090e90241bcf0475f48f930e0f592e8716b8d15':
NuPlayer: change assert to conditional check.
fc55783d0886d5dbaa234f85a4313796d9ef1df4 24-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayer will notify SeekComplete only when requested so." into lmp-dev
58aae5d54f04aef42c315a717ea0bf8f26a0a62f 23-Sep-2014 Ronghua Wu <ronghuawu@google.com> am 817c28d7: am 3cdd6b8c: Merge "NuPlayer: add pause timeout event for offload audio." into lmp-dev

* commit '817c28d71d0d68a6eb25057bd04e555dc0b85cc4':
NuPlayer: add pause timeout event for offload audio.
d4aa7e7d429267fd38950370850db7eb534adeea 23-Sep-2014 Wei Jia <wjia@google.com> am 888451fb: am ad5447f6: Merge "NuPlayer: use generation to filter out stale message from renderer." into lmp-dev

* commit '888451fbabf574a09b33a01db821a0a2d4a00add':
NuPlayer: use generation to filter out stale message from renderer.
7e9f7f7a9fb6c5d93fc9163e32936f3ea284caad 23-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: change assert to conditional check.

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

Bug: 17596535
Change-Id: I6b744fdcf80f11d521d26c7c8b45f7de70aa0dc3
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
d93ebc8aa9433678b36285f8d43dcbc00a8dd534 23-Sep-2014 Wei Jia <wjia@google.com> am 0973af24: am 0079b331: Merge "MediaBuffer: ABuffer will release MediaBuffer when it\'s destructed." into lmp-dev

* commit '0973af247786ff1be980390cc274364fca6b2d6e':
MediaBuffer: ABuffer will release MediaBuffer when it's destructed.
f5b1db11734358d979a23a1ac4903872186ef60b 09-Sep-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: add pause timeout event for offload audio.

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

Clean up generation number for decoders.

Bug: 17507846
Change-Id: Ibd2cfe11f89f404882d66c384b5198dc641f5e71
uPlayer.cpp
uPlayer.h
0079b331227fc1555d7c5305f33917a570d44890 22-Sep-2014 Wei Jia <wjia@google.com> Merge "MediaBuffer: ABuffer will release MediaBuffer when it's destructed." into lmp-dev
a8459e3566393c5ed3c07a989e30d19a32554610 20-Sep-2014 Lajos Molnar <lajos@google.com> am ee919f19: am 8d6ae6d9: Merge "mediaplayer: smooth out videoplayback based on framerate" into lmp-dev

* commit 'ee919f191c059594d2ac4f4468db518c29ec87b6':
mediaplayer: smooth out videoplayback based on framerate
4868c8b53f2750ffbdad46da24e4be2385245728 20-Sep-2014 Marco Nelissen <marcone@google.com> am 54c4dbda: am 3bde6b1c: Merge "Make prepare properly report failure again" into lmp-dev

* commit '54c4dbda0c9590b669266a76e8397ed5ad9a7aea':
Make prepare properly report failure again
96e92b58b7e9647b4c7c2f54b62a1b357ab06b66 19-Sep-2014 Wei Jia <wjia@google.com> MediaBuffer: ABuffer will release MediaBuffer when it's destructed.

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

Bug: 14659809
Change-Id: I73f6c7224c51ac06487475f9ed395379111ad71f
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
3bde6b1c3387c51479f39846533ead246a920990 20-Sep-2014 Marco Nelissen <marcone@google.com> Merge "Make prepare properly report failure again" into lmp-dev
69a247de81ef98a83c686c82f4605d7bbd1faa3a 20-Sep-2014 Lajos Molnar <lajos@google.com> am c3813abf: am dc43dfa1: mediaplayer: schedule video frames in VSYNC valleys

* commit 'c3813abf89d8a02fcaed8a13ec62dc7a3f1df2b7':
mediaplayer: schedule video frames in VSYNC valleys
705d3290102875409e334e2a80e64221714aa37c 20-Sep-2014 Marco Nelissen <marcone@google.com> Make prepare properly report failure again

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

Bug: 14659809
Change-Id: Ic340ac61ad4778b493625c79c2cb4f747ff54ede
ndroid.mk
uPlayerDecoder.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
86b18bdb4bf258e69c8b436835d2431abf3ee649 19-Sep-2014 Phil Burk <philburk@google.com> am 5248af43: am c0651e85: Merge "mediaplayer: fix buffer aggregation when video has offloaded audio" into lmp-dev

* commit '5248af4357442289f8acc39dd7b8f574b2263d69':
mediaplayer: fix buffer aggregation when video has offloaded audio
c0651e858ae4ef4c9a2df2e4506b4093b6666ae9 19-Sep-2014 Phil Burk <philburk@google.com> Merge "mediaplayer: fix buffer aggregation when video has offloaded audio" into lmp-dev
939314d3a743efee67456302803a1457b2db1663 18-Sep-2014 Andy Hung <hunga@google.com> am a9612acf: am 21a1d72b: Merge "NuPlayer: update timestamp handling" into lmp-dev

* commit 'a9612acf7fd699536ce026297c1b34d877bdbe16':
NuPlayer: update timestamp handling
598af9e9506cf9db5135ff7faf2d0e6fc7daab60 18-Sep-2014 Lajos Molnar <lajos@google.com> am 0601bea8: am 83266677: Merge "NuPlayer: use getTimestamp instead of getPosition" into lmp-dev

* commit '0601bea8a43ea47f0a83a9bdf72de373576dbb8c':
NuPlayer: use getTimestamp instead of getPosition
21a1d72bb42710d149532653490154f89330b9dd 18-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: update timestamp handling" into lmp-dev
832666776a681ec3a30ee8fc7d5da9039646147d 18-Sep-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: use getTimestamp instead of getPosition" into lmp-dev
09e0c3646362d29c78bc26c8b23b7a753c412e6c 13-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: update timestamp handling

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

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

Bug: 14659809
Bug: 17428188
Change-Id: I051bb5e2dd4fd5990474f8fb635615ad8d18eb2c
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
33b51b07ca90cc3b48e86598f7e82f93e440fe02 18-Sep-2014 Phil Burk <philburk@google.com> mediaplayer: fix buffer aggregation when video has offloaded audio

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

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

Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
uPlayerRenderer.cpp
uPlayerRenderer.h
fb74cf332eaa01e23c45d2d5566e963d177d69ae 18-Sep-2014 Marco Nelissen <marcone@google.com> am d2fc5dac: am 866e028b: Merge "Add support for ANDROID_LOOP to NuPlayer" into lmp-dev

* commit 'd2fc5dac3c0a15f012b1e72d80c795d5f425616a':
Add support for ANDROID_LOOP to NuPlayer
866e028bbe30b1ba0b9d8903c88bbe8525b81a37 18-Sep-2014 Marco Nelissen <marcone@google.com> Merge "Add support for ANDROID_LOOP to NuPlayer" into lmp-dev
79e245f71d67a0d08e1492b1f3c6a95f13f963f1 17-Sep-2014 Lajos Molnar <lajos@google.com> am 3b05be3a: am 3a6a0f9d: Merge "mediaplayer: reset flags when pre-reading multiple buffers" into lmp-dev

* commit '3b05be3a3f500ce10b4b0eba5e6c171742c0d975':
mediaplayer: reset flags when pre-reading multiple buffers
f0b72b509ab1147a2a0925aced970dd68fd7fa4f 17-Sep-2014 Marco Nelissen <marcone@google.com> Add support for ANDROID_LOOP to NuPlayer

Bug: 17518139
Change-Id: I9355ddd4c998d967013dd8bd32d670a9a83dea31
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
317a49a4c4bf02944d1e01941c6b9f86179044bb 17-Sep-2014 Marco Nelissen <marcone@google.com> mediaplayer: reset flags when pre-reading multiple buffers

Bug: 17521470
Change-Id: I15ee9b1d3dd4ad29f4961a642f7fadafd9fe5b24
enericSource.cpp
90ef510b7aa32e60cd49d9bf99d628918db8f69f 17-Sep-2014 Robert Shih <robertshih@google.com> resolved conflicts for merge of a7efc1af to master

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

Bug: 17512187
Change-Id: I204ce83790bf98bc7ffebcb76d5df1e56a6a3f66
uPlayerDriver.cpp
3ac198d4444bc83e8410224b09a25607019f0f1a 17-Sep-2014 Chong Zhang <chz@google.com> am c67ae7b1: am fbbeeeb8: Merge "Disconnect HTTP-based data source upon reset" into lmp-dev

* commit 'c67ae7b1e2864fe6ed35c72e4561d46c284ccd60':
Disconnect HTTP-based data source upon reset
fbbeeeb87c55c3eca94a709f9f8986190f6472a1 17-Sep-2014 Chong Zhang <chz@google.com> Merge "Disconnect HTTP-based data source upon reset" into lmp-dev
f294f02549595e12bdf5d2e5229d413d7a89b90e 16-Sep-2014 Robert Shih <robertshih@google.com> am 03e8a5ff: am da23ab9b: GenericSource: fix selectTrack parameter

* commit '03e8a5ff5327530f6f5fa7ae03d34ca1bb3443cf':
GenericSource: fix selectTrack parameter
da23ab9b0dfa780175651daf057a02b0aa106dc8 16-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: fix selectTrack parameter

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

Bug: 17425250

Change-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerSource.h
0c9e842546aaba6b0c8f49e492ee3f932949409d 16-Sep-2014 Lajos Molnar <lajos@google.com> am fcf9e4c6: am 73721170: Merge "mediaplayer: handle surface dis/connection errors" into lmp-dev

* commit 'fcf9e4c6a7aa1b21f710de307c5743d8d55f9953':
mediaplayer: handle surface dis/connection errors
20ac005f3747d2301959f92cd53eb1815e331fa8 16-Sep-2014 Phil Burk <philburk@google.com> am 507b57a9: am c7b29572: Merge "mediaplayer: optimize buffer queue management" into lmp-dev

* commit '507b57a934de2e2c30c5fad7a0c50cc6eec777ca':
mediaplayer: optimize buffer queue management
73721170e1a3c9751ef00fd53b6b5eec5f2c5c81 16-Sep-2014 Lajos Molnar <lajos@google.com> Merge "mediaplayer: handle surface dis/connection errors" into lmp-dev
c7b29572d22dff51b5432a7d211875d528406da6 15-Sep-2014 Phil Burk <philburk@google.com> Merge "mediaplayer: optimize buffer queue management" into lmp-dev
14986f6cca08b9ab0407cc2d31f92bfb02b5cb8c 15-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: handle surface dis/connection errors

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

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

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

* commit '44122ffcf1fe24dfec960d9dea4257734496660b':
GenericSource: move track packet init from start to prepare
b5bd91cfcbf8fe951a59150692d42f4017fdafa9 12-Sep-2014 Lajos Molnar <lajos@google.com> am 2313848c: am 84f5278a: avoid kWhatReadBuffer message spam in GenericSource

* commit '2313848c95b7c25e3ac33f01ef3e604d9a65e5a4':
avoid kWhatReadBuffer message spam in GenericSource
ae6fe431d150d561fa27d060f38b5dd7c42820bb 12-Sep-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: move track packet init from start to prepare" into lmp-dev
af52c1a1ccab588ae4ed94521f202ed9474eccec 12-Sep-2014 Robert Shih <robertshih@google.com> GenericSource: move track packet init from start to prepare

Bug: 17244704
Change-Id: I15eba0e4d2a178cc0ba46bbc17be0e6d95e76935
enericSource.cpp
84f5278a36f2816cc38f64307b4a1ad8a6818507 11-Sep-2014 Lajos Molnar <lajos@google.com> avoid kWhatReadBuffer message spam in GenericSource

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

Bug: 17472979
Change-Id: Ice92ccf2454bf7a70856a4a8b535cefffc9e61ac
enericSource.cpp
enericSource.h
e4ce3eb0d4785679994b38d54aa7ec01d208be72 11-Sep-2014 Lajos Molnar <lajos@google.com> am ebea445f: am b9b87fe9: mediaplayer: release MediaBuffer in stale input buffers

* commit 'ebea445f9344dbbe2ad560e340fb0ee3b9151650':
mediaplayer: release MediaBuffer in stale input buffers
2c6b6000404d939be92193209dbd147ccd70d2e1 11-Sep-2014 Wei Jia <wjia@google.com> resolved conflicts for merge of 42db212e to master

Change-Id: I1d8fe79a591b0e2a9e279f6c2c70d9e13c72924b
d51c19cdca101fdc8464d3adae9c88f0be9a8a75 11-Sep-2014 Lajos Molnar <lajos@google.com> am 55e9e267: am b606de81: Merge "mediaplayer: limit number of outstanding buffer requests" into lmp-dev

* commit '55e9e26779b2e08b460da1af2a420767655bde12':
mediaplayer: limit number of outstanding buffer requests
b9b87fe9d9f3d91c05300a22920d7227a3f8eb83 10-Sep-2014 Lajos Molnar <lajos@google.com> mediaplayer: release MediaBuffer in stale input buffers

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

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

Bug: 14679336
Change-Id: I94a20ada30a9a25065329a85fc884d32d154d029
uPlayerDecoderPassThrough.cpp
dc854df7937347a719e8f67f2c3f800fab3c42cd 10-Sep-2014 Wei Jia <wjia@google.com> am 59424ee1: am 8716e3f3: Merge "NuPlayer: make previous decoders obsolete when reset is done." into lmp-dev

* commit '59424ee18cc68d5802bae05e15fd6f41f3f1113f':
NuPlayer: make previous decoders obsolete when reset is done.
b44c9e249eded8c7e36dd52ec6a6256538372ef9 10-Sep-2014 Phil Burk <philburk@google.com> am ba8711db: am 47a13d45: Merge "[media][nuplayer] Remove debug message EWOULDBLOCK" into lmp-dev

* commit 'ba8711db379fe243667a0387e2e86a49e17bee68':
[media][nuplayer] Remove debug message EWOULDBLOCK
f4cdb7f6724d0d4e3c74c8f2d02e7850b15d294a 10-Sep-2014 Rachad <rachad@google.com> am cce5397d: am 95861b33: Merge " NuPlayer::Renderer::onPause() - Converted CHECK(!mPaused) to a warning." into lmp-dev

* commit 'cce5397d6896fcc30211c9aa2061d8c7d07d1a19':
NuPlayer::Renderer::onPause() - Converted CHECK(!mPaused) to a warning.
2c22b1225cdbb0d39c02d6f80244525f855c6179 10-Sep-2014 Wei Jia <wjia@google.com> am 807ec0cb: am 2adbeda4: Merge "NuPlayer: check mSource before deferencing it." into lmp-dev

* commit '807ec0cb8cf4c6bd1ce4a48e3643db78ccf81534':
NuPlayer: check mSource before deferencing it.
8716e3f386f37abd3d759404ca8b3deaf46afde8 10-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: make previous decoders obsolete when reset is done." into lmp-dev
47a13d45ae3f05ddb778124484a17d4754c82b7a 10-Sep-2014 Phil Burk <philburk@google.com> Merge "[media][nuplayer] Remove debug message EWOULDBLOCK" into lmp-dev
cbe165a6f68c90bbdd2b1593387d4072bd80b924 09-Sep-2014 Phil Burk <philburk@google.com> [media][nuplayer] Remove debug message EWOULDBLOCK

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

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

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

Bug: 17436451

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

Bug: 17428608
Change-Id: I7b264d1288ed3c495434aedeeeef2fbfc3ca2f16
uPlayer.cpp
5e0ae5750d1359487c5915ec224727ef58c673ae 09-Sep-2014 Phil Burk <philburk@google.com> am 7976568a: am 1a9ac031: Merge "[audio][nuplayer] Aggregate buffers to reduce power." into lmp-dev

* commit '7976568a93fdb618d877086c7b8c4efc52ad34ff':
[audio][nuplayer] Aggregate buffers to reduce power.
1a9ac031e9de8b3be1ec2c8d6d00f92bd3d59ea8 09-Sep-2014 Phil Burk <philburk@google.com> Merge "[audio][nuplayer] Aggregate buffers to reduce power." into lmp-dev
9f5264958557c45e942eabab8b32db2544d6c498 04-Sep-2014 Phil Burk <philburk@google.com> [audio][nuplayer] Aggregate buffers to reduce power.

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

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

Bug: 15094301
Change-Id: Iad3dac90b5d6b0fa43432b0e6776652ee2eafaa1
Signed-off-by: Phil Burk <philburk@google.com>
uPlayer.cpp
uPlayer.h
aec8b9ac793cdecb4ec3d9e38c63d71b2167be23 08-Sep-2014 Wei Jia <wjia@google.com> am e2b2e5fb: am 43cbe059: Merge "NuPlayerDriver: put player in paused state when reaching EOS." into lmp-dev

* commit 'e2b2e5fb735a2cdd93e44982539470fbec2ab36b':
NuPlayerDriver: put player in paused state when reaching EOS.
43cbe059b21185855465063d3767c2364f446f44 08-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayerDriver: put player in paused state when reaching EOS." into lmp-dev
00f703e001e5663760fe21defb05fe22ee5a932a 06-Sep-2014 Robert Shih <robertshih@google.com> am 5b7e6f7a: am f17882b3: Merge "GenericSource: refactor track selection for dedicated looper" into lmp-dev

* commit '5b7e6f7afb7370d74212e3ccfe5f4b95c513b72e':
GenericSource: refactor track selection for dedicated looper
429ffde9abdea2b8b5792c04b333085207c1eb79 06-Sep-2014 Andy Hung <hunga@google.com> am 031f0a36: am ade312d5: Merge "NuPlayer: Restrict seek on video texture changes" into lmp-dev

* commit '031f0a3633b2c11074da55478038b84dbe250403':
NuPlayer: Restrict seek on video texture changes
f17882b310426d243f8cd541f1774c03ccdd4957 06-Sep-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: refactor track selection for dedicated looper" into lmp-dev
4ec6746804ad8172c8b1c4eb3e6deb19a0920734 05-Sep-2014 Wei Jia <wjia@google.com> NuPlayerDriver: put player in paused state when reaching EOS.

Bug: 17352759
Change-Id: I19b183e0a86b712524f79ec7c35e32b5a5b47bc6
uPlayerDriver.cpp
11170105650d62cc79e0d8d6d62a03b1928d9506 06-Sep-2014 Andy Hung <hunga@google.com> am 6a857f52: am 767fc12e: Merge "NuPlayer: Discard seeks when source and decoders are NULL" into lmp-dev

* commit '6a857f5263a82eae4f48eb15f62febf10b971cf9':
NuPlayer: Discard seeks when source and decoders are NULL
ade312d5c933cff798c3febefabc47b00390ee4a 05-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Restrict seek on video texture changes" into lmp-dev
a7bb4be9c79a8ea06b270304a657b9aa2034039c 05-Sep-2014 Chong Zhang <chz@google.com> am 627728f2: am 3ec9c3d2: Merge "Split CEA-608 Closed caption into 4 tracks CC1~CC4" into lmp-dev

* commit '627728f2bb2baf708dfa0159cee77c29c17412cd':
Split CEA-608 Closed caption into 4 tracks CC1~CC4
767fc12e58422eef14aa40a5e7ffefd0b3949b82 05-Sep-2014 Andy Hung <hunga@google.com> Merge "NuPlayer: Discard seeks when source and decoders are NULL" into lmp-dev
7353585789513466d5887986620e8734a325b3eb 05-Sep-2014 Andy Hung <hunga@google.com> NuPlayer: Restrict seek on video texture changes

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

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

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

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

Bug: 16463078

Change-Id: Ib3073090934232016e535fbb8fa56cdf9d7ab6eb
uPlayer.cpp
uPlayerDecoder.cpp
uPlayerDecoder.h
17f6dd64cd749f4e38e12b672b551047f4cbe9b4 21-Aug-2014 Robert Shih <robertshih@google.com> GenericSource: refactor track selection for dedicated looper

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

Bug: 16892748
Change-Id: I5d5e34381f1dfceca655c52a201627b53454ad22
enericSource.cpp
enericSource.h
459884dd62a5a23876cf60d125bfa835fb71f0c0 04-Sep-2014 Wei Jia <wjia@google.com> am 6e2ced09: am d3db0bfa: Merge "NuPlayer: add seek operation when change video texture surface." into lmp-dev

* commit '6e2ced090d64e0ddeb274035dc4ffaf6b01153b0':
NuPlayer: add seek operation when change video texture surface.
d3db0bfafc98305f867502c06de3ce415c97d3fb 03-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: add seek operation when change video texture surface." into lmp-dev
c08f60b17967cf99bb03105081fb9064b5f34545 03-Sep-2014 Chong Zhang <chz@google.com> am 85b41b0f: am 453d633b: Merge "render one video frame after flush even when we\'re paused" into lmp-dev

* commit '85b41b0f1fd9b683e3075cac53d522e664ee2ac7':
render one video frame after flush even when we're paused
ac428aa54d2489705091dd38372bbaade281a92e 03-Sep-2014 Wei Jia <wjia@google.com> NuPlayer: add seek operation when change video texture surface.

Bug: 17278770

Change-Id: I9fd5207e1eccb91e64644d2d1da4183d4bf7ac2c
uPlayer.cpp
uPlayer.h
453d633ba6351c8efc2103383ca178a0674bd373 03-Sep-2014 Chong Zhang <chz@google.com> Merge "render one video frame after flush even when we're paused" into lmp-dev
fbe8bef8bcf7aed97f0332908a817b0e6d91b9ba 30-Aug-2014 Chong Zhang <chz@google.com> render one video frame after flush even when we're paused

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

Bug: 17140448

Change-Id: I064806bfd566585eeb4150a508422c9775e08f99
uPlayerRenderer.cpp
uPlayerRenderer.h
575af1dab104287e65528a76dcf5ff07bc989114 02-Sep-2014 Wei Jia <wjia@google.com> am 18e24608: am e7494680: Merge "NuPlayerRenderer: stop feeding AudioSink when paused." into lmp-dev

* commit '18e24608d92a204191101a374ded26498caf02d9':
NuPlayerRenderer: stop feeding AudioSink when paused.
f423f73edeeccdf09713779de5a0b055ad31d0c3 02-Sep-2014 Ronghua Wu <ronghuawu@google.com> am d4fece27: am 64a385d5: Merge "GenericSource: set DRM playback status." into lmp-dev

* commit 'd4fece27b2fa8c84ae4f0fcfba5050028ef55d57':
GenericSource: set DRM playback status.
d299f92796f30d249f08f8bf3bcfe289bc9d3627 02-Sep-2014 Wei Jia <wjia@google.com> am f910a3df: am c9d62de7: Merge "MediaCodec: set state to UNINITIALIZED when receiving fatal error." into lmp-dev

* commit 'f910a3dfeb3fb58c297a37757e28150462fe1e9e':
MediaCodec: set state to UNINITIALIZED when receiving fatal error.
e7494680914c384dc6e93ae85f4337b06b300468 02-Sep-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: stop feeding AudioSink when paused." into lmp-dev
64a385d5d8e42ac96c88fb025212b4023690db39 30-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "GenericSource: set DRM playback status." into lmp-dev
c22c695660ed9edaba0d4cd7c0ab3a794216fe80 29-Aug-2014 Wei Jia <wjia@google.com> MediaCodec: set state to UNINITIALIZED when receiving fatal error.

NuPlayerDecoder: release MediaCodec when handling an error.

Bug: 16661923
Change-Id: I1b6fd7ee5cc1136b3f289135e5360cd3d98f9799
uPlayerDecoder.cpp
73ddd210ea572375198cac1d4960df793745fb4b 30-Aug-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: stop feeding AudioSink when paused.

NuPlayerDriver: current position is updated only in running state.

Bug: 17141882
Change-Id: Ia88551cc29ef8f0e7ef0600a214feb5633389b6e
uPlayerDriver.cpp
uPlayerRenderer.cpp
802768790c131f8237364906fd13981a6bb91193 29-Aug-2014 Ronghua Wu <ronghuawu@google.com> GenericSource: set DRM playback status.

Bug: 17307158
Change-Id: I36b801a9b67831b618930cf1241756bb9644b4fd
enericSource.cpp
enericSource.h
uPlayer.cpp
uPlayerSource.h
aae539bb3a23e06a818bf30710a3da538f0405fa 28-Aug-2014 Ronghua Wu <ronghuawu@google.com> am 1b6d6789: am d362ea17: Merge "AudioPlayback: delay the post of EOS based on pending playout." into lmp-dev

* commit '1b6d6789f862a0b37b5f7f323cbb39995ff29e4e':
AudioPlayback: delay the post of EOS based on pending playout.
d362ea179c25dd1998e2edee7994e549d00e7eec 27-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "AudioPlayback: delay the post of EOS based on pending playout." into lmp-dev
5095d7091874cb9e9c95ecc4fe762076ed05e624 27-Aug-2014 Ronghua Wu <ronghuawu@google.com> AudioPlayback: delay the post of EOS based on pending playout.

Bug: 16840522
Change-Id: Icdc8888f5a8a77e2e5ebeb8a6934c7d79bd9e71a
uPlayerRenderer.cpp
uPlayerRenderer.h
f65fdaa45b550518b374b6f303b60edf597c0f0f 27-Aug-2014 Wei Jia <wjia@google.com> am 429b4f7f: am 5bc5b4fb: Merge "NuPlayer: set controlledByApp to true when creating Surface." into lmp-dev

* commit '429b4f7f425c68e785dea5fa93914bf687cbcaa6':
NuPlayer: set controlledByApp to true when creating Surface.
5bc5b4fbf16a0331a4f2f1d16585932087ee41c1 27-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayer: set controlledByApp to true when creating Surface." into lmp-dev
3ff4f4cda252dfd2e11d00c9daf9b902cab24ae2 27-Aug-2014 Marco Nelissen <marcone@google.com> am faf71460: am 355286ee: Merge "Fix SoundPool lockup" into lmp-dev

* commit 'faf7146006ea8b44a745f4f61d3c9de14e88e2b4':
Fix SoundPool lockup
355286ee1e5057c66158fcea785bf1881e069101 27-Aug-2014 Marco Nelissen <marcone@google.com> Merge "Fix SoundPool lockup" into lmp-dev
9c03a40367c149526c31ddf14a518ba2036195a5 27-Aug-2014 Wei Jia <wjia@google.com> NuPlayer: set controlledByApp to true when creating Surface.

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

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

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

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

* commit 'ab4ff31a0ef2650f7d09f5f18ae1df580f5eefd0':
do string compare with mime immediately after we get the value
5bbffc05432b6a81280872a9c3ed9cac7bec53df 26-Aug-2014 Chong Zhang <chz@google.com> Merge "do string compare with mime immediately after we get the value" into lmp-dev
afc0a87cc92a474bb14fb2a4093c74d04e4efd1b 26-Aug-2014 Chong Zhang <chz@google.com> do string compare with mime immediately after we get the value

Bug: 17210803
Change-Id: I4d20dd4b95d18251c18a371bd8f89b1320b38879
enericSource.cpp
7ef2a21a57ce4dd3bdd14c87210481460ebe363e 25-Aug-2014 Lajos Molnar <lajos@google.com> am 3650440a: am 8dad3f60: Merge "NuPlayer: remember and resubmit CSDs after flush" into lmp-dev

* commit '3650440a962e6636dcc284fbd8fd3c127939b344':
NuPlayer: remember and resubmit CSDs after flush
5b85cf56f1c0ce4f41431aec929f3405a9c8abd4 25-Aug-2014 Chong Zhang <chz@google.com> am 008cee91: am 052efa49: Merge "wait for flush to finish before returning setSurface" into lmp-dev

* commit '008cee913577839d2377ff79bf4f26655c3a2c7d':
wait for flush to finish before returning setSurface
87603c0dd1f4e62e52feffa8d6e960ad21f68893 21-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: remember and resubmit CSDs after flush

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

* commit '44945f04a5f6bbbb79447446a9d12d37d474ab6f':
add buffering update to GenericSource
43febe72dadc751acff410842e091d4099919fad 23-Aug-2014 Chong Zhang <chz@google.com> Merge "add buffering update to GenericSource" into lmp-dev
13d6faa02087ce3bb0d4a02b8495f1822f211433 23-Aug-2014 Chong Zhang <chz@google.com> wait for flush to finish before returning setSurface

Bug: 17187598
Change-Id: I091219e57158a4532044ca49342b57277d6ecb15
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
7737d01ec40690184cd8f658db34e1aa35e0b9e6 23-Aug-2014 Wei Jia <wjia@google.com> am c3c107ca: am d1de9bb3: Merge "ACodec: handle errors related to native window." into lmp-dev

* commit 'c3c107cae90e635e4d0928133d513c12f4dbe79d':
ACodec: handle errors related to native window.
d1de9bb33a2f645fb9dc54e7fc69ca45304850a5 22-Aug-2014 Wei Jia <wjia@google.com> Merge "ACodec: handle errors related to native window." into lmp-dev
763219aa25e9e4c5de7e1fa9497cccf8508c54dc 22-Aug-2014 Wei Jia <wjia@google.com> am 3672da6f: am 7992a5d0: Merge "NuPlayerDriver: fix current position for stop and pause." into lmp-dev

* commit '3672da6f03db75f7d7c86dd1e994e7758ba82670':
NuPlayerDriver: fix current position for stop and pause.
ed61c214ce7c930f2d593801c5702fddbb499e49 22-Aug-2014 Chong Zhang <chz@google.com> am e6198959: am b534f461: Merge "move cache prefill to GenericSource\'s message handler" into lmp-dev

* commit 'e61989593b2afec539f7d699e5b4c0bfdbca27d8':
move cache prefill to GenericSource's message handler
3fb9f68dea5d991288f0ea8037742b50c7df5767 20-Aug-2014 Wei Jia <wjia@google.com> ACodec: handle errors related to native window.

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

Bug: 17182378

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

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

Bug: 17031731
Bug: 17178928
Change-Id: I008b827288cf28d39e2a943373fe1e5d7d6c2595
uPlayerDriver.cpp
uPlayerDriver.h
d354d8d1b09503c0166c1f3e626cda72a3eeb83c 20-Aug-2014 Chong Zhang <chz@google.com> move cache prefill to GenericSource's message handler

This allows prepareAsync to be terminated by reset promptly.

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

Bug: 16892748
Bug: 17182378

Change-Id: Ia55c04a810fd805041cb2025f6739afa5120b5ed
enericSource.cpp
enericSource.h
192b0ed174298d84412fc8a47bc8b46a1bd8cc66 22-Aug-2014 Andy Hung <hunga@google.com> am 19d99c52: am ef8ae4cb: Merge "Fix SoundPool and MediaPlayerService buffer overflow" into lmp-dev

* commit '19d99c521fb810aff292d9e40aa5caa415624986':
Fix SoundPool and MediaPlayerService buffer overflow
ef8ae4cbec0c9f49a24625d4316ec9bfde4e75c3 22-Aug-2014 Andy Hung <hunga@google.com> Merge "Fix SoundPool and MediaPlayerService buffer overflow" into lmp-dev
a31335a4ec96ba351f25f3b26fa79a78c2723a13 21-Aug-2014 Andy Hung <hunga@google.com> Fix SoundPool and MediaPlayerService buffer overflow

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

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

Bug: 17122639
Change-Id: I4d25d3e2c0c62e36a91da6bf969edabddc2ebbb0
uPlayerRenderer.cpp
996ad595c0f8ce8ab43eb22e3e7ad0f0b44a4ea9 21-Aug-2014 Wei Jia <wjia@google.com> am 5bf363ae: am 01047680: Merge "NuPlayerDriver: include lapsed time when reporting current position." into lmp-dev

* commit '5bf363ae3c4782ed5ad0bdb8a0b41a8ad23ac210':
NuPlayerDriver: include lapsed time when reporting current position.
6b647f5591bb61bf7309f72dfbff050589ab69e8 21-Aug-2014 Marco Nelissen <marcone@google.com> am 472ff73c: am e0b5cf7e: Merge "Fix typo in comment" into lmp-dev

* commit '472ff73c795b5046d702f1ec555cbc377f94210f':
Fix typo in comment
6e819a6e82f25656263b39976a74b5fd3e9ced98 21-Aug-2014 Marco Nelissen <marcone@google.com> am 56b350ea: am 111333ea: Merge "handle error during flush in MediaPlayer.reset()" into lmp-dev

* commit '56b350eaac38fdccb08dd3d7d8b12c6a2a83ac25':
handle error during flush in MediaPlayer.reset()
e2084024664a49d8b55ea144f788eada4142a37a 21-Aug-2014 Marco Nelissen <marcone@google.com> am d05795e5: am 4deb606b: Merge "Fix NuPlayer deadlock" into lmp-dev

* commit 'd05795e583a668c97be55359215fdd51297e3273':
Fix NuPlayer deadlock
15506a6582fb86567c6887c4c426d44be02d12af 21-Aug-2014 Wei Jia <wjia@google.com> NuPlayerDriver: include lapsed time when reporting current position.

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

Bug: 14057920
Change-Id: I51c4d47b9e175ef789ed3c51d59c9eda77edc1e0
uPlayerDriver.cpp
8008fb50e8e4617092dd3c18aa3833ec3f3015df 20-Aug-2014 Wei Jia <wjia@google.com> am 054e6686: am 5596d7c4: Merge "Allow audio and video flushed separately." into lmp-dev

* commit '054e66865142b0a8b3bdbc7e8eaabd3ddca51fc0':
Allow audio and video flushed separately.
586bc79ca9cc11199cfc0581c4275ee62af55b21 20-Aug-2014 Wei Jia <wjia@google.com> am d3df0ccb: am 3ef1e656: Merge "NuPlayerRenderer: allow flush() to be called multiple times." into lmp-dev

* commit 'd3df0ccb4d75cecb952baaf7c8842e57d9c7e1e7':
NuPlayerRenderer: allow flush() to be called multiple times.
3ef1e656086e6aed75b508715e59951f028841a1 20-Aug-2014 Wei Jia <wjia@google.com> Merge "NuPlayerRenderer: allow flush() to be called multiple times." into lmp-dev
d0a5a14aefc8a7918d9717080e1bdeaaf6b40b55 19-Aug-2014 Wei Jia <wjia@google.com> am de244f21: am 2a1bcb83: Merge "NuPlayer: use generation to detect stale requests from old decoders." into lmp-dev

* commit 'de244f21b11e7718a070cc96ab2af756d447cee4':
NuPlayer: use generation to detect stale requests from old decoders.
c89ce3c72c10786985b4156f6d4fcfd478d6d7c6 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> am 33610e35: am 5a5a2325: Merge "NuPlayer: disable deep audio buffer in offload mode." into lmp-dev

* commit '33610e353ff518c958a96686807326e5e0983913':
NuPlayer: disable deep audio buffer in offload mode.
0e58fd504fbc9c7b56dd86984b104f9c754989cf 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> am 1533fb3a: am 1593dc57: Merge "NuPlayerRenderer: only query audio sink for position for the first entry." into lmp-dev

* commit '1533fb3acf1b682b7ec4753480e0bc184636f1cb':
NuPlayerRenderer: only query audio sink for position for the first entry.
c8dfbc6216905946f7a52f0b11f05cf88e807dc3 19-Aug-2014 Lajos Molnar <lajos@google.com> am c2a02f95: am af11287b: Merge "NuPlayer: add support for proper stop" into lmp-dev

* commit 'c2a02f95083537b81320cde5671587bc2daeb0d8':
NuPlayer: add support for proper stop
28a8a9ff2a2bfd5edbdbbadde50c6d804335ffdc 18-Aug-2014 Wei Jia <wjia@google.com> NuPlayerRenderer: allow flush() to be called multiple times.

Also fix racing condition on accessing some members.

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

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

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

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

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

Bug: 14057920
Change-Id: Ifb5e25f24450b7e5f71611a8ee2bdba45dba70a7
uPlayerDriver.cpp
uPlayerDriver.h
5596d7c4ad388d1757398181b3a1453d731a1b41 20-Aug-2014 Wei Jia <wjia@google.com> Merge "Allow audio and video flushed separately." into lmp-dev
53904f372b9c4a5ea7f839012b52b3d564e41207 29-Jul-2014 Wei Jia <wjia@google.com> Allow audio and video flushed separately.

Bug: 14955925
Bug: 16303659
Bug: 16467066
Bug: 13133027
Change-Id: I956a9f55513970115119c7639a5e33b39e6d2f55
uPlayer.cpp
uPlayer.h
af11287b39b6420c8a05a5c8c9b72f7e4ddc82f7 19-Aug-2014 Lajos Molnar <lajos@google.com> Merge "NuPlayer: add support for proper stop" into lmp-dev
5a5a23255ad83ef378f924ead4e90e756773e278 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayer: disable deep audio buffer in offload mode." into lmp-dev
1ffb5381ca40884868299a2ac8a1424b68a1a43e 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> NuPlayer: disable deep audio buffer in offload mode.

Bug: 17035257
Change-Id: I56ca28d4c4774c1c0103d19126cf0b8f859964b7
uPlayer.cpp
1593dc575cf4a83be9f4d04b24ecc402ee4e2519 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> Merge "NuPlayerRenderer: only query audio sink for position for the first entry." into lmp-dev
3e5efb37308aa1f54c2a72cd8a7a73d2d7921a90 19-Aug-2014 Ronghua Wu <ronghuawu@google.com> NuPlayerRenderer: only query audio sink for position for the first entry.

Bug: 17035257
Change-Id: I472ec4610e1174c59986f42d72fe55f90e93731e
uPlayerRenderer.cpp
f96eba77cc9b638c53e248c6184713ad9144e970 15-Aug-2014 Chong Zhang <chz@google.com> am 28928517: am 426c719a: Merge "use dedicated looper for GenericSource" into lmp-dev

* commit '28928517f84ac4259a65f0ea783c9769ab554718':
use dedicated looper for GenericSource
426c719a5f3b4d88480eb35a7b0b373f672ea3cb 15-Aug-2014 Chong Zhang <chz@google.com> Merge "use dedicated looper for GenericSource" into lmp-dev
378a3567ea5d062248ee4373db69af6e1fdf53f4 15-Aug-2014 Andy Hung <hunga@google.com> am 639942e1: am c2319720: Merge "nuplayer: create AudioSink early to verify offload is possible" into lmp-dev

* commit '639942e11ac9f2ce33ff418647e33a70951b8d7c':
nuplayer: create AudioSink early to verify offload is possible
282a7e31681840253a4cb6fab3f6725d35798699 15-Aug-2014 Andy Hung <hunga@google.com> nuplayer: create AudioSink early to verify offload is possible

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

Bug: 16732303
Bug: 16978805
Change-Id: Ie1c73a96656863c1281bed3280a84b86d3cbadf5
uPlayer.cpp
uPlayer.h
1228d6b175de8b21787cbe0c6c4bb5642f4d555e 13-Aug-2014 Chong Zhang <chz@google.com> use dedicated looper for GenericSource

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

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

- let HTTPLiveSource share looper with LiveSession, instead
of NuPlayer

- remove reflector in RTSPSource

Bug: 16892748
Change-Id: I1aed557320052012065f5a90adbcb03c238da988
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
TSPSource.cpp
TSPSource.h
eac30f709d871a56ba54593279992969d5f8bc21 13-Aug-2014 Chong Zhang <chz@google.com> am 8e57a02f: am 44a5a202: Merge "cache up to 200K bytes (instead of 10 buffers) in DecoderPassThrough" into lmp-dev

* commit '8e57a02fe1047ab0ae2450b9197cf2cbbb6b691b':
cache up to 200K bytes (instead of 10 buffers) in DecoderPassThrough
de01afbbc55ac9c5c23ec66154603f34217aed2c 13-Aug-2014 Chong Zhang <chz@google.com> cache up to 200K bytes (instead of 10 buffers) in DecoderPassThrough

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

* commit '30d28dab4cf3f31baecb6d4b7857cd19b6170f8c':
propogate heartbeat error code to app
dbdaa08cbed61b9ba4afc43f0ce0230346a1ca2f 12-Aug-2014 Chong Zhang <chz@google.com> Merge "propogate heartbeat error code to app" into lmp-dev
f4c0a94ab32541611f5ed6d407fc25b394c1988b 12-Aug-2014 Chong Zhang <chz@google.com> propogate heartbeat error code to app

Bug: 16885604
Change-Id: Ib6c60f0ef8cf72aa1aac67a75121142bff304018
uPlayer.cpp
09062bfafa335d15f5b52c29778e60482dfb3f33 09-Aug-2014 Robert Shih <robertshih@google.com> am f2bd67bc: am f7999047: Merge "NuPlayer: getSelectedTrack" into lmp-dev

* commit 'f2bd67bcc34f7963df9c9f2a8ce8ee1ae35de8e0':
NuPlayer: getSelectedTrack
4b75b86785d674b98dade17cd197b912d87cd279 16-Aug-2013 Lajos Molnar <lajos@google.com> NuPlayer: add support for proper stop

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

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

Change-Id: If5251f89b881e7f268e11a06cd3685d794c958b6
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerSource.h
d392471d4b433bb1aae1bc3c55c780cc1982f2b9 09-Aug-2014 Chong Zhang <chz@google.com> am 46f2c0a4: am a912c194: Merge "some clean up of video size change notification" into lmp-dev

* commit '46f2c0a40dd7e8f5ac6349c75889da7146a9cafc':
some clean up of video size change notification
delay data source creation for GenericSource prepare time
Revert "NuPlayer: don't feed decoder input data during flushing."
some fixes for crash when extractor creation fails
Revert GenericSource track selection changes
GenericSource: start/stop tracks correctly on selection
CameraService: Clean up availability listeners and HAL error codes
StagefrightRecorder: check for WEBM format instead of MP4
stagefright: handle seeking to before first cue-point.
ced1c2f8f6c422063092f5cc5c675ccdebb2dc10 09-Aug-2014 Chong Zhang <chz@google.com> some clean up of video size change notification

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

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

Bug: 16708180

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

The previous patch results in MediaBuffer leakage.

This reverts commit 69a85b792c31033a99c8858e3b1a3c2ea68b6278.

Bug: 14955925
Bug: 16303659
Bug: 16467066
Bug: 16849601
Change-Id: Ib1892b7603a97e12b7ee228fd5a4009700cdc988
uPlayer.cpp
5cce893dbe2e21363a44ad2b75924cd0761547cf 08-Aug-2014 Chong Zhang <chz@google.com> am 8ccfce0d: am 0afbc2c3: Merge "delay data source creation for GenericSource prepare time" into lmp-dev

* commit '8ccfce0de1a3a9ffd1771d120ab891d58d84fa61':
delay data source creation for GenericSource prepare time
0afbc2c3a7769b31cbd1de931b65c4ab95fdf5a5 08-Aug-2014 Chong Zhang <chz@google.com> Merge "delay data source creation for GenericSource prepare time" into lmp-dev
bf9b95d712a24b654761cb9fea0d94d383cfc661 08-Aug-2014 Chong Zhang <chz@google.com> delay data source creation for GenericSource prepare time

Bug: 16708180

Change-Id: I9d578ef5e2edaed50279d28d3831c68556468f39
enericSource.cpp
enericSource.h
uPlayer.cpp
c03102b2f9edb79b02bc5ab87bb89817516526ad 07-Aug-2014 Wei Jia <wjia@google.com> am 9fdc1f14: am c80863e9: Merge "Revert "NuPlayer: don\'t feed decoder input data during flushing." " into lmp-dev

* commit '9fdc1f14ad1e3c5bf2e58ace056e85d11fca76b4':
Revert "NuPlayer: don't feed decoder input data during flushing."
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.cpp
5d166509fa0cdf0e4b3037d7e05005a5390aedd3 07-Aug-2014 Robert Shih <robertshih@google.com> am 71fb0565: am 0893eaf7: Merge "httplive: timestamp reporting, track selection" into lmp-dev

* commit '71fb05656ad2c786c9f98df91d70ed010ba088d1':
httplive: timestamp reporting, track selection
a72b7ec42c02fd1e5a8f367e8faa1d0d633ded93 07-Aug-2014 Chong Zhang <chz@google.com> am 25d9b3df: am 29e09664: Merge "some fixes for crash when extractor creation fails" into lmp-dev

* commit '25d9b3df27fb96c616447723d7c4dca8770cebfb':
some fixes for crash when extractor creation fails
3de157dd8f9cd45bf9b0406268f5830887105ae1 06-Aug-2014 Chong Zhang <chz@google.com> some fixes for crash when extractor creation fails

- prefetch data for sniffing

- notify error instead of crashing if extractor is NULL

Bug: 16818302

Change-Id: I56ff4996d99ac2811d19d141f7ff7acdd7c1da17
enericSource.cpp
enericSource.h
uPlayer.cpp
ad543b4db6822057388376079c226901eaae5952 06-Aug-2014 Wei Jia <wjia@google.com> am df024a6a: am e4671134: Merge "NuPlayer: don\'t feed decoder input data during flushing." into lmp-dev

* commit 'df024a6a3944e672666f7aa87db2cccb00098af9':
NuPlayer: don't feed decoder input data during flushing.
0893eaf7d21e3a50b81324673eaa91a6b77a39c2 07-Aug-2014 Robert Shih <robertshih@google.com> Merge "httplive: timestamp reporting, track selection" into lmp-dev
72554a21e3f8ffd3389dccba308c3a89496a1652 06-Aug-2014 Chong Zhang <chz@google.com> am 96b7af16: am b15486f9: Merge "set secure flag for secure file playback" into lmp-dev

* commit '96b7af16048a78153e9674db0e749c58c621ccc1':
set secure flag for secure file playback
309aa8bf5e4cd66fe988adf2654cac3fadc2a1c3 30-Jul-2014 Robert Shih <robertshih@google.com> httplive: timestamp reporting, track selection

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

Bug: 14955925
Bug: 16303659
Bug: 16467066
Change-Id: I7c258b986ae711357bd7e636b79853f8f3959d32
uPlayer.cpp
c88fe1b40caab1b335669e1e373127f84148f622 05-Aug-2014 aarti jadhav-gaikwad <agaikwad@nvidia.com> am dd49ca9c: am ccad786f: stagefright: Pass audio aac subformats in offloadinfo

* commit 'dd49ca9c117b75afe70f78b6d458eaece2952bf7':
stagefright: Pass audio aac subformats in offloadinfo
ccad786f3497f223cbc5af981b08b460433ee622 02-Aug-2014 aarti jadhav-gaikwad <agaikwad@nvidia.com> stagefright: Pass audio aac subformats in offloadinfo

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

Change-Id: Ice277e8b6561b7a7db92c474f23f8041ebb35e8c
uPlayer.cpp
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
enericSource.cpp
uPlayer.cpp
eb1c5c147ab7b2977bf3128393b7b4711df7388a 01-Aug-2014 Lajos Molnar <lajos@google.com> am e6d334f4: am 25644c50: Merge "GenericSource: timed text support" into lmp-dev

* commit 'e6d334f4a32ec4caed3630e6c20c0dedeb3c063d':
GenericSource: timed text support
18def1b8b8cdc91695ebb75bb392a84bb1b9c9be 01-Aug-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of e1009a0f to master
16513e84b7ee558f57bb8a79b35a3e8614548a5d 01-Aug-2014 Robert Shih <robertshih@google.com> am f4ba6193: am a2981013: NuPlayer: fix av discontinuity race

* commit 'f4ba6193ed0e363b5f1b588d8bc65575b6a0e3e2':
NuPlayer: fix av discontinuity race
1c650b8df21a6a5ae8a0177036a8b422e0c45403 01-Aug-2014 Robert Shih <robertshih@google.com> am 37ae54ee: am 3423bbdb: GenericSource: support track (de)selection

* commit '37ae54ee81f460e11c3e8fe81e74ec91d85b04d1':
GenericSource: support track (de)selection
25644c502ed8ec13bcf496613e65ec8edb1af4a7 31-Jul-2014 Lajos Molnar <lajos@google.com> Merge "GenericSource: timed text support" into lmp-dev
a2e14302d4b5ca5443611d0c05218b9da4cc64a6 31-Jul-2014 Lajos Molnar <lajos@google.com> mediaplayer: add looping support to NuPlayer

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

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

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

Bug: 15153976
Change-Id: I659550d9c0f883828103142abead857f576f25b1
uPlayer.cpp
3423bbdb05f843a64356fa24e8657f03ecbb7d65 17-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: support track (de)selection

Bug: 15153976

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

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

Bug: 16641557
Change-Id: I77aad6e710117a16093726bf3b36360904fbe148
enericSource.cpp
7b65b717e39667f26f73bcd83b30ad2ca0714159 31-Jul-2014 Lajos Molnar <lajos@google.com> am 110688f7: am 63c0ce7a: mediaplayerservice: initialize mIsWidevine

* commit '110688f7b5d59f3d8e6424068fb772918dcdfae9':
mediaplayerservice: initialize mIsWidevine
c5d03c0e6bfd7aacd07056ab62d67b0c37e45855 31-Jul-2014 Chong Zhang <chz@google.com> am da7e4c3a: am b382340f: Merge "handle rotation in NuPlayer" into lmp-dev

* commit 'da7e4c3ac27aa613855152a1c860ae54eed7e0be':
handle rotation in NuPlayer
26a0dca6971ef807a613fcb47bb6a5017ee80c95 30-Jul-2014 Wei Jia <wjia@google.com> am 9a45cc3f: am cb48eacb: Revert GenericSource track selection changes

* commit '9a45cc3f38bb6e3de1c76a27509af154adec1a3c':
Revert GenericSource track selection changes
cb48eacb6f8857c7857bb28d6a13d4a0d417f2bd 30-Jul-2014 Wei Jia <wjia@google.com> Revert GenericSource track selection changes

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

Bug: 16660839
enericSource.cpp
enericSource.h
6779a7837e6b08e39fb538d72ce96a1e5b3decec 29-Jul-2014 Robert Shih <robertshih@google.com> am 42a095b7: am 0ec1f33e: Merge "GenericSource: start/stop tracks correctly on selection" into lmp-dev

* commit '42a095b7d475579aca6afc03b90c6fefb8281328':
GenericSource: start/stop tracks correctly on selection
f62447dd53ab2e8fdef527e539e8bc40f156d4f8 28-Jul-2014 Robert Shih <robertshih@google.com> am ce617e55: am ef9c5ade: Merge "GenericSource: timed text support" into lmp-dev

* commit 'ce617e55be26947eef4ba3b5a55d70f0e239d3ca':
GenericSource: timed text support
bace25b0fbcd5101d2db288b0c70c4a239f0e815 25-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: start/stop tracks correctly on selection

Change-Id: I10343151f930a4ab778a6d2574ab5165af2013ba
enericSource.cpp
a0f4a46a06a3ef2a29713e83fe4ed23893e9797b 26-Jul-2014 Robert Shih <robertshih@google.com> am 5f88db42: am ec3c71ed: Merge "NuPlayer: timed text support" into lmp-dev

* commit '5f88db42f251a1d45002619d4c410215a863f6cd':
NuPlayer: timed text support
b382340f33ac2dc26fe825ceb3ef98bac8af974c 31-Jul-2014 Chong Zhang <chz@google.com> Merge "handle rotation in NuPlayer" into lmp-dev
e9e63bcf6c36351f1129b0bdc5e93f17f0f9f0b4 31-Jul-2014 Chong Zhang <chz@google.com> handle rotation in NuPlayer

Bug: 16653284
Change-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0
uPlayer.cpp
eb1735e343a93830df259ae8882160bb0d79dcb5 24-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: timed text support

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

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

* commit '1916401537e727b1227bc6679657675682b6c855':
Reset the value for Vector of pointers.
81e50d0c782cc18eab4ef40ecd6c7f36df50fea5 24-Jul-2014 Wei Jia <wjia@google.com> Reset the value for Vector of pointers.

Bug: 16467066
Change-Id: I3674e07779a59f4d4fa639d066ed1988df89b3f5
uPlayerDecoder.cpp
3d46806856583fa11e9ab9622c695adf1f2ff4ed 23-Jul-2014 Robert Shih <robertshih@google.com> am 79932687: am 4c9a0e3e: Merge "GenericSource: support track (de)selection" into lmp-dev

* commit '799326870c4ee4f31e943e2d0cc1472148bada51':
GenericSource: support track (de)selection
91fb3e81cbe2d626e3f65bfe5a65b80f6cf3baac 23-Jul-2014 Wei Jia <wjia@google.com> am 78be88ee: am 3a2956d1: Fall back to s/w decoding when audio offloading fails.

* commit '78be88ee353a6ca0cb53845b3bd862ce70665eab':
Fall back to s/w decoding when audio offloading fails.
05312bc7478feec11d9ae88e951c0857a7a3f28d 17-Jul-2014 Robert Shih <robertshih@google.com> GenericSource: support track (de)selection

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

Change-Id: Icde3d65c964b2a13fb1c6636adcce52ae048a3fb
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
4c9a0e3e30e97a31fcd7e41cb77d15427cb9c50b 23-Jul-2014 Robert Shih <robertshih@google.com> Merge "GenericSource: support track (de)selection" into lmp-dev
603952113ee27cfe8e883896aa536f6a47f481bd 22-Jul-2014 Lajos Molnar <lajos@google.com> Merge "Fix deadlock in NuPlayer"
095248375e29adde961ec2a44989ecb3a6dda6a2 17-Jul-2014 Lajos Molnar <lajos@google.com> nuplayer: support widevine sources

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

on the decoder side

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

Bug: 15699665
Change-Id: I4a369443294e45c644be8b0257010e52db1d7c9b
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerRenderer.cpp
cc227036b05f7c2f960a89c567a61f9decefe742 18-Jul-2014 Lajos Molnar <lajos@google.com> nuplayer: add widevine support to GenericSource

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

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

Change-Id: Ic83973339fb46a83b48382e6097925f45d200867
ndroid.mk
uPlayer.cpp
uPlayer.h
uPlayerDecoder.h
uPlayerDecoderPassThrough.cpp
uPlayerDecoderPassThrough.h
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
c6993231c56da1924ba8d67eb150fa953ba54a1b 03-Jul-2014 Marco Nelissen <marcone@google.com> Fix deadlock in NuPlayer

also fix start/resume at EOF.

b/15323063

Change-Id: I798882bab0c5f9a18b47dddc041054a5679be383
uPlayerDriver.cpp
ba5e39b994b44cc458708eedd26c2d50404c9a46 09-Jul-2014 Chong Zhang <chz@google.com> Merge "HLS: do not discard packets when queuing explicit discontinuity"
862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c 27-Jun-2014 Chong Zhang <chz@google.com> handle emulation_prevention_three_bytes for AVC

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

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

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

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

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

b/15669839

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

Bug: 15470448

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

(this is in preparation for supporting other cc source)

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

- move track info parcelling to NuPlayer

- parcel in the mime type of the subtitle format

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

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

Bug: 13133027

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

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

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

Bug: 11785204
Change-Id: I1455bfc683469c7a69e565b179aceacbc5c459f5
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
259f1624cf7b93ba831af10a616267487601c27f 22-Feb-2014 Lajos Molnar <lajos@google.com> Revert "NuPlayer: Use a software renderer when using software codecs"

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

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

Avoid reinstantiating decoder if seamless format switch is supported.

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

subsumed into MP4Extractor.

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

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

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

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

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

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

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

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

Change-Id: I9602a4a485dffa3caad732c2a19ec0e41a0ac65b
p4/MP4Source.cpp
81e68448f3361eaf8618930471fdc3c21bdf5cbc 05-Feb-2014 Andreas Huber <andih@google.com> Remove no longer needed http proxy handling code, it's obsolete now

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

Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
TSPSource.cpp
1b86fe063badb5f28c467ade39be0f4008688947 29-Jan-2014 Andreas Huber <andih@google.com> FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code

Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
TSPSource.cpp
TSPSource.h
d6074f08cc37843e8c599b2ab4b16d87c3bc67eb 15-Oct-2013 Oscar Rydhé <oscar.rydhe@sonymobile.com> Fix compile error in NuPlayerRenderer debug print

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

Change-Id: I3089b087d296c37dfe6379d7e75d5892912fef96
uPlayerRenderer.cpp
e2d617f5ba7fb90f27b03e2593666b2c927e4dc9 05-Dec-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit '2381f06f374ee0cb8bca0edf5388394432b00e6d' into HEAD
92630351d265a61faae2dfe006a8bb330283aa7b 28-Nov-2013 Marco Nelissen <marcone@google.com> Merge "NuPlayer: Use a software renderer when using software codecs"
3e518fd5d679abb83b654e473ea0fa5f7f16235f 01-Nov-2013 Marco Nelissen <marcone@google.com> Notify current video size if available

b/11248101

Change-Id: I0fa3b5592efcf400c86692002267da6825e331ad
TTPLiveSource.cpp
da38df5f080eb62a06b22c5bada4357cf756255e 25-Sep-2013 Martin Storsjo <martin@martin.st> NuPlayer: Use a software renderer when using software codecs

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

This makes HLS and RTSP playback work in the emulator.

Change-Id: I18027dc3e469889baaae3e1c4afb559de7d0f7d3
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
uPlayerRenderer.h
4b7069dac546ad21cf62ca6132d50ea41857d08e 11-Sep-2013 Chong Zhang <chz@google.com> Add FLAG_CAN_SEEK_BACKWARD and FLAG_CAN_SEEK_FORWARD see flags

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

Bug: 10676387

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

Bug: 10326117

Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
cbaffcffee6418d678806e63097c19fe26d48fe0 15-Aug-2013 Lajos Molnar <lajos@google.com> Add MEDIA_STARTED/PAUSED/STOPPED events to media players

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

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

Signed-off-by: Lajos Molnar <lajos@google.com>
Change-Id: I3c61e1bda475f131323f475c18a42e3ec66c9ae1
Bug: 10326117
uPlayer.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
1545d35f871ff3527a716af659ddadebe3253548 08-Jul-2013 Jean-Baptiste Queru <jbq@google.com> am 9f0e0597: am 7266bc80: am ca7f1609: Merge "Prevent double disconnects in RTSPSource"

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

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

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

Change-Id: Ib88800cd246086fd57f77d10748d41b1aefe2084
TSPSource.cpp
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

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

the mediaplayer was reset.

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

the mediaplayer was reset.

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

some cases.

related-to-bug: 8630032

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

some cases.

related-to-bug: 8630032

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

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

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

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

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

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

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

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

Change-Id: I0e52352845398a4db074e939487f6f6de94bd523
related-to-bug: 8225122
uPlayer.cpp
9dffd24e00a1b2abd5e2dcc2366c0327ec3701b8 12-Mar-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

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

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

Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092

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

tweaks

Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547

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

Report average lateness all the way from NuPlayerRenderer...

Change-Id: I2e7700703ae656515e44b9c25610d26c75778111

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

Make TimeSyncer smarter, enable TunnelRenderer

Change-Id: I27377a60cd8feb01589da456967fddd34532c20e

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

convert source timestamps to sink timestamps, report lateness.

Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e

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

Sync time between sink and source.

Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe

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

play with back pressure

Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947

Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
uPlayer.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
treamingSource.cpp
treamingSource.h
d5e56231a598b180a1d898bb7dc61b75580e59a4 12-Mar-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

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

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

Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092

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

tweaks

Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547

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

Report average lateness all the way from NuPlayerRenderer...

Change-Id: I2e7700703ae656515e44b9c25610d26c75778111

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

Make TimeSyncer smarter, enable TunnelRenderer

Change-Id: I27377a60cd8feb01589da456967fddd34532c20e

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

convert source timestamps to sink timestamps, report lateness.

Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e

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

Sync time between sink and source.

Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe

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

play with back pressure

Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947

Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
uPlayer.cpp
uPlayerDriver.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
treamingSource.cpp
treamingSource.h
b1e7cd156ca3e1747374e0d20cdd1ce467210453 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

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

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

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

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

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

Change-Id: I5dc1761140827c532451638c3fd3f34271e5b9ab
uPlayer.cpp
uPlayerSource.h
TSPSource.cpp
TSPSource.h
cfc3083927df14bf82403b20a45ae303a01c39f5 21-Jan-2013 Roger Jönsson <roger1.jonsson@sonymobile.com> RTSP buffering improvements

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

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

Change-Id: I5cccb6845060ae6afd66d9f735b89da81476cd13
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerSource.h
TSPSource.cpp
TSPSource.h
b50e83eca302a12f0fced6e7bab1b8617d63deaa 21-Jan-2013 Roger Jönsson <roger1.jonsson@sonymobile.com> RTSP buffering improvements

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

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

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

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

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

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

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

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

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

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

Change-Id: I1a60f718e673fe1462c69369c40eafbed6a14326
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
TSPSource.cpp
57cea553cb19235553463412db5ad04c99835411 05-Feb-2013 Andreas Huber <andih@google.com> Support for a "preparation" state that can take care of lengthy

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

Change-Id: I4f2b7e5d105dcb4b6c9132cd0e8799efa0c6a14b
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
9575c96b6e418914e2ffc6741ecc8d71e3968dbe 05-Feb-2013 Andreas Huber <andih@google.com> Support for a "preparation" state that can take care of lengthy

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

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

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

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

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

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

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

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

between NuPlayer and its sources.

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

between NuPlayer and its sources.

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

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

Bug 7736700

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

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

Bug 7736700

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

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

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

while playing.

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

while playing.

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

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

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

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

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

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

* commit '7b7f17dc9b30ff4ecdf0aea9bcfa1c518d4ac1e7':
Add support for HLS playlists of type 'event'.
b7c8e91880463ff4981e3e53e98e45d68e2fe374 28-Nov-2012 Andreas Huber <andih@google.com> Add support for HLS playlists of type 'event'.

related-to-bug: 6870049

Squashed commit of the following:

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

Make everything a lot less verbose by default.

Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3

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

HLS now properly signals media time changes at discontinuities including

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

Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e

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

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

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

Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92

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

NuPlayer sources now expose flags() and can announce

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

Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea

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

Stop caching duration in MediaPlayer, duration could increase dynamically.

Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791

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

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

Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60

Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
a4c5bc0f18fe272146426ab2eccad6215279c9f3 28-Nov-2012 Andreas Huber <andih@google.com> Add support for HLS playlists of type 'event'.

related-to-bug: 6870049

Squashed commit of the following:

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

Make everything a lot less verbose by default.

Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3

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

HLS now properly signals media time changes at discontinuities including

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

Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e

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

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

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

Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92

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

NuPlayer sources now expose flags() and can announce

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

Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea

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

Stop caching duration in MediaPlayer, duration could increase dynamically.

Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791

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

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

Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60

Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
5834181d3f168acb8ff4bf3eff1fd1186afb0bd4 16-Nov-2012 James Dong <jdong@google.com> Fix a crash when the stop might be called due to some error before start in RTSPSource

o related-to-bug: 7507224

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

o related-to-bug: 7507224

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

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

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

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

o related-to-bug: 7153683

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

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

o related-to-bug: 7153683

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

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

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

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

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

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

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

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

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

o related-to-bug: 7089195

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

o related-to-bug: 7089195

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

container.

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

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

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

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

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

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

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

* commit 'c9b125a1be3d1edcb8b7f050334ef3d3a980d3d1':
experimental support for fragmented mp4 playback in nuplayer
840667883fd09d44015716d79bc3ac4d60edc0f0 16-Aug-2011 Andreas Huber <andih@google.com> experimental support for fragmented mp4 playback in nuplayer

cherry picked from change 170999

Change-Id: I407775f0290154ad4961134839a15c9f296424c0
ndroid.mk
enericSource.cpp
enericSource.h
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerSource.h
TSPSource.cpp
TSPSource.h
treamingSource.cpp
treamingSource.h
p4/MP4Source.cpp
p4/MP4Source.h
p4/Parser.cpp
p4/Parser.h
p4/TrackFragment.cpp
p4/TrackFragment.h
27b6d228301ba750dd9b3730d1127e4f0ae2209a 21-Jul-2012 James Dong <jdong@google.com> Removed a CHECK_EQ that is not needed.

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

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

Conflicts:
services/audioflinger/AudioFlinger.cpp

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

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

Change-Id: I74dd9bc53e54fd4f3682536c987289ac252690b0
Signed-off-by: Arvind Thatikonda <arvindt@codeaurora.org>
uPlayer.cpp
f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a 20-Jul-2012 James Dong <jdong@google.com> Added a callback in nuplayer via informational event to signal the start of video rendering

Change-Id: Id7b9b82d4e5467ad8701bfbad4dcc5070f3703cf
uPlayer.cpp
uPlayerRenderer.cpp
uPlayerRenderer.h
3d51d5cb53cc630709a0ba78d0e60501a675f2d5 13-Jun-2012 James Dong <jdong@google.com> Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/

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

since we don't have the information necessary.

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

resuming starting RTSP playback.

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

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

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

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

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

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

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

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

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

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

Change-Id: Ie79915b61c370292f05aabda9779356570e03cbb
uPlayer.cpp
4110c101c3d0dd8dbc44c8d2d0edd3e2e7d6652f 29-Mar-2012 Marco Nelissen <marcone@google.com> Add gapless playback support for NuPlayer

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

Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
uPlayer.cpp
uPlayer.h
uPlayerRenderer.cpp
559bf2836f5da25b75bfb229fec0d20d540ee426 28-Mar-2012 James Dong <jdong@google.com> AV Android make files changes

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

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

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
uPlayerDecoder.cpp
afed0e1fa37473a4cd30018577b560acc79d9a3f 21-Sep-2011 Andreas Huber <andih@google.com> Use NuPlayer for media playback everywhere

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

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

o related-to-bug: 6044887

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

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

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

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

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

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
2d8bedd05437b6fccdbc6bf70f673ffd86744d59 21-Feb-2012 Andreas Huber <andih@google.com> Add new APIs AMessage::(set|find)Buffer to make it safer to pass

ABuffer objects through messages.

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

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

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

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
TTPLiveSource.cpp
uPlayer.cpp
treamingSource.cpp
df64d15042bbd5e0e4933ac49bf3c177dd94752c 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

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

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

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

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

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

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

and only execute the last one.

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

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

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

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

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

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

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

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

Change-Id: I3e6cf4e7c260e85759879d61a9b517f68431c22f
related-to-bug: 5553055
uPlayer.cpp
uPlayer.h
b58ce9f5e8d0696f9571a94ba5fc05f4500f663f 29-Nov-2011 Andreas Huber <andih@google.com> Make sure we can properly shutdown even if

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

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

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

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

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

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

* commit '19998120f53caceb620f138c6eea182f1e693660':
Bug 5478024 drop after decode if can't drop before
471af5aaea2d2491a77dba379771f7c96b9ca3c3 08-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 26f70db9 to master

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

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

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

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

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

All surfaces are now supported through surface textures.

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

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

MEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR.

Change-Id: I03eeba751d3728adb33d9c66de4c7444a91696f3
uPlayer.cpp
uPlayerDriver.cpp
uPlayerDriver.h
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

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

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
uPlayer.cpp
uPlayerRenderer.cpp
2bfdd428c56c7524d1a11979f200a1762866032d 12-Oct-2011 Andreas Huber <andih@google.com> NuPlayer is now taking on the task of streaming over RTSP.

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

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

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

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

Change-Id: Ifdb5e15535989fbb6e5e1b70d5f9f71dc66a5c83
uPlayerStreamListener.h
3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45 17-Sep-2011 Andreas Huber <andih@google.com> In order to recover from video lagging behind audio, drop avc frames

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

Change-Id: I822190af8f8329567bff8da1ea23136d0a765481
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
078cfcf7cce9185ec7559910d08b0bc02bfc88a3 15-Sep-2011 Andreas Huber <andih@google.com> Various improvements to nuplayer playback

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

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

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

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

Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerRenderer.cpp
uPlayerRenderer.h
treamingSource.cpp
714aa7b7c52ce07d5fb44870c0853b4d8e5a758e 13-Sep-2011 Andreas Huber <andih@google.com> Don't post position updates too frequently

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

related-to-bug: 5284760
Change-Id: I8e2d36a11dbee1567b18ed13dc5257a65c6eeda7
uPlayerRenderer.cpp
uPlayerRenderer.h
06528d7f18ad01377357d337eaa3e875a242bd2d 01-Sep-2011 Andreas Huber <andih@google.com> I have one HLS stream that switches stream PIDs from one bandwidth to the next

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

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

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

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

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

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

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

Change-Id: If10a0f98c129b95e8430dc419664b1def92e547e
treamingSource.cpp
cb67cd1b51ff9ab221e3124cf7e546515fef3c87 27-Aug-2011 Andreas Huber <andih@google.com> Signal errors to the client instead of asserting in ACodec.

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

Change-Id: Iceb16d600d87ba66c802e60e95bf62f66487a453
uPlayer.cpp
uPlayerRenderer.cpp
c92fd24c10a6bf80b346d7e261325434d9c6964b 16-Aug-2011 Andreas Huber <andih@google.com> Error handling in ACodec and Nuplayer.

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

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

Nuplayer specific.

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

through IStreamListener.

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

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

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

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

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

to all http requests made by the http live implementation.

Change-Id: I9dd78bb261bc678ea98c82009ca2634b74f3cd58
related-to-bug: 4315346
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
9b7d950f1f3b0c526712b713dbceb0e22762c015 21-Mar-2011 Eric Laurent <elaurent@google.com> Fix issue 3483718: audio streaming and A2DP.

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

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

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

Change-Id: I16a857e464e466880847f52f640820aa271539ad
uPlayerRenderer.cpp
32f3cefa373cd55e63deda36ca9d07c7fe22eaaf 03-Mar-2011 Andreas Huber <andih@google.com> Allow optional specification of a PTS timestamp when signalling a discontinuity.

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

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

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

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

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

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDriver.cpp
uPlayerDriver.h
bc7f5b2e56107cfeaeeab13cf8979379e3c2f139 21-Jan-2011 Andreas Huber <andih@google.com> Some tweaks to HTTP live / nuplayer behaviour

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

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

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

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

Change-Id: I9e29615fa8ee6c7bd4189373a75c20caef3fd2b1
TTPLiveSource.cpp
uPlayer.cpp
43c3e6ce02215ca99d506458f596cb1211639f29 05-Jan-2011 Andreas Huber <andih@google.com> Seek/Duration support for completed http live streams in NuPlayer.

Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463
related-to-bug: 3321475
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
treamingSource.h
1aef211b4e5dc952081727bfd2318b2cb5ca4506 04-Jan-2011 Andreas Huber <andih@google.com> Properly shutdown the decoders on a reset() in NuPlayer's implementation.

related-to-bug: 3321470
Change-Id: Ida6d2171c5a3a407188d4633602b764f8fe7086a
TTPLiveSource.cpp
uPlayer.cpp
uPlayer.h
uPlayerDriver.cpp
uPlayerDriver.h
5bc087c573c70c84c6a39946457590b42d392a33 23-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

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

Remove lowest bandwidth stream if using the legacy player.

Change-Id: I2f885e26344996de9152f8fda9fd6bdef89bf953

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

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

Change-Id: I9bd5a21b9bd28043ad38bd0658ccc8eda3c1079a

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

Use NuPlayer for HTTP live streaming based on runtime property.

adb shell setprop media.httplive.enable-nuplayer true

Change-Id: I22738df3403985dc8e6992b1ab5da5747309f773

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

Make ACodec a lot less verbose.

Change-Id: I94c7e499b61032321ffaf999f5ad2c913cde6a48

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

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

after a discontinuity involving a format change.

Change-Id: I7bcf9b5ae3319f08bf8978a117e8ee5220902e37

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

Disable random seeks in the streaming tool for now.

Change-Id: Ie86fde422dcfc4b2c7a01be51a193fda9c88cd71

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

Tweak HTTP live parameters.

Change-Id: If4b71e12485facc523a8a43d8213d0feb190daab

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

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

Change-Id: I1691fe12ae8f1507fe3673313959cd50bc324624

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

Support for HTTP live streaming in NuPlayer.

Change-Id: Iacba1c3ebaeb8d3b972185deaf4cff18c8009c54

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

StreamingSource now a subclass of abstract NuPlayer::Source

Change-Id: Ia6c7c639628910b9d1f37decc55da48b07a70de3

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

Refactor media data sourcing to NuPlayer::Source.

Change-Id: I1db9fb08c4e527bf7b19c29978cf342c2b0a0bc9

Change-Id: I9610a097481dda58f22142eacda3ac2dba0b63f9
ndroid.mk
TTPLiveSource.cpp
TTPLiveSource.h
uPlayer.cpp
uPlayer.h
uPlayerDecoder.cpp
uPlayerDecoder.h
uPlayerDriver.cpp
uPlayerDriver.h
uPlayerRenderer.cpp
uPlayerRenderer.h
uPlayerSource.h
uPlayerStreamListener.cpp
treamingSource.cpp
treamingSource.h
53df1a460bcfdd129ca2bc416dee2009e35c042e 22-Dec-2010 Andreas Huber <andih@google.com> Distinguish discontinuities w/ a format change from those without.

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

Change-Id: Ieb04f8aa8658569b091409c4903075fd496e5abb
uPlayer.cpp
uPlayer.h
3831a066bcf1019864a94d2bc7b4c9241efc5c22 21-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

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

Enable handling of discontinuities that involve potential format changes.

Change-Id: I21848a113db8764abb54bdcf302b0923253eaf4d

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

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

Change-Id: I06e64f542f4369549c9cebbb892dc612346ae43d

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

A little more instrumentation of ACodec

Change-Id: I07f4aeccbbd15cdd9f80f48c3f92ee984ef6d92b

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

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

Change-Id: Ic88edf9bb1ebd4034c08747cce9877a4e28e0d35

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

Disable the random seek for now.

Change-Id: Iddd597b546e2f229e88214f9bdd6452bb188105e

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

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

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