X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=pbo_frame_allocator.cpp;h=370fa3d1ea7e145ce1f0e5dee54a2e7610a0f040;hb=71e498d978478c46b5ea12739b1dc9706be182a1;hp=e6cce4e8f151dbbc42c1406fdc6ad4b8bae79411;hpb=5c8dc09f89df0f25434bcefc9102438d2b491df2;p=nageru diff --git a/pbo_frame_allocator.cpp b/pbo_frame_allocator.cpp index e6cce4e..370fa3d 100644 --- a/pbo_frame_allocator.cpp +++ b/pbo_frame_allocator.cpp @@ -10,7 +10,7 @@ using namespace std; PBOFrameAllocator::PBOFrameAllocator(size_t frame_size, GLuint width, GLuint height, size_t num_queued_frames, GLenum buffer, GLenum permissions, GLenum map_bits) - : frame_size(frame_size), buffer(buffer) + : buffer(buffer) { userdata.reset(new Userdata[num_queued_frames]); for (size_t i = 0; i < num_queued_frames; ++i) { @@ -43,6 +43,7 @@ PBOFrameAllocator::PBOFrameAllocator(size_t frame_size, GLuint width, GLuint hei userdata[i].last_height[0] = height; userdata[i].last_width[1] = 0; userdata[i].last_height[1] = 0; + userdata[i].last_interlaced = false; for (unsigned field = 0; field < 2; ++field) { glBindTexture(GL_TEXTURE_2D, userdata[i].tex_y[field]); check_error(); @@ -105,7 +106,7 @@ FrameAllocator::Frame PBOFrameAllocator::alloc_frame() { Frame vf; - std::unique_lock lock(freelist_mutex); // Meh. + unique_lock lock(freelist_mutex); // Meh. if (freelist.empty()) { printf("Frame overrun (no more spare PBO frames), dropping frame!\n"); } else { @@ -124,7 +125,7 @@ void PBOFrameAllocator::release_frame(Frame frame) printf("%d bytes overflow after last (PBO) frame\n", int(frame.overflow)); } - std::unique_lock lock(freelist_mutex); + unique_lock lock(freelist_mutex); freelist.push(frame); //--sumsum; }