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

Side by Side Diff: content/renderer/media/webmediaplayer_ms.cc

Issue 13890012: Integrate VDA with WebRTC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update the license of rtc_video_decoder.h Created 7 years, 5 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
OLDNEW
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 #include "content/renderer/media/webmediaplayer_ms.h" 5 #include "content/renderer/media/webmediaplayer_ms.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 void WebMediaPlayerMS::OnFrameAvailable( 360 void WebMediaPlayerMS::OnFrameAvailable(
361 const scoped_refptr<media::VideoFrame>& frame) { 361 const scoped_refptr<media::VideoFrame>& frame) {
362 DVLOG(3) << "WebMediaPlayerMS::OnFrameAvailable"; 362 DVLOG(3) << "WebMediaPlayerMS::OnFrameAvailable";
363 DCHECK(thread_checker_.CalledOnValidThread()); 363 DCHECK(thread_checker_.CalledOnValidThread());
364 ++total_frame_count_; 364 ++total_frame_count_;
365 if (!received_first_frame_) { 365 if (!received_first_frame_) {
366 received_first_frame_ = true; 366 received_first_frame_ = true;
367 { 367 {
368 base::AutoLock auto_lock(current_frame_lock_); 368 base::AutoLock auto_lock(current_frame_lock_);
369 DCHECK(!current_frame_used_); 369 DCHECK(!current_frame_used_);
370 current_frame_ = 370 current_frame_ = frame;
371 media::VideoFrame::CreateBlackFrame(frame->natural_size());
372 } 371 }
373 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata); 372 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
374 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); 373 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
375 GetClient()->sizeChanged(); 374 GetClient()->sizeChanged();
376 375
377 if (video_frame_provider_.get() && GetClient()->needsWebLayerForVideo()) { 376 if (video_frame_provider_.get() && GetClient()->needsWebLayerForVideo()) {
378 video_weblayer_.reset( 377 video_weblayer_.reset(
379 new webkit::WebLayerImpl(cc::VideoLayer::Create(this))); 378 new webkit::WebLayerImpl(cc::VideoLayer::Create(this)));
380 GetClient()->setWebLayer(video_weblayer_.get()); 379 GetClient()->setWebLayer(video_weblayer_.get());
381 } 380 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 GetClient()->readyStateChanged(); 433 GetClient()->readyStateChanged();
435 } 434 }
436 435
437 WebKit::WebMediaPlayerClient* WebMediaPlayerMS::GetClient() { 436 WebKit::WebMediaPlayerClient* WebMediaPlayerMS::GetClient() {
438 DCHECK(thread_checker_.CalledOnValidThread()); 437 DCHECK(thread_checker_.CalledOnValidThread());
439 DCHECK(client_); 438 DCHECK(client_);
440 return client_; 439 return client_;
441 } 440 }
442 441
443 } // namespace content 442 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/rtc_video_decoder_unittest.cc ('k') | content/renderer/render_thread_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698