OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 5 #ifndef MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/cancelable_callback.h" | 14 #include "base/cancelable_callback.h" |
15 #include "base/compiler_specific.h" | 15 #include "base/compiler_specific.h" |
16 #include "base/macros.h" | 16 #include "base/macros.h" |
17 #include "base/memory/linked_ptr.h" | 17 #include "base/memory/linked_ptr.h" |
18 #include "base/memory/ref_counted.h" | 18 #include "base/memory/ref_counted.h" |
19 #include "base/memory/weak_ptr.h" | 19 #include "base/memory/weak_ptr.h" |
20 #include "base/threading/thread.h" | 20 #include "base/threading/thread.h" |
21 #include "base/timer/timer.h" | 21 #include "base/timer/timer.h" |
22 #include "build/build_config.h" | 22 #include "build/build_config.h" |
23 #include "media/base/media_tracks.h" | 23 #include "media/base/media_tracks.h" |
24 #include "media/base/pipeline_impl.h" | 24 #include "media/base/pipeline_impl.h" |
25 #include "media/base/renderer_factory.h" | 25 #include "media/base/renderer_factory.h" |
26 #include "media/base/surface_manager.h" | 26 #include "media/base/surface_manager.h" |
27 #include "media/base/text_track.h" | 27 #include "media/base/text_track.h" |
28 #include "media/blink/buffered_data_source.h" | |
29 #include "media/blink/buffered_data_source_host_impl.h" | 28 #include "media/blink/buffered_data_source_host_impl.h" |
30 #include "media/blink/media_blink_export.h" | 29 #include "media/blink/media_blink_export.h" |
31 #include "media/blink/multibuffer_data_source.h" | 30 #include "media/blink/multibuffer_data_source.h" |
32 #include "media/blink/video_frame_compositor.h" | 31 #include "media/blink/video_frame_compositor.h" |
33 #include "media/blink/webmediaplayer_delegate.h" | 32 #include "media/blink/webmediaplayer_delegate.h" |
34 #include "media/blink/webmediaplayer_params.h" | 33 #include "media/blink/webmediaplayer_params.h" |
35 #include "media/blink/webmediaplayer_util.h" | 34 #include "media/blink/webmediaplayer_util.h" |
36 #include "media/filters/pipeline_controller.h" | 35 #include "media/filters/pipeline_controller.h" |
37 #include "media/renderers/skcanvas_video_renderer.h" | 36 #include "media/renderers/skcanvas_video_renderer.h" |
38 #include "third_party/WebKit/public/platform/WebAudioSourceProvider.h" | 37 #include "third_party/WebKit/public/platform/WebAudioSourceProvider.h" |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 bool is_idle_; | 361 bool is_idle_; |
363 | 362 |
364 // Set when OnSuspendRequested() is called with |must_suspend| set. | 363 // Set when OnSuspendRequested() is called with |must_suspend| set. |
365 bool must_suspend_; | 364 bool must_suspend_; |
366 | 365 |
367 blink::WebMediaPlayer::NetworkState network_state_; | 366 blink::WebMediaPlayer::NetworkState network_state_; |
368 blink::WebMediaPlayer::ReadyState ready_state_; | 367 blink::WebMediaPlayer::ReadyState ready_state_; |
369 blink::WebMediaPlayer::ReadyState highest_ready_state_; | 368 blink::WebMediaPlayer::ReadyState highest_ready_state_; |
370 | 369 |
371 // Preload state for when |data_source_| is created after setPreload(). | 370 // Preload state for when |data_source_| is created after setPreload(). |
372 BufferedDataSource::Preload preload_; | 371 MultibufferDataSource::Preload preload_; |
373 | 372 |
374 // Buffering strategy for when |data_source_| is created after | 373 // Buffering strategy for when |data_source_| is created after |
375 // setBufferingStrategy(). | 374 // setBufferingStrategy(). |
376 BufferedDataSource::BufferingStrategy buffering_strategy_; | 375 MultibufferDataSource::BufferingStrategy buffering_strategy_; |
377 | 376 |
378 // Task runner for posting tasks on Chrome's main thread. Also used | 377 // Task runner for posting tasks on Chrome's main thread. Also used |
379 // for DCHECKs so methods calls won't execute in the wrong thread. | 378 // for DCHECKs so methods calls won't execute in the wrong thread. |
380 const scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; | 379 const scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |
381 | 380 |
382 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_; | 381 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_; |
383 scoped_refptr<base::TaskRunner> worker_task_runner_; | 382 scoped_refptr<base::TaskRunner> worker_task_runner_; |
384 scoped_refptr<MediaLog> media_log_; | 383 scoped_refptr<MediaLog> media_log_; |
385 | 384 |
386 // |pipeline_controller_| references |pipeline_| and therefore must be | 385 // |pipeline_controller_| references |pipeline_| and therefore must be |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 scoped_refptr<WebAudioSourceProviderImpl> audio_source_provider_; | 462 scoped_refptr<WebAudioSourceProviderImpl> audio_source_provider_; |
464 | 463 |
465 bool supports_save_; | 464 bool supports_save_; |
466 | 465 |
467 // These two are mutually exclusive: | 466 // These two are mutually exclusive: |
468 // |data_source_| is used for regular resource loads. | 467 // |data_source_| is used for regular resource loads. |
469 // |chunk_demuxer_| is used for Media Source resource loads. | 468 // |chunk_demuxer_| is used for Media Source resource loads. |
470 // | 469 // |
471 // |demuxer_| will contain the appropriate demuxer based on which resource | 470 // |demuxer_| will contain the appropriate demuxer based on which resource |
472 // load strategy we're using. | 471 // load strategy we're using. |
473 std::unique_ptr<BufferedDataSourceInterface> data_source_; | 472 std::unique_ptr<MultibufferDataSource> data_source_; |
474 std::unique_ptr<Demuxer> demuxer_; | 473 std::unique_ptr<Demuxer> demuxer_; |
475 ChunkDemuxer* chunk_demuxer_; | 474 ChunkDemuxer* chunk_demuxer_; |
476 | 475 |
477 BufferedDataSourceHostImpl buffered_data_source_host_; | 476 BufferedDataSourceHostImpl buffered_data_source_host_; |
478 linked_ptr<UrlIndex> url_index_; | 477 linked_ptr<UrlIndex> url_index_; |
479 | 478 |
480 // Video rendering members. | 479 // Video rendering members. |
481 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; | 480 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; |
482 VideoFrameCompositor* compositor_; // Deleted on |compositor_task_runner_|. | 481 VideoFrameCompositor* compositor_; // Deleted on |compositor_task_runner_|. |
483 SkCanvasVideoRenderer skcanvas_video_renderer_; | 482 SkCanvasVideoRenderer skcanvas_video_renderer_; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 // Monitors the watch time of the played content. | 540 // Monitors the watch time of the played content. |
542 std::unique_ptr<WatchTimeReporter> watch_time_reporter_; | 541 std::unique_ptr<WatchTimeReporter> watch_time_reporter_; |
543 bool is_encrypted_; | 542 bool is_encrypted_; |
544 | 543 |
545 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 544 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
546 }; | 545 }; |
547 | 546 |
548 } // namespace media | 547 } // namespace media |
549 | 548 |
550 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 549 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
OLD | NEW |