summaryrefslogtreecommitdiffstats
path: root/media/base/android/media_source_player.h
diff options
context:
space:
mode:
authorqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-07 03:31:26 +0000
committerqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-07 03:31:26 +0000
commita7455c51414ad0b25e44ca2e1919cd7057d44e2e (patch)
tree038d47b7dc0c19a0448bd1b0475aedf00364fd2b /media/base/android/media_source_player.h
parenta93406d0d1cbb03d67a2e1fd572003e9da018b09 (diff)
downloadchromium_src-a7455c51414ad0b25e44ca2e1919cd7057d44e2e.zip
chromium_src-a7455c51414ad0b25e44ca2e1919cd7057d44e2e.tar.gz
chromium_src-a7455c51414ad0b25e44ca2e1919cd7057d44e2e.tar.bz2
Fix an android MSE issue that the player may request for new data after EOS is reached
When input EOS is reached, dequeOutputBuffer() may still return valid frames until all the data are decoded. In this case, MediaSourcePlayer should no longer send IPC to the MediaSourceDelegate requesting for new data. BUG=266561 Review URL: https://chromiumcodereview.appspot.com/22056003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216068 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/android/media_source_player.h')
-rw-r--r--media/base/android/media_source_player.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/media/base/android/media_source_player.h b/media/base/android/media_source_player.h
index 7253d56..05fd224 100644
--- a/media/base/android/media_source_player.h
+++ b/media/base/android/media_source_player.h
@@ -43,7 +43,8 @@ class MediaDecoderJob {
DECODE_TRY_ENQUEUE_INPUT_AGAIN_LATER,
DECODE_TRY_DEQUEUE_OUTPUT_AGAIN_LATER,
DECODE_FORMAT_CHANGED,
- DECODE_END_OF_STREAM,
+ DECODE_INPUT_END_OF_STREAM,
+ DECODE_OUTPUT_END_OF_STREAM,
DECODE_FAILED,
};
@@ -111,6 +112,9 @@ class MediaDecoderJob {
// Whether this is an audio decoder.
bool is_audio_;
+ // Whether input EOS is encountered.
+ bool input_eos_encountered_;
+
// Weak pointer passed to media decoder jobs for callbacks. It is bounded to
// the decoder thread.
base::WeakPtrFactory<MediaDecoderJob> weak_this_;