GL_TEXTURE_2D_Sink.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00031
00032 #ifndef _GL_TEXTURE_2D_SINK_H
00033 #define _GL_TEXTURE_2D_SINK_H
00034 #include <openvideo/openVideo.h>
00035 #ifdef ENABLE_GL_TEXTURE_2D_SINK
00036
00037 #include <openvideo/Node.h>
00038 class ACE_Mutex;
00039
00040 namespace openvideo {
00054 class OPENVIDEO_API GL_TEXTURE_2D_Sink :
00055 public openvideo::Node
00056 {
00057 public:
00061 GL_TEXTURE_2D_Sink();
00062
00066 ~GL_TEXTURE_2D_Sink();
00067
00071 virtual void init();
00072
00076 virtual void process();
00077
00081 void acquire();
00082
00086 void release();
00087
00092 float t_u0, t_u1,t_v0, t_v1;
00093
00097 unsigned int get_video_texture_id();
00098
00102 bool isStarted;
00103
00104 virtual void initPixelFormats();
00105 protected:
00109 ACE_Mutex* mutex;
00110
00111 bool doubleBufferFlag;
00112
00113 int buffer;
00114
00115 unsigned int video_texture_id[1];
00119 int width,height;
00120
00124 int format;
00125
00129 int internalFormat;
00130
00134 bool flip_h, flip_v;
00135
00139 enum {TEXTURE_WIDTH = 1024, TEXTURE_HEIGHT = 1024};
00140 };
00141
00142 }
00143
00144 #endif // ENABLE_GL_TEXTURE_2D_SINK
00145
00146 #endif