core::video_format_desc format_desc_;\r
int channel_index_;\r
tbb::atomic<bool> is_running_;\r
+ tbb::atomic<int64_t> current_age_;\r
\r
public:\r
channel_consumer() \r
{\r
is_running_ = true;\r
+ current_age_ = 0;\r
frame_buffer_.set_capacity(3);\r
}\r
\r
channel_index_ = channel_index;\r
}\r
\r
+ virtual int64_t presentation_frame_age_millis() const override\r
+ {\r
+ return current_age_;\r
+ }\r
+\r
virtual std::wstring print() const override\r
{\r
return L"[channel-consumer|" + boost::lexical_cast<std::wstring>(channel_index_) + L"]";\r
if(!is_running_)\r
return make_safe<read_frame>();\r
std::shared_ptr<read_frame> frame;\r
- frame_buffer_.try_pop(frame);\r
+ \r
+ if (frame_buffer_.try_pop(frame))\r
+ current_age_ = frame->get_age_millis();\r
+\r
return frame;\r
}\r
};\r