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 // Implementation of Pipeline & PipelineStatusNotification (an async-to-sync | 5 // Implementation of Pipeline & PipelineStatusNotification (an async-to-sync |
6 // callback adapter). | 6 // callback adapter). |
7 | 7 |
8 #ifndef MEDIA_BASE_PIPELINE_IMPL_H_ | 8 #ifndef MEDIA_BASE_PIPELINE_IMPL_H_ |
9 #define MEDIA_BASE_PIPELINE_IMPL_H_ | 9 #define MEDIA_BASE_PIPELINE_IMPL_H_ |
10 | 10 |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 | 323 |
324 // Whether or not the pipeline is pending a stop operation. | 324 // Whether or not the pipeline is pending a stop operation. |
325 bool stop_pending_; | 325 bool stop_pending_; |
326 | 326 |
327 // Whether or not the pipeline is perform a stop operation. | 327 // Whether or not the pipeline is perform a stop operation. |
328 bool tearing_down_; | 328 bool tearing_down_; |
329 | 329 |
330 // Whether or not an error triggered the teardown. | 330 // Whether or not an error triggered the teardown. |
331 bool error_caused_teardown_; | 331 bool error_caused_teardown_; |
332 | 332 |
| 333 // Whether or not a playback rate change should be done once seeking is done. |
| 334 bool playback_rate_change_pending_; |
| 335 |
333 // Duration of the media in microseconds. Set by filters. | 336 // Duration of the media in microseconds. Set by filters. |
334 base::TimeDelta duration_; | 337 base::TimeDelta duration_; |
335 | 338 |
336 // Amount of available buffered data in microseconds. Set by filters. | 339 // Amount of available buffered data in microseconds. Set by filters. |
337 base::TimeDelta buffered_time_; | 340 base::TimeDelta buffered_time_; |
338 | 341 |
339 // Amount of available buffered data. Set by filters. | 342 // Amount of available buffered data. Set by filters. |
340 int64 buffered_bytes_; | 343 int64 buffered_bytes_; |
341 | 344 |
342 // Total size of the media. Set by filters. | 345 // Total size of the media. Set by filters. |
(...skipping 22 matching lines...) Expand all Loading... |
365 // Current value of preload attribute. This value is set immediately via | 368 // Current value of preload attribute. This value is set immediately via |
366 // SetPreload() and a task is dispatched on the message loop to notify the | 369 // SetPreload() and a task is dispatched on the message loop to notify the |
367 // filters. | 370 // filters. |
368 Preload preload_; | 371 Preload preload_; |
369 | 372 |
370 // Current playback rate (>= 0.0f). This value is set immediately via | 373 // Current playback rate (>= 0.0f). This value is set immediately via |
371 // SetPlaybackRate() and a task is dispatched on the message loop to notify | 374 // SetPlaybackRate() and a task is dispatched on the message loop to notify |
372 // the filters. | 375 // the filters. |
373 float playback_rate_; | 376 float playback_rate_; |
374 | 377 |
| 378 // Playback rate to set when the current seek has finished. |
| 379 float pending_playback_rate_; |
| 380 |
375 // Reference clock. Keeps track of current playback time. Uses system | 381 // Reference clock. Keeps track of current playback time. Uses system |
376 // clock and linear interpolation, but can have its time manually set | 382 // clock and linear interpolation, but can have its time manually set |
377 // by filters. | 383 // by filters. |
378 scoped_ptr<Clock> clock_; | 384 scoped_ptr<Clock> clock_; |
379 | 385 |
380 // If this value is set to true, then |clock_| is paused and we are waiting | 386 // If this value is set to true, then |clock_| is paused and we are waiting |
381 // for an update of the clock greater than or equal to the elapsed time to | 387 // for an update of the clock greater than or equal to the elapsed time to |
382 // start the clock. | 388 // start the clock. |
383 bool waiting_for_clock_update_; | 389 bool waiting_for_clock_update_; |
384 | 390 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 PipelineStatistics statistics_; | 453 PipelineStatistics statistics_; |
448 | 454 |
449 FRIEND_TEST_ALL_PREFIXES(PipelineImplTest, GetBufferedTime); | 455 FRIEND_TEST_ALL_PREFIXES(PipelineImplTest, GetBufferedTime); |
450 | 456 |
451 DISALLOW_COPY_AND_ASSIGN(PipelineImpl); | 457 DISALLOW_COPY_AND_ASSIGN(PipelineImpl); |
452 }; | 458 }; |
453 | 459 |
454 } // namespace media | 460 } // namespace media |
455 | 461 |
456 #endif // MEDIA_BASE_PIPELINE_IMPL_H_ | 462 #endif // MEDIA_BASE_PIPELINE_IMPL_H_ |
OLD | NEW |