| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // VideoRendererBase creates its own thread for the sole purpose of timing frame | 5 // VideoRendererBase creates its own thread for the sole purpose of timing frame |
| 6 // presentation. It handles reading from the decoder and stores the results in | 6 // presentation. It handles reading from the decoder and stores the results in |
| 7 // a queue of decoded frames, calling OnFrameAvailable() on subclasses to notify | 7 // a queue of decoded frames, calling OnFrameAvailable() on subclasses to notify |
| 8 // when a frame is ready to display. | 8 // when a frame is ready to display. |
| 9 // | 9 // |
| 10 // The media filter methods Initialize(), Stop(), SetPlaybackRate() and Seek() | 10 // The media filter methods Initialize(), Stop(), SetPlaybackRate() and Seek() |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 VideoFrame::SurfaceType* surface_type_out, | 44 VideoFrame::SurfaceType* surface_type_out, |
| 45 VideoFrame::Format* surface_format_out, | 45 VideoFrame::Format* surface_format_out, |
| 46 int* width_out, int* height_out); | 46 int* width_out, int* height_out); |
| 47 | 47 |
| 48 // Filter implementation. | 48 // Filter implementation. |
| 49 virtual void Play(FilterCallback* callback); | 49 virtual void Play(FilterCallback* callback); |
| 50 virtual void Pause(FilterCallback* callback); | 50 virtual void Pause(FilterCallback* callback); |
| 51 virtual void Flush(FilterCallback* callback); | 51 virtual void Flush(FilterCallback* callback); |
| 52 virtual void Stop(FilterCallback* callback); | 52 virtual void Stop(FilterCallback* callback); |
| 53 virtual void SetPlaybackRate(float playback_rate); | 53 virtual void SetPlaybackRate(float playback_rate); |
| 54 virtual void Seek(base::TimeDelta time, FilterCallback* callback); | 54 virtual void Seek(base::TimeDelta time, const FilterStatusCB& cb); |
| 55 | 55 |
| 56 // VideoRenderer implementation. | 56 // VideoRenderer implementation. |
| 57 virtual void Initialize(VideoDecoder* decoder, | 57 virtual void Initialize(VideoDecoder* decoder, |
| 58 FilterCallback* callback, | 58 FilterCallback* callback, |
| 59 StatisticsCallback* stats_callback); | 59 StatisticsCallback* stats_callback); |
| 60 virtual bool HasEnded(); | 60 virtual bool HasEnded(); |
| 61 | 61 |
| 62 // PlatformThread::Delegate implementation. | 62 // PlatformThread::Delegate implementation. |
| 63 virtual void ThreadMain(); | 63 virtual void ThreadMain(); |
| 64 | 64 |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 // decoder provides buffer, |pending_reads_| is always non-positive and if | 206 // decoder provides buffer, |pending_reads_| is always non-positive and if |
| 207 // renderer provides buffer, |pending_reads_| is always non-negative. | 207 // renderer provides buffer, |pending_reads_| is always non-negative. |
| 208 int pending_reads_; | 208 int pending_reads_; |
| 209 bool pending_paint_; | 209 bool pending_paint_; |
| 210 bool pending_paint_with_last_available_; | 210 bool pending_paint_with_last_available_; |
| 211 | 211 |
| 212 float playback_rate_; | 212 float playback_rate_; |
| 213 | 213 |
| 214 // Filter callbacks. | 214 // Filter callbacks. |
| 215 scoped_ptr<FilterCallback> flush_callback_; | 215 scoped_ptr<FilterCallback> flush_callback_; |
| 216 scoped_ptr<FilterCallback> seek_callback_; | 216 FilterStatusCB seek_cb_; |
| 217 scoped_ptr<StatisticsCallback> statistics_callback_; | 217 scoped_ptr<StatisticsCallback> statistics_callback_; |
| 218 | 218 |
| 219 base::TimeDelta seek_timestamp_; | 219 base::TimeDelta seek_timestamp_; |
| 220 | 220 |
| 221 DISALLOW_COPY_AND_ASSIGN(VideoRendererBase); | 221 DISALLOW_COPY_AND_ASSIGN(VideoRendererBase); |
| 222 }; | 222 }; |
| 223 | 223 |
| 224 } // namespace media | 224 } // namespace media |
| 225 | 225 |
| 226 #endif // MEDIA_FILTERS_VIDEO_RENDERER_BASE_H_ | 226 #endif // MEDIA_FILTERS_VIDEO_RENDERER_BASE_H_ |
| OLD | NEW |