\r
virtual bool send(const safe_ptr<read_frame>& frame) override\r
{ \r
+ bool result = true;\r
+\r
+ if(boost::range::equal(sync_buffer_, audio_cadence_))\r
+ result = consumer_->send(frame);\r
+ else\r
+ CASPAR_LOG(debug) << print() << L" Syncing audio.";\r
+\r
sync_buffer_.push_back(static_cast<size_t>(frame->audio_data().size()));\r
- if(!boost::range::equal(sync_buffer_, audio_cadence_))\r
- {\r
- CASPAR_LOG(trace) << L"[cadence_guard] Audio cadence unsynced. Skipping frame.";\r
- return true;\r
- }\r
\r
boost::range::rotate(audio_cadence_, std::begin(audio_cadence_)+1);\r
\r
- return consumer_->send(frame);\r
+ return result;\r
}\r
\r
virtual std::wstring print() const override\r
else \r
audio_buffer = std::make_shared<core::audio_buffer>(audio_cadence_.front(), 0);\r
\r
+ // Note: Uses the following cadence (1602, 1602, 1601, 1602, 1601) in order to fill mixer as much as possible.\r
+\r
sync_buffer_.push_back(audio_buffer->size()); \r
if(!boost::range::equal(sync_buffer_, audio_cadence_))\r
{\r