OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ | 5 #ifndef MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ |
6 #define MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ | 6 #define MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 const PaintCB& paint_cb, | 56 const PaintCB& paint_cb, |
57 bool drop_frames, | 57 bool drop_frames, |
58 const scoped_refptr<MediaLog>& media_log); | 58 const scoped_refptr<MediaLog>& media_log); |
59 virtual ~VideoRendererImpl(); | 59 virtual ~VideoRendererImpl(); |
60 | 60 |
61 // VideoRenderer implementation. | 61 // VideoRenderer implementation. |
62 virtual void Initialize(DemuxerStream* stream, | 62 virtual void Initialize(DemuxerStream* stream, |
63 bool low_delay, | 63 bool low_delay, |
64 const PipelineStatusCB& init_cb, | 64 const PipelineStatusCB& init_cb, |
65 const StatisticsCB& statistics_cb, | 65 const StatisticsCB& statistics_cb, |
66 const TimeCB& max_time_cb, | |
67 const BufferingStateCB& buffering_state_cb, | 66 const BufferingStateCB& buffering_state_cb, |
68 const base::Closure& ended_cb, | 67 const base::Closure& ended_cb, |
69 const PipelineStatusCB& error_cb, | 68 const PipelineStatusCB& error_cb, |
70 const TimeDeltaCB& get_time_cb, | 69 const TimeDeltaCB& get_time_cb) OVERRIDE; |
71 const TimeDeltaCB& get_duration_cb) OVERRIDE; | |
72 virtual void Flush(const base::Closure& callback) OVERRIDE; | 70 virtual void Flush(const base::Closure& callback) OVERRIDE; |
73 virtual void StartPlaying() OVERRIDE; | 71 virtual void StartPlaying() OVERRIDE; |
74 | 72 |
75 // PlatformThread::Delegate implementation. | 73 // PlatformThread::Delegate implementation. |
76 virtual void ThreadMain() OVERRIDE; | 74 virtual void ThreadMain() OVERRIDE; |
77 | 75 |
78 private: | 76 private: |
79 // Callback for |video_frame_stream_| initialization. | 77 // Callback for |video_frame_stream_| initialization. |
80 void OnVideoFrameStreamInitialized(bool success); | 78 void OnVideoFrameStreamInitialized(bool success); |
81 | 79 |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 bool drop_frames_; | 174 bool drop_frames_; |
177 | 175 |
178 BufferingState buffering_state_; | 176 BufferingState buffering_state_; |
179 | 177 |
180 // Playback operation callbacks. | 178 // Playback operation callbacks. |
181 base::Closure flush_cb_; | 179 base::Closure flush_cb_; |
182 | 180 |
183 // Event callbacks. | 181 // Event callbacks. |
184 PipelineStatusCB init_cb_; | 182 PipelineStatusCB init_cb_; |
185 StatisticsCB statistics_cb_; | 183 StatisticsCB statistics_cb_; |
186 TimeCB max_time_cb_; | |
187 BufferingStateCB buffering_state_cb_; | 184 BufferingStateCB buffering_state_cb_; |
188 base::Closure ended_cb_; | 185 base::Closure ended_cb_; |
189 PipelineStatusCB error_cb_; | 186 PipelineStatusCB error_cb_; |
190 TimeDeltaCB get_time_cb_; | 187 TimeDeltaCB get_time_cb_; |
191 TimeDeltaCB get_duration_cb_; | |
192 | 188 |
193 base::TimeDelta start_timestamp_; | 189 base::TimeDelta start_timestamp_; |
194 | 190 |
195 // Embedder callback for notifying a new frame is available for painting. | 191 // Embedder callback for notifying a new frame is available for painting. |
196 PaintCB paint_cb_; | 192 PaintCB paint_cb_; |
197 | 193 |
198 // The timestamp of the last frame removed from the |ready_frames_| queue, | 194 // The timestamp of the last frame removed from the |ready_frames_| queue, |
199 // either for calling |paint_cb_| or for dropping. Set to kNoTimestamp() | 195 // either for calling |paint_cb_| or for dropping. Set to kNoTimestamp() |
200 // during flushing. | 196 // during flushing. |
201 base::TimeDelta last_timestamp_; | 197 base::TimeDelta last_timestamp_; |
(...skipping 11 matching lines...) Expand all Loading... |
213 | 209 |
214 // NOTE: Weak pointers must be invalidated before all other member variables. | 210 // NOTE: Weak pointers must be invalidated before all other member variables. |
215 base::WeakPtrFactory<VideoRendererImpl> weak_factory_; | 211 base::WeakPtrFactory<VideoRendererImpl> weak_factory_; |
216 | 212 |
217 DISALLOW_COPY_AND_ASSIGN(VideoRendererImpl); | 213 DISALLOW_COPY_AND_ASSIGN(VideoRendererImpl); |
218 }; | 214 }; |
219 | 215 |
220 } // namespace media | 216 } // namespace media |
221 | 217 |
222 #endif // MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ | 218 #endif // MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ |
OLD | NEW |