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 #ifndef CC_LAYERS_VIDEO_FRAME_PROVIDER_CLIENT_IMPL_H_ | 5 #ifndef CC_LAYERS_VIDEO_FRAME_PROVIDER_CLIENT_IMPL_H_ |
6 #define CC_LAYERS_VIDEO_FRAME_PROVIDER_CLIENT_IMPL_H_ | 6 #define CC_LAYERS_VIDEO_FRAME_PROVIDER_CLIENT_IMPL_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/synchronization/lock.h" | 9 #include "base/synchronization/lock.h" |
10 #include "base/threading/thread_checker.h" | 10 #include "base/threading/thread_checker.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 VideoLayerImpl* ActiveVideoLayer() const; | 35 VideoLayerImpl* ActiveVideoLayer() const; |
36 void SetActiveVideoLayer(VideoLayerImpl* video_layer); | 36 void SetActiveVideoLayer(VideoLayerImpl* video_layer); |
37 | 37 |
38 bool Stopped() const; | 38 bool Stopped() const; |
39 // Must be called on the impl thread while the main thread is blocked. | 39 // Must be called on the impl thread while the main thread is blocked. |
40 void Stop(); | 40 void Stop(); |
41 | 41 |
42 scoped_refptr<media::VideoFrame> AcquireLockAndCurrentFrame(); | 42 scoped_refptr<media::VideoFrame> AcquireLockAndCurrentFrame(); |
43 void PutCurrentFrame(); | 43 void PutCurrentFrame(); |
44 void ReleaseLock(); | 44 void ReleaseLock(); |
| 45 bool HasCurrentFrame(); |
45 | 46 |
46 const gfx::Transform& StreamTextureMatrix() const; | 47 const gfx::Transform& StreamTextureMatrix() const; |
47 | 48 |
48 // VideoFrameController implementation. | 49 // VideoFrameController implementation. |
49 void OnBeginFrame(const BeginFrameArgs& args) override; | 50 void OnBeginFrame(const BeginFrameArgs& args) override; |
50 | 51 |
51 // VideoFrameProvider::Client implementation. | 52 // VideoFrameProvider::Client implementation. |
52 // Called on the main thread. | 53 // Called on the main thread. |
53 void StopUsingProvider() override; | 54 void StopUsingProvider() override; |
54 // Called on the impl thread. | 55 // Called on the impl thread. |
(...skipping 23 matching lines...) Expand all Loading... |
78 base::ThreadChecker thread_checker_; | 79 base::ThreadChecker thread_checker_; |
79 | 80 |
80 gfx::Transform stream_texture_matrix_; | 81 gfx::Transform stream_texture_matrix_; |
81 | 82 |
82 DISALLOW_COPY_AND_ASSIGN(VideoFrameProviderClientImpl); | 83 DISALLOW_COPY_AND_ASSIGN(VideoFrameProviderClientImpl); |
83 }; | 84 }; |
84 | 85 |
85 } // namespace cc | 86 } // namespace cc |
86 | 87 |
87 #endif // CC_LAYERS_VIDEO_FRAME_PROVIDER_CLIENT_IMPL_H_ | 88 #endif // CC_LAYERS_VIDEO_FRAME_PROVIDER_CLIENT_IMPL_H_ |
OLD | NEW |