| Index: media/base/android/media_codec_player.h
|
| diff --git a/media/base/android/media_codec_player.h b/media/base/android/media_codec_player.h
|
| index 96934cc34ab4ddbb6ee228c2233217731b2c88b3..8772ac8f26fb3bab680892ab7307852537df3493 100644
|
| --- a/media/base/android/media_codec_player.h
|
| +++ b/media/base/android/media_codec_player.h
|
| @@ -157,6 +157,11 @@ class MEDIA_EXPORT MediaCodecPlayer : public MediaPlayerAndroid,
|
|
|
| typedef base::Callback<void(int)> ErrorCallback;
|
|
|
| + // For testing only.
|
| + typedef base::Callback<void(DemuxerStream::Type,
|
| + base::TimeDelta,
|
| + base::TimeDelta)> DecodersTimeCallback;
|
| +
|
| // Constructs a player with the given ID and demuxer. |manager| must outlive
|
| // the lifetime of this object.
|
| MediaCodecPlayer(int player_id,
|
| @@ -194,6 +199,10 @@ class MEDIA_EXPORT MediaCodecPlayer : public MediaPlayerAndroid,
|
| void OnDemuxerSeekDone(base::TimeDelta actual_browser_seek_time) override;
|
| void OnDemuxerDurationChanged(base::TimeDelta duration) override;
|
|
|
| + // For testing only.
|
| + void SetDecodersTimeCallbackForTests(DecodersTimeCallback cb);
|
| + bool IsPrerollingForTests(DemuxerStream::Type type) const;
|
| +
|
| private:
|
| // The state machine states.
|
| enum PlayerState {
|
| @@ -239,6 +248,7 @@ class MEDIA_EXPORT MediaCodecPlayer : public MediaPlayerAndroid,
|
| // Callbacks from decoders
|
| void RequestDemuxerData(DemuxerStream::Type stream_type);
|
| void OnPrefetchDone();
|
| + void OnPrerollDone();
|
| void OnStopDone();
|
| void OnError();
|
| void OnStarvation(DemuxerStream::Type stream_type);
|
| @@ -262,6 +272,10 @@ class MEDIA_EXPORT MediaCodecPlayer : public MediaPlayerAndroid,
|
| void StartPrefetchDecoders();
|
| void StartPlaybackOrBrowserSeek();
|
| StartStatus StartPlaybackDecoders();
|
| + StartStatus ConfigureDecoders();
|
| + StartStatus MaybePrerollDecoders(base::TimeDelta current_time,
|
| + bool* preroll_required);
|
| + StartStatus StartDecoders(base::TimeDelta current_time);
|
| void StopDecoders();
|
| void RequestToStopDecoders();
|
| void RequestDemuxerSeek(base::TimeDelta seek_time,
|
| @@ -332,6 +346,9 @@ class MEDIA_EXPORT MediaCodecPlayer : public MediaPlayerAndroid,
|
| // Cached current time, accessed on UI thread.
|
| base::TimeDelta current_time_cache_;
|
|
|
| + // For testing only.
|
| + DecodersTimeCallback decoders_time_cb_;
|
| +
|
| base::WeakPtr<MediaCodecPlayer> media_weak_this_;
|
| // NOTE: Weak pointers must be invalidated before all other member variables.
|
| base::WeakPtrFactory<MediaCodecPlayer> media_weak_factory_;
|
|
|