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

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

Issue 13890012: Integrate VDA with WebRTC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address review comments Created 7 years, 6 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 (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_ms.h" 5 #include "webkit/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 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 void WebMediaPlayerMS::OnFrameAvailable( 393 void WebMediaPlayerMS::OnFrameAvailable(
394 const scoped_refptr<media::VideoFrame>& frame) { 394 const scoped_refptr<media::VideoFrame>& frame) {
395 DVLOG(3) << "WebMediaPlayerMS::OnFrameAvailable"; 395 DVLOG(3) << "WebMediaPlayerMS::OnFrameAvailable";
396 DCHECK(thread_checker_.CalledOnValidThread()); 396 DCHECK(thread_checker_.CalledOnValidThread());
397 ++total_frame_count_; 397 ++total_frame_count_;
398 if (!received_first_frame_) { 398 if (!received_first_frame_) {
399 received_first_frame_ = true; 399 received_first_frame_ = true;
400 { 400 {
401 base::AutoLock auto_lock(current_frame_lock_); 401 base::AutoLock auto_lock(current_frame_lock_);
402 DCHECK(!current_frame_used_); 402 DCHECK(!current_frame_used_);
403 current_frame_ = 403 current_frame_ = frame;
404 media::VideoFrame::CreateBlackFrame(frame->natural_size());
405 } 404 }
406 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata); 405 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
407 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); 406 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
408 GetClient()->sizeChanged(); 407 GetClient()->sizeChanged();
409 408
410 if (video_frame_provider_ && GetClient()->needsWebLayerForVideo()) { 409 if (video_frame_provider_ && GetClient()->needsWebLayerForVideo()) {
411 video_weblayer_.reset( 410 video_weblayer_.reset(
412 new webkit::WebLayerImpl(cc::VideoLayer::Create(this))); 411 new webkit::WebLayerImpl(cc::VideoLayer::Create(this)));
413 GetClient()->setWebLayer(video_weblayer_.get()); 412 GetClient()->setWebLayer(video_weblayer_.get());
414 } 413 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 GetClient()->readyStateChanged(); 466 GetClient()->readyStateChanged();
468 } 467 }
469 468
470 WebKit::WebMediaPlayerClient* WebMediaPlayerMS::GetClient() { 469 WebKit::WebMediaPlayerClient* WebMediaPlayerMS::GetClient() {
471 DCHECK(thread_checker_.CalledOnValidThread()); 470 DCHECK(thread_checker_.CalledOnValidThread());
472 DCHECK(client_); 471 DCHECK(client_);
473 return client_; 472 return client_;
474 } 473 }
475 474
476 } // namespace webkit_media 475 } // namespace webkit_media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698