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 |