X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=core%2Fconsumer%2Fframe_consumer.h;h=4e6fef7323ae9a5c4de4c62d3609952eba78ac1c;hb=bb950f407ae396399427f3d35af388dfc666d7b5;hp=1a8c19bbd43d8d65fd7f146fa9d426f078f42a8c;hpb=ff60b8649021d4d41bc15af633a1b4848ee7588c;p=casparcg diff --git a/core/consumer/frame_consumer.h b/core/consumer/frame_consumer.h index 1a8c19bbd..4e6fef732 100644 --- a/core/consumer/frame_consumer.h +++ b/core/consumer/frame_consumer.h @@ -29,20 +29,18 @@ #include #include -static const size_t CONSUMER_BUFFER_DEPTH = 7; - namespace caspar { namespace core { class read_frame; struct video_format_desc; +size_t consumer_buffer_depth(); + struct frame_consumer : boost::noncopyable { virtual ~frame_consumer() {} - virtual void send(const safe_ptr& frame) = 0; - virtual size_t buffer_depth() const {return 1;} - virtual bool key_only() const{ return false;} + virtual bool send(const safe_ptr& frame) = 0; virtual void initialize(const video_format_desc& format_desc) = 0; virtual std::wstring print() const = 0; virtual bool has_synchronization_clock() const {return true;} @@ -53,8 +51,7 @@ struct frame_consumer : boost::noncopyable struct empty_frame_consumer : public frame_consumer { core::video_format_desc format_desc; - virtual void send(const safe_ptr&){} - virtual size_t buffer_depth() const{return 0;} + virtual bool send(const safe_ptr&){return false;} virtual void initialize(const video_format_desc&){} virtual std::wstring print() const {return L"empty";} virtual bool has_synchronization_clock() const {return false;}