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

Side by Side Diff: content/renderer/media/android/webmediaplayer_android.cc

Issue 175223003: HW Video: Make media::VideoFrame handle the sync point of the compositor as well as webgl (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: Focus on this CL's goal and remove wrong change Created 6 years, 9 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/android/webmediaplayer_android.h" 5 #include "content/renderer/media/android/webmediaplayer_android.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_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 1400 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 return; 1411 return;
1412 } 1412 }
1413 1413
1414 // TODO(xhwang): Also notify |web_cdm_| when we implement 1414 // TODO(xhwang): Also notify |web_cdm_| when we implement
1415 // setContentDecryptionModule(). See: http://crbug.com/224786 1415 // setContentDecryptionModule(). See: http://crbug.com/224786
1416 1416
1417 decryptor_ready_cb_ = decryptor_ready_cb; 1417 decryptor_ready_cb_ = decryptor_ready_cb;
1418 } 1418 }
1419 1419
1420 void WebMediaPlayerAndroid::DoReleaseRemotePlaybackTexture( 1420 void WebMediaPlayerAndroid::DoReleaseRemotePlaybackTexture(
1421 scoped_ptr<gpu::MailboxHolder> mailbox_holder) { 1421 const std::vector<uint32>& release_sync_points) {
1422 DCHECK(main_thread_checker_.CalledOnValidThread()); 1422 DCHECK(main_thread_checker_.CalledOnValidThread());
1423 DCHECK(remote_playback_texture_id_); 1423 DCHECK(remote_playback_texture_id_);
1424 1424
1425 GLES2Interface* gl = stream_texture_factory_->ContextGL(); 1425 GLES2Interface* gl = stream_texture_factory_->ContextGL();
1426 1426
1427 if (mailbox_holder->sync_point) 1427 for (size_t i = 0; i < release_sync_points.size(); i++)
1428 gl->WaitSyncPointCHROMIUM(mailbox_holder->sync_point); 1428 gl->WaitSyncPointCHROMIUM(release_sync_points[i]);
1429 gl->DeleteTextures(1, &remote_playback_texture_id_); 1429 gl->DeleteTextures(1, &remote_playback_texture_id_);
1430 remote_playback_texture_id_ = 0; 1430 remote_playback_texture_id_ = 0;
1431 } 1431 }
1432 1432
1433 void WebMediaPlayerAndroid::enterFullscreen() { 1433 void WebMediaPlayerAndroid::enterFullscreen() {
1434 if (manager_->CanEnterFullscreen(frame_)) { 1434 if (manager_->CanEnterFullscreen(frame_)) {
1435 manager_->EnterFullscreen(player_id_, frame_); 1435 manager_->EnterFullscreen(player_id_, frame_);
1436 SetNeedsEstablishPeer(false); 1436 SetNeedsEstablishPeer(false);
1437 } 1437 }
1438 } 1438 }
1439 1439
1440 void WebMediaPlayerAndroid::exitFullscreen() { 1440 void WebMediaPlayerAndroid::exitFullscreen() {
1441 manager_->ExitFullscreen(player_id_); 1441 manager_->ExitFullscreen(player_id_);
1442 } 1442 }
1443 1443
1444 bool WebMediaPlayerAndroid::canEnterFullscreen() const { 1444 bool WebMediaPlayerAndroid::canEnterFullscreen() const {
1445 return manager_->CanEnterFullscreen(frame_); 1445 return manager_->CanEnterFullscreen(frame_);
1446 } 1446 }
1447 1447
1448 } // namespace content 1448 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698