| 251 | |
| 252 | |
| 253 | Frame *VGLTrans::getFrame(int width, int height, int pixelFormat, int flags, |
| 254 | bool stereo) |
| 255 | { |
| 256 | Frame *f = NULL; |
| 257 | |
| 258 | if(deadYet) return NULL; |
| 259 | if(thread) thread->checkError(); |
| 260 | { |
| 261 | CriticalSection::SafeLock l(mutex); |
| 262 | |
| 263 | int index = -1; |
| 264 | for(int i = 0; i < NFRAMES; i++) |
| 265 | if(frames[i].isComplete()) index = i; |
| 266 | if(index < 0) THROW("No free buffers in pool"); |
| 267 | f = &frames[index]; f->waitUntilComplete(); |
| 268 | } |
| 269 | |
| 270 | rrframeheader hdr; |
| 271 | memset(&hdr, 0, sizeof(rrframeheader)); |
| 272 | hdr.x = hdr.y = 0; |
| 273 | hdr.width = hdr.framew = width; |
| 274 | hdr.height = hdr.frameh = height; |
| 275 | f->init(hdr, pixelFormat, flags, stereo); |
| 276 | return f; |
| 277 | } |
| 278 | |
| 279 | |
| 280 | bool VGLTrans::isReady(void) |
nothing calls this directly
no test coverage detected