]> git.sesse.net Git - casparcg/blobdiff - modules/bluefish/consumer/bluefish_consumer.cpp
2.0.0.2: Added only_key support to all consumers.
[casparcg] / modules / bluefish / consumer / bluefish_consumer.cpp
index 51c551bf904af967c04b28232ff4b19e5bba30b1..f0bb889a40545b17164232c51f899b1097833b3b 100644 (file)
@@ -357,11 +357,13 @@ struct bluefish_consumer_proxy : public core::frame_consumer
        std::unique_ptr<bluefish_consumer> consumer_;\r
        const size_t device_index_;\r
        const bool embedded_audio_;\r
+       bool key_only_;\r
 public:\r
 \r
-       bluefish_consumer_proxy(size_t device_index, bool embedded_audio)\r
+       bluefish_consumer_proxy(size_t device_index, bool embedded_audio, bool key_only)\r
                : device_index_(device_index)\r
-               , embedded_audio_(embedded_audio){}\r
+               , embedded_audio_(embedded_audio)\r
+               , key_only_(key_only){}\r
        \r
        virtual void initialize(const core::video_format_desc& format_desc)\r
        {\r
@@ -377,6 +379,11 @@ public:
        {\r
                return consumer_->print();\r
        }\r
+\r
+       virtual bool key_only() const\r
+       {\r
+               return key_only_;\r
+       }\r
 };     \r
 \r
 std::wstring get_bluefish_version()\r
@@ -427,16 +434,18 @@ safe_ptr<core::frame_consumer> create_bluefish_consumer(const std::vector<std::w
                device_index = lexical_cast_or_default<int>(params[1], 1);\r
 \r
        bool embedded_audio = std::find(params.begin(), params.end(), L"EMBEDDED_AUDIO") != params.end();\r
+       bool key_only = std::find(params.begin(), params.end(), L"KEY_ONLY") != params.end();\r
 \r
-       return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio);\r
+       return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio, key_only);\r
 }\r
 \r
 safe_ptr<core::frame_consumer> create_bluefish_consumer(const boost::property_tree::ptree& ptree) \r
 {      \r
        auto device_index = ptree.get("device", 0);\r
        auto embedded_audio  = ptree.get("embedded-audio", false);\r
+       bool key_only = (ptree.get("output", "fill_and_key") == "key_only");\r
 \r
-       return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio);\r
+       return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio, key_only);\r
 }\r
 \r
 }
\ No newline at end of file