X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fpbo_frame_allocator.cpp;fp=nageru%2Fpbo_frame_allocator.cpp;h=4c1a55bcd0d4d47aeaffdff324b29f59780d9fdd;hb=f08eaef2d7c9f6815f7010a221302daccb57fda1;hp=1904cf17e26ea8ca3b7ea76ea56442a5acbb85bb;hpb=4b58e3f824545472eb1ccf1e18d042b3b1b9be04;p=nageru diff --git a/nageru/pbo_frame_allocator.cpp b/nageru/pbo_frame_allocator.cpp index 1904cf1..4c1a55b 100644 --- a/nageru/pbo_frame_allocator.cpp +++ b/nageru/pbo_frame_allocator.cpp @@ -216,9 +216,10 @@ PBOFrameAllocator::~PBOFrameAllocator() void PBOFrameAllocator::destroy_frame(Frame *frame) { + Userdata *ud = (Userdata *)frame->userdata; delete[] frame->data_copy; - GLuint pbo = ((Userdata *)frame->userdata)->pbo; + GLuint pbo = ud->pbo; glBindBuffer(buffer, pbo); check_error(); glUnmapBuffer(buffer); @@ -229,27 +230,27 @@ void PBOFrameAllocator::destroy_frame(Frame *frame) check_error(); switch (pixel_format) { case bmusb::PixelFormat_10BitYCbCr: - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_v210); + glDeleteTextures(2, ud->tex_v210); check_error(); - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_444); + glDeleteTextures(2, ud->tex_444); check_error(); break; case bmusb::PixelFormat_8BitYCbCr: - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_y); + glDeleteTextures(2, ud->tex_y); check_error(); - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_cbcr); + glDeleteTextures(2, ud->tex_cbcr); check_error(); break; case bmusb::PixelFormat_8BitBGRA: - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_rgba); + glDeleteTextures(2, ud->tex_rgba); check_error(); break; case bmusb::PixelFormat_8BitYCbCrPlanar: - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_y); + glDeleteTextures(2, ud->tex_y); check_error(); - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_cb); + glDeleteTextures(2, ud->tex_cb); check_error(); - glDeleteTextures(2, ((Userdata *)frame->userdata)->tex_cr); + glDeleteTextures(2, ud->tex_cr); check_error(); break; default: