| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #ifndef CC_VIDEO_LAYER_IMPL_H_ | 5 #ifndef CC_VIDEO_LAYER_IMPL_H_ |
| 6 #define CC_VIDEO_LAYER_IMPL_H_ | 6 #define CC_VIDEO_LAYER_IMPL_H_ |
| 7 | 7 |
| 8 #include <public/WebVideoFrameProvider.h> |
| 9 |
| 8 #include "base/callback.h" | 10 #include "base/callback.h" |
| 9 #include "base/synchronization/lock.h" | 11 #include "base/synchronization/lock.h" |
| 10 #include "cc/cc_export.h" | 12 #include "cc/cc_export.h" |
| 11 #include "cc/layer_impl.h" | 13 #include "cc/layer_impl.h" |
| 12 #include "media/base/video_frame.h" | 14 #include "media/base/video_frame.h" |
| 13 #include "third_party/khronos/GLES2/gl2.h" | 15 #include "third_party/khronos/GLES2/gl2.h" |
| 14 #include "ui/gfx/size.h" | 16 #include "ui/gfx/size.h" |
| 15 #include <public/WebTransformationMatrix.h> | 17 #include "ui/gfx/transform.h" |
| 16 #include <public/WebVideoFrameProvider.h> | |
| 17 | 18 |
| 18 namespace WebKit { | 19 namespace WebKit { |
| 19 class WebVideoFrame; | 20 class WebVideoFrame; |
| 20 } | 21 } |
| 21 | 22 |
| 22 namespace media { | 23 namespace media { |
| 23 class SkCanvasVideoRenderer; | 24 class SkCanvasVideoRenderer; |
| 24 } | 25 } |
| 25 | 26 |
| 26 namespace cc { | 27 namespace cc { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 bool allocatePlaneData(ResourceProvider*); | 74 bool allocatePlaneData(ResourceProvider*); |
| 74 bool copyPlaneData(ResourceProvider*); | 75 bool copyPlaneData(ResourceProvider*); |
| 75 void freePlaneData(ResourceProvider*); | 76 void freePlaneData(ResourceProvider*); |
| 76 void freeUnusedPlaneData(ResourceProvider*); | 77 void freeUnusedPlaneData(ResourceProvider*); |
| 77 size_t numPlanes() const; | 78 size_t numPlanes() const; |
| 78 | 79 |
| 79 // Guards the destruction of m_provider and the frame that it provides | 80 // Guards the destruction of m_provider and the frame that it provides |
| 80 base::Lock m_providerLock; | 81 base::Lock m_providerLock; |
| 81 WebKit::WebVideoFrameProvider* m_provider; | 82 WebKit::WebVideoFrameProvider* m_provider; |
| 82 | 83 |
| 83 WebKit::WebTransformationMatrix m_streamTextureMatrix; | 84 gfx::Transform m_streamTextureMatrix; |
| 84 | 85 |
| 85 FrameUnwrapper m_unwrapper; | 86 FrameUnwrapper m_unwrapper; |
| 86 WebKit::WebVideoFrame *m_webFrame; | 87 WebKit::WebVideoFrame *m_webFrame; |
| 87 media::VideoFrame* m_frame; | 88 media::VideoFrame* m_frame; |
| 88 GLenum m_format; | 89 GLenum m_format; |
| 89 bool m_convertYUV; | 90 bool m_convertYUV; |
| 90 ResourceProvider::ResourceId m_externalTextureResource; | 91 ResourceProvider::ResourceId m_externalTextureResource; |
| 91 scoped_ptr<media::SkCanvasVideoRenderer> m_videoRenderer; | 92 scoped_ptr<media::SkCanvasVideoRenderer> m_videoRenderer; |
| 92 | 93 |
| 93 // Each index in this array corresponds to a plane in media::VideoFrame. | 94 // Each index in this array corresponds to a plane in media::VideoFrame. |
| 94 FramePlane m_framePlanes[media::VideoFrame::kMaxPlanes]; | 95 FramePlane m_framePlanes[media::VideoFrame::kMaxPlanes]; |
| 95 }; | 96 }; |
| 96 | 97 |
| 97 } // namespace cc | 98 } // namespace cc |
| 98 | 99 |
| 99 #endif // CC_VIDEO_LAYER_IMPL_H_ | 100 #endif // CC_VIDEO_LAYER_IMPL_H_ |
| OLD | NEW |