+ boost::property_tree::wptree info;\r
+\r
+ auto stage_info = stage_->info();\r
+ auto mixer_info = mixer_->info();\r
+ auto output_info = output_->info();\r
+\r
+ info.add(L"video-mode", format_desc_.name);\r
+\r
+ if (stage_info.timed_wait(boost::posix_time::seconds(2)))\r
+ info.add_child(L"stage", stage_info.get());\r
+\r
+ if (mixer_info.timed_wait(boost::posix_time::seconds(2)))\r
+ info.add_child(L"mixer", mixer_info.get());\r
+\r
+ if (output_info.timed_wait(boost::posix_time::seconds(2)))\r
+ info.add_child(L"output", output_info.get());\r
+ \r
+ return info; \r
+ }\r
+\r
+ boost::property_tree::wptree delay_info() const\r
+ {\r
+ boost::property_tree::wptree info;\r
+\r
+ auto stage_info = stage_->delay_info();\r
+ auto mixer_info = mixer_->delay_info();\r
+ auto output_info = output_->delay_info();\r
+\r
+ if (stage_info.timed_wait(boost::posix_time::seconds(2)))\r
+ info.add_child(L"layers", stage_info.get());\r
+\r
+ if (mixer_info.timed_wait(boost::posix_time::seconds(2)))\r
+ info.add_child(L"mix-time", mixer_info.get());\r
+\r
+ if (output_info.timed_wait(boost::posix_time::seconds(2)))\r
+ info.add_child(L"consumers", output_info.get());\r
+\r
+ return info;\r