| 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 |