OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_BASE_PIPELINE_H_ | 5 #ifndef MEDIA_BASE_PIPELINE_H_ |
6 #define MEDIA_BASE_PIPELINE_H_ | 6 #define MEDIA_BASE_PIPELINE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 // Member that tracks the current state. | 435 // Member that tracks the current state. |
436 State state_; | 436 State state_; |
437 | 437 |
438 // Whether we've received the audio/video ended events. | 438 // Whether we've received the audio/video ended events. |
439 bool audio_ended_; | 439 bool audio_ended_; |
440 bool video_ended_; | 440 bool video_ended_; |
441 | 441 |
442 // Set to true in DisableAudioRendererTask(). | 442 // Set to true in DisableAudioRendererTask(). |
443 bool audio_disabled_; | 443 bool audio_disabled_; |
444 | 444 |
445 scoped_ptr<FilterCollection> filter_collection_; | |
446 | |
447 // Temporary callback used for Start() and Seek(). | 445 // Temporary callback used for Start() and Seek(). |
448 PipelineStatusCB seek_cb_; | 446 PipelineStatusCB seek_cb_; |
449 | 447 |
450 // Temporary callback used for Stop(). | 448 // Temporary callback used for Stop(). |
451 base::Closure stop_cb_; | 449 base::Closure stop_cb_; |
452 | 450 |
453 // Permanent callbacks passed in via Start(). | 451 // Permanent callbacks passed in via Start(). |
454 base::Closure ended_cb_; | 452 base::Closure ended_cb_; |
455 PipelineStatusCB error_cb_; | 453 PipelineStatusCB error_cb_; |
456 BufferingStateCB buffering_state_cb_; | 454 BufferingStateCB buffering_state_cb_; |
457 base::Closure duration_change_cb_; | 455 base::Closure duration_change_cb_; |
458 | 456 |
459 // Renderer references used for setting the volume, playback rate, and | 457 // Contains the demuxer and renderers to use when initializing. |
460 // determining when playback has finished. | 458 scoped_ptr<FilterCollection> filter_collection_; |
| 459 |
| 460 // Holds the initialized demuxer. Used for seeking. Owned by client. |
| 461 Demuxer* demuxer_; |
| 462 |
| 463 // Holds the initialized renderers. Used for setting the volume, |
| 464 // playback rate, and determining when playback has finished. |
461 scoped_ptr<AudioRenderer> audio_renderer_; | 465 scoped_ptr<AudioRenderer> audio_renderer_; |
462 scoped_ptr<VideoRenderer> video_renderer_; | 466 scoped_ptr<VideoRenderer> video_renderer_; |
463 | 467 |
464 // Demuxer reference used for setting the preload value. | |
465 scoped_refptr<Demuxer> demuxer_; | |
466 | |
467 PipelineStatistics statistics_; | 468 PipelineStatistics statistics_; |
468 | 469 |
469 // Time of pipeline creation; is non-zero only until the pipeline first | 470 // Time of pipeline creation; is non-zero only until the pipeline first |
470 // reaches "kStarted", at which point it is used & zeroed out. | 471 // reaches "kStarted", at which point it is used & zeroed out. |
471 base::Time creation_time_; | 472 base::Time creation_time_; |
472 | 473 |
473 scoped_ptr<SerialRunner> pending_callbacks_; | 474 scoped_ptr<SerialRunner> pending_callbacks_; |
474 | 475 |
475 base::ThreadChecker thread_checker_; | 476 base::ThreadChecker thread_checker_; |
476 | 477 |
477 DISALLOW_COPY_AND_ASSIGN(Pipeline); | 478 DISALLOW_COPY_AND_ASSIGN(Pipeline); |
478 }; | 479 }; |
479 | 480 |
480 } // namespace media | 481 } // namespace media |
481 | 482 |
482 #endif // MEDIA_BASE_PIPELINE_H_ | 483 #endif // MEDIA_BASE_PIPELINE_H_ |
OLD | NEW |