\r
struct draw_frame::impl\r
{ \r
- int tag_;\r
std::shared_ptr<const_frame> frame_;\r
std::vector<draw_frame> frames_;\r
core::frame_transform frame_transform_; \r
public: \r
\r
- impl(int tag = empty_tag)\r
- : tag_(tag)\r
+ impl()\r
{\r
}\r
\r
impl(const_frame&& frame) \r
- : tag_(frame_tag)\r
- , frame_(new const_frame(std::move(frame)))\r
+ : frame_(new const_frame(std::move(frame)))\r
{\r
}\r
\r
impl(mutable_frame&& frame) \r
- : tag_(frame_tag)\r
- , frame_(new const_frame(std::move(frame)))\r
+ : frame_(new const_frame(std::move(frame)))\r
{\r
}\r
\r
impl(std::vector<draw_frame> frames)\r
- : tag_(frame_tag)\r
- , frames_(std::move(frames))\r
+ : frames_(std::move(frames))\r
{\r
}\r
\r
impl(const impl& other)\r
- : tag_(other.tag_)\r
- , frames_(other.frames_)\r
+ : frames_(other.frames_)\r
, frame_(other.frame_)\r
, frame_transform_(other.frame_transform_)\r
{\r
\r
bool operator==(const impl& other)\r
{\r
- return tag_ == other.tag_ && \r
- frames_ == other.frames_ && \r
+ return frames_ == other.frames_ && \r
frame_ == other.frame_ &&\r
frame_transform_ == other.frame_transform_;\r
}\r
};\r
\r
draw_frame::draw_frame() : impl_(new impl()){}\r
-draw_frame::draw_frame(int tag) : impl_(new impl(std::move(tag))){}\r
draw_frame::draw_frame(const draw_frame& other) : impl_(new impl(*other.impl_)){}\r
draw_frame::draw_frame(draw_frame&& other) : impl_(std::move(other.impl_)){}\r
draw_frame::draw_frame(const_frame&& frame) : impl_(new impl(std::move(frame))){}\r
return draw_frame(std::move(frames));\r
}\r
\r
-draw_frame eof_frame(eof_tag);\r
-draw_frame empty_frame(empty_tag);\r
-draw_frame late_frame(late_tag);\r
+draw_frame eof_frame(const_frame(0));\r
+draw_frame empty_frame(const_frame(0));\r
+draw_frame late_frame(const_frame(0));\r
\r
draw_frame draw_frame::still(draw_frame frame)\r
{\r
const_frame::const_frame(boost::shared_future<array<const std::uint8_t>> image, audio_buffer audio_buffer, const void* tag, const core::pixel_format_desc& desc, double frame_rate, core::field_mode field_mode) \r
: impl_(new impl(std::move(image), std::move(audio_buffer), tag, desc, frame_rate, field_mode)){}\r
const_frame::const_frame(mutable_frame&& other) : impl_(new impl(std::move(other))){}\r
-const_frame::~const_frame()\r
-{\r
- on_released();\r
-}\r
+const_frame::~const_frame(){}\r
const_frame::const_frame(const_frame&& other) : impl_(std::move(other.impl_)){}\r
const_frame& const_frame::operator=(const_frame&& other)\r
{\r
\r
#include <boost/range.hpp>\r
#include <boost/any.hpp>\r
-#include <boost/signals2.hpp>\r
\r
#include <tbb/cache_aligned_allocator.h>\r
\r
const_frame& operator=(const const_frame& other);\r
\r
// Properties\r
-\r
- boost::signals2::signal<void()> on_released;\r
- \r
+ \r
const struct pixel_format_desc& pixel_format_desc() const;\r
\r
array<const std::uint8_t> image_data(int index = 0) const;\r