X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=core%2Fmixer%2Fread_frame.h;h=976ca39f90d42517d52a2af045cc87470fe21267;hb=refs%2Ftags%2F2.0.0.2;hp=9e7b05f273c0078455519255d02f62b940343628;hpb=133ed6b7357bd7737635965cb6f461bfbf04b6ff;p=casparcg diff --git a/core/mixer/read_frame.h b/core/mixer/read_frame.h index 9e7b05f27..976ca39f9 100644 --- a/core/mixer/read_frame.h +++ b/core/mixer/read_frame.h @@ -21,37 +21,31 @@ #include +#include + #include #include -#include +#include #include #include namespace caspar { namespace core { class host_buffer; +class ogl_device; class read_frame : boost::noncopyable { - read_frame(){} public: - read_frame(boost::unique_future>&& image_data, std::vector&& audio_data); - read_frame(safe_ptr&& image_data, std::vector&& audio_data); + read_frame(); + read_frame(ogl_device& ogl, size_t size, safe_ptr&& image_data, audio_buffer&& audio_data); - virtual const boost::iterator_range image_data() const; - virtual const boost::iterator_range audio_data() const; - - static safe_ptr empty() - { - struct empty : public read_frame - { - virtual const boost::iterator_range image_data() const {return boost::iterator_range();} - virtual const boost::iterator_range audio_data() const {return boost::iterator_range();} - }; - static safe_ptr frame; - return frame; - } + virtual const boost::iterator_range image_data(); + virtual const boost::iterator_range audio_data(); + + virtual size_t image_size() const; + private: struct implementation; std::shared_ptr impl_;