Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: webkit/media/webmediaplayer_impl.cc

Issue 12262058: Revert r180578, r180591, and r180604 from 1410 branch. (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1410/src/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/tools/player_x11/player_x11.cc ('k') | webkit/media/webmediaplayer_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "webkit/media/webmediaplayer_impl.h" 5 #include "webkit/media/webmediaplayer_impl.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 180
181 // Create the GPU video decoder if factories were provided. 181 // Create the GPU video decoder if factories were provided.
182 if (params.gpu_factories()) { 182 if (params.gpu_factories()) {
183 filter_collection_->GetVideoDecoders()->push_back( 183 filter_collection_->GetVideoDecoders()->push_back(
184 new media::GpuVideoDecoder( 184 new media::GpuVideoDecoder(
185 media_thread_.message_loop_proxy(), 185 media_thread_.message_loop_proxy(),
186 params.gpu_factories())); 186 params.gpu_factories()));
187 } 187 }
188 188
189 // Create default video renderer. 189 // Create default video renderer.
190 scoped_ptr<media::VideoRenderer> video_renderer( 190 scoped_refptr<media::VideoRendererBase> video_renderer =
191 new media::VideoRendererBase( 191 new media::VideoRendererBase(
192 media_thread_.message_loop_proxy(), 192 media_thread_.message_loop_proxy(),
193 set_decryptor_ready_cb, 193 set_decryptor_ready_cb,
194 base::Bind(&WebMediaPlayerProxy::FrameReady, proxy_), 194 base::Bind(&WebMediaPlayerProxy::Repaint, proxy_),
195 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::SetOpaque), 195 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::SetOpaque),
196 true)); 196 true);
197 filter_collection_->SetVideoRenderer(video_renderer.Pass()); 197 filter_collection_->AddVideoRenderer(video_renderer);
198 proxy_->set_frame_provider(video_renderer);
198 199
199 // Create default audio renderer using the null sink if no sink was provided. 200 // Create default audio renderer using the null sink if no sink was provided.
200 audio_source_provider_ = new WebAudioSourceProviderImpl( 201 audio_source_provider_ = new WebAudioSourceProviderImpl(
201 params.audio_renderer_sink() ? params.audio_renderer_sink() : 202 params.audio_renderer_sink() ? params.audio_renderer_sink() :
202 new media::NullAudioSink()); 203 new media::NullAudioSink());
203 scoped_ptr<media::AudioRenderer> audio_renderer( 204 filter_collection_->AddAudioRenderer(new media::AudioRendererImpl(
204 new media::AudioRendererImpl( 205 media_thread_.message_loop_proxy(),
205 media_thread_.message_loop_proxy(), 206 audio_source_provider_,
206 audio_source_provider_, 207 set_decryptor_ready_cb));
207 set_decryptor_ready_cb));
208 filter_collection_->SetAudioRenderer(audio_renderer.Pass());
209 } 208 }
210 209
211 WebMediaPlayerImpl::~WebMediaPlayerImpl() { 210 WebMediaPlayerImpl::~WebMediaPlayerImpl() {
212 DCHECK_EQ(main_loop_, MessageLoop::current()); 211 DCHECK_EQ(main_loop_, MessageLoop::current());
213 Destroy(); 212 Destroy();
214 media_log_->AddEvent( 213 media_log_->AddEvent(
215 media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_DESTROYED)); 214 media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_DESTROYED));
216 215
217 if (delegate_) 216 if (delegate_)
218 delegate_->PlayerGone(this); 217 delegate_->PlayerGone(this);
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 return NULL; 643 return NULL;
645 } 644 }
646 645
647 void WebMediaPlayerImpl::putCurrentFrame( 646 void WebMediaPlayerImpl::putCurrentFrame(
648 WebKit::WebVideoFrame* web_video_frame) { 647 WebKit::WebVideoFrame* web_video_frame) {
649 if (!accelerated_compositing_reported_) { 648 if (!accelerated_compositing_reported_) {
650 accelerated_compositing_reported_ = true; 649 accelerated_compositing_reported_ = true;
651 DCHECK(frame_->view()->isAcceleratedCompositingActive()); 650 DCHECK(frame_->view()->isAcceleratedCompositingActive());
652 UMA_HISTOGRAM_BOOLEAN("Media.AcceleratedCompositingActive", true); 651 UMA_HISTOGRAM_BOOLEAN("Media.AcceleratedCompositingActive", true);
653 } 652 }
654 delete web_video_frame; 653 if (web_video_frame) {
654 WebVideoFrameImpl* impl = static_cast<WebVideoFrameImpl*>(web_video_frame);
655 proxy_->PutCurrentFrame(impl->video_frame);
656 delete web_video_frame;
657 } else {
658 proxy_->PutCurrentFrame(NULL);
659 }
655 } 660 }
656 661
657 #define COMPILE_ASSERT_MATCHING_STATUS_ENUM(webkit_name, chromium_name) \ 662 #define COMPILE_ASSERT_MATCHING_STATUS_ENUM(webkit_name, chromium_name) \
658 COMPILE_ASSERT(static_cast<int>(WebMediaPlayer::webkit_name) == \ 663 COMPILE_ASSERT(static_cast<int>(WebMediaPlayer::webkit_name) == \
659 static_cast<int>(media::ChunkDemuxer::chromium_name), \ 664 static_cast<int>(media::ChunkDemuxer::chromium_name), \
660 mismatching_status_enums) 665 mismatching_status_enums)
661 COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddIdStatusOk, kOk); 666 COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddIdStatusOk, kOk);
662 COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddIdStatusNotSupported, kNotSupported); 667 COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddIdStatusNotSupported, kNotSupported);
663 COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddIdStatusReachedIdLimit, kReachedIdLimit); 668 COMPILE_ASSERT_MATCHING_STATUS_ENUM(AddIdStatusReachedIdLimit, kReachedIdLimit);
664 #undef COMPILE_ASSERT_MATCHING_ENUM 669 #undef COMPILE_ASSERT_MATCHING_ENUM
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 } 1270 }
1266 1271
1267 void WebMediaPlayerImpl::OnDurationChange() { 1272 void WebMediaPlayerImpl::OnDurationChange() {
1268 if (ready_state_ == WebMediaPlayer::ReadyStateHaveNothing) 1273 if (ready_state_ == WebMediaPlayer::ReadyStateHaveNothing)
1269 return; 1274 return;
1270 1275
1271 GetClient()->durationChanged(); 1276 GetClient()->durationChanged();
1272 } 1277 }
1273 1278
1274 } // namespace webkit_media 1279 } // namespace webkit_media
OLDNEW
« no previous file with comments | « media/tools/player_x11/player_x11.cc ('k') | webkit/media/webmediaplayer_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698