OLD | NEW |
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 #ifndef CONTENT_COMMON_ANDROID_SURFACE_TEXTURE_PEER_H_ | 5 #ifndef CONTENT_COMMON_ANDROID_SURFACE_TEXTURE_PEER_H_ |
6 #define CONTENT_COMMON_ANDROID_SURFACE_TEXTURE_PEER_H_ | 6 #define CONTENT_COMMON_ANDROID_SURFACE_TEXTURE_PEER_H_ |
7 | 7 |
8 #include "base/process.h" | 8 #include "base/process.h" |
9 #include "content/common/android/surface_texture_bridge.h" | 9 #include "content/common/android/surface_texture_bridge.h" |
10 | 10 |
11 namespace content { | 11 namespace content { |
12 | 12 |
13 class SurfaceTexturePeer { | 13 class SurfaceTexturePeer { |
14 public: | 14 public: |
15 enum SurfaceTextureTarget { | |
16 // These are used in java so don't change them unless we can | |
17 // share an enum from java and remove this enum. | |
18 SET_GPU_SURFACE_TEXTURE = 0, // Contains gpu surface_texture_ and id | |
19 SET_VIDEO_SURFACE_TEXTURE = 1, // contains video surface_texture_ and id | |
20 }; | |
21 | |
22 static SurfaceTexturePeer* GetInstance(); | 15 static SurfaceTexturePeer* GetInstance(); |
23 | 16 |
24 static void InitInstance(SurfaceTexturePeer* instance); | 17 static void InitInstance(SurfaceTexturePeer* instance); |
25 | 18 |
26 // Establish the producer end for the given surface texture in another | 19 // Establish the producer end for the given surface texture in another |
27 // process. | 20 // process. |
28 virtual void EstablishSurfaceTexturePeer( | 21 virtual void EstablishSurfaceTexturePeer( |
29 base::ProcessHandle pid, | 22 base::ProcessHandle pid, |
30 SurfaceTextureTarget type, | |
31 scoped_refptr<SurfaceTextureBridge> surface_texture_bridge, | 23 scoped_refptr<SurfaceTextureBridge> surface_texture_bridge, |
32 int primary_id, | 24 int primary_id, |
33 int secondary_id) = 0; | 25 int secondary_id) = 0; |
34 | 26 |
35 protected: | 27 protected: |
36 SurfaceTexturePeer(); | 28 SurfaceTexturePeer(); |
37 virtual ~SurfaceTexturePeer(); | 29 virtual ~SurfaceTexturePeer(); |
38 | 30 |
39 private: | 31 private: |
40 DISALLOW_COPY_AND_ASSIGN(SurfaceTexturePeer); | 32 DISALLOW_COPY_AND_ASSIGN(SurfaceTexturePeer); |
41 }; | 33 }; |
42 | 34 |
43 } // namespace content | 35 } // namespace content |
44 | 36 |
45 #endif // CONTENT_COMMON_ANDROID_SURFACE_TEXTURE_PEER_H_ | 37 #endif // CONTENT_COMMON_ANDROID_SURFACE_TEXTURE_PEER_H_ |
OLD | NEW |