- { \r
- bitmap_ptr frame; \r
- if(!bitmap_pool_->try_pop(frame)) \r
- { \r
- CASPAR_LOG(trace) << "Allocated bitmap";\r
- frame = std::make_shared<bitmap>(format_desc.width, format_desc.height); \r
- common::clear(frame->data(), frame->size());\r
- }\r
- flashax_container_->DrawControl(frame->hdc());\r
-\r
- auto pool = bitmap_pool_;\r
- current_frame_.reset(frame.get(), [=](bitmap*)\r
- {\r
- if(pool->try_push(frame))\r
- common::clear(frame->data(), frame->size());\r
- });\r
+ { \r
+ std::fill_n(bmp_frame_->data(), bmp_frame_->size(), 0); \r
+ flashax_container_->DrawControl(bmp_frame_->hdc());\r
+ current_frame_ = bmp_frame_;\r