boost::property_tree::wptree info() const override { boost::property_tree::wptree info; info.add(L"type", L"separated-producer"); info.add_child(L"fill.producer", fill_producer_->info()); info.add_child(L"key.producer", key_producer_->info()); return info; }
boost::property_tree::wptree info() const override { boost::property_tree::wptree info; info.add(L"type", L"transition-producer"); info.add_child(L"source.producer", source_producer_->info()); info.add_child(L"destination.producer", dest_producer_->info()); return info; }
boost::property_tree::wptree info() const { boost::property_tree::wptree info; info.add(L"status", is_paused_ ? L"paused" : (foreground_ == frame_producer::empty() ? L"stopped" : L"playing")); info.add(L"auto_delta", auto_play_delta_); info.add(L"frame-number", frame_number_); auto nb_frames = foreground_->nb_frames(); info.add(L"nb_frames", nb_frames == std::numeric_limits<int64_t>::max() ? -1 : nb_frames); info.add(L"frames-left", nb_frames == std::numeric_limits<int64_t>::max() ? -1 : (foreground_->nb_frames() - frame_number_ - auto_play_delta_)); info.add_child(L"foreground.producer", foreground_->info()); info.add_child(L"background.producer", background_->info()); return info; }
boost::property_tree::wptree info() const { boost::property_tree::wptree info; auto stage_info = stage_->info(); auto mixer_info = mixer_->info(); auto output_info = output_->info(); stage_info.timed_wait(boost::posix_time::seconds(2)); mixer_info.timed_wait(boost::posix_time::seconds(2)); output_info.timed_wait(boost::posix_time::seconds(2)); info.add(L"video-mode", format_desc_.name); info.add_child(L"stage", stage_info.get()); info.add_child(L"mixer", mixer_info.get()); info.add_child(L"output", output_info.get()); return info; }
virtual boost::property_tree::wptree info() const override { return consumer_->info(); }