| Index: media/base/pipeline.h
|
| diff --git a/media/base/pipeline.h b/media/base/pipeline.h
|
| index 1d50f04e6495d49fb64c2f9742d04970905eadba..6efa6f3c44172bf64e625b4be247e4e4bed0d5bf 100644
|
| --- a/media/base/pipeline.h
|
| +++ b/media/base/pipeline.h
|
| @@ -80,9 +80,6 @@ class MEDIA_EXPORT PipelineStatusNotification {
|
| // | |
|
| // V Seek()/Stop() |
|
| // [ Started ] -------------------------> [ Pausing (for each filter) ]
|
| -// | ^
|
| -// | OnRendererEnded() Seek()/Stop() |
|
| -// `-------------> [ Ended ] ---------------------'
|
| // ^ SetError()
|
| // |
|
| // [ Any State Other Than InitXXX ]
|
| @@ -246,7 +243,6 @@ class MEDIA_EXPORT Pipeline
|
| kFlushing,
|
| kStarting,
|
| kStarted,
|
| - kEnded,
|
| kStopping,
|
| kStopped,
|
| kError,
|
| @@ -301,8 +297,9 @@ class MEDIA_EXPORT Pipeline
|
| // Callback executed when the natural size of the video has changed.
|
| void OnNaturalVideoSizeChanged(const gfx::Size& size);
|
|
|
| - // Callback executed when either of the renderers have ended.
|
| - void OnRendererEnded();
|
| + // Callbacks executed when a renderer has ended.
|
| + void OnAudioRendererEnded();
|
| + void OnVideoRendererEnded();
|
|
|
| // Callbacks executed by filters upon completing initialization.
|
| void OnFilterInitialize(PipelineStatus status);
|
| @@ -357,8 +354,10 @@ class MEDIA_EXPORT Pipeline
|
| // Carries out notifying filters that we are seeking to a new timestamp.
|
| void SeekTask(base::TimeDelta time, const PipelineStatusCB& seek_cb);
|
|
|
| - // Carries out handling a notification from a renderer that it has ended.
|
| - void OnRendererEndedTask();
|
| + // Handles audio/video ended logic and running |ended_cb_|.
|
| + void DoAudioRendererEnded();
|
| + void DoVideoRendererEnded();
|
| + void RunEndedCallbackIfNeeded();
|
|
|
| // Carries out disabling the audio renderer.
|
| void AudioDisabledTask();
|
| @@ -519,6 +518,10 @@ class MEDIA_EXPORT Pipeline
|
| // replies.
|
| base::TimeDelta seek_timestamp_;
|
|
|
| + // Whether we've received the audio/video ended events.
|
| + bool audio_ended_;
|
| + bool video_ended_;
|
| +
|
| // Set to true in DisableAudioRendererTask().
|
| bool audio_disabled_;
|
|
|
|
|