Chromium Code Reviews| Index: media/base/pipeline_impl.h |
| diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h |
| index ef52ac240110f9d909d7141bebb33d8fdc670795..d2ebc07acc875e33b8444af97fc53b8d0436fe0e 100644 |
| --- a/media/base/pipeline_impl.h |
| +++ b/media/base/pipeline_impl.h |
| @@ -261,7 +261,7 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { |
| void NotifyEndedTask(); |
| // Carries out handling a notification of network event. |
| - void NotifyNetworkEventTask(bool is_downloading_data); |
| + void NotifyNetworkEventTask(NetworkEvent type); |
| // Carries out disabling the audio renderer. |
| void DisableAudioRendererTask(); |
| @@ -316,6 +316,10 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { |
| // caller. |
| base::TimeDelta GetCurrentTime_Locked() const; |
| + // Compute the buffered time. Assumes that the lock has been acquired by the |
| + // caller. |
| + base::TimeDelta GetBufferedTime_Locked(); |
| + |
| // Initiates a Stop() on |demuxer_| & |pipeline_filter_|. |callback| |
| // is called once both objects have been stopped. |
| void DoStop(const base::Closure& callback); |
| @@ -332,6 +336,20 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { |
| void OnDemuxerSeekDone(base::TimeDelta seek_timestamp, |
| PipelineStatus status); |
| + // If the media can be played through to the end without pausing for |
| + // buffering, sends a notification saying such. |
| + void NotifyCanPlayThroughIfNeeded(); |
| + |
| + // Returns an approximation of the download speed of the resource loader in |
|
acolwell GONE FROM CHROMIUM
2011/10/28 18:24:13
Remove "of the resource loader" since that is an i
vrk (LEFT CHROMIUM)
2011/11/01 21:57:34
Done.
|
| + // bytes per second. Returns -1 if an approximation cannot be determined. |
| + // Assumes that the lock has been acquired by the caller. |
| + int ApproximateDownloadRate_Locked(); |
|
acolwell GONE FROM CHROMIUM
2011/10/28 18:24:13
Might want to change this to ApproximateDownloadBy
vrk (LEFT CHROMIUM)
2011/11/01 21:57:34
That's a good idea. Done.
|
| + |
| + // Returns true when the pipeline believes the media can be played through to |
| + // the end without pausing for buffering; returns false otherwise. |
| + // Assumes that the lock has been acquired by the caller. |
| + bool ShouldNotifyCanPlayThrough_Locked(); |
| + |
| // Message loop used to execute pipeline tasks. |
| MessageLoop* message_loop_; |
| @@ -474,6 +492,26 @@ class MEDIA_EXPORT PipelineImpl : public Pipeline, public FilterHost { |
| // Statistics. |
| PipelineStatistics statistics_; |
| + // Number of bytes downloaded since download began. Is reset every time |
| + // download continues from a previous defer. Used to approximate download |
| + // speed. |
| + unsigned long long starting_bytes_loaded_; |
|
acolwell GONE FROM CHROMIUM
2011/10/28 18:24:13
how about making this int64
vrk (LEFT CHROMIUM)
2011/11/01 21:57:34
Done.
|
| + |
| + // Time at which download began. Is reset every time download continues |
| + // from a previous defer. Used to approximate download speed. |
| + base::Time starting_time_; |
| + |
| + // Indicates whether the pipeline has sent a notification to its client that |
| + // the media can play through to the end. |
| + bool has_notified_can_play_through_; |
| + |
| + // True if the pipeline is actively downloading bytes, false otherwise. |
| + bool is_downloading_data_; |
| + |
| + // An approximation of the download speed in bytes per second. -1 means the |
| + // download speed is unknown. |
| + int last_approximate_download_rate_; |
| + |
| FRIEND_TEST_ALL_PREFIXES(PipelineImplTest, GetBufferedTime); |
| DISALLOW_COPY_AND_ASSIGN(PipelineImpl); |