From: ronag Date: Mon, 31 Oct 2011 19:17:10 +0000 (+0000) Subject: git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches... X-Git-Tag: 2.1.0_Beta1~1079 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=5051047f809aa5cb78061f783f02574583a34ffb;p=casparcg git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0 concrt-experimental@1527 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d --- diff --git a/core/consumer/output.cpp b/core/consumer/output.cpp index d59d2abb2..b245c0b90 100644 --- a/core/consumer/output.cpp +++ b/core/consumer/output.cpp @@ -33,6 +33,7 @@ #include #include +#include #include using namespace Concurrency; @@ -110,7 +111,10 @@ public: void execute(const output::source_element_t& element) { - auto frame = element.first; + const auto frame = element.first; + + if(frame->image_data().size() != format_desc_.size) + return; { critical_section::scoped_lock lock(mutex_); @@ -121,7 +125,7 @@ public: timer_.tick(1.0/format_desc_.fps); } - auto minmax = minmax_buffer_depth(); + const auto minmax = minmax_buffer_depth(); frames_.set_capacity(minmax.second - minmax.first + 1); frames_.push_back(frame); @@ -129,7 +133,7 @@ public: if(!frames_.full()) return; - std::vector removables; + Concurrency::concurrent_vector removables; Concurrency::parallel_for_each(consumers_.begin(), consumers_.end(), [&](const decltype(*consumers_.begin())& pair) { try