+ Fixed bug where only URL:s with . in them where recognized.\r
o Image producer:\r
+ Added LENGTH parameter to allow for queueing with LOADBG AUTO.\r
+ o Layer producer:\r
+ + Fixed serious bug where a circular reference of layer producers caused a\r
+ stack overflow and server crash.\r
\r
Mixer\r
-----\r
namespace caspar { namespace reroute {
class layer_consumer : public core::write_frame_consumer
-{
+{
tbb::concurrent_bounded_queue<core::draw_frame> frame_buffer_;
semaphore frames_available_ { 0 };
int frames_delay_;
: layer_(layer)
, consumer_(spl::make_shared<layer_consumer>(frames_delay))
, channel_(channel)
- , last_frame_(core::draw_frame::empty())
+ , last_frame_(core::draw_frame::late())
, frame_number_(0)
{
pixel_constraints_.width.set(channel->video_format_desc().width);
}
// frame_producer
-
+
core::draw_frame receive_impl() override
{
auto consumer_frame = consumer_->receive();
frame_number_++;
return last_frame_ = consumer_frame;
- }
+ }
+
+ core::draw_frame last_frame() override
+ {
+ return last_frame_;
+ }
std::wstring print() const override
{