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

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: Add VDA and gpu_factories mocks. Update unittest. 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 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 void WebMediaPlayerMS::OnFrameAvailable( 389 void WebMediaPlayerMS::OnFrameAvailable(
390 const scoped_refptr<media::VideoFrame>& frame) { 390 const scoped_refptr<media::VideoFrame>& frame) {
391 DVLOG(3) << "WebMediaPlayerMS::OnFrameAvailable"; 391 DVLOG(3) << "WebMediaPlayerMS::OnFrameAvailable";
392 DCHECK(thread_checker_.CalledOnValidThread()); 392 DCHECK(thread_checker_.CalledOnValidThread());
393 ++total_frame_count_; 393 ++total_frame_count_;
394 if (!received_first_frame_) { 394 if (!received_first_frame_) {
395 received_first_frame_ = true; 395 received_first_frame_ = true;
396 { 396 {
397 base::AutoLock auto_lock(current_frame_lock_); 397 base::AutoLock auto_lock(current_frame_lock_);
398 DCHECK(!current_frame_used_); 398 DCHECK(!current_frame_used_);
399 current_frame_ = 399 current_frame_ = frame;
400 media::VideoFrame::CreateBlackFrame(frame->natural_size());
401 } 400 }
402 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata); 401 SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
403 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); 402 SetReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
404 GetClient()->sizeChanged(); 403 GetClient()->sizeChanged();
405 404
406 if (video_frame_provider_ && GetClient()->needsWebLayerForVideo()) { 405 if (video_frame_provider_ && GetClient()->needsWebLayerForVideo()) {
407 video_weblayer_.reset( 406 video_weblayer_.reset(
408 new webkit::WebLayerImpl(cc::VideoLayer::Create(this))); 407 new webkit::WebLayerImpl(cc::VideoLayer::Create(this)));
409 GetClient()->setWebLayer(video_weblayer_.get()); 408 GetClient()->setWebLayer(video_weblayer_.get());
410 } 409 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 GetClient()->readyStateChanged(); 462 GetClient()->readyStateChanged();
464 } 463 }
465 464
466 WebKit::WebMediaPlayerClient* WebMediaPlayerMS::GetClient() { 465 WebKit::WebMediaPlayerClient* WebMediaPlayerMS::GetClient() {
467 DCHECK(thread_checker_.CalledOnValidThread()); 466 DCHECK(thread_checker_.CalledOnValidThread());
468 DCHECK(client_); 467 DCHECK(client_);
469 return client_; 468 return client_;
470 } 469 }
471 470
472 } // namespace webkit_media 471 } // namespace webkit_media
OLDNEW
« content/renderer/media/rtc_video_decoder.cc ('K') | « media/video/mock_video_decode_accelerator.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698