Index: media/base/pipeline.h |
diff --git a/media/base/pipeline.h b/media/base/pipeline.h |
index 6a408da23f0d18abaa66411044e58d37d6e29ecb..40a94978a7ae763ae875012f9703a73c27ff2f7d 100644 |
--- a/media/base/pipeline.h |
+++ b/media/base/pipeline.h |
@@ -33,8 +33,9 @@ class FilterCollection; |
class MediaLog; |
class TextRenderer; |
class TextTrackConfig; |
-class TimeDeltaInterpolator; |
+class TimeSource; |
class VideoRenderer; |
+class WallClockTimeSource; |
// Metadata describing a pipeline once it has been initialized. |
struct PipelineMetadata { |
@@ -179,7 +180,6 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { |
void set_underflow_disabled_for_testing(bool disabled) { |
underflow_disabled_for_testing_ = disabled; |
} |
- void SetTimeDeltaInterpolatorForTesting(TimeDeltaInterpolator* interpolator); |
void SetErrorForTesting(PipelineStatus status); |
private: |
@@ -232,12 +232,6 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { |
// Callback executed by filters to update statistics. |
void OnUpdateStatistics(const PipelineStatistics& stats); |
- // Callback executed by audio renderer to update clock time. |
- void OnAudioTimeUpdate(base::TimeDelta time, base::TimeDelta max_time); |
- |
- // Callback executed by video renderer to update clock time. |
- void OnVideoTimeUpdate(base::TimeDelta max_time); |
- |
// The following "task" methods correspond to the public methods, but these |
// methods are run as the result of posting a task to the Pipeline's |
// task runner. |
@@ -317,9 +311,6 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { |
void PausePlayback(); |
void StartPlayback(); |
- void PauseClockAndStopRendering_Locked(); |
- void StartClockIfWaitingForTimeUpdate_Locked(); |
- |
// Task runner used to execute pipeline tasks. |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
@@ -352,26 +343,6 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { |
// Current duration as reported by |demuxer_|. |
base::TimeDelta duration_; |
- // base::TickClock used by |interpolator_|. |
- base::DefaultTickClock default_tick_clock_; |
- |
- // Tracks the most recent media time update and provides interpolated values |
- // as playback progresses. |
- scoped_ptr<TimeDeltaInterpolator> interpolator_; |
- |
- enum InterpolationState { |
- // Audio (if present) is not rendering. Time isn't being interpolated. |
- INTERPOLATION_STOPPED, |
- |
- // Audio (if present) is rendering. Time isn't being interpolated. |
- INTERPOLATION_WAITING_FOR_AUDIO_TIME_UPDATE, |
- |
- // Audio (if present) is rendering. Time is being interpolated. |
- INTERPOLATION_STARTED, |
- }; |
- |
- InterpolationState interpolation_state_; |
- |
// Status of the pipeline. Initialized to PIPELINE_OK which indicates that |
// the pipeline is operating correctly. Any other value indicates that the |
// pipeline is stopped or is stopping. Clients can call the Stop() method to |
@@ -420,6 +391,9 @@ class MEDIA_EXPORT Pipeline : public DemuxerHost { |
scoped_ptr<VideoRenderer> video_renderer_; |
scoped_ptr<TextRenderer> text_renderer_; |
+ TimeSource* time_source_; |
+ scoped_ptr<WallClockTimeSource> wall_clock_time_source_; |
+ |
PipelineStatistics statistics_; |
scoped_ptr<SerialRunner> pending_callbacks_; |