\r
virtual bool send(const spl::shared_ptr<const class data_frame>& frame) override {return (*consumer_)->send(frame);}\r
virtual void initialize(const struct video_format_desc& format_desc, int channel_index) override {return (*consumer_)->initialize(format_desc, channel_index);}\r
- virtual std::wstring print() const override {return (*consumer_)->print();}\r
+ virtual std::wstring print() const override {return (*consumer_)->print();} \r
+ virtual std::wstring name() const override {return (*consumer_)->name();}\r
virtual boost::property_tree::wptree info() const override {return (*consumer_)->info();}\r
virtual bool has_synchronization_clock() const override {return (*consumer_)->has_synchronization_clock();}\r
virtual int buffer_depth() const override {return (*consumer_)->buffer_depth();}\r
virtual bool send(const spl::shared_ptr<const class data_frame>& frame) override {return consumer_->send(frame);}\r
virtual void initialize(const struct video_format_desc& format_desc, int channel_index) override {return consumer_->initialize(format_desc, channel_index);}\r
virtual std::wstring print() const override {return consumer_->print();}\r
+ virtual std::wstring name() const override {return consumer_->name();}\r
virtual boost::property_tree::wptree info() const override {return consumer_->info();}\r
virtual bool has_synchronization_clock() const override {return consumer_->has_synchronization_clock();}\r
virtual int buffer_depth() const override {return consumer_->buffer_depth();}\r
}\r
\r
virtual std::wstring print() const override {return consumer_->print();}\r
+ virtual std::wstring name() const override {return consumer_->name();}\r
virtual boost::property_tree::wptree info() const override {return consumer_->info();}\r
virtual bool has_synchronization_clock() const override {return consumer_->has_synchronization_clock();}\r
virtual int buffer_depth() const override {return consumer_->buffer_depth();}\r
}\r
\r
virtual std::wstring print() const override {return consumer_->print();}\r
+ virtual std::wstring name() const override {return consumer_->name();}\r
virtual boost::property_tree::wptree info() const override {return consumer_->info();}\r
virtual bool has_synchronization_clock() const override {return consumer_->has_synchronization_clock();}\r
virtual int buffer_depth() const override {return consumer_->buffer_depth();}\r
virtual bool send(const spl::shared_ptr<const data_frame>&) override {return false;}\r
virtual void initialize(const video_format_desc&, int) override{}\r
virtual std::wstring print() const override {return L"empty";}\r
+ virtual std::wstring name() const override {return L"empty";}\r
virtual bool has_synchronization_clock() const override {return false;}\r
virtual int buffer_depth() const override {return 0;};\r
virtual int index() const{return -1;}\r
virtual boost::property_tree::wptree info() const override\r
{\r
boost::property_tree::wptree info;\r
- info.add(L"type", L"empty-consumer");\r
+ info.add(L"type", L"empty");\r
return info;\r
}\r
};\r
frame_consumer(){}\r
virtual ~frame_consumer() {}\r
\r
- virtual bool send(const spl::shared_ptr<const class data_frame>& frame) = 0;\r
- virtual void initialize(const struct video_format_desc& format_desc, int channel_index) = 0;\r
- virtual std::wstring print() const = 0;\r
- virtual boost::property_tree::wptree info() const = 0;\r
- virtual bool has_synchronization_clock() const {return true;}\r
- virtual int buffer_depth() const = 0;\r
- virtual int index() const = 0;\r
+ virtual std::wstring print() const = 0;\r
+ virtual std::wstring name() const = 0;\r
+ virtual boost::property_tree::wptree info() const = 0;\r
+ virtual bool has_synchronization_clock() const {return true;}\r
+ virtual int buffer_depth() const = 0;\r
+ virtual int index() const = 0;\r
+\r
+ virtual bool send(const spl::shared_ptr<const class data_frame>& frame) = 0;\r
+ virtual void initialize(const struct video_format_desc& format_desc, int channel_index) = 0;\r
\r
static const spl::shared_ptr<frame_consumer>& empty();\r
};\r
return consumer_ ? consumer_->print() : L"[bluefish_consumer]";\r
}\r
\r
+ virtual std::wstring name() const override\r
+ {\r
+ return L"bluefish";\r
+ }\r
+\r
virtual boost::property_tree::wptree info() const override\r
{\r
boost::property_tree::wptree info;\r
- info.add(L"type", L"bluefish-consumer");\r
+ info.add(L"type", L"bluefish");\r
info.add(L"key-only", key_only_);\r
info.add(L"device", device_index_);\r
info.add(L"embedded-audio", embedded_audio_);\r
return consumer_ ? consumer_->print() : L"[decklink_consumer]";\r
} \r
\r
+ virtual std::wstring name() const override\r
+ {\r
+ return L"decklink";\r
+ }\r
+\r
virtual boost::property_tree::wptree info() const override\r
{\r
boost::property_tree::wptree info;\r
- info.add(L"type", L"decklink-consumer");\r
+ info.add(L"type", L"decklink");\r
info.add(L"key-only", config_.key_only);\r
info.add(L"device", config_.device_index);\r
info.add(L"low-latency", config_.low_latency);\r
return consumer_ ? consumer_->print() : L"[ffmpeg_consumer]";\r
}\r
\r
+ virtual std::wstring name() const override\r
+ {\r
+ return L"file";\r
+ }\r
+\r
virtual boost::property_tree::wptree info() const override\r
{\r
boost::property_tree::wptree info;\r
- info.add(L"type", L"ffmpeg-consumer");\r
+ info.add(L"type", L"file");\r
info.add(L"key-only", key_only_);\r
info.add(L"filename", filename_);\r
info.add(L"vcodec", codec_);\r
{\r
return L"image[]";\r
}\r
+ \r
+ virtual std::wstring name() const override\r
+ {\r
+ return L"image";\r
+ }\r
\r
virtual boost::property_tree::wptree info() const override\r
{\r
boost::property_tree::wptree info;\r
- info.add(L"type", L"image-consumer");\r
+ info.add(L"type", L"image");\r
return info;\r
}\r
\r
return L"oal[" + boost::lexical_cast<std::wstring>(channel_index_) + L"|" + format_desc_.name + L"]";\r
}\r
\r
+ virtual std::wstring name() const override\r
+ {\r
+ return L"system-audio";\r
+ }\r
+\r
virtual boost::property_tree::wptree info() const override\r
{\r
boost::property_tree::wptree info;\r
- info.add(L"type", L"oal-consumer");\r
+ info.add(L"type", L"system-audio");\r
return info;\r
}\r
\r
return consumer_ ? consumer_->print() : L"[screen_consumer]";\r
}\r
\r
+ virtual std::wstring name() const override\r
+ {\r
+ return L"screen";\r
+ }\r
+\r
virtual boost::property_tree::wptree info() const override\r
{\r
boost::property_tree::wptree info;\r
- info.add(L"type", L"ogl-consumer");\r
+ info.add(L"type", L"screen");\r
info.add(L"key-only", config_.key_only);\r
info.add(L"windowed", config_.windowed);\r
info.add(L"auto-deinterlace", config_.auto_deinterlace);\r