OLD | NEW |
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 Loading... |
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 |
OLD | NEW |