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);
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: