#include <common/utility/assert.h>\r
#include <common/utility/timer.h>\r
\r
+#include <concurrent_vector.h>\r
#include <concrt_extras.h>\r
\r
using namespace Concurrency;\r
\r
void execute(const output::source_element_t& element)\r
{ \r
- auto frame = element.first;\r
+ const auto frame = element.first;\r
+\r
+ if(frame->image_data().size() != format_desc_.size)\r
+ return;\r
\r
{\r
critical_section::scoped_lock lock(mutex_); \r
timer_.tick(1.0/format_desc_.fps);\r
}\r
\r
- auto minmax = minmax_buffer_depth();\r
+ const auto minmax = minmax_buffer_depth();\r
\r
frames_.set_capacity(minmax.second - minmax.first + 1);\r
frames_.push_back(frame);\r
if(!frames_.full())\r
return;\r
\r
- std::vector<int> removables; \r
+ Concurrency::concurrent_vector<int> removables; \r
Concurrency::parallel_for_each(consumers_.begin(), consumers_.end(), [&](const decltype(*consumers_.begin())& pair)\r
{ \r
try\r