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

Side by Side Diff: webkit/media/android/webmediaplayer_android.cc

Issue 13688004: Location/size change notification when external rendering is enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 7 years, 8 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/android/webmediaplayer_android.h" 5 #include "webkit/media/android/webmediaplayer_android.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 WebMediaSource* media_source, 87 WebMediaSource* media_source,
88 CORSMode cors_mode) { 88 CORSMode cors_mode) {
89 NOTIMPLEMENTED(); 89 NOTIMPLEMENTED();
90 } 90 }
91 91
92 void WebMediaPlayerAndroid::cancelLoad() { 92 void WebMediaPlayerAndroid::cancelLoad() {
93 NOTIMPLEMENTED(); 93 NOTIMPLEMENTED();
94 } 94 }
95 95
96 void WebMediaPlayerAndroid::play() { 96 void WebMediaPlayerAndroid::play() {
97 #if defined(GOOGLE_TV)
97 if (hasVideo() && needs_external_surface_) { 98 if (hasVideo() && needs_external_surface_) {
98 DCHECK(!needs_establish_peer_); 99 DCHECK(!needs_establish_peer_);
99 RequestExternalSurface(); 100 RequestExternalSurface();
100 } 101 }
102 #endif
101 if (hasVideo() && needs_establish_peer_) 103 if (hasVideo() && needs_establish_peer_)
102 EstablishSurfaceTexturePeer(); 104 EstablishSurfaceTexturePeer();
103 105
104 PlayInternal(); 106 PlayInternal();
105 is_playing_ = true; 107 is_playing_ = true;
106 } 108 }
107 109
108 void WebMediaPlayerAndroid::pause() { 110 void WebMediaPlayerAndroid::pause() {
109 PauseInternal(); 111 PauseInternal();
110 is_playing_ = false; 112 is_playing_ = false;
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 } 520 }
519 521
520 void WebMediaPlayerAndroid::SetNeedsEstablishPeer(bool needs_establish_peer) { 522 void WebMediaPlayerAndroid::SetNeedsEstablishPeer(bool needs_establish_peer) {
521 needs_establish_peer_ = needs_establish_peer; 523 needs_establish_peer_ = needs_establish_peer;
522 } 524 }
523 525
524 void WebMediaPlayerAndroid::UpdatePlayingState(bool is_playing) { 526 void WebMediaPlayerAndroid::UpdatePlayingState(bool is_playing) {
525 is_playing_ = is_playing; 527 is_playing_ = is_playing;
526 } 528 }
527 529
530 #if defined(GOOGLE_TV)
531 bool WebMediaPlayerAndroid::RetrieveGeometryChange(gfx::RectF* rect) {
532 if (!video_weblayer_)
533 return false;
534
535 // Compute the geometry of video frame layer.
536 cc::Layer* layer = video_weblayer_->layer();
537 rect->set_size(layer->bounds());
538 while (layer) {
539 rect->Offset(layer->position().OffsetFromOrigin());
540 layer = layer->parent();
541 }
542
543 // Return false when the geometry hasn't been changed from the last time.
544 if (last_computed_rect_ == *rect)
545 return false;
546
547 // Store the changed geometry information when it is actually changed.
548 last_computed_rect_ = *rect;
549 return true;
550 }
551 #endif
552
528 } // namespace webkit_media 553 } // namespace webkit_media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698