本文整理汇总了C++中safe_ptr::num_channels方法的典型用法代码示例。如果您正苦于以下问题:C++ safe_ptr::num_channels方法的具体用法?C++ safe_ptr::num_channels怎么用?C++ safe_ptr::num_channels使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类safe_ptr
的用法示例。
在下文中一共展示了safe_ptr::num_channels方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: move
virtual boost::unique_future<bool> send(const safe_ptr<read_frame>& frame) override
{
if(audio_cadence_.size() == 1)
return consumer_->send(frame);
boost::unique_future<bool> result = caspar::wrap_as_future(true);
if(boost::range::equal(sync_buffer_, audio_cadence_) && audio_cadence_.front() * frame->num_channels() == static_cast<size_t>(frame->audio_data().size()))
{
// Audio sent so far is in sync, now we can send the next chunk.
result = consumer_->send(frame);
boost::range::rotate(audio_cadence_, std::begin(audio_cadence_)+1);
}
else
CASPAR_LOG(trace) << print() << L" Syncing audio.";
sync_buffer_.push_back(static_cast<size_t>(frame->audio_data().size() / frame->num_channels()));
return std::move(result);
}