| 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 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 PipelineStatusCB seek_cb_; | 445 PipelineStatusCB seek_cb_; |
| 446 | 446 |
| 447 // Temporary callback used for Stop(). | 447 // Temporary callback used for Stop(). |
| 448 base::Closure stop_cb_; | 448 base::Closure stop_cb_; |
| 449 | 449 |
| 450 // Permanent callbacks passed in via Start(). | 450 // Permanent callbacks passed in via Start(). |
| 451 PipelineStatusCB ended_cb_; | 451 PipelineStatusCB ended_cb_; |
| 452 PipelineStatusCB error_cb_; | 452 PipelineStatusCB error_cb_; |
| 453 BufferingStateCB buffering_state_cb_; | 453 BufferingStateCB buffering_state_cb_; |
| 454 | 454 |
| 455 // Audio renderer reference used for setting the volume and determining | 455 // Renderer references used for setting the volume, playback rate, and |
| 456 // when playback has finished. | 456 // determining when playback has finished. |
| 457 scoped_refptr<AudioRenderer> audio_renderer_; | 457 scoped_refptr<AudioRenderer> audio_renderer_; |
| 458 | |
| 459 // Video Renderer reference used for determining when playback has finished | |
| 460 // and for signalling imminent shutdown. | |
| 461 // The signalling imminent shutdown is a HACK necessary because | |
| 462 // WebMediaPlayerImpl::Destroy() holds the render thread loop hostage | |
| 463 // until PipelineImpl::Stop() calls its callback. | |
| 464 // http://crbug.com/110228 tracks removing this hack. | |
| 465 scoped_refptr<VideoRenderer> video_renderer_; | 458 scoped_refptr<VideoRenderer> video_renderer_; |
| 466 | 459 |
| 467 // Demuxer reference used for setting the preload value. | 460 // Demuxer reference used for setting the preload value. |
| 468 scoped_refptr<Demuxer> demuxer_; | 461 scoped_refptr<Demuxer> demuxer_; |
| 469 | 462 |
| 470 // Audio decoder reference used during initialization. | 463 // Audio decoder reference used during initialization. |
| 471 // | 464 // |
| 472 // TODO(scherkus): Remove after renderers do initialization, see | 465 // TODO(scherkus): Remove after renderers do initialization, see |
| 473 // http://crbug.com/145635 | 466 // http://crbug.com/145635 |
| 474 scoped_refptr<AudioDecoder> audio_decoder_; | 467 scoped_refptr<AudioDecoder> audio_decoder_; |
| 475 | 468 |
| 476 PipelineStatistics statistics_; | 469 PipelineStatistics statistics_; |
| 477 | 470 |
| 478 // Time of pipeline creation; is non-zero only until the pipeline first | 471 // Time of pipeline creation; is non-zero only until the pipeline first |
| 479 // reaches "kStarted", at which point it is used & zeroed out. | 472 // reaches "kStarted", at which point it is used & zeroed out. |
| 480 base::Time creation_time_; | 473 base::Time creation_time_; |
| 481 | 474 |
| 482 scoped_ptr<SerialRunner> pending_callbacks_; | 475 scoped_ptr<SerialRunner> pending_callbacks_; |
| 483 | 476 |
| 484 base::ThreadChecker thread_checker_; | 477 base::ThreadChecker thread_checker_; |
| 485 | 478 |
| 486 DISALLOW_COPY_AND_ASSIGN(Pipeline); | 479 DISALLOW_COPY_AND_ASSIGN(Pipeline); |
| 487 }; | 480 }; |
| 488 | 481 |
| 489 } // namespace media | 482 } // namespace media |
| 490 | 483 |
| 491 #endif // MEDIA_BASE_PIPELINE_H_ | 484 #endif // MEDIA_BASE_PIPELINE_H_ |
| OLD | NEW |