X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=core%2Fconsumer%2Fframe%2Fread_frame.h;h=02369f8a75b310ccb2494c7ef7f507f4762f718e;hb=5bad7c1c1348fe338b748cff8dbc448155d3ae85;hp=422f099c4d4ccf260de47f9dde6e8c75385531fe;hpb=a218d0ca116970342713f777b28eb22c34cd14d8;p=casparcg diff --git a/core/consumer/frame/read_frame.h b/core/consumer/frame/read_frame.h index 422f099c4..02369f8a7 100644 --- a/core/consumer/frame/read_frame.h +++ b/core/consumer/frame/read_frame.h @@ -1,24 +1,46 @@ +/* +* copyright (c) 2010 Sveriges Television AB +* +* This file is part of CasparCG. +* +* CasparCG is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* CasparCG is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. + +* You should have received a copy of the GNU General Public License +* along with CasparCG. If not, see . +* +*/ #pragma once +#include + #include #include -#include -#include - -#include - namespace caspar { namespace core { -class read_frame +class read_frame : boost::noncopyable { public: - virtual const boost::iterator_range image_data() const {return boost::iterator_range();} - virtual const boost::iterator_range audio_data() const {return boost::iterator_range();} + virtual const boost::iterator_range image_data() const = 0; + virtual const boost::iterator_range audio_data() const = 0; static safe_ptr empty() { - return safe_ptr(); + 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; } };