OLD | NEW |
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this | 1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this |
2 // source code is governed by a BSD-style license that can be found in the | 2 // source code is governed by a BSD-style license that can be found in the |
3 // LICENSE file. | 3 // LICENSE file. |
4 | 4 |
5 #include "chrome/renderer/webmediaplayer_delegate_impl.h" | 5 #include "chrome/renderer/webmediaplayer_delegate_impl.h" |
6 | 6 |
7 #include "chrome/renderer/media/audio_renderer_impl.h" | 7 #include "chrome/renderer/media/audio_renderer_impl.h" |
8 #include "chrome/renderer/media/data_source_impl.h" | 8 #include "chrome/renderer/media/data_source_impl.h" |
| 9 #include "chrome/renderer/media/buffered_data_source.h" |
9 #include "chrome/renderer/media/video_renderer_impl.h" | 10 #include "chrome/renderer/media/video_renderer_impl.h" |
10 #include "chrome/renderer/render_view.h" | 11 #include "chrome/renderer/render_view.h" |
11 #include "googleurl/src/gurl.h" | 12 #include "googleurl/src/gurl.h" |
12 #if defined(OS_WIN) | 13 #if defined(OS_WIN) |
13 // FFmpeg is not ready for Linux and Mac yet. | 14 // FFmpeg is not ready for Linux and Mac yet. |
14 #include "media/filters/ffmpeg_audio_decoder.h" | 15 #include "media/filters/ffmpeg_audio_decoder.h" |
15 #include "media/filters/ffmpeg_demuxer.h" | 16 #include "media/filters/ffmpeg_demuxer.h" |
16 #include "media/filters/ffmpeg_video_decoder.h" | 17 #include "media/filters/ffmpeg_video_decoder.h" |
17 #endif | 18 #endif |
18 #include "third_party/WebKit/WebKit/chromium/public/WebRect.h" | 19 #include "third_party/WebKit/WebKit/chromium/public/WebRect.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 // TODO(hclam): Add filter factory for demuxer and decoders. | 65 // TODO(hclam): Add filter factory for demuxer and decoders. |
65 #if defined(OS_WIN) | 66 #if defined(OS_WIN) |
66 // FFmpeg is not ready for Linux and Mac yet. | 67 // FFmpeg is not ready for Linux and Mac yet. |
67 filter_factory_->AddFactory(media::FFmpegDemuxer::CreateFilterFactory()); | 68 filter_factory_->AddFactory(media::FFmpegDemuxer::CreateFilterFactory()); |
68 filter_factory_->AddFactory(media::FFmpegAudioDecoder::CreateFactory()); | 69 filter_factory_->AddFactory(media::FFmpegAudioDecoder::CreateFactory()); |
69 filter_factory_->AddFactory(media::FFmpegVideoDecoder::CreateFactory()); | 70 filter_factory_->AddFactory(media::FFmpegVideoDecoder::CreateFactory()); |
70 #endif | 71 #endif |
71 filter_factory_->AddFactory(AudioRendererImpl::CreateFactory( | 72 filter_factory_->AddFactory(AudioRendererImpl::CreateFactory( |
72 view_->audio_message_filter())); | 73 view_->audio_message_filter())); |
73 filter_factory_->AddFactory(VideoRendererImpl::CreateFactory(this)); | 74 filter_factory_->AddFactory(VideoRendererImpl::CreateFactory(this)); |
74 filter_factory_->AddFactory(DataSourceImpl::CreateFactory(this)); | 75 filter_factory_->AddFactory(BufferedDataSource::CreateFactory(this)); |
75 } | 76 } |
76 | 77 |
77 WebMediaPlayerDelegateImpl::~WebMediaPlayerDelegateImpl() { | 78 WebMediaPlayerDelegateImpl::~WebMediaPlayerDelegateImpl() { |
78 pipeline_.Stop(); | 79 pipeline_.Stop(); |
79 | 80 |
80 // Cancel all tasks posted on the main_loop_. | 81 // Cancel all tasks posted on the main_loop_. |
81 CancelAllTasks(); | 82 CancelAllTasks(); |
82 | 83 |
83 // After cancelling all tasks, we are sure there will be no calls to | 84 // After cancelling all tasks, we are sure there will be no calls to |
84 // web_media_player_, so we are safe to delete it. | 85 // web_media_player_, so we are safe to delete it. |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 if(!tasks_[index]) { | 347 if(!tasks_[index]) { |
347 CancelableTask* task = new NotifyWebMediaPlayerTask(this, method); | 348 CancelableTask* task = new NotifyWebMediaPlayerTask(this, method); |
348 tasks_[index] = task; | 349 tasks_[index] = task; |
349 main_loop_->PostTask(FROM_HERE, task); | 350 main_loop_->PostTask(FROM_HERE, task); |
350 } | 351 } |
351 } | 352 } |
352 | 353 |
353 void WebMediaPlayerDelegateImpl::PostRepaintTask() { | 354 void WebMediaPlayerDelegateImpl::PostRepaintTask() { |
354 PostTask(kRepaintTaskIndex, &webkit_glue::WebMediaPlayer::Repaint); | 355 PostTask(kRepaintTaskIndex, &webkit_glue::WebMediaPlayer::Repaint); |
355 } | 356 } |
OLD | NEW |