, buffer_depth(core::consumer_buffer_depth()){}\r
};\r
\r
-class decklink_frame_muxer : public IDeckLinkVideoFrame\r
+class decklink_frame : public IDeckLinkVideoFrame\r
{\r
const safe_ptr<core::read_frame> frame_;\r
- const core::video_format_desc format_desc_;\r
+ const core::video_format_desc format_desc_;\r
public:\r
- decklink_frame_muxer(const safe_ptr<core::read_frame>& frame, const core::video_format_desc& format_desc)\r
+ decklink_frame(const safe_ptr<core::read_frame>& frame, const core::video_format_desc& format_desc)\r
: frame_(frame)\r
, format_desc_(format_desc){}\r
\r
CComQIPtr<IDeckLinkConfiguration> configuration_;\r
CComQIPtr<IDeckLinkKeyer> keyer_;\r
\r
- std::exception_ptr exception_;\r
+ std::exception_ptr exception_;\r
\r
- tbb::atomic<bool> is_running_;\r
+ tbb::atomic<bool> is_running_;\r
\r
- const std::wstring model_name_;\r
- const core::video_format_desc format_desc_;\r
- const size_t buffer_size_;\r
+ const std::wstring model_name_;\r
+ const core::video_format_desc format_desc_;\r
+ const size_t buffer_size_;\r
\r
- unsigned long frames_scheduled_;\r
- unsigned long audio_scheduled_;\r
+ long long frames_scheduled_;\r
+ long long audio_scheduled_;\r
\r
- size_t preroll_count_;\r
+ size_t preroll_count_;\r
\r
std::list<std::shared_ptr<IDeckLinkVideoFrame>> frame_container_; // Must be std::list in order to guarantee that pointers are always valid.\r
boost::circular_buffer<std::vector<int16_t>> audio_container_;\r
\r
void schedule_next_video(const safe_ptr<core::read_frame>& frame)\r
{\r
- frame_container_.push_back(std::make_shared<decklink_frame_muxer>(frame, format_desc_));\r
+ frame_container_.push_back(std::make_shared<decklink_frame>(frame, format_desc_));\r
if(FAILED(output_->ScheduleVideoFrame(frame_container_.back().get(), (frames_scheduled_++) * format_desc_.duration, format_desc_.duration, format_desc_.time_scale)))\r
CASPAR_LOG(error) << print() << L" Failed to schedule video.";\r
\r