Index: cc/layers/video_frame_provider_client_impl.cc |
diff --git a/cc/layers/video_frame_provider_client_impl.cc b/cc/layers/video_frame_provider_client_impl.cc |
index 751d32f83b29ee471b68dc2ba897464837f79fb0..6f9cb8f00c46c960dc0852d78da90fcb26b6194f 100644 |
--- a/cc/layers/video_frame_provider_client_impl.cc |
+++ b/cc/layers/video_frame_provider_client_impl.cc |
@@ -35,6 +35,14 @@ |
// the call to Stop(). |
provider_->SetVideoFrameProviderClient(this); |
} |
+ |
+ // This matrix is the default transformation for stream textures, and flips |
+ // on the Y axis. |
+ stream_texture_matrix_ = gfx::Transform( |
+ 1.0, 0.0, 0.0, 0.0, |
+ 0.0, -1.0, 0.0, 1.0, |
+ 0.0, 0.0, 1.0, 0.0, |
+ 0.0, 0.0, 0.0, 1.0); |
} |
VideoFrameProviderClientImpl::~VideoFrameProviderClientImpl() { |
@@ -98,6 +106,12 @@ |
bool VideoFrameProviderClientImpl::HasCurrentFrame() { |
base::AutoLock locker(provider_lock_); |
return provider_ && provider_->HasCurrentFrame(); |
+} |
+ |
+const gfx::Transform& VideoFrameProviderClientImpl::StreamTextureMatrix() |
+ const { |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
+ return stream_texture_matrix_; |
} |
void VideoFrameProviderClientImpl::StopUsingProvider() { |