+ .add(L"index", port.first);
+ }
+ return info;
+ }, task_priority::high_priority));
+ }
+
+ std::future<boost::property_tree::wptree> delay_info()
+ {
+ return std::move(executor_.begin_invoke([&]() -> boost::property_tree::wptree
+ {
+ boost::property_tree::wptree info;
+
+ for (auto& port : ports_)
+ {
+ auto total_age =
+ port.second.presentation_frame_age_millis();
+ auto sendoff_age = send_to_consumers_delays_[port.first];
+ auto presentation_time = total_age - sendoff_age;
+
+ boost::property_tree::wptree child;
+ child.add(L"name", port.second.print());
+ child.add(L"age-at-arrival", sendoff_age);
+ child.add(L"presentation-time", presentation_time);
+ child.add(L"age-at-presentation", total_age);
+
+ info.add_child(L"consumer", child);