Let only seeks reset Android MSE stream playback completion
commit1faaa4e0fdc8d21cb19b759093fbc702897f6157
authorwolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 13 Dec 2013 00:50:39 +0000 (13 00:50 +0000)
committerwolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 13 Dec 2013 00:50:39 +0000 (13 00:50 +0000)
treeb581841ff28043abfc014cd5a7c5108f6f7b5bcd
parentc638a9b3e864919cf5e4d1b7d22e5c89ec9df144
Let only seeks reset Android MSE stream playback completion

For audio/video MediaSource playback on Android, if one or more of the streams
finishes playback, preserve that state across config changes and player
Release()+Start(). Only reset this state in MSP::OnDemuxerSeekDone().
Includes work-arounds for undefined MediaCodec behavior on attempted
decode after previous output EOS decode without intervening flush.
Includes new unit tests and some test cleanup.

BUG=269784
R=qinmin@chromium.org,acolwell@chromium.org
TEST=All MSP unit tests pass on Android with MediaCodecBridge available. mediasource-config-change-mp4-av-framesize layout test passes.

Review URL: https://codereview.chromium.org/79283006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240500 0039d316-1c4b-4281-b951-d872f2087c98
media/base/android/media_decoder_job.cc
media/base/android/media_decoder_job.h
media/base/android/media_source_player.cc
media/base/android/media_source_player.h
media/base/android/media_source_player_unittest.cc