Chromium Code Reviews| Index: media/base/pipeline.h |
| diff --git a/media/base/pipeline.h b/media/base/pipeline.h |
| index 9dfbf556224b56ca1f3844a93290edfd5a9c3ecf..e28e1cbd45bdb2dee026afeb386390c78ebd6bce 100644 |
| --- a/media/base/pipeline.h |
| +++ b/media/base/pipeline.h |
| @@ -92,9 +92,7 @@ class MEDIA_EXPORT PipelineStatusNotification { |
| // From then on the normal Seek() transitions are carried out and we start |
| // playing the media. |
| // |
| -// If any error ever happens, this object will transition to the "Error" state |
| -// from any state. If Stop() is ever called, this object will transition to |
| -// "Stopped" state. |
| +// Any runtime error will cause the pipeline to end up in the stopped state. |
| class MEDIA_EXPORT Pipeline |
| : public base::RefCountedThreadSafe<Pipeline>, |
| public DemuxerHost { |
| @@ -105,10 +103,6 @@ class MEDIA_EXPORT Pipeline |
| // Build a pipeline to using the given filter collection to construct a filter |
| // chain. |
| // |
| - // Pipeline initialization is an inherently asynchronous process. Clients can |
| - // either poll the IsInitialized() method (discouraged) or optionally pass in |
| - // |start_cb|, which will be executed when initialization completes. |
| - // |
| // The following permanent callbacks will be executed as follows: |
| // |start_cb_| will be executed when Start is done (successfully or not). |
| // |ended_cb| will be executed whenever the media reaches the end. |
| @@ -119,26 +113,14 @@ class MEDIA_EXPORT Pipeline |
| // Stop() has completed. |
| // |
| // It is an error to call this method after the pipeline has already started. |
| - // |
| - // TODO(scherkus): remove IsInitialized() and force clients to use callbacks. |
| void Start(scoped_ptr<FilterCollection> filter_collection, |
| const PipelineStatusCB& ended_cb, |
| const PipelineStatusCB& error_cb, |
| const PipelineStatusCB& start_cb); |
| - // Asynchronously stops the pipeline and resets it to an uninitialized state. |
| - // |
| - // If provided, |stop_cb| will be executed when the pipeline has been |
| - // completely torn down and reset to an uninitialized state. It is acceptable |
| - // to call Start() again once the callback has finished executing. |
| + // Asynchronously stops the pipeline, executing |stop_cb| when completed. |
| // |
| - // Stop() must be called before destroying the pipeline. Clients can |
| - // determine whether Stop() must be called by checking IsRunning(). |
| - // |
| - // It is an error to call this method if the pipeline has not started. |
| - // |
| - // TODO(scherkus): ideally clients would destroy the pipeline after calling |
| - // Stop() and create a new pipeline as needed. |
| + // Clients can delete the pipeline after |stop_cb| runs. |
| void Stop(const base::Closure& stop_cb); |
| // Attempt to seek to the position specified by time. |seek_cb| will be |
| @@ -155,11 +137,6 @@ class MEDIA_EXPORT Pipeline |
| // the pipeline. |
| bool IsRunning() const; |
| - // Returns true if the pipeline has been started and fully initialized to a |
| - // point where playback controls will be respected. Note that it is possible |
| - // for a pipeline to be started but not initialized (i.e., an error occurred). |
| - bool IsInitialized() const; |
| - |
| // Returns true if the media has audio. |
| bool HasAudio() const; |
| @@ -245,7 +222,6 @@ class MEDIA_EXPORT Pipeline |
| kStarted, |
| kStopping, |
| kStopped, |
| - kError, |
| }; |
| // Updates |state_|. All state transitions should use this call. |
| @@ -341,7 +317,7 @@ class MEDIA_EXPORT Pipeline |
| void StopTask(const base::Closure& stop_cb); |
| // Carries out stopping and destroying all filters, placing the pipeline in |
| - // the kError state. |
| + // the kStopped state. |
| void ErrorChangedTask(PipelineStatus error); |
| // Carries out notifying filters that the playback rate has changed. |
| @@ -443,15 +419,9 @@ class MEDIA_EXPORT Pipeline |
| // Whether or not the pipeline is in transition for a seek operation. |
| bool seek_pending_; |
| - // Whether or not the pipeline is pending a stop operation. |
| - bool stop_pending_; |
|
scherkus (not reviewing)
2012/08/08 02:20:56
this is equivalent to inspecting stop_cb_
|
| - |
| // Whether or not the pipeline is perform a stop operation. |
| bool tearing_down_; |
| - // Whether or not an error triggered the teardown. |
| - bool error_caused_teardown_; |
|
scherkus (not reviewing)
2012/08/08 02:20:56
this is equivalent to (status_ != PIPELINE_OK)
|
| - |
| // Whether or not a playback rate change should be done once seeking is done. |
| bool playback_rate_change_pending_; |