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 // Delegate calls from WebCore::MediaPlayerPrivate to Chrome's video player. | 5 // Delegate calls from WebCore::MediaPlayerPrivate to Chrome's video player. |
6 // It contains PipelineImpl which is the actual media player pipeline, it glues | 6 // It contains PipelineImpl which is the actual media player pipeline, it glues |
7 // the media player pipeline, data source, audio renderer and renderer. | 7 // the media player pipeline, data source, audio renderer and renderer. |
8 // PipelineImpl would creates multiple threads and access some public methods | 8 // PipelineImpl would creates multiple threads and access some public methods |
9 // of this class, so we need to be extra careful about concurrent access of | 9 // of this class, so we need to be extra careful about concurrent access of |
10 // methods and members. | 10 // methods and members. |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 // TODO(scherkus): since SetPlaybackRate(0) is asynchronous and we don't want | 236 // TODO(scherkus): since SetPlaybackRate(0) is asynchronous and we don't want |
237 // to hang the render thread during pause(), we record the time at the same | 237 // to hang the render thread during pause(), we record the time at the same |
238 // time we pause and then return that value in currentTime(). Otherwise our | 238 // time we pause and then return that value in currentTime(). Otherwise our |
239 // clock can creep forward a little bit while the asynchronous | 239 // clock can creep forward a little bit while the asynchronous |
240 // SetPlaybackRate(0) is being executed. | 240 // SetPlaybackRate(0) is being executed. |
241 bool paused_; | 241 bool paused_; |
242 bool seeking_; | 242 bool seeking_; |
243 float playback_rate_; | 243 float playback_rate_; |
244 base::TimeDelta paused_time_; | 244 base::TimeDelta paused_time_; |
245 | 245 |
| 246 // Seek gets pending if another seek is in progress. Only last pending seek |
| 247 // will have effect. |
| 248 bool pending_seek_; |
| 249 float pending_seek_seconds_; |
| 250 |
246 WebKit::WebMediaPlayerClient* client_; | 251 WebKit::WebMediaPlayerClient* client_; |
247 | 252 |
248 scoped_refptr<WebMediaPlayerProxy> proxy_; | 253 scoped_refptr<WebMediaPlayerProxy> proxy_; |
249 | 254 |
250 MediaStreamClient* media_stream_client_; | 255 MediaStreamClient* media_stream_client_; |
251 | 256 |
252 #if WEBKIT_USING_CG | 257 #if WEBKIT_USING_CG |
253 scoped_ptr<skia::PlatformCanvas> skia_canvas_; | 258 scoped_ptr<skia::PlatformCanvas> skia_canvas_; |
254 #endif | 259 #endif |
255 | 260 |
256 scoped_refptr<media::MediaLog> media_log_; | 261 scoped_refptr<media::MediaLog> media_log_; |
257 | 262 |
258 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 263 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
259 }; | 264 }; |
260 | 265 |
261 } // namespace webkit_glue | 266 } // namespace webkit_glue |
262 | 267 |
263 #endif // WEBKIT_GLUE_WEBMEDIAPLAYER_IMPL_H_ | 268 #endif // WEBKIT_GLUE_WEBMEDIAPLAYER_IMPL_H_ |
OLD | NEW |