bmusb::FrameAllocator::Frame get_and_release()
{
bmusb::FrameAllocator::Frame *ptr = release();
- bmusb::FrameAllocator::Frame frame = *ptr;
- delete ptr;
- return frame;
+ if (ptr == nullptr) {
+ return bmusb::FrameAllocator::Frame();
+ } else {
+ bmusb::FrameAllocator::Frame frame = *ptr;
+ delete ptr;
+ return frame;
+ }
}
};