SampleBuffer *NativeFilm::GetFreeSampleBuffer() { // Look for a free buffer if (freeSampleBuffers.size() > 0) { SampleBuffer *sb = freeSampleBuffers.front(); freeSampleBuffers.pop_front(); sb->Reset(); return sb; } else { // Need to allocate a new buffer SampleBuffer *sb = new SampleBuffer(SampleBufferSize); sampleBuffers.push_back(sb); return sb; } }
SampleBuffer *NativePixelDevice::GetFreeSampleBuffer() { boost::mutex::scoped_lock lock(splatMutex); // Look for a free buffer if (freeSampleBuffers.size() > 0) { SampleBuffer *sb = freeSampleBuffers.front(); freeSampleBuffers.pop_front(); sb->Reset(); return sb; } else { // Need to allocate a new buffer SampleBuffer *sb = new SampleBuffer(SampleBufferSize); sampleBuffers.push_back(sb); return sb; } }