#include "frame_format.h"\r
\r
#include <memory>\r
+#include <array>\r
\r
namespace caspar { namespace core { \r
-\r
+ \r
struct frame_factory\r
{\r
virtual ~frame_factory(){}\r
- virtual gpu_frame_ptr create_frame(size_t width, size_t height) = 0;\r
- gpu_frame_ptr create_frame(const frame_format_desc format_desc)\r
+ virtual void release_frames(void* tag) = 0;\r
+ virtual gpu_frame_ptr create_frame(size_t width, size_t height, void* tag) = 0;\r
+ virtual gpu_frame_ptr create_frame(const planar_frame_dimension& data_size, void* tag) = 0;\r
+ gpu_frame_ptr create_frame(const frame_format_desc format_desc, void* tag)\r
{\r
- return create_frame(format_desc.width, format_desc.height);\r
+ return create_frame(format_desc.width, format_desc.height, tag);\r
}\r
};\r
\r