explicit color_producer(unsigned int color_value, const frame_format_desc& format_desc) \r
: color_value_(color_value), format_desc_(format_desc){}\r
\r
+ ~color_producer()\r
+ {\r
+ if(factory_)\r
+ factory_->release_frames(this);\r
+ }\r
+\r
gpu_frame_ptr get_frame()\r
{ \r
return frame_;\r
}\r
+\r
const frame_format_desc& get_frame_format_desc() const { return format_desc_; }\r
\r
void initialize(const frame_factory_ptr& factory)\r
{\r
- frame_ = factory->create_frame(format_desc_);\r
+ factory_ = factory;\r
+ frame_ = factory->create_frame(format_desc_, this);\r
__stosd(reinterpret_cast<unsigned long*>(frame_->data()), color_value_, frame_->size() / sizeof(unsigned long));\r
}\r
\r
+ frame_factory_ptr factory_;\r
frame_format_desc format_desc_;\r
gpu_frame_ptr frame_;\r
unsigned int color_value_;\r